java知识回顾_Java – 2012年回顾和未来预测

java知识回顾

这篇文章将重点讨论2012年发生的大小事件,并展望2013年的一些未来预测。其中一些预测将是诚实的猜测,而另一些则将是诚实的猜测。 好吧,只要说我的“恶魔般”的一面就已经接管了。

因此,我们无需再讨论Java的2012年了。

2012年–回顾年

对于Java,JVM和社区而言,2012年是艰难的一年。 James Governer( RedMonk分析师)表示, “ 2012年是Java进入第二个时代的曙光”

Java进入云(这次是真实的)

基于Java / JVM的云产品在2012年已成为现实,有了许多新的PAAS和IAAS产品。 Cloudbees , JElastic , Heroku , Joyent , Oracle只是现在众多产品中的五种。

作为开发人员,这对您意味着什么? 好吧,这意味着有很多选择,而且可以很便宜地试用这个空间。 我强烈建议您在假期​​期间尝试其中的一些提供商(建立免费帐户需要花费几分钟的时间),并了解所有引起关注的地方。

与之相反的是,该领域缺乏标准化,尽管JEE8承诺会更改此设置(假设供应商参与其中)–在接下来的几年中,您将需要谨慎地锁定在特定的平台中。
如果您更想在各种产品上运行不可知服务/代码,那么我建议您看一下
jClouds API可以为您提供帮助。

可以公平地说,在充分利用JVM方面,许多产品仍在摸索中。 特别是多租户是一个问题,垃圾收集和虚拟化环境中的性能也是一个问题。 Waratek和jClarity这样的公司(免责声明:我是他们的CTO)现在提供解决方案来缓解这些差距。

Java社区蓬勃发展

