Java守护线程(Daemon)示例本文由TonySpark翻译自Javarevisited。转载请参见文章末尾的要求。
当我们在Java中创建一个线程,缺省状态下它是一个User线程,如果该线程运行,JVM不会终结该程序。当一个线被标记为守护线程,JVM不会等待其结束,只要所有用户(Use...
分类:
编程语言 时间:
2014-05-12 09:48:56
阅读次数:
355
转载自http://blog.csdn.net/cutesource/article/details/5906705JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新...
分类:
编程语言 时间:
2014-05-11 17:17:27
阅读次数:
275
此文章转载自http://blog.csdn.net/cutesource/article/details/5904542Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机...
分类:
编程语言 时间:
2014-05-11 16:26:48
阅读次数:
356
运行多个tomcat时,出现tomcat Address already in use:
JVM_Bind这个错误,可以按照如下方式解决:修改F:\tomcat20111101\apache-tomcat-6.0.26\conf目录下的server.xml文件的端口号修改后的结果如下:,Server...
分类:
其他好文 时间:
2014-05-10 08:25:37
阅读次数:
390
共同点: 解释执行byte code 字节码文件
在操作系统的进程运行一个VM,并执行一个单独的程序不同点:
程序的结构不同:JVM字节码由多个.class文件组成,Dalvik只包含一个.dex格式的文件,这个文件包含了程序中所有的类。
架构不同:Dalvik是register-based...
分类:
其他好文 时间:
2014-05-10 05:50:28
阅读次数:
384
第一章 内存分配
1. 内存区域。
方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离)。
1) java虚拟机栈:线程私有。描述的是java方法执行的内存模型:栈帧,用户存储 局部变量表,操作数栈,动态链接,方法出口等信息。
局部变量表在编译时即可完全确定!如果线程请求的栈深度大于 规定的深度,StackOverflowErro...
分类:
其他好文 时间:
2014-05-10 04:47:01
阅读次数:
275
使用工具:Eclipse Stardard 4.32版本(window7环境)
今天我们通过一个及其简单的例子来分析一个java程序是如何在我们的及其上跑起来的。部分内容是参考其他人的,会在参考的地方注明。
我的测试代码部分如下:
public class Test {
public static void main(String[] args) {
new Test()...
分类:
编程语言 时间:
2014-05-10 04:40:10
阅读次数:
414
一 问题引入
JVM把内存分为两层,一层为大的主存,另外一个是工作内存(属于每个线程自己专属的),正常情况下,线程在用到某个变量的值时,都是先取到工作内存中进行处理,然后再写回主存,这样就会带来不同线程变量值不同步的问题。
volatile字面意思是易挥发,不稳定,比如100个线程同时访问修改的一个字段值,那么这种值的特性明显和JVM中高速缓存机制不相符,这种值是不适合放在各线程自己的寄存...
分类:
编程语言 时间:
2014-05-09 21:07:01
阅读次数:
324
http://blog.csdn.net/twlkyao/article/details/24534505
分类:
其他好文 时间:
2014-05-09 10:07:36
阅读次数:
1929
应用服务器一般都支持热部署(Hot Deployment),更新代码时把新编译的确类
替换旧的就行,后面的程序就执行新类中的代码。这也是由各种应用服务器的独 有的类加载器层次实现的。那如何在我们的程序中也实现这种热加载功能呢?即
要在虚拟机不关闭的情况下(比如一个),换个类,JVM 就知道加载这个新...
分类:
编程语言 时间:
2014-05-09 09:33:09
阅读次数:
483