Questions tagged «java»

Java是最初由Sun Microsystems开发的高级,独立于平台的,面向对象的编程语言。Java目前归甲骨文所有,甲骨文于2010年收购了Sun。

4
调用外部命令行应用程序或内部化该应用程序的逻辑是更好的主意吗?
我有一个“管道”式的过程,该过程实质上只是将一堆现有工具链接在一起以使工作流自动化。对于其中一个步骤,有一个现有的命令行工具已经可以完成该步骤需要执行的操作。 外部CLI工具是基于Java的,我的管道也是基于管道的,因此可以将工具直接集成到管道步骤中,但是该工具非常复杂,目前与具有命令行输入密切相关(例如37个配置标志选项)。 问题是:简单地调用并调用外部过程是一个更好的主意,还是将外部代码集成到我的应用程序中会更好? 集成与调用外部过程的利弊是什么?


5
分析编程语言
在SICP中,作者声明(第1.1节)有三种编程语言的基本“机制”: 基本表达式,表示语言所关注的最简单的实体 组合的手段,由较简单的要素构成复合要素 抽象手段,通过这种手段,复合元素可以被命名和操纵为单元。 如何从这些元素或机制方面分析主流编程语言(例如Java)?

4
Web开发人员.NET或Java的学习途径
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我想知道Windows托管了多少个现实世界的Web应用程序服务器? 我将学习C#和ASP.NET,并希望将自己从嵌入式开发人员转换为Web应用程序开发人员。 我的朋友告诉我,基于Linux的服务器要比Windows服务器更多。他还提到Java技能栈在Web应用程序领域比.NET有用得多。 我对Java和C#的体验很难理解。我是一位经验丰富的C ++开发人员。 有人可以给我一些建议吗? 非常感谢
10 c#  java  .net 

2
对许多按钮实施OnClickListener接口的正确方法是什么
我的Android活动包含多个按钮,都需要一个OnClickListener。我已经看到许多不同的方法,例如: 在活动类中实现接口 创建一个单独的类来实现接口 为每个按钮定义一个匿名内部类。 我已经看到了每种方法的许多示例。但是,我不清楚为什么要使用一种方法代替另一种方法。这些方法之间的差异是否在风格上有所不同,还是有理由使一种方法更好?

2
在设计应用程序各个部分之间的交互时需要建议
我正在尝试设计基于NetBeans Platform 7的Rich Desktop应用程序的“主要”类。该应用程序将使用HTTP服务,并通过TCP上的“推送系统”接收消息。 我们是3个开发人员,我们希望并行开发模块 应用程序将分层(数据,业务,演示) 我们将使用Presentation Model来分离职责 一些粒度数据(例如bean Person)将由多个屏幕共享(并且可能同时显示在多个屏幕上) ... 我们能够开发单个屏幕,但是我们不知道如何组织整个应用程序并定义每个模块的内容。 因此,您是否有任何建议(模式/最佳实践/书籍/示例应用程序)来协调/管理整个应用程序内部的交互? 关于如何定义模块内容的任何建议? 谢谢! 一个小例子来说明我要构建的内容:Foo用户管理应用程序 启动应用程序 在左侧的[explorer]中,我们有一个平台列表(列表存储在本地文件中) 在顶部,我们有一个添加新平台的按钮(也可以通过右键单击来使用) 通过在平台上双击,该应用程序将调用HTTP服务并检索用户的完整列表。此列表显示在[编辑器]中(在JTable中) 启动后台进程:通过TCP连接,我们收到消息 借助工具栏中的按钮,可以添加新用户 如果应用程序是在另一台PC上启动的,并且用户连接到同一平台,则其用户列表将动态更新(添加/删除/状态:{offline / online})(感谢消息) 将来会提供一个聊天模块。 我的问题是(换句话说):决定每个模块内容的任何建议/最佳实践?如果PM(演示模型)是分离视图/业务和数据并创建屏幕的好方法,那么基于PM链接多个屏幕的最佳方法是什么?假设我们开发了聊天模块,如何在右键单击用户列表的上下文菜单中添加条目“ Discuss with ...”?

