在不重新编译的情况下直接修改Java Class文件中的内容
Java程序实际上执行的是Java文件编译后的Class文件,这是任何一个Java开发人员都了解的基本知识。若Java程序执行的结果不符合要求,通常的解决方法是先修改Java文件,重新编译成Class文件后再次执行。但有时候我们不能直接修改Java文件(如只有包含class文件的jar包),此时我们就只能直接修改Class文件,本文将展示在基于不同的需求通过可视化工具和Javassist库来直接对Class文件进行修改的方法。
Java中==和equals的区别,equals和hashCode的区别
Java中==和equals的区别,equals和hashCode的区别 [image:60177432-F479-464C-BE21-7B8F66A4F197-12665-00005FA8FAAF5FE4/1.png] 原 2015年07月21日 17:01:56 天天 阅读数 35525 版权声明:本文为博主原创文章
[译] Java Volatile 关键字详解
本文翻译自 Java Volatile Keyword
Java关键字volatile
用于将一个Java变量标记为 在主内中存储 ,更准确的解释为:每次读取一个 volatile 变量时将从电脑的主内存中读取而不是从CPU缓存中读取,每次对一个 volatile 变量进行写操作时,将会写入到主内存中而不是写入到CPU缓存中。
事实上,从Java5之后,volatile 关键字不仅仅可以用来确保 volatile 变量是写入到主内存和从主内存读取数据,我会在下面的章节进行详细的介绍: