摘要: 1.简介 jstat是一个很强大的JVM内存监视工具。它能对Java应用程序的资源和性能进行实时的命令行的监控,主要包括堆大小和GC情况的监控。2.命令格式 jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] jstat -命令选项 -输出选项 进程ID 间隔时间 打印次数3.常用命令简介 显示加载class的数量及所占空间等信息 显示GC信息 显示JVM实时编译的数量之类的信息 阅读全文
posted @ 2012-07-23 23:05 zhangchaozheng 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1.简介 查看本地运行多少个有权限的java进程,并显示它们的进程ID、进程启动路径等。 它与unix的ps命令类似。 jps也可以用来显示远程机器的上的java进程,但通常用来查看本机的。2.命令格式 jsp [options] [hostid]3.常用命令简介 不带任何参数,显示进程号及包名。 -l:输出传递给main方法的参数,如果是内嵌的JVM则输出为null。 -m:输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。 -v:输出传给JVM的参数。 阅读全文
posted @ 2012-07-23 18:19 zhangchaozheng 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 单例模式的定义:确保一个类只有一个实例,并提供一个全局的访问点。 在应用中,有些对象我们其实只需要一个,例如线程池之类的对象。如果这类对象产生过多不仅浪费资源还有可能引发其它异常。如果只需要达到只存在一个实例这个要求,我们只需要定义一个全局静态变量,然后约定大家都使用这个变量就可以了。的确也是这样的,但是如果有更好的办法能达到只有一个实例,并且带来更多的便利(如避免一开始就创建这个对象),我们是很乐意学习的。 单例模式共分为三种:懒汉式单例、饿汉式单例、登记式单例。饿汉式单例 它只有在第一次请求实例时才会去创建。类加载的时候不需要创建,并且第一次创建以后都不需要再创建。public ... 阅读全文
posted @ 2012-07-18 21:33 zhangchaozheng 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 新建一个bat文件。内容如下:cd "C:\Program Files\Oracle\VirtualBox" ::如果是Nat网络,则可执行下面命令,进行端口映射,才能正常ssh连接::VBoxManage modifyvm "Ubuntu11" --natpf1 "guestssh,tcp,,22,,22"VBoxHeadless --startvm "Ubuntu11"可以直接运行这个脚本,但会有这窗口存在。如果要去掉这个窗口,可新建一个vbs文件。内容如下:Set ws = CreateObject(&quo 阅读全文
posted @ 2012-07-17 19:28 zhangchaozheng 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 从J2SE1.2开始,垃圾回收器都是使用了分代收集算法。原因在于:不同的对象的生命周期是不一样的。对不同生命周期的对象采取不同的收集方式,可以提高垃圾回收的效果。 虚拟机中的共划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区,一个Eden... 阅读全文
posted @ 2012-07-11 19:42 zhangchaozheng 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 一、单一职责原则(SRP) 一个类,只有一个引起它变化的原因。SRP中,把职责定义为“变化的原因”。多个职责耦合在一起,会影响复用性。 接口一定要做到单一职责,类的设计要尽量做到只有一个原因引起变化。二、里氏替换原则(LSP) 所有引用父类的地方必须能透明地使用其子类对象。 只要父类能出现的地方,子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是反过来就不行了,有子类出现的地方,父类未必就能适应。三、依赖倒置原则(DIP) 依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此的独立,不互相影响,实现模块间的松耦合。... 阅读全文
posted @ 2012-07-09 21:30 zhangchaozheng 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 内存映射文件是java nio的一个新特性。它是利用虚拟内存将一个文件或者文件的一部分映射到内存。这样,这个文件就可以当作内存数组一样访问,它比普通的文件操作要快很多。抄了个例子测试一下普通输入流、带缓冲的输入流、随机访问文件、内存映射文件在不同文件大小的访问时的情况。如下是测试代码:public class NIOTest{ public static long checksumInputStream(String filename) throws IOException { InputStream in = new FileInputStream(filename);... 阅读全文
posted @ 2012-05-09 22:54 zhangchaozheng 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 思路很简单:定义pdf表单作为模板,调用itext api填充表单并输出报表。由于比较简单,就不多描述,直接贴上Demo代码。 1 package com.itextpdf; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.OutputStream; 7 8 import com.itextpdf.text.Document; 9 import com.itextpdf.text.Docume.. 阅读全文
posted @ 2012-04-25 22:53 zhangchaozheng 阅读(1600) 评论(0) 推荐(0) 编辑