一、JVM的生命周期当启动一个Java程序时,一个Java虚拟机实例就诞生了;当该程序关闭退出时,这个Java虚拟机也就随之消亡;JVM实例通过调用某个初始类的main方法来运行一个Java程序;这个main方法必须是public、static的,而且返回值必须是void;任何一个拥有这样的main...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 02:09:06   
                                阅读次数:
350
                             
                    
                        
                            
                            
                                一、Java内存组成组成图堆(Heap)运行时数据区域,所有类实例和数组的内存均从此处分配。Java虚拟机启动时创建。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。组成 
组成 详解Young Generation即图中的Eden + From Space + To Space1.Eden存放新...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 02:07:43   
                                阅读次数:
320
                             
                    
                        
                            
                            
                                Java栈和局部变量操作Java虚拟机是基于栈的机器,几乎所有Java虚拟机的指令都与操作数栈相关。栈操作包括把常量压入操作数栈、执行通用的栈操作、在操作数栈和局部变量之间往返传输值。1常量入栈操作:操作码在执行常量入栈操作之前,使用三种方式指明常量的值:常量值隐含包含在操作码内部、常量值在字节码中...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 02:07:03   
                                阅读次数:
509
                             
                    
                        
                            
                            
                                1、针对对象的操作码实例化一个新对象需要通过new操作码来实现。对象的创建操作码操作数说明newindex在堆中创建一个新的对象,将其引用压入栈new操作码后面紧跟一个无符号16位数,表示常量池中的一个索引。在特定偏移量位置处的常量池入口给出了新对象所属类的信息。如果还没有这些信息,那么虚拟机会解析...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 02:03:49   
                                阅读次数:
441
                             
                    
                        
                            
                            
                                1.对多线程的支持是Java语言的一大优势,Java对线程的控制主要集中在对线程的同步和协作上,Java使用的同步机制是监视器。监视器java监视器支持两种线程:互斥和协作。java虚拟机通过对象锁来实现互斥,允许多个线程在同一个共享数据上独立而不干扰地工作。协作则通过object类的wait方法....
                            
                            
                                分类:
编程语言   时间:
2014-05-15 01:55:47   
                                阅读次数:
297
                             
                    
                        
                            
                            
                                《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回
                            
                            
                                分类:
编程语言   时间:
2014-05-15 01:50:27   
                                阅读次数:
234
                             
                    
                        
                            
                            
                                一、体系结构组成当编写并运行一个Java程序时,就同时体验了这四种技术。用Java语言编写源代码,编译成Java 
Class文件,然后再在Java虚拟机上运行class文件。当编写程序时,通过调用类中的方法来访问系统资源。当程序运行的时候,它通过调用class文件中的方法来满足程序的Java 
API...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 01:49:05   
                                阅读次数:
359
                             
                    
                        
                            
                            
                                Java虚拟机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶断获得。Java虚拟机从栈顶端弹出一个值,对它进行转换,然后再把转换结果压入栈。int、long、float、double类型之间的相互转换操作码操作数说明i2l(无)将int类型的值转换为lo...
                            
                            
                                分类:
编程语言   时间:
2014-05-15 01:45:48   
                                阅读次数:
224
                             
                    
                        
                            
                            
                                《深入Java虚拟机学习笔记》- 第13章 浮点运算
                            
                            
                                分类:
编程语言   时间:
2014-05-15 01:43:38   
                                阅读次数:
206