前几天jetty下发现java无法删除文件,文件操作后一直被jvm占用,无奈换了tomcat问题消失。 今天又想起来,尝试网上的解决方法,经本人试验,直接修改配置文件有时不能生效,具体原因不清楚,建议使用直接修改web.xml文件 下文中的红色部分 文件被锁定是由于在使用windows系统...
分类:
编程语言 时间:
2014-09-24 13:55:36
阅读次数:
189
随着JVM虚拟机和JIT即时编译技术的发展,对象的分配和回收是个非常轻量级的工作。但是对于缓冲区Buffer,情况却稍有不同,特别是对于堆外直接内存的分配和回收,是一件耗时的操作。为了尽量重用缓冲区,Netty提供了基于内存池的缓冲区重用机制。性能测试表明,采用内存池的ByteBuf相比于朝生夕灭的ByteBuf,性能高23倍左右(性能数据与使用场景强相关)。
在4.x版本中,UnpooledB...
分类:
Web程序 时间:
2014-09-23 20:56:15
阅读次数:
425
本文旨在给所有希望了解JVM(Java Virtual Machine)的同学一个概念性的入门,主要介绍了JVM的组成部分以及它们内部工作的机制和原理。当然本文只是一个简单的入门,不会涉及过多繁杂的参数和配置,感兴趣的同学可以做更深入的研究,在研究JVM的过程中会发现,其实JVM本身就是一个计算机体...
分类:
编程语言 时间:
2014-09-23 17:21:14
阅读次数:
308
先装软件先转jdk,默认装然后jre装,默认装JDK是Java的开发平台,在编写Java程序时,需要JDK进行编译处理;JRE是Java程序的运行环境,包含了JVM的实现 及Java核心类库,编译后的Java程序必须使用JRE执行。在下载的JDK安装包中集成了JDK与JRE,所以在安装JDK过程中会...
分类:
编程语言 时间:
2014-09-23 16:49:35
阅读次数:
251
一、JVM的生命周期1.JVM实例对应了一个独立运行的java程序它是进程级别a)启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b)运行。main()作为该程...
分类:
其他好文 时间:
2014-09-23 01:35:33
阅读次数:
266
简述众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,以下皆以windows平台为例,linux下和solaris下其实类似,为:libjvm.so),这个动态连接库才是java虚拟机的实际操作处理...
分类:
其他好文 时间:
2014-09-23 01:06:53
阅读次数:
410
最近进行zip操作,从网上找到一个处理方法,但是经过试验存在一些bug,主要是文件流的申明存在问题,导致jvm一直占用文件而不释放,特意把自己修改的发出来,已备记录import java.io.BufferedInputStream; import java.io.BufferedOutputStr...
分类:
编程语言 时间:
2014-09-22 23:01:23
阅读次数:
218
本系列作为Java Performance:The Definitive Guide的读书笔记。
概览
在目前的JVM中,主要有4中垃圾回收器(Garbage Collector):
串行回收器(Serial Collector),主要用于单核计算机吞吐量(并行)回收器(Throughput/Parallel Collector)并发回收器(Concurrent/CMS Co...
分类:
编程语言 时间:
2014-09-21 18:47:50
阅读次数:
224
在一个从Java源码编译到JVM字节码的编译器(如javac、ECJ)里,一个“编译单元”(CompilationUnit)指的是一个Java源文件。而在Dalvik VM的JIT里也有一个结构体名为“CompilationUnit”,这个千万不能跟Java源码级的编译单元弄混了——它在这里指的就是...
分类:
其他好文 时间:
2014-09-21 02:59:59
阅读次数:
320