尽管有许多主流技术媒体报道“开发人员离开Java平台”“ Java已死”,但社区仍在蓬勃发展。 Java用户组 (JUG)的数量比以往任何时候都多,由全球约40万开发人员组成。
值得一提的是, 伦敦Java社区(London Java Community)赢得了多个奖项,包括杜克选择奖(Duke's Choice)和JCP年度会员(以及巴西主要的JUG SouJava)。

会议电路爆满了许多预先售罄的大型世界级Java会议,例如JFokus , Devoxx ,当然还有JavaOne 。 除此之外,经常有超过1000人参加的区域性会议的主办方都表现良好。

Oracle的Java Magazine发行了,并已发展到超过100,000个订户。 像JaxEnter , Coderanch和Javaposse这样的坚定力量在受众群体中不断增长。

OpenJDK的

OpenJDK在2012年进行了进一步的改革,并且现在有了新的计分卡,可供广大社区就治理,开放性和透明性提供反馈。
2012年也有创纪录的个人和组织加入OpenJDK。 特别是,ARM处理器的端口以及对在图形卡上运行Java的支持(Project Sumatra)是今年的亮点。

Java社区流程(JCP)

Java的标准机构Java Community Process(JCP)也继续复兴,新签约人数创历史新高,竞争激烈。 除了处理商标的重要业务,Java的IP和许可外,人们还重新关注Java规范请求(JSR)的技术方面。 特别是JCP强烈支持新的“ 采用JSR”计划。

Java和JVM

JVM通过OpenJDK持续快速改进-进入Java 8的Java增强提案(JEP)数量巨大 。 拼图辍学是令人失望的,但由于缺乏更广泛的供应商支持以及所需的大量技术工作,因此这是正确的决定。

JEE /Spring

JEE7进展顺利(并将很快推出),为Java开发人员提供了一种处理现代Web(JSON,Web Sockets等)的标准方法。 当然,许多开发人员已经在使用SpringSource API套件,但是很高兴看到基础规范的进步。

快速网页开发

基于Java / JVM的快速Web开发框架终于获得了应有的认可。 JBoss的SEAM , Spring Roo , Grails , Play等框架都为Java开发人员提供了与Rails和Django人群同等的条件。

机械同情

2012年的主要焦点是机械同情(由Martin Thompson在他的博客中提出 )。 趋势已经转变,我们现在不得不面对拥有多核计算机和虚拟化的O / S的问题。 Java开发人员必须开始考虑Java和JVM如何与底层平台和硬件交互。

诸如jClarity之类的性能公司正在构建工具来帮助开发人员了解这一复杂的空间,但是再次获得这些硬件手册肯定不会受到损害!

2013 –未来预测

凝视水晶球总是很有趣,这是我对2013年的预测!

Java 8将按时交付

带有Nashorn,Lambda和ARM处理器端口的Java 8将为致力于Web和移动技术前沿的开发人员提供大量新机遇。 我期望Java 8会很快被采用(比7快得多)。

但是,iOS和Android设备上缺少JVM将继续限制那里的采用。

云中的商业Java

2013年将是云中商业Java / JVM的一年–许多方面的问题将在多租户和内存管理方面得到解决,一个丰富的SAAS生态系统将开始形成。

使企业能够将其内部Java应用程序发布到云中的组织将成为商业上的大赢家。

随着大型供应商抢购具有成熟技术的小型供应商,我们还将在这一领域看到一些合并。

OpenJDK的

OpenJDK将继续通过基于JIRA的公共问题跟踪器,面向开发人员的分布式构建服务器场以及已部署的性能优越的代码审查和补丁系统,真正实现真正的开放。

Oracle,IBM和其他主要供应商也支持将其内部测试套件公开发布的计划,并将它们捐赠给项目,以造福所有人。

JVM语言和多语言

Groovy的新静态编译功能和改进的IDE工具将使Groovy复苏。 特别是Grails看起来将是一个更具吸引力的快速开发框架,因为它将为中端Web应用程序提供不错的性能。

Scala将继续被大肆宣传,但只有专注于小型团队的团队才能成功使用它。 Clojure将继续在小型利基市场流行。 Java在实际数量和百分比增长方面仍将超过它们。

一个随机的预测是, JRuby可能会吸引正在寻求利用JVM的性能和可伸缩性的Rails开发人员。

参考: Java – JCG合作伙伴 Martijn Verburg在Java Advent Calendar博客上的2012年回顾和未来预测 。

翻译自: https://www.javacodegeeks.com/2012/12/java-the-2012-review-and-future-predictions.html

java知识回顾

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

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

相关文章

redis 能不能监听特定的key失效_php监听redis key失效触发回调事件

订单超时、活动过期解决方案:php监听redis key失效触发回调事件Redis 的 2.8.0 版本之后可用,键空间消息(Redis Keyspace Notifications),配合 2.0.0 版本之后的 SUBSCRIBE就能完成这个定时任务的操作了,定时的单位是秒。1.我们先…

bjd luts_BJD娃娃背后的圈层文化:一个“成品娃”拍出22万元天价!

■ 作者 黑马君 | 黑马品牌(ID:heimapinpai)现如今“Z世代”已经成为品牌营销中不可忽略的一个关键词,作为消费升级浪潮的主力军,他们早已成为品牌重点目标人群。与90后、80后不同,Z世代成长于互联网迅猛发展的时代,追…

javaweb 需要对表格建立实体类吗_如何采用java界面编程建立一个表格

5.总体代码:为了便于大家复制,下面给出完整的程序代码,如下:package ArrayCreateTable;import javax.swing.table.*;import java.awt.BorderLayout;import java.awt.GridLayout;import javax.swing.*;public class ArrayCreateTab…

qtcreator版本_【IDE】ROS开发环境之Qt Creator的安装与配置

可以用于ROS开发的IDE很多(可以参考【工具合辑】ROS工程师都在用什么IDE开发呢?用哪种IDE开发更加高效呢? ),ROS的调试依赖环境变量,与外部程序有通讯,因此要求启动IDE的时候加载ROS环境参数,其他方面并无太…

基本API速率限制

您可能正在开发某种形式的(Web / RESTful)API,并且如果它是面向公众的(甚至是内部的),通常您希望以某种方式对其进行速率限制。 即,限制一段时间内执行的请求数,以节省资源并防止滥用…

无人值守安装之cdrom_无人值守安装

第一阶段项目内容:内容配置PXEDHCPvsftp,实现客户端网络安装linux操作系统阶段目的:目的是让你体验如何通过网络引导,安装redhat系统,解决了很多时候没有光驱,却需要装系统的需求。步骤:服务器端…

python函数定义中参数列表里的参数是_python函数参数中的/和*是什么意思?

在python3.8之后函数参数中允许出现/和*号,/用来指明某些函数形参必须使用位置参数而非关键字参数的形式,*出现在函数参数中第一种含义可以表示为可变参数,一般写作*args;对于单独出现在参数中的*参数,则表示&#xff…

python属性和方法的区别_Python中几种属性访问的区别

起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ 。本文阐述它们的区别和用法。 属性的访问机制 一般情况下,属性访问的默认行为是从对象的字典中获取,并当获取不到时会沿着一定的查找…

rootfs 制作ubuntu_为n1制作aarcm64/arm64 ubuntu rootfs系统

安装debootstrap和qemu-user-static:apt install apt-transport-https qemu qemu-user-static binfmt-support debootstrap构建ubuntu 18.04系统,基础包为minbase,使用清大的源:qemu-debootstrap --arch arm64 --variantminbase -…

java线程死锁_Java并发:隐藏线程死锁

java线程死锁大多数Java程序员熟悉Java线程死锁概念。 它本质上涉及2个线程,它们彼此永远等待。 这种情况通常是平面(同步)或ReentrantLock(读或写)锁排序问题的结果。 Found one Java-level deadlock:"pool-1-t…

空间滤波_第三章 灰度变换与空间滤波-(六)锐化空间滤波器之非锐化掩蔽

知识使人自由,印刷术使知识自由。按照书中的顺序,我们插入一章非微分模式下的锐化的方法,非锐化掩蔽。这种方法在印刷术和出版界已经用了好多年了,具体的过程:模糊原图像从原图像中减去模糊图像(产生的差值…

python gui编程 从入门到项目实战_python GUI编程 QT5开发项目实战

目录:├─01-PyQT简介及优势├─02-PyQT5开发环境搭建├─03-PyQT5应该学什么├─04-PyQT5库结构├─05-PyQT5程序基本结构分析├─06-PyQT5-Pycharm活动模板设置├─07-PyQT5程序基本结构-面向对象版本├─08-PyQT5-控件初体验及学习思路├─09-PyQT5-Object-对象的…

五分钟的JShell

这篇文章建立在我的My Java 9顶级功能文章的基础上,通过对这些功能的深入研究。 在这里,我们向您展示如何在五分钟内学习jshell并改善Java 9开发经验。 入门 假设您已经下载并安装了Java 9,则可以通过键入以下内容启动Shell: js…

gsoap初始化释放_通过gsoap使用webservice

一. 按照原来预研究的结果,使用gsoap的方法如下:soapcpp2.exe -C weather.h -I E:\temp\gsoap-2.8\gsoap\import(E:\temp\gsoap-2.8\gsoap\import是我本地的路径),这样可以生成C文件(soapClient.cpp, soapH.h, soapStub.h, WeatherWebServiceSoap.nsmap)…

go语言io reader_【已解决】go语言中如何使用io的MultiWriter

【背景】折腾:期间,需要去搞懂:如果新建和设置MultiWriter。【折腾过程】1.参考:去看看:2.然后去试试代码:var filenameOnly stringfilenameOnly GetCurFilename()fmt.Println("filenameOnly", …

python声明编码为gbk_Python字符串编码坑彻底详细解决

来源:实习僧 作者:实习僧的何梁 真正完全搞清楚Python的编码问题 我想大家经常被Python的编码问题搞的晕头转向,下面我一头来自实习僧的牛,为您详细解析这个天坑: 请看图: 1、python中一切皆对象,字符对象分…

golang 包含文本_Golang教程之Web篇(七)

首先,大家一起思考一个问题:何为Web编程?严格来说,这只是一个叫法,并没有学术上的定义,但是一般大家都说到web都是指浏览器相关,所以大家一般说的web开发要么是PC Web要么就是手机Web&#xff0…

junit 测试 异常_使用JUnit规则测试预期的异常

junit 测试 异常这篇文章展示了如何使用JUnit测试预期的异常。 让我们从我们要测试的以下类开始: public class Person {private final String name;private final int age;/*** Creates a person with the specified name and age.** param name the name* param …

delphi switch语句例子_Java 14 祭出增强版 switch,真香!!

Java14:栈长,我还有机会吗?栈长:必须有!今天说下switch!关注Java技术栈的朋友应该都知道,switch 在 JDK 12 中进行增强了,并且在 JDK 12/13 中一直是预览特性,刚出来的时…

呼叫我,或异步REST

本文是使用Spring Boot Java 8进行的异步REST应用程序工作的非常简单的示例。SpringBoot使Web应用程序的开发几乎非常容易,但是为了简化任务,我从Spring存储库中举了一个例子,称为rest- service ,将其分叉到我自己的存储库中 &am…