Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java有哪些特性而其他人没有?_Java_Programming Languages - Fatal编程技术网

java有哪些特性而其他人没有?

java有哪些特性而其他人没有?,java,programming-languages,Java,Programming Languages,我想知道一些非常有用并且特定于java的特性。由于我是java开发人员,当人们问我一些在java中而不是在任何其他语言中可用的好的编程特性时,你认为我可以告诉他们 也就是说,如果我告诉他们这些特性,他们就会发现我是一名java开发人员。我认为,java是唯一被认为是平台和框架的语言。java的优势在于jvm和大量可用的开源库 编程语言在几年前当然很好,但现在有了更好的语言,其中一些语言也在jvm上运行(scala、groovy)。表单的不同可能是什么 尽管如此,由于基于矢量,WPF正在取得进展。

我想知道一些非常有用并且特定于java的特性。由于我是java开发人员,当人们问我一些在java中而不是在任何其他语言中可用的好的编程特性时,你认为我可以告诉他们


也就是说,如果我告诉他们这些特性,他们就会发现我是一名java开发人员。

我认为,java是唯一被认为是平台和框架的语言。

java的优势在于jvm和大量可用的开源库

编程语言在几年前当然很好,但现在有了更好的语言,其中一些语言也在jvm上运行(scala、groovy)。

表单的不同可能是什么


尽管如此,由于基于矢量,WPF正在取得进展。

Jave是唯一一种具有java编译器和java语法的语言。

强制异常规范。哦,等等,你想要有用的

抱歉这么挖苦人,但是Java和所有其他语言一样,承担着特殊性和实验性的负担。有些成功了(Java确实帮助将接口推到了静态类型检查OO语言的前沿,以及内置文档生成,即使这不是第一次尝试),而有些则没有(见上文)


我怀疑您是否会找到其他语言无法找到、复制或模拟的独特而有用的Java特性。Java独特的优点(和缺点)是将特定功能、现有工具和库以及广泛应用的开发技能结合起来

我想你不能说出Java除了一种语言之外没有其他语言拥有的功能: 现有的开源/免费框架和库的数量

你遇到的每一个问题都有一个库。你想要一个http客户端吗?以阿帕奇一号为例。 强大的依赖注入框架?弹簧或支柱或其他任何东西。 需要一个免费的服务器来部署整个系统吗?公猫 O/R映射?使用注释休眠。或者伊巴蒂斯。
将整个过程与maven2结合起来,您的项目就可以开始了,可以管理所有这些依赖项了。

我想我或多或少同意这一点,但您可以告诉他们Java的最佳特性是您知道如何使用它进行开发。

  • 该语言是类型安全的
  • 强大的工具支持(IDE、容器、构建工具(Ant、Maven)、来自多个供应商的Maven
  • (大部分)与平台无关
  • 无内存泄漏:P
  • Java社区进程(JCP)和Java规范请求(JSR)

(当然,您可以用其他语言模拟它们;但据我所知,Java恰好是唯一一种在语言级别支持它们的语言。)



与语言特性相比,这更像是一个库特性,但在并发性方面,它仍然让Java比.NET有一些优势。(请注意,您也可以从其他JVM语言使用这些库。)

匿名内部类(而不是闭包)

虽然从技术上讲这是实现的一个属性,但垃圾收集器的卓越质量以及内存管理通常“正常工作”的事实即使你关心性能,我也会对你留下深刻印象。

这取决于你所说的平台,但……不难。C#/CLR、Ruby on rails、Python及其库。现在任何自尊的语言都有大量的库。根据我在这里得到的答案,平台是我们运行的平台,框架是最重要的这是我们开发的,所以java可以同时做这两件事,请给出downvote@preet,没有隐藏的特性,它的“特性”将java与其他语言区分开来唯一一种与咖啡同名的语言,咖啡和编程齐头并进:)否决权,因为它是主观的,我敢肯定,C的操作系统框架比Java的要多。只是因为C已经存在很久了。@nikie:我真的不这么认为。有很多很棒的C库,但它们并不能真正与Java框架相比(库和框架在某种程度上是不同的)。事实上,我在寻找一个可以解决僵硬的常微分方程的Java API时遇到了一个问题。最后,出于这个原因,我选择了Python(我很高兴我这么做了!)。这有点明显:如果一种语言功能有用,它将不会在很长时间内保持唯一性。在Sun的邮递员眼中Java还没有出现之前,Modula-3中就已经存在强制性异常规范。@ttmrichter:现在没有什么新东西了。。。出于好奇:你自己用过Modula-3吗?学术界之外?对于任何类型的大规模编程?我的印象是,它从未达到下列帕斯卡语的二十分之一(在各种巴斯德方言中)。我不明白。你能详细说明一下吗?类型安全不是Java独有的。工具支持不是Java独有的。平台独立性不是Java独有的。Java确实会泄漏内存,垃圾收集不是Java独有的。官僚主义不是Java独有的。最初的海报想要Java特有的东西,而你给出了一个非常常见的特性列表。很抱歉,但根据我使用Groovy的经验,我不会说它是一种“更好”的语言。更短并不一定更好,“def”是万恶之源。好吧,你的观点是正确的。也许“更好”不是最好的词。我的意思是,有些语言比java来得晚,而且通常更强大、更精确。显然,你给予用户的权力越多,他做出错误决定的机会就越大。但我在java中也看到了非常混乱和不可读的代码。而且肯定更长:)顺便说一句,我真的更喜欢scala的类型推断方法!C#具有面向对象的枚举,并在我们使用时提供语言支持