201412-03 Java 9 – 终极特性列表 本文会根据针对即将发布的Java9新特性做同步更新(最后更新:9/9/2014)加快OpenJDK的开发速度:继2014年3月份发布了Java8之后,我们进入下一个两年的发布周期.Java9预计在2016年发布,并且已经公布了JEP(JDK改进提议)中的前期列表.同时,我们已经把一些新特性整理到了JSR(Java规范请求),还有提出了一些希望包括在新版本中的其他特性.这些重要的特性都包括在Jigsaw项目中。显著的性能改善和期待已久的API包括:进程... 继续阅读 >
201412-03 为什么开发者对Java 9如此的兴奋 随着标准Java的版本更新,开发者总是可以从升级后的版本中获取想要的功能。那么Java9的发布为什么会让开发者如此的兴奋?下面列出了一些主要原因:1、模块化的源代码JDK源代码将以模块化的形式组织起来,生成系统将会在模块化编译上得到增强,并且在生成的时候模块之间的边界也将被强制区分开来。“Jigsaw的目标是为JavaSE平台设计并实现标准的模块化系统,并将该系统应用到自身平台和JDK当中去。它的主要目... 继续阅读 >
201412-03 Java开发者应该知道的五款错误跟踪工具 随着Java生态系统的发展,用户性能需求的提高,一类新的开发工具应运而生。与传统方法相比,它们既可以满足在一个快节奏的环境中快速部署所需要的错误跟踪需求,又能在一个更深的层面上观察应用程序的行为。近日,软件分析公司Takipi汇总介绍了五款这样的工具。Raygun是一款基于Web的错误管理系统,用于跟踪应用程序异常。它支持多种桌面、移动和Web编程语言,包括Java、Scala、.NET、Python、PHP和JavaScript,其主要... 继续阅读 >
201412-03 最最常用的 100 个 Java 类 大部分的Java软件开发都会使用到各种不同的库。近日我们从一万个开源的Java项目中进行分析,从中提取出最常用的Java类,这些类有来自于Java的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前100名的类。以下列表中按使用最多的类进行排序,第三个数值表示10000个项目里使用到该类的项目数,而完整的列表请看here.java.util.ArrayList (6958)java.io.IOExcept... 继续阅读 >
201412-03 Java开发人员必须重视HTML5的5点理由 过去,Java开发人员都是依赖Web浏览器作为应用程序的前端。但过程往往令人沮丧:HTML笨拙,JavaScript缓慢而难用,缺乏调试工具,想让应用程序兼容所有的浏览器是一个非常艰苦的过程。但现在你们的福音来了,随着浏览器技术的改进,尤其是采用了HTML5之后,以上问题已经得到显著的改善。下面就盘点一下HTML5能为Java开发人员带来的5点好处。1、跨平台部署跟Java一样,HTML5的核心优势之一便是跨平台运行。既支持传统... 继续阅读 >
201412-03 Java开发者值得关注的7款新工具 云计算、大数据地快速发展催生了不少热门的应用及工具。作为老牌语言Java,其生态圈也出来了一些有关云服务、监控、文档分享方面的工具。本文总结了7款较新的Java工具,大家不妨看下。1.JClarity——性能监控JClarity目前提供两款有关Java性能的工具:Illuminate和Censum,Illuminate是一款性能监控工具,而Censum是一款专注于垃圾回收的日志分析工具。除了收集和可视化数据之外,这两款工具还会根据检... 继续阅读 >
201412-03 《Java程序员修炼之道》作者Ben Evans:保守的设计思想是Java的最大优势 BenEvans是jClarity的联合创始人。其公司致力于开发可以为开发和运维团队提供帮助的性能工具和服务。他是LJC(伦敦Java用户组)的组织者之一,也是JCP(Java社区过程)执行委员会的成员之一,帮助定义Java生态系统中的一些标准。他还是“JavaChampion”荣誉得主。他曾与人合著了《Java程序员修炼之道》(TheWell-GroundedJavaDeveloper)和《Java权威技术手册(第6版)》(JavainaNutshell)。他曾就Java平... 继续阅读 >
201412-03 Java中常用缓存Cache机制的实现 所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。缓存主要可分为二大类:一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式;二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查.代码如下:packagelhm.hcy.gug... 继续阅读 >
201412-03 5个强大的Java分布式缓存框架推荐 在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦。本文主要是分享了5个常用的Java分布式缓存框架,这些缓存框架支持多台服务器的缓存读写功能,可以让你的缓存系统更容易扩展。1、Ehcache–Java分布式缓存框架Ehcache是一个Java实现的开源分布式缓存框架,EhCache可以有效... 继续阅读 >
201412-03 每个Java开发者都应该知道的5个JDK工具 JDK是Java语言的软件开发工具包,没有它就无法编译Java程序。目前,有许许多多的JDK工具呈现在大家面前,但最常用的莫过于java.exe、javac.exe、jar等。除了这几个,还有哪些呢?本文作者Joe拥有多年的Java开发经验,其在博客上分享了一篇文章:5JDKToolsEveryJavaDeveloperShouldKnow,笔者对其进行了编译,以下为译文。目前,有许多工具可以绑定到JavaJDK上面,其中java.exe和javac.exe是每位Java工程师的必... 继续阅读 >
201412-03 你不知道Java的10件事 你从一开始就在使用Java吗?你是否还记得java被称作为”Oak”的时期?那时,面向对象仍然是一个热门的话题,使用C++的人们都认为Java没有任何机会,Applets也只是一件事情。我敢打赌你肯定不知道以下一半的事情。现在,让我们开始一些Java内部运作的大惊喜。1.并没有所谓的检查异常没错,Java虚拟机(JVM)不知道异常,只有Java语言自己知道.如今,每个人都同意检查异常是一个错误。正如Bruce... 继续阅读 >
201412-03 9本Java程序员必读的书 本文列出的9本书在Java程序员界都是被认为很棒的书。当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java。这个问题也就表明,相对于其他的教程和博客,Java书籍还是很重要的参考,主要表现在以下两点通常书籍是由比较权威的程序员来撰写的。相比其他媒介,书籍对于内容的描述更加详细,解释更加明确。本文列出的九本书是我个人非常喜欢的Java书籍,当我有时间的时候,我就会将它... 继续阅读 >
201412-03 小谈应用服务器的未来发展 InfoQ中国站发表了一篇卫滨张兄的文章“Java应用服务器前途堪忧”。仔细看进去,EberhardWolff的演示稿写的很好,有针对性的分析了目前应用服务器当前的状态和存在的一些问题,提出微服务和持久交付会对应用服务器市场产生冲击,这个技术趋势我非常赞同,但是演示稿的确有标题党和片面下结论之嫌。接下来我就从应用服务器的历史发展,需求由来和互联网浪潮对其促进变化谈谈个人的观点,在一些地方辅以技术说明。... 继续阅读 >
201412-02 Google的Java编码规范 Google最近发布了一份完整的Java编码规范。规范的内容包括一些切实可行的硬性规定。Google内部均遵守此规范。该规范不仅涵盖了代码格式,还包括其他类型的约定和编码标准。该规范主要分为6大部分:源文件基本规范、源文件结构、代码格式、命名、编程实践和Javadoc。源文件基本规范说明文件名、文件编码、空格和特殊字符等规范要求。源文件结构说明许可信息、package和import声明、类成员顺序等规范要求。代码格式用于说... 继续阅读 >
201411-29 JAVA中的糕富帅技术——反射(一) 今天就来谈谈反射机制;学过JAVA的人不一定懂得反射,但是一定听说过反射,不过也仅仅是听说过而已;因为反射用的地方也不会那么多,但是反射用的妙经常会解决我们挠破头皮的大问题。至于诸如为什么叫做反射、而不叫做正射倒射此类的历史问题,还是交给历史学家去研究吧。。。反射的基石在谈反射之前,我们应该先了解下类的概念来引入。类是一种抽象的概念,举个例子“我爸是李刚我爸李双江”,从这句话中我们发现有李... 继续阅读 >
201411-11 百度社会招聘Android方向笔试题及答案解析 1.java基础题,下面的代码输出结果是什么?publicstaticvoidmain(String[]args){Stringstr=newString("abc");char[]ch={'a','b','c'};change(str,ch);System.out.print(str+"");System.out.print(ch);}publicstaticvoidchange(Stringstr,char[]ch){str="gbc";ch[0]='g';}}答案:这道题考察的东西很多,看似简单,实则考察了java的基础知识,对内存的理解,对... 继续阅读 >