阅读更多 将JDK5.0开发的项目转为JDK1.4可运行的项目Retrotranslator、Retroweaver http://iamin.blogdriver.com/iamin/1177133
1 经典I/O模式 BIO (阻塞I/O) JDK1.4前 NIO (非阻塞 I/O) JDK1.4 (2002 年,java.nio 包) AIO(异步 I/O) JDK1.7 (2011 年) 1.2...Windows实现成熟,但其很少用做服务器 Linux常用做服务器,但其AlO实现不够成熟 Linux下AIO相比较NIO的性能提升不明显 所有 netty 也是联系实际情况才有选择地支持高性能的 IO...通用NIO实现(Common)在Linux下也是epoll,但Netty依旧选择自己实现,因为更好: Netty提供更多可控参数: JDK的NIO默认实现是水平触发 Netty 是边缘触发(默认)和水平触发
1 经典I/O模式 BIO (阻塞I/O) JDK1.4前 NIO (非阻塞 I/O) JDK1.4 (2002 年,java.nio 包) AIO(异步 I/O) JDK1.7 (2011 年)...Windows实现成熟,但其很少用做服务器 Linux常用做服务器,但其AlO实现不够成熟 Linux下AIO相比较NIO的性能提升不明显 所以 netty 也是联系实际情况才有选择地支持高性能的 IO...通用NIO实现(Common)在Linux下也是epoll,但Netty依旧选择自己实现,因为更好: Netty提供更多可控参数: JDK的NIO默认实现是水平触发 Netty 是边缘触发(默认)和水平触发
-groups 逗号分隔的组列表 要运行的组列表(例如 "windows,linux,regression")....如果你正在使用在xml文件里面的包标签并且在classpath路径中由很多类而大部分都不是测试类的时候比较方便 举例: java org.testng.TestNG -groups windows,linux...如果适用jkd5则默认为"JDK",如果适用jdk1.4则默认为"Javadoc" classfilesetref 要运行的测试类的FileSet结构的引用. ...skippedProperty 当发生测试被跳过时设置的property的名称.只有当haltonskipped没有设置时才使用 不是必须 sourcedir 用于jdk1.4...测试的PATH-like结构(使用JavaDoc形式的annotations) sourcedirref 用于jdk1.4测试的PATH-like结构的引用(使用JavaDoc
从JDK 7版本开始,Java新加入的文件和网络io特性称为nio2(new io 2, 因为jdk1.4中已经有过一个nio了),包含了众多性能和功能上的改进,其中最重要的部分,就是对异步io的支持,...BIO、NIO、AIO适用场景分析: BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。...NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。...Linux AIO 1Linux AIO 简介 Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。...2Linux 的 I/O 模型 在深入介绍 AIO API 之前,让我们先来探索一下 Linux 上可以使用的不同 I/O 模型。
在 Linux,Solaris 上缺省采用 server模式。 2. ...-hotspot 含义与 client 相同,jdk1.4 以前使用的参数,jdk1.4 开始不再使用,代之以 client。 3. ...|:] 从 JDK1.4 开始,java 可支持断言机制,用于诊断运行时问题。通常在测试阶段使断言有效, 在正式运行时不需要运行断言。...在 Windows 平台上虚拟机搜索本地库名 为 libname.dll 的文件,在 Unix 上虚拟机搜索本地库名为 libname.so 的文件,搜索路径环 境变量在不同系统上有所不同,Linux、
一:BIO,NIO,AIO有什么区别 BIO:同步阻塞IO JDK1.4之前,建立网络连接的时候采用BIO模式,先在启动服务端socket,然后启动客户端socket,对服务端通信,客户端发送请求后...NIO:同步非阻塞IO NIO主要是想解决BIO的大并发问题,BIO是每一个请求分配一个线程,当请求过多时,每个线程占用一定的内存空间,JDK1.4开始支持NIO,适用于连接数目多且连接比较短的架构...二:BIO,NIO,AIO有哪些适用场景 1.BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择但程序简单易理解。...编程比较复杂JDK1.4开始支持。...数据的读取写入是通过Buffer,这个和BIO 中要么是输入流,或者是输出流,不能双向,但是NIO的Buffer 是可以读也可以写需要 flip 方法切换 8.channel是双向的,可以返回底层操作系统的情况,比如Linux
Tomcat调优 内存优化 默认情况下Tomcat的相关内存配置较低,需要修改,否则并发上来可能会报OOM异常 Linux下修改TOMCAT_HOME/bin/catalina.sh,在其中加入如下 JAVA_OPTS...protocol="org.apache.coyote.http11.Http11Nio2Protocol" BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4...NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持.
WebSphere5.1:JDK1.4,Servelet2.3、JSP1.2 WebSphere6.0:JDK1.4,Servelet2.4、JSP2.0 WebSphere6.1:JDK5.0,...Servelet2.4、JSP2.0 Tomcat4.1:JDK1.4,Servelet2.3、JSP1.2 Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0 Tomcat5.5
5. 4种IO比较 概念澄清 异步非阻塞IO 很多人习惯将JDK1.4提供的NIO称为异步非阻塞IO,其实严格按照UNIX网络编程模型和JDK实现区分,实际上它只能被称为非阻塞IO,不能叫做异步非阻塞...在早期JDK1.4和1.5 update10版本之前,JDK的Selector基于select/poll模型实现,它是基于IO复用技术的非阻塞IO,不是异步IO。...在JDK1.5 update10和Linux core2.6以上,Sun优化了Selector的实现,它在底层使用epoll替换了select/poll,上层的API没有变化,可以认为是JDK NIO的一次性能优化
一、Tomcat内存优化,启动时告诉JVM需要多大内存(调优内存是最直接的方式) Windows 下的 catalina.bat Linux 下的 catalina.sh 在该文件中配置jvm的内存空间...BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解....NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持.
在上一篇推文中讲解了零拷贝思想在Linux系统中的实现,主要有mmap、sendfile、splice、tee等,但在Java中目前主要实现了mmap和sendfile。...在JDK1.4 的发布版中正式引入NIO,加入了缓冲区Buffer和通道Channel的概念,提供了非阻塞的方式。...然而JDK1.4主要是为Socket通讯进行的优化,随后在JDK1.7版本中的NIO2不仅增强了文件系统的处理能力,还做到了真正的异步I/O—AIO。...Linux的time命令 time是linux shell内置的命令,它用于统计/测量系统的资源使用情况,如CPU、内存、I/O等,用法如下 time [ -apqvV ] [ -f FORMAT ]...写在最后 虽然JDK没有实现所有的Linux零拷贝模式,但如果能把mmap和sendfile发挥到极致在性能上也能具有非常可观的提升,比如kafka、netty都是以零拷贝而业界瞩目。
Linux安装Tomcat最新版本 1. Tomcat各版本选择 2. 下载启动 1....JDK7) 2.5 2.1 2.1 N/A N/A 6.0.x (已停止维护) 6.0.53 大于等于JDK5 2.4 2.0 N/A N/A N/A 5.5.x (已停止维护) 5.5.36 大于等于JDK1.4
jdk1.4前只有这一种模型。编程模型最简单 NIO 同步非阻塞IO:可靠性比较好,吞吐量比较高,适用于连接比较多且连接比较短(轻操作)。(例如聊天室,每人发一句话)jdk1.4后支持。...Selector对应一个或多个线程,线程数量由Server端控制 Buffer和Channel都是可读可写的 四、select,poll,epoll有什么区别 他们是NIO中多路复用的三种实现机制,是由Linux...通常只会在Unix,Linux系统。 select机制:会维护一个FD的集合 fd_set。...EPoll机制(Event Poll):Linux2.6提出来的,事件驱动,它不再扫描所有的FD,只将用户关心的FD的事件存放到内核的一个事件表。
一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式) Windows 下的catalina.bat Linux 下的catalina.sh 如: JAVA_OPTS='-Xms256m...BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解....NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持.
生产环境JDK版本确认,直接在Linux下执行该命令就能看对应.class 16进制文件内容。 hexdump MiscUtil.class | less 3....: 34(对应十进制的50):JDK1.8 33(对应十进制的50):JDK1.7 32(对应十进制的50):JDK1.6 31(对应十进制的49):JDK1.5 30(对应十进制的48):JDK1.4
CentOS 6.5 配置 Tomcat 步骤: 一、安装Java 1、JDK下载 2-1、源码安装: #mkdir /usr/java #tar zxvf jdk-8u131-linux-x64.tar.gz...-C /usr/java/ 2-2、rpm包安装: #chmod +x jdk-7u79-linux-x64.rpm #rpm -ivh jdk-7u79-linux-x64.rpm 3、设置环境变量...TIME_STYLE='+%Y/%m/%d %H:%M:%S' # source /etc/profile 使环境变量生效 4、设置java和javac的符号连接: 这是把默认的jdk(本系统默认是JDK1.4
3.2 、BIO、NIO、AIO适用场景分析 BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序简单易理解。 ...编程比较复杂,JDK1.4开始支持。 AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。...BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,程序简单易理解。...从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的。 ...BIO , BIO 中要么是输入流,或者是输出流, 不能双向,但是NIO的Buffer 是可以读也可以写, 需要 flip 方法切换; (8)channel 是双向的, 可以返回底层操作系统的情况, 比如Linux
在运行的时候它会先在CLASSPATH找log4j,如果有,就使用log4j,如果没有,就找JDK1.4带的 java.util.logging,如果也找不到就用Simple Logger。...commons-logging.jar的出现是一个历史的的遗留的遗憾,当初Apache极力游说Sun把log4j加入JDK1.4, 然而JDK1.4项目小组已经接近发布JDK1.4产品的时间了,因此拒绝了...jaas.jar: JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。 jcs.jar: 如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用。...一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取 配置文件,性能没什么紧要的,所以也是多余的。