文章分类 - java深入
摘要:一切都是由BootstrapLoader开始:类加载器的阶层体系Java程序在编译之后会产生许多的执行单位(.class),当我们执行主类时(publicstaticvoidmain(Stringarg[])方法的类),才由虚拟机一一载入所有需要的执行单位,变成一个逻辑上为一体的Java应用程序。下面将细部讨论这整个流程。当我们在命令行输入javaxxx.class时,java.exe根据我们之前所提过的逻辑找到JRE,接着找到在JRE之中的jvm.dll(真正的Java虚拟机),最后载入这个动态连结函数库,启动Java虚拟机。虚拟机一启动,会先做一些初始化的动作,比方说抓取系统参数等。一旦初
阅读全文
摘要:了解了类加载器的来龙去脉,你将可以让你的程序具有强大的动态性----在Java虚拟机不重启的情况下做出具有载入新类的功能;不关闭Java虚拟机的情况下,释放类所占用的记忆体,记忆体不会因为充满了同一个类的多个版本而面临记忆体不足的窘境。类加载器的功能,就是把类从静态的硬盘里(.class文件),复制一份放到记忆体之中,并做一些初始化的工作,让这个类“活起来”,其他人就能够使用它的功能。类加载器是构成JRE的其中一个重要成员。自己编写的类只会在用到的时候才载入,称为依需求载入;基础类库是一次性载入的,称为预先载入,这是因为基础类库里头大多是Java程序执行时必备的类,所以为了不要老师做浪费时间的
阅读全文
摘要:看了这篇文章,转载一下,通过该文可以理解一下Java 中的 ThreadLocalThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。当使用ThreadLocal维护变量时,ThreadLocal为每个使
阅读全文
浙公网安备 33010602011771号