- 博客(6)
- 收藏
- 关注
原创 jar包下的MANIFEST.MF文件
MANIFEST.MF 当我们在打包成jar包的时候,默认会产生一个MANIFEST.MF,这个文件包含了基本的信息,包含该jar包的版本,创建人等信息,如果是可运行jar包,那么就会有main-class属性,用来指定main函数所在的类。MAINFEST.MF用来定义jar的信息,提供给JVM在加载这个类的时候的一些描述信息
2016-03-31 12:18:44 922
原创 JAVA Agent的原理和使用
JAVA Agent Java Agent是在jdk1.5引入的,可以动态修改方法的字节码实现动态修改类代码。这通常是在类的方法调用之前进行的预处理,Agent执行的时间的是类的字节码加载进入JVM之前,实现AOP,这个AOP的好处是不会像动态代理那样产生一个新类。 因为在Agent执行的时候类的字节码还没有加入JVM,因此如果要分析该类的信息,需要利用到ASM(byte code anal
2016-03-31 10:03:34 1897
原创 java守护线程
守护线程与非守护线程 JVM中存在两种线程,用户线程和守候线程。 所谓的守护线程,是指用户线程在运行的时候后台提供的一种通用服务的线程,比如用于垃圾回收的垃圾回收线程。 当一个线程由守护线程创建的时候它也是守护线程,当JVM退出的时候,剩余的线程直接被禁用,finally块也不会使用,栈信息也不会退出,由于这个原因,守护线程谨慎使用,尤其是在线程中使用到IO的时候。如何设置一个线程为守
2016-03-29 21:23:13 221
原创 Void的使用场景
Void是什么 Void是一个不可实例化的占位符类用来保存引用代表了java里面的关键字void的Class对象,那么这个类的应用场景是什么?Void的应用场景 应用场景有两个:任务返回值 在我们使用Future实现异步任务调用的时候,例如执行一个删除的时候,这可能是没有返回值的,但是实现任务类需要继承的Callable里面必须指定任务返回值,那么这个时候就只能使用Void来作为占位符。
2016-03-28 18:05:32 508
原创 java Properties 的学习
Properties类 在一个系统中需要一些配置信息,那么如何更好地管理这些配置(增删改查)?Properties为我们提供了这样的基本功能,Properties用简单的key、value存储系统的配置信息。Properties类的使用 下面的这张图展示一个简单的系统如何在自己的运行器使用Properties管理自己的配置信息。 启动 在系统启动的时候,会发生图上前三个步骤。首先,程序从从
2016-03-28 16:35:33 275
原创 ReadWriteLock和ReetrantLock的区别
ReadWriteLock和ReetrantLock ReetrantLock是Lock框架的下的一个实现,实现对对象的锁定,用在保证线程安全,ReadWriteLock和ReetrantLock的功能类似。那么它们之间的区别是什么?以及各自使用于哪些场景。ReadWriteLock相对于ReetrantLock的优势 ReadWriteLock顾名思义:读写锁,当读锁占有的时候,允许别的读操作
2016-03-28 11:30:30 633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人