最新文章列表

详细介绍Java虚拟机

一、什么是Java虚拟机     当你谈到Java虚拟机时,你可能是指:     1、抽象的Java虚拟机规范     2、一个具体的Java虚拟机实现     3、一个运行的Java虚拟机实例二、Java虚拟机的生命周期     一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚 ...
wbj0110 评论(0) 有841人浏览 2013-09-26 08:53

《深入理解Java虚拟机》笔记之第9章 类加载及执行子系统的案例与实战

1、Class文件以何种格式存储,类型何时加载、如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为;能通过程序进行操作的,主要是字节码生成与类加载器这两部分的功能。   2、Web服务器的类加载的特性:    (1)部署在同一个服务器上的两个web应用程序所使用的Java类库可以实现相互隔离;    (2)部署在同一个服务器上的两个Web应用程序所使用的Java类库可以互 ...
jiehao 评论(0) 有1081人浏览 2013-09-05 23:39

《深入理解Java虚拟机》笔记之第7章 虚拟机类加载机制

1、类的生命周期        2、虚拟机规范严格控制规定了有且只有四种情况必须立即对类进行“初始化”(而加载、验证、准备自然需要在这些之前开 ...
jiehao 评论(0) 有1087人浏览 2013-09-05 23:34

Java类加载机制

    场景1:   在命令行执行java HelloWorld 时 虚拟机能执行处HelloWorld类。   Java程序运行的场所是内存,当在命令行下执行:   java HelloWorld   命令的时候,JVM会将HelloWorld.class加载到内存中,并形成一个Class的对象HelloWorld.class。   其中的过程就是类加载过程:   1 ...
zhangxiaofei13 评论(0) 有673人浏览 2013-08-03 17:15

JVM----ClassLoader

当运行一个程序的时候,JVM启动,运行bootstrap classloader,该ClassLoader加载java核心API(ExtClassLoader和AppClassLoader也在此时被加载),然后调用ExtClassLoader加 ...
meigesir 评论(0) 有1014人浏览 2013-07-13 21:32

Tomcat启动时类加载顺序及运行时类载入顺序

Tomcat启动时类加载顺序 第一阶段: JVM启动相关 1.$JAVA_HOME/jre/lib/ext/*.jar  2.环境变量CLASSPATH中的*.jar和*.class 第二阶段: TOMCAT启动相关 1.$CATALINA_HOME/common/classes/*.class  2.$CATALINA_HOME/commons/endorsed/*.jar   3.$CA ...
shuhucy 评论(0) 有7782人浏览 2013-07-05 18:02

JVM类加载过程

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo5 JVM:加载、链接和初始化 JVM要解释Java字节码,就必须对所需的类和接口执行如下3步操作: (1) 加载:JVM在加载类时,会查找该类或该接口的二进制表示,并根据找到的二进制表示(通常是由Java编译器创建的类文件)创建一个Class对象。该Class对象中封装了 ...
grefr 评论(0) 有953人浏览 2013-05-21 17:04

自开发跨HDFS版本的拷贝工具

        虽然HDFS提供了distcp的远程拷贝工具,在同版本之间拷贝很方便,功能也很强大。但是,在跨版本、跨 运维机制时,它就不可用了。另外,HDFS ...
guiyu0856 评论(0) 有1508人浏览 2013-05-15 11:29

java 类加载

一切都是由Bootstrap Loader开始:类加载器的阶层体系Java程序在编译之后会产生许多的执行单位(.class),当我们执行主类时(public static void main(String arg[])方法的类),才由虚拟机一一载入所有需要的执行单位,变成一个逻辑上为一体的Java应用程序。下面将细部讨论这整个流程。当我们在命令行输入java xxx.class时,java.exe根 ...
hyl198611 评论(0) 有893人浏览 2013-05-14 09:28

动态加载类

  大家应该都听过热部署。热部署可以使应用程序在不全部重新编译,不停止服务的情况下,增加新功能,修复bug。使用Java如何实现这样的功能呢?动态加载类功不可没。   先给出一段简单的代码。该程序会修改classpath来增加运行时的jar包,并使用URLClassLoader来加载指定的类,以达到热部署的效果。   p.s. 简化处理的代码片段,不能处理UNC URL,获取home ...
joshuasabrina 评论(0) 有1331人浏览 2013-02-22 09:00

java类加载全过程

一个java文件从被加载到被卸载这个生命过程,总共要经历5个阶段: 加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载 其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类进行初始化工作(加载+链接在此之前已经完成了),jvm有严格的规定(五种情况): 1.遇到new,getstatic,putstatic ...
mazhiyuan 评论(0) 有888人浏览 2012-11-19 19:05

包读取文件资源

我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码: Java代码 1.//源代码1:2.package edu.hxraid; 3.import java.io.*; 4.public class Resource { 5.public ...
ganliang13 评论(0) 有1012人浏览 2012-11-08 16:25

未完Java class&interfac 's Loading, Linking and Initializing | 类与接口的加载、链接和初始化

JVM装载一个类的时候,首先检查他有没有父类,如果有父类则装载父类,然后再装载该类,装载!=实例化,但要开辟内存,这些类都放在JVM的方法区内,类实例化后的对象放在JVM的堆内。 实例化一个子类时,父类一定被装载,但并不是实例化。????? Bill Venners的书中对Load/link/init的讲解,非常棒: 《Inside the Java Virtual Machine》Chapte ...
Wuaner 评论(0) 有1699人浏览 2012-08-31 19:01

转转-------类加载与反射

类加载与反射 1.类加载与反射 2.类加载 当调用java命令运行某个Java程序时,该命令将启动一条Java虚拟机进程,同一个JVM的所有线程,所有变量都处于同一进程里,它们都是用该JVM进程的内存区            程序运行到最后正常结束            程序运行到使用System.exit()或Runtime().exit()代码结束程序          ...
HaiorS 评论(0) 有820人浏览 2012-06-16 13:10

第十四章-类型信息(1)

一、Class对象       Class对象是一种特殊的对象,它包含了与类有关的信息。事实上,Class对象就是用来创建类的所有“常规”对象的。每个类都有一个Class对象,换言之,每当编写并编译了一个新类,就会产生一个Class对象(保存在一个同名的.class文件中)。为了生成这个类的对象,运行这个程序的Java虚拟机将使用“类加载器”。       所有的类都是在对其第一次使用时,动态加 ...
haibin369 评论(0) 有593人浏览 2011-11-22 20:46

java 中关于空循环的例子

public class T006 extends Thread { public String methodName; public static void method(String s) { System.out.println(s); while (true); } public synchronized void method1() { method("非静 ...
Williamyuan86 评论(0) 有1011人浏览 2011-10-21 12:02

Java线程安全的单例模式

在Java并发编程实践(JAVA concurrency in practice)中的第十六章(Java存储模型)中. 有讲到对象安全发布. 其中就是以单例模式来说明这个安全初始化技巧的.这是学习分析总结如下:     引用 不正确发布带来的风险的真正原因是在"发布共享对象"与从"另一个线程访问它"之间,缺少happens-before排序.      ...
banxi1988 评论(0) 有8024人浏览 2011-10-15 23:20

JVM加载class文件的原理机制

     在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成验证、准备、解析(可选的)。    装载:查找和导入类或接口的二进制数据;     链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;           验证:检查导入类或接口的二进制数据的正确性;           准备:给类分配所需存储空间;         ...
ccfangle 评论(0) 有1581人浏览 2011-07-29 14:57

java 模式之单例模式

  开始研究java模式,有些东西还理解的不是很透彻   把他们记录下来加深理解,并且跟广大技术爱好者们共同探讨   单例模式,就是保证在堆中只创建某一个类的一个实例,单例模式有很多应用,比如说hibernate中的SessionFactory,比如在Spring中默认创建的类的实例都应该是单例模式的。   我觉得他是模式中最简单的之一了   有两种实现方式 1: packag ...
gengu 评论(0) 有1169人浏览 2011-07-04 22:39

最近博客热门TAG

Java(141741) C(73643) C++(68602) SQL(64557) C#(59604) XML(59131) HTML(59042) JavaScript(54916) .net(54782) Web(54511) 工作(54116) Linux(50906) Oracle(49861) 应用服务器(43285) Spring(40811) 编程(39452) Windows(39380) JSP(37540) MySQL(37266) 数据结构(36420)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics