Questions tagged «java»

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

2
JSON查询语言
我有一台返回非常大的JSON消息的服务器,我的客户端应用程序仅依赖于此响应的一部分。客户端应用程序需要检查JSON消息中是否存在“ xyz”属性,并根据结果运行特定的用例。 对于此要求,将整个JSON消息转换为对象听起来对我来说有点昂贵,因此存在这个问题。 是否有像XML一样的标准JSON查询语言?如果是,那么最好的方法是在Java中实现此查询语言。 仅供参考:不能在服务器端更改或添加新服务。
11 java  json 

3
为什么移动平台不支持分代垃圾回收?
Windows Phone / Xbox和Android都不支持分代垃圾回收。这让很多程序员感到沮丧。似乎有合理的工程原因,但我无法弄清楚。 当前的电话比2001年运行带有世代GC的.NET 1.1的台式机/笔记本电脑具有更多的内存和更好的CPU,我无法想到ARM处理器在世代GC上比x86差的任何原因。在电话和控制台上对多任务的需求也减少了,因此有相对更多的可用堆空间。 那有什么呢? 编辑:需要澄清的几点: 这些平台专门为应用程序使用垃圾收集,因此我的问题不是关于为什么不支持GC的问题;我的问题是关于为何不进行分代垃圾回收。 人们对缺乏世代GC感到沮丧的原因是非世代GC效率极低。(这意味着电池寿命不是原因。) 我确实认为,缺乏世代GC支持是有诚实的技术原因。这不是一个反问。

3
Blackboard Pattern的现代Java实现?
“实用程序程序员”中详细介绍了Blackboard Pattern的 Java现代实用应用程序吗?是否有任何特定的库试图协助实现这一概念?在当前的软件社区(尤其是Java)中,对此模式的普遍共识是什么? 尽管这个想法很有趣,但我觉得这本书的这一部分可能已经过时了。 如果您不熟悉此概念,请访问:http : //flylib.com/books/en/1.315.1.55/1/
11 java 

3
对于需要大量RAM的应用程序选择C ++还是Java?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我正在考虑的科学应用程序大多受处理器限制,并且堆使用量很大(至少几个GB)。在一年中的任何其他时间,我都会很高兴地使用C ++,但是在这种情况下,我想知道,与Java压缩收集器的优势相比,C ++内存管理器的自然碎片是否会成为一个严重的问题。 有人可以指出与此相关的真实示例吗?
11 java  c++  memory  big-data 

3
存在类型与接口有何不同?
给定存在类型 T = ∃X.{op₁:X, op₂:X→boolean} 这个通用的Java接口: interface T<X> { X op₁(); boolean op₂(X something); } 存在类型和Java接口之间的根本区别是什么? 显然,在语法上存在差异,并且Java的面向对象(还包括诸如隐藏this参数等详细信息)。我对这些方面的兴趣不大,对概念和语义上的区别不那么感兴趣-尽管如果有人想阐明一些更好的观点(例如Tvs 之间的符号差异T<X>),也将不胜感激。

10
安全限制是否应导致服务返回null或引发异常?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我在这个问题上与经验丰富的开发人员有些分歧,想知道其他人对此有何看法?我们的环境是Java,EJB 3,服务等。 我编写的代码调用服务来获取事物和创建事物。我遇到的问题是我得到了没有意义的空指针异常。例如,当我要求服务创建一个对象时,我得到空值。当我尝试查找具有已知有效ID的对象时,返回空值。我花了一些时间试图弄清楚代码中的错误。因为我经验不足,所以我通常以为我做错了什么,但是事实证明,返回null的原因是安全性。如果使用我的服务的用户主体对目标服务没有正确的权限,则它仅返回null。这里大多数其他服务的记录也不太好,因此显然这只是您必须了解的内容。 当开发人员编写与服务交互的代码时,这相当令人困惑。如果服务有一个异常,该异常将告诉我用户没有适当的权限来加载此事物或创建该事物,这对我而言将更为有意义。然后,我会立即知道为什么我的服务无法按预期工作。 编写该服务的经验更丰富的开发人员认为,索要数据不是错误条件,并且仅应在错误条件下引发异常,而不是在用户无法访问数据时抛出异常。通常会在GUI中查找这些数据,对于没有正确权限的用户,这些事情简直“不存在”。简而言之:问是没有错的,因此也不例外。Get方法返回null,因为对那些用户来说那些“不存在”的东西。当不允许用户创建东西时,Create方法返回null。 这是正常的和/或良好的做法吗?我更喜欢使用异常,因为我发现更容易知道发生了什么。因此,例如,如果您请求一个具有无效ID的对象,则我宁愿抛出NotFoundException,而不是返回null。

4
Scala代替Java是一个不错的选择吗?
我们将开始一个新项目,其中将培训所有使用Java(frameworks / ECO system等)的.net开发人员。我们有很多用C#编写的代码,似乎所有这些都将浪费掉,因为我们必须用Java重新编写所有代码。我看到的问题是,大约第一年(可能是两年),我们将无法交付任何东西,因为我们将大部分时间用于重现Java以前但现在的内容。 由于我们的团队分布在世界各地的不同办公室,并且我们有大量的Java开发人员(20至30名)和10位使用.net的开发人员,因此我们希望让所有开发人员都使用相同的语言/平台,以便我们开始重用组件/模块。所以我可以理解管理层的观点。 昨天我遇到了Scala,并想知道将它与当前产品(用C#编写)一起使用是否会更好,然后至少一年后我们将有一个有效的产品。同样在一年中,我们在迁移产品的其他部分时可以在Java世界中使用这些模块。 考虑到我们要实现的目标,Scala是比Java更好的选择吗?
11 java  c#  scala 


6
Java中如何返回多个值?
有时您想从一个函数返回多个值。 这通常在Java中如何完成? 一种选择是使用数组,例如返回列表或元组的Python代码段: value, success = read_unreliably() if success: print value 另一个选择是返回哈希/字典,如下面的JavaScript示例: var result = readUnreliably() if (result.success) { alert(value); } 还有一种方法就是为此目的创建一个自定义对象,例如以下Java示例: ReadUnreliablyResult result = readUnreliably() if (result.getSuccess()) { System.out.println(result.getValue()); } 当然,您也可以只使用一些全局变量来存储所需的内容,而不用传递东西,但是我们只能说这不是一种选择。


4
如何开始学习J2EE,尤其是JPA [关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在尝试开始学习的J2EE一部分Java。但是我不知道从哪里开始。我与熟悉并且Core Java主要,我想学习JPA和基础知识Hibernate和Spring Framework。这样做的主要原因是我正在开发一个使用所有这些东西的项目。而且大多数代码是由一些资深人士开发的,我必须对此进行一些修改。所以基本上我需要了解他们的代码。 有人可以给我一种路线图,例如我需要事先知道哪些事情以及我应该按什么顺序去做?有参考资料,例如链接,书籍吗?

3
将新的JVM编程语言引入已建立的企业环境
想象一下,您当前的工作场所是一家Java商店。有很多有关Java语言的丰富知识,并且有一个完善的构建和部署过程来以流畅,敏捷的方式处理所有事情。 有一天,一个项目问世了,它大声疾呼要用Ruby编写。只有高级开发人员才有关于Ruby的任何线索,但有一个普遍的概念,因为JRuby存在于JVM中,所以可以继续使用和支持现有的基础结构。同样,JRuby可以展示一种以更少的代码实现更好的方式来实现当前应用程序的方法,因此这可能表示正在进行的迁移。 请记住,JRuby只是一个示例,它可以等效地是Clojure或Groovy或在JVM上运行的任何其他程序。 问题是,您将如何引入这种变化-如果有的话?

4
Java中的闭包将如何影响Java社区?
它是为Java计划的最受关注的功能之一:闭包。我们许多人一直向往他们。我们中的某些人(包括我在内)变得有点急躁,并转向脚本语言来填补空白。 但是,一旦闭包最终到达Java:它们将如何影响Java社区?以VM为目标的脚本语言的发展是否会减慢爬行速度,保持不变或兼容?人们是否会蜂拥至新的闭包语法,从而将Java代码基础全面转换为功能更结构化的实现?我们会不会只看到Java中散布着闭包?对工具/ IDE支持的影响是什么?性能如何?最后,与其他越来越流行的语言相比,对于Java继续采用这种语言意味着什么? 为了提供最新提议的Java Closure语法规范之一的示例: public interface StringOperation { String invoke(String s); } // ... (new StringOperation() { public invoke(String s) { new StringBuilder(s).reverse().toString(); } }).invoke("abcd"); 会成为 ... String reversed = { String s => new StringBuilder(s).reverse().toString() }.invoke("abcd"); [来源:http://tronicek.blogspot.com/2007/12/closures-closure-is-form-of-anonymous_28.html]
11 java  closures 

3
什么时候不推荐使用Java
作为重构工作或正在进行的开发的一部分,某种方法或整个类可能会在某种意义上过时。Java支持该@Deprecated注释,以指示可能存在更好的方式来处理所涉及的功能。我想这在公共API中特别有用,在公共API中可能不知道删除API部分的影响。对于非公共API和使用版本控制系统的项目(从某种意义上讲,可以撤消删除操作),什么时候宜弃用而不是删除过时的元素?

7
结构化编程与OO编程
我正在做一个演示,以显示结构化编程和面向对象编程之间的差异,并且我想以一个示例说明为什么人们需要OOP,在该示例中,应用OOP概念将使编码变得更加容易,从而使听众真正感到他们需要OOP。 有任何想法吗 ??

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.