7
编写文档,了解Java中的equals等众所周知的方法
为equals,compareTo等广为人知的方法编写注释是否是一种好习惯? 考虑下面的代码。 /** * This method compares the equality of the current object with the object of same type */ @Override public boolean equals(Object obj) { //code for equals } 我的公司非常想输入上述注释。是否需要上述Javadoc注释?equals方法之类的方法(compare,compareTo)等不是很明显并且很好理解吗? 您有什么建议?
10 java  comments 

2
Java类版本特定的命名约定
我必须在两个软件(机械仿真,非CS)之间创建一个适配器。假设我们有一个名为的类ThatThing。我必须处理各种特定于供应商的实现。这些版本没有有意义的名称(与日食日光灯,靛蓝等不同)。 1.我应该如何命名一个应该表达版本号的类? 我觉得像上课ThatThing_3_6_Impl,ThatThing_3_7_Impl很尴尬。
10 java  naming 

3
进行较小的JVM升级有多安全?
我从事JVM已有多年的经验,很少遇到JVM崩溃的情况,直到大约6个月前。 从那以后,我经历了大约2个JVM缺陷导致的5个JVM崩溃。Oracle的解决方案始终是相同的...升级。 每次升级始终是从一个点发布到另一个发布的……也就是说,Oracle的最新建议(在确认他们确实修复了该错误之后)是从1.6u20升级到1.6u26。 我应该如何关注JVM的次要版本? 这是否是需要进行大量回归测试的大事件,还是应该接受的安全升级?
10 java  oracle  jvm  upgrade 

5
监控C ++应用程序
我们正在实施新的集中监控解决方案(Zenoss)。使用SNMP和JMX可以很容易地将服务器,网络和Java程序整合在一起。 但是,问题是,在大型异构(Solaris x86,RHEL Linux,Windows)环境中监视和管理自定义C ++应用程序的最佳实践是什么? 我看到的可能性是: 网络SNMP 优点 每个服务器上的单个中央守护程序 知名标准 轻松集成到监控解决方案中 我们已经在服务器上运行了Net SNMP守护程序 缺点: 复杂的实现(MIB,Net SNMP库) 为C ++开发人员介绍的新技术 系统日志 优点 每个服务器上的单个中央守护程序 知名标准 未知集成到监视解决方案中(我知道它们可以基于文本发出警报,但是在发送遥测信息(如内存使用率,队列深度,线程容量等)时效果如何? 简单的实现 缺点: 可能的整合问题 C ++开发人员的一些新技术 如果我们切换监视供应商,可能会出现移植问题 可能涉及提出临时通信协议(或使用RFC5424结构化数据;我不知道Zenoss是否在没有自定义Zenpack编码的情况下支持该协议) 嵌入式JMX(嵌入JVM并使用JNI) 优点 Java和C ++的一致管理接口 知名标准 轻松集成到监控解决方案中 有点简单的实现(我们今天已经出于其他目的执行了此操作) 缺点: 复杂性(JNI,本机C ++和Java之间的转换层,基本上编写两次管理代码) 可能的稳定性问题 在每个进程中都需要一个JVM,使用更多的内存 JMX是C ++开发人员的新技术 每个进程都有自己的JMX端口(我们在每台计算机上运行很多进程) 本地JMX守护程序,进程连接到它 优点 每个服务器上的单个中央守护程序 Java和C ++的一致管理接口 …
10 java  c++ 

2
如何在Java Swing中将模型与视图/控制器完全分离
是否有一组通用的设计指南,用于在Java Swing应用程序中将Model类与View / Controller类分开?我不太担心View / Controller对模型一无所知,反之亦然:我想将模型设计为对javax.swing中的任何东西都不了解。理想情况下,它应该具有一个简单的API,使其能够由诸如CLI的原始语言驱动。从广义上讲,它应该是一个“引擎”。 将GUI事件传递给模型并不难-动作执行者可以调用模型的API。但是,当模型进行自己的状态更改并需要反映回GUI时,该怎么办?这就是“听”的目的,但是即使“听”也不是完全消极的。它要求模型知道有关添加侦听器的信息。 让我思考的特定问题涉及文件队列。在GUI端DefaultListModel后面有一个JList,还有一些GUI东西可以从文件系统中选择文件并将它们添加到JList中。在模型方面,它希望将文件从此“队列”的底部拉出(导致它们从JList中消失)并以某种方式进行处理。实际上,已经编写了Model代码-当前它维护ArrayList<File>并公开一个公共add(File)方法。但是我对如何使我的模型与视图/控制器一起使用而不对模型进行一些特定于Swing的大量修改感到困惑。 我对Java和GUI编程都非常陌生,到目前为止一直都在进行“批处理”和“后端”编程-因此,我有兴趣在模型和UI之间保持严格的划分,如果可能的话被教学。
10 java  mvc  swing 

5
学习编程时面向未来的自我[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 3年前关闭。 如果您愿意,我想以“面向未来”的方式学习编程。尽管Windows主导了台式机操作系统市场(目前而言),但显然在学习其语言/框架/ API方面还是有很多价值的,依此类推-随着新设备的出现或Windows自身的发展,这种情况可能会发生变化。友好的Windows 8预览看起来不太吸引人...)。 我是否正确地认为,对于后端逻辑/低级编程等具有扎实的C / C ++知识,再结合用于Java的Java等极易移植的语言,将是软件开发的良好基础在大多数系统上将证明有用吗?-我说的是台式PC,平板电脑,电话。
10 java  c++  c  portability 

6
为Windows桌面应用程序选择运行时/语言时要考虑哪些因素?
我的用户都有Windows。他们中的一些人使用Linux或Mac,但是如果这样做,他们通常能够使用Mono,Wine,Parallels或双引导之类的东西。 我的开发团队(包括我自己)在以Java编写Swing应用程序以及以C#编写Windows窗体方面都有丰富的经验。“广泛”意味着我们在两个运行时上都开发并交付了三个应用程序。这些应用程序是技术分析应用程序,因此对数据库交互的影响很小,但是对自定义UI和数据集大小的关注却很大。 我们已经到了真正要决定从现在开始关注哪个平台的地步,因为这已经成为同时支持这两个平台的负担(如果您在Swing中工作了半年,那就太麻烦了以便再次适应Windows窗体等),我们希望我们团队中的每个人都能够处理我们所有的应用程序。 Windows窗体通常花费较少的工作来制作可识别的Windows应用程序。多年来,Java中没有任何外观和自定义控件能够解决这一问题。同时,我们从来没有一个客户无法使用Swing应用程序。 就库和自动构建工具而言,Java过去拥有更加丰富的生态系统,但是这种变化正在迅速发生(Java并没有失败,.NET的追赶更多。) 对于罕见的首选跨平台的情况,Java击败了.NET。Mono很棒,但是它比Java还要工作。 如果选择.NET,则可以开始关注WPF,也可以开始使用F#。如果选择Java,我们可以开始关注RCP,也可以开始使用Scala。 是否有人必须做出类似的决定?如果是这样,那是什么?对您影响最大的是什么?有什么我最想念的问题吗? (请注意:Programmers.SE上已经存在一些类似的问题,但是它们不是建设性的,或者是不同的角度。)

5
管理西班牙文代码
我们有一个来自西班牙的客户的新项目,他的所有Java代码以及注释,变量,方法名都用西班牙语。 我们不允许将其转换为英语然后再使用它们。如果您中的任何一个在这样的情况下工作,您能建议我们可以做些什么来减轻这种风险,因为我们必须进行新的开发,这是一个主要的演出停止点。 他们的Java项目混合了EJB,Struts,自定义框架和10000多个Java文件,总共至少有20万行代码(最少估计),并使用Weblogic Server 10进行了部署。 问候,眼花D乱的人
10 java 

4
有什么理由不能将延迟初始化内置到Java中吗?
由于我在服务器上使用的用户绝对没有非持久状态,因此我们在每个请求中都会推出我们拥有的每个与用户相关的对象。 因此,我经常发现自己对可能未使用的对象的属性进行了延迟初始化。 protected EventDispatcher dispatcher = new EventDispatcher(); 成为... protected EventDispatcher<EventMessage> dispatcher; public EventDispatcher<EventMessage> getEventDispatcher() { if (dispatcher == null) { dispatcher = new EventDispatcher<EventMessage>(); } return dispatcher; } 有什么理由无法将其内置到Java中吗? protected lazy EventDispatcher dispatcher = new EventDispatcher(); 就像下面的评论中提到的那样,我意识到一种语言在理论上可以发展为包含您想要的大多数内容。我正在寻找一种可能性的实用度量。这会与其他功能冲突吗?实现是否足够简单,可以很好地与JVM一起使用?甚至,这是个好主意吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.