Questions tagged «java»

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

2
通过类构造所有代码并编译为类(如Java)的优缺点
编辑:与Java不同,我的语言允许多重继承。 我已经开始设计和开发自己的编程语言,用于教育,娱乐和可能有用的目的。 首先,我决定将其基于Java。 这意味着所有代码都将以类的形式编写,并且代码会编译为类,这些类由VM加载。 但是,我排除了诸如接口和抽象类之类的功能,因为我发现不需要它们。他们似乎在强制范式,我希望我的语言不要这样做。但我想将这些类保留为编译单元,因为实现起来似乎很方便,熟悉,而且我只是喜欢这个想法。 然后,我注意到我基本上只剩下一个模块系统,在该系统中,类可以用作“命名空间”,使用static指令提供常量和函数,或用作需要实例化的对象的模板(类的“实际”目的)其他语言)。 现在我不禁要问:将类用作编译单元有什么好处和坏处? 另外,对于我的设计的任何一般性评论也将不胜感激。可以在以下网站找到有关我的语言的丰富信息:http : //www.yannbane.com/2012/12/kava.html。

4
将共享数据封装在软件管道中的良好实施策略
我正在努力重构现有Web服务的某些方面。实现服务API的方式是通过具有一种“处理管道”,其中有按顺序执行的任务。毫不奇怪,以后的任务可能需要由以前的任务计算的信息,当前完成此操作的方法是将字段添加到“管道状态”类中。 我一直在思考(并希望?),比在管道步骤之间共享信息的更好方法要好于拥有一个具有成千上万个字段的数据对象,其中某些字段对某些处理步骤有意义,而对另一些处理步骤却没有意义。使该类成为线程安全类将是一个巨大的痛苦(我不知道它是否可能实现),无法推断其不变性(很可能没有任何原因)。 我翻阅了《四人帮》设计模式书以找到一些灵感,但我觉得那儿没有解决的办法(Memento的想法有些相同,但不完全相同)。我也在网上看过,但是第二次搜索“管道”或“工作流”时,您就会被Unix管道信息或专有工作流引擎和框架所淹没。 我的问题是-您将如何处理记录软件处理管道执行状态的问题,以便以后的任务可以使用以前的任务计算的信息?我猜想与Unix管道的主要区别在于,您不仅在乎前一项任务的输出。 根据要求,使用一些伪代码来说明我的用例: “管道上下文”对象具有许多字段,不同的管道步骤可以填充/读取这些字段: public class PipelineCtx { ... // fields public Foo getFoo() { return this.foo; } public void setFoo(Foo aFoo) { this.foo = aFoo; } public Bar getBar() { return this.bar; } public void setBar(Bar aBar) { this.bar = aBar; } ... // more methods } …

2
内联代码注释的最佳方法是什么?
我们正在对已有20年历史的旧代码库进行一些重构,并且我正在与我的同事讨论代码中的注释格式(plsql,java)。 没有默认的注释格式,但是在大多数情况下,人们会在注释中执行以下操作: // date (year, year-month, yyyy-mm-dd, dd/mm/yyyy), (author id, author name, author nickname) and comment 我想要的将来和过去评论的建议格式是: // {yyyy-mm-dd}, unique_author_company_id, comment 我的同事说,我们只需要评论,并且必须将所有过去和将来的评论重新格式化为这种格式: // comment 我的论点: 我说出于维护原因,知道何时以及谁进行了更改非常重要(即使此信息在SCM中也是如此)。 该代码是有效的,因此有历史。 因为没有更改日期,如果不打开SCM工具并搜索较长的对象历史记录,就无法知道何时进行更改。 因为作者非常重要,所以改变作者比改变作者更可信 敏捷性原因,无需打开和浏览SCM工具 人们会更害怕更改某人15年前所做的事情,而不是最近创建或更改的事情。 等等 我同事的论点: 历史在SCM中 开发人员不得直接在代码中了解代码的历史记录 软件包的长度为15,000行,而且非结构化的注释使这些软件包更难以理解 您认为最好的方法是什么?还是您有更好的方法来解决此问题?

3
如果我在Java循环内或循环外声明变量,会有所不同吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 2年前关闭。 可能重复: 您在哪里声明变量?方法的顶部或何时需要它们? 如果我在Java循环内或循环外声明变量,会有所不同吗? 这是 for(int i = 0; i < 1000; i++) { int temp = doSomething(); someMethod(temp); } 等于这个(关于内存使用)? int temp = 0; for(int i = 0; i < 1000; i++) { temp = doSomething(); someMethod(temp); } 如果临时变量例如是ArrayList,该怎么办? for(int i = 0; i < 1000; …
13 java  variables  loops 

2
什么时候应该使用StringBuilder或StringBuffer?
在生产型Web应用程序中,我的同伴程序员在各处都使用StringBuffer。现在,我负责应用程序的开发和更正。阅读StringBuilder和StringBuffer之后,我决定将所有StringBuffer代码替换为StringBuilder,因为我们不需要数据bean中的线程安全。 例如:(在每个数据bean中,我都可以看到StringBuffer的使用) @Override public String toString() { StringBuffer sb = new StringBuffer();// replace it from StringBuilder sb.append(" ABCD : ").append(abcd); sb.append(", EFGH : ").append(efgh); sb.append(", IJKL : ").append(ijkl); } 我们为每个会话/请求创建一个单独的数据bean。会话由单个用户使用,其他用户无法访问它。 在迁移之前,我还应该考虑其他几点吗? 如果只有一个线程(没有等待线程/没有新线程将寻找对象锁定),则它与StringBuffer或StringBuilder的性能相同。我知道在使用StringBuffer的情况下,需要花费时间来获取对象锁,但是我想知道除了保持/释放对象锁外,它们之间是否存在任何性能差异。

6
集合请求将有零个项目时的预期行为
假设您得到以下信息... List<Thing> theThings = fubar.Things.All(); 如果没有什么可以返回的,您期望fubar.Things.All()返回什么? 编辑:感谢您的意见。我会稍等一下,并接受最多的评论。 我同意到目前为止的回应,尤其是那些建议收藏空的回应。供应商为API提供了多次调用,类似于上面的示例。去年,通过其API实现收入460万美元的供应商BTW。他们做了我根本不同意的事情-他们抛出了异常。
13 java  c# 

4
C ++和Java中的抽象类/接口是否有不同的用法依据
根据Herb Sutter的说法,应该更喜欢抽象接口(所有纯虚函数)而不是C ++中的抽象类,以尽可能地实现分离。虽然我个人认为该规则非常有用,但是最近我加入了一个由许多Java程序员组成的团队,并且在Java代码中似乎没有该准则。函数及其实现通常位于抽象类中。因此,即使对于C ++,我也将Herb Sutter弄错了吗?还是与Java相比,C ++中抽象函数的用法是否存在一般差异?在Java中,带有实现代码的抽象类比在C ++中更明智吗?如果是,为什么呢?

3
从WCF到Java Webservices的互操作似乎出奇的问题。有什么好的资源吗?
在最近的项目中,我们基于.Net的开发团队的任务是与全球各地基于Java的Web服务进行集成,我们确实遇到了很多令人惊讶的事情(当然,我们再也不会感到惊讶了)因为WCF生成的XML不被Java服务接受。 似乎也没有太多关于此主题的信息,我们从Yaron Nave出色的WCF博客http://webservices20.blogspot.com以及MSDN WCF论坛http:上 获得了一些不错的技巧。//social.msdn.microsoft.com/Forums/zh-CN/wcf/threads。 这里有没有人真的感觉到自己对此有所了解,并且知道有关该主题的权威资源?对书籍,博客或任何网站上的提示感兴趣。 编辑: 我对设置此线程上可接受的答案感到 不满意,因为两个最佳答案中的每一个都有一些价值:1.我们可能最终会做更多的HTTP Webrequest实现,而不是与WCF对抗。 2.但是WCF Express Interop Bindings 1.0也是一个非常明智的技巧。
13 java  wcf 

8
您是否开始将Swing项目迁移到JavaFX [关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有一个4年的项目,它是用Swing + SwingX编写的。目前,它还活着并且还在踢。 但是,随着更多与GUI相关的功能请求(例如,可排序的树表)的出现,我开始感到难以完成请求。尤其是因为SwingX项目周围没有任何活跃的开发,因此尤其如此。 另外,我几乎找不到任何不错的,但是积极维护/开发/发展的GUI Java框架。 我想知道,Swing开发人员是否有同样的感觉?您是否已开始将Swing项目迁移到更加活跃的已开发GUI框架(如JavaFX)?
13 java  swing  javafx 

2
在没有Java经验的情况下,使用Scala构建Android应用的理想学习路径是什么?
不幸的是,目前没有关于“使用Scala学习Android开发”这一主题的书籍,这将是理想的解决方案。我猜想我至少需要在这里拿起3本书,每个主题一本书。但是,我不知道以什么顺序阅读它们,是否同时阅读它们,可以安全地跳过Java书的哪些部分等等。 对我而言,开始使用Scala构建Android应用的最佳途径是什么?
13 java  android  scala 

3
Clojure与Java有多独立?
我对Clojure世界很陌生。我很欣赏一个事实,即可以通过Clojure互操作功能轻松访问所有Java库,但是我想知道Clojure靠自己站了多少。 当然,有些平台(例如Android)始终需要与Java互操作,因为核心库是用Java编写或公开的。此外,由于Clojure字符串是Java字符串,因此我希望字符串操作库可以作为Java String方法的包装。 但是对于其他任务,我看不出为什么无法开发本地Clojure库的原因。考虑一下Http,日期处理,XML解析,模板,JSON序列化和反序列化,OAuth,数学库等。 所以我的问题是: Clojure在多大程度上变得独立于Java生态系统?它是否具有自己的惯用库来执行大多数这些任务和其他任务?

3
例如,局部变量和参数变量的命名约定
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我正在与高级开发人员讨论编码约定,以适用于我们的项目(主要是Java / JEE项目)。我不同意他提出的一项约定: 实例变量名称应以“ _”开头,局部变量应以“ loc”开头,方法参数应以“ par”开头,因此很容易识别变量的来源和范围。 尽管他提出了关于短期内存和可读性的观点,但我不同意这样的事实,即它会降低可读性,IDE像Eclipse格式变量一样根据类型的不同而不同,并且通过良好的类和方法设计可以避免此问题。 您是否有任何观点,论点或研究支持我的观点(或反对)?
13 java  naming  variables 

5
Java是跨平台游戏的不错选择吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 我正在寻找用Java创建游戏,并希望它可以在Windows,Linux和Mac上运行。我很确定C#是一个不好的选择,并且我没有足够的C或C ++经验。我想远离Flash。因此,Java对我来说是一个不错的选择吗?通常,我使用C#,并认为Java是相似的,因此我认为学习起来并不难。但是足够快吗?有没有比Java更适合我需要的语言?

14
我不记得学习5分钟后编程吗?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 8年前关闭。 我正在学习Java,并且找到了一位很棒的老师。他完美地解释了一切。我明白一切。我的问题是,在学习了一小段内容后,例如“嵌套的if语句”或“许多方法和实例”,我可以很好地键入所有内容,但是在5分钟后,进入新的部分(当我进入对上一节感到满意)我忘记了为上一节键入的代码。你们用来记住代码的任何技巧或技术吗?
13 java  javascript 

2
学习Play的最佳资源!框架[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 不久前,我讨论了迁移到将使用Java的初创公司的可能性,尤其是Play!框架;好吧,我要去做!我已经很长时间以来一直是.NET的人,除了偶尔偶尔玩弄Android或与Scala玩弄而已之外,还没有真正参与过Java游戏。我看过这部戏!之前但仅在粗略水平上的框架。我认为将Java作为一种语言会很好,因为在学习资料之前,我已经得到了很好的建议。 我的问题是,除了Play的绝佳网站之外!框架除了几个博客之外,我没有发现太多其他东西。有人知道该Play有其他优质资源吗?框架像书?亚马逊搜索显示零结果。 我知道那里有一本电子书,但是现在看来有点过时了。无论如何,谢谢您的投入。

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.