Java比以往任何时候都摇滚

在TIOBE索引上 ,Java和C长期以来一直排名第一和第二,并且随着最近发布的JDK 8 GA的发布,对于我们的社区来说,情况不会变得更糟。

Java简直就是岩石! 它是构建几乎所有应用程序的最佳平台。

但是,为什么Java如此强大? 是JVM吗? 是向后兼容吗? 这是简单的语法吗? 还是可以使用数百万种免费和商业软件来构建您的软件? 所有这些以及更多。

Java比以往任何时候都强大的十大原因

ZeroTurnaround的RebelLabs经常发布很棒的博客文章,我们只能推荐这些文章。 在这种情况下,我们发现了一系列写得很好的博客文章,这些文章由ZeroTurnaround的Geert Bevin解释了Java为什么如此出色的十个步骤。 文章包括:

第1部分:Java编译器

在不考虑其强大功能的情况下,使用任何一种语言,编译器都是我们理所当然的事情之一。 在Java中,与C ++不同,您可以简单地编译代码,而不必考虑链接,优化和各种其他常规编译器功能。 部分原因是由于JIT(即时编译器)在运行时会进行进一步的编译。

在此处阅读全文

第2部分:核心API

JDK的核心API包含一组非常扎实,稳定且易于理解的库。 尽管许多人抱怨该领域缺乏功能(类似于Google Guava或Apache Commons ),但人们经常忘记核心API仍然是所有这些扩展的基础。 同样,从C ++的角度来看,这确实是一种奢侈的情况。

在此处阅读全文

第三部分:开源

在本部分中, ZeroTurnaround的Geert Bevin的思维定调与我们在Data Geekery的思想在开放源代码的精神方面非常吻合-无论这是关于自由自由还是自由自由-beer ,关键是关于Java的许多事情都是“开放的”。 我们谁都跑不了。

在此处阅读全文

第4部分:Java内存模型

同样,具有扎实的C ++背景的人的观点非常有趣。 由于Java从一开始就具有非常好的线程和内存模型,因此我们认为很多事情都是理所当然的,该模型在2004年的JDK 1.5中仅进行了一次纠正,并且为诸如基于actor的API之类的新API奠定了坚实的基础。 ,前叉/加入等

在此处阅读全文

第5部分:高性能JVM

谈论JVM是最显而易见的事情,它使如此之多的语言可以在如此多的硬件环境中工作,并且如今运行如此之快!

在此处阅读全文

第6部分:字节码

…当然,JVM也由于字节码而动摇。 字节码是机器代码的独立于供应商的抽象,它是非常可预测的,并且可以通过各种技术来生成,操纵和转换。 最近,我们有Iu Ming-Yee博士的特邀帖子,他展示了如何使用字节码转换来模拟Java中的LINQ 。 让我们听听它的字节码!

在此处阅读全文

第7部分:智能IDE

15年前,开发软件的工作方式大不相同。 人们可以使用vi或记事本编写汇编程序或C程序。 但是,当您编写一个非常复杂的企业级Java程序时,您现在不想错过IDE。 我们已经在博客中介绍了SQLJ死亡的各种原因 。 缺乏适当的IDE支持就是其中之一。

在此处阅读全文

第8部分:分析工具

还记得Oracle何时发布Java Mission Control以便JDK 7u40免费供开发人员使用? 分析是非常非常棒的事情。 使用现代的探查器,您只需测量JVM的各个方面,就可以确切地了解瓶颈所在。 您不必猜测,就可以知道 。 那有多强大?

在此处阅读全文

第9部分:向后兼容性

尽管向后兼容性也有其缺点 ,但迄今为止,Java语言,JVM和JDK在没有引入任何主要的向后兼容性回归的情况下存在了多长时间仍然令人印象深刻。 唯一想到的就是诸如assertenum类的关键字的引入。

您能想象引入Java 8 Streams API,lambda表达式,默认方法,泛型,枚举以及其他功能的加载而不会破坏任何东西吗? 太好了!

在此处阅读全文

第十部分:成熟与创新

实际上,本文是对所有其他文章的总结,称Java从一开始就是一个非常好的设计和成熟的平台,而且从未停止过创新。 没错 借助Java 8,迈出了重要的下一步,它将再次改变企业对软件开发的永久认知。

在此处阅读全文

Java比以往任何时候都摇滚

确实如此,这是一个很棒的平台,对于所有社区参与者来说,它都有光明的未来。

翻译自: https://www.javacodegeeks.com/2014/04/java-rocks-more-than-ever.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

滚动条判断是否滑动到顶部底部

/*** [滚动条]*/$(window).scroll(function() {var scrollTop $(this).scrollTop(); // 滚动条距离顶部的高度console.log("滚动条距离顶部的高度-->" scrollTop);var scrollHeight $(document).height(); // 当前页面的总高度console.log("当前页面的总…

DotNet软件开发框架

这是我4月份发在donews博客上的文章,现在都转到博客园来,风满袖希望进一步阐述你的架构,我就将这篇文章转移到博客园。原文:http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx 以我个人的能力,没有足够的时间和…

vue 拷贝 数组_vue 使用lodash实现对象数组深拷贝操作

我就废话不多说了,大家还是直接看代码吧~export default {mounted() {this.init();},methods: {init() {let lodash require(lodash);let obj1 {a: 1,b: { f: { g: 1 } },c: [1, 2, 3],h: () > {return 123;},k: undefined};let obj2 lodash.cloneDeep(obj1);…

VBA代码分行

VBA代码分行如果是语句可以直接在要换行的位加一个空格一个下划: Dim MyPath As String, MyName As String, _ tmpPath As String如果是字符串可以加以加一个空格一个&和一个空格加一个下划线:x "ABCDEFG" & _"HIJKLMNO" 转…

[Swift通天遁地]五、高级扩展-(6)对基本类型:Int、String、Array、Dictionary、Date的扩展...

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址&a…

JavaFX中的塔防(5)

这是本使用FXGameEngine在JavaFX中创建塔防游戏的正在进行的教程的第5部分。 敌人现在飞向目标的攻击路径,炮塔瞄准并射击。 因此,最重要的部分在那里,但是仍然缺少许多细节。 游戏只是开始而没有给我们机会为下一个浪潮做准备。 它不显示分数…

消息提示框-事件冒泡

1 <!DOCTYPE html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8">6 <title>事件冒泡-提示框</title>7 </head>8 <style>9 button {10 width: 160px;11 height: 30px;12 backgr…

我是如何解决asp.net程序在dreamWeaver中布局乱码的问题

每次把asp.net程序导入Dw2004中时&#xff0c;总是出现乱码&#xff0c;也不知道是什么原因。今天我就换了一个版本&#xff08;DW8&#xff09;&#xff0c;发现以前的问题全都没了。我想肯定是我的DW出现了问题&#xff0c;因为以前也出现过一次&#xff0c;也是重装后解决掉…

selenium3 + python - cookie定位

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimport timedriver webdriver.Chrome()# 启动浏览器后获取cookiesprint(driver.get_cookies())driver.get("https://www.cnblogs.com/Teachertao/")# 打开主页后获取cooki…

分段函数if语句_C语言函数系列之库函数中基础必会函数(一)

&#xff01;&#xff01;&#xff01;阅前提醒&#xff1a;&#xff01;&#xff01;&#xff01;此文为c语言函数系列的第一篇&#xff0c;全系列字数将达到1w字以上且全为干货内容&#xff0c;请各位仔细阅读并打开编译器运行文章中出现的代码进行试验以确保能理解文章内容i…

JavaFX中的塔防(6)

因此&#xff0c;我们已经在本教程的第6部分中&#xff0c;与此同时&#xff0c;游戏也取得了长足的进步。 在这一部分中&#xff0c;我们最终将添加一个显示得分的图层&#xff0c;已达到目标的敌人数量&#xff0c;启动下一个Wave的按钮以及用于购买新炮塔的资金。 说到钱&am…

教师计算机网络培训工作总结,教师培训工作的自我总结

【导读】教师培训工作的自我总结为好范文网的会员投稿推荐&#xff0c;但愿对你的学习工作带来帮助。教师是一个平凡而又伟大的职业&#xff0c;那教师培训工作总结怎么写呢?下面小编就和大家分享教师培训工作总结&#xff0c;来欣赏一下吧。教师培训工作总结(一)一年来&#…

十一 hashlib模块

# 1、什么叫hash:hash是一种算法&#xff08;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法&#xff09;&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash值 # 2、hash值的特点是&#xff1a…

c#中接口的使用方法图解_c# 接口方法中使用new有什么用?

慕盖茨44945811234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465//接口示例class Program { static void Main(string[] args) { S s new S(); s.Fun(); s.Method(); …

nginx知识问答

1、请解释一下什么是Nginx?  答&#xff1a;Nginx是一个web服务器和反向代理服务器&#xff0c;用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性&#xff1f;  答&#xff1a;Nginx服务器的特性包括&#xff1a; 1&#xff09;反向代理/L7负载均衡器 …

HashMap如何在Java中工作

面试中最常见的问题是“ HashMap如何在Java中工作”&#xff0c;“ HashMap的获取和放置方法如何在内部工作”。 在这里&#xff0c;我试图通过一个简单的示例来解释内部功能。 而不是理论&#xff0c;我们将首先从示例开始&#xff0c;以便您更好地理解&#xff0c;然后我们将…

input上传文件个数控制

HTML: 1 <h3>请上传[2,5]个文件</h3>2 <form action"" enctype"multipart/form-data">3 <input type"file" name"file" multiple"multiple" id"file" onchange"fileCo…

构造方法的格式

Student.java /* 构造方法作用概述:给对象的数据进行初始化* * 1.构造方法的方法名和类名相同* 2.构造方法不能写void ,没有返回值类型* 3.没有具体的返回值* * 构造方法的注意事项:* A:如果我们没有给出构造方法&#xff0c;系统将会提供一个默认的无参构造方…

东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...

东北地区的经济发展起步比较早&#xff0c;属于我国的老牌重工业基地&#xff0c;被称为“新中国工业的摇篮”&#xff0c;是我国最重要的经济支柱。这里的高校也因此而受到重视&#xff0c;为日后的发展奠定了扎实的基础&#xff1b;随着国家经济重心的转移&#xff0c;因为地…

打印控件

Visual Basic - 第三方控制Visual Basic - 打印与报表Visual Basic - DBGrid 现在几乎所有数据库表格控件(除了VB自身的DBGrid)都带有打印和预览功能&#xff0c;象True DBGrid Pro(http://www.componentone.com/)、Farpoint Spread(http://www.fpoint.com/)、Janus Grid和国产…