201412-03 java中jar命令详解 做项目的时候我们肯定接触过很多jar包,那么jar包是什么呢?笔者了解到jar是javaarchivefile的简写。从名字就可以知道,它的应用与Java息息相关。下面就详细介绍如何自己生成jar包,这样我们管理我们自己的代码(尤其是一些比较重要而且不会或者很少有修改的代码)。安装好JDK之后,jar.exe就已经安装好了。在命令行中键入jar命令之后,就会出现下图。里面详细的介绍了jar命令的用法:下面我们举例介绍jar命令的一些比较... 继续阅读 >
201412-03 介绍Java中的内存泄漏 Java语言的一个关键的优势就是它的内存管理机制。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。下面就解释下什么是内存泄漏,它为什么会发生,以及我们如何阻止它的发生。1.什么是内存泄漏?内存泄漏的定义:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着。要想理解这个定义,我... 继续阅读 >
201412-03 Java程序员最常用的8个Java日志框架 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用、WEB应用以及移动应用。然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug;在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。本文要来分享一些Java程序员最常用的Java日志框架组件。1、Log4j–最受欢迎的Java日志组件Log4j是一款基于Java的开源日志... 继续阅读 >
201412-03 Java 8 Update 20 的新特性 —— 字符串去重 字符串在任何应用中都占用了大量的内存。尤其数包含独立UTF-16字符的char[]数组对JVM内存的消耗贡献最多——因为每个字符占用2位。内存的30%被字符串消耗其实是很常见的,不仅是因为字符串是与我们互动的最好的格式,而且是由于流行的HTTPAPI使用了大量的字符串。使用Java8Update20,我们现在可以接触到一个新特性,叫做字符串去重,该特性需要G1垃圾回收器,该垃圾回收器默认是被关闭的。字符串去重... 继续阅读 >
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书籍,当我有时间的时候,我就会将它... 继续阅读 >