
jvm
xlj3
静以修身,俭以养德
展开
-
jvm原理(一)
在以前的博客里面,我们介绍了在Java领域中大部分的知识点,从最基础的java最基本语法到SSH框架。这里面应该包含了在java领域里面的大部分内容了吧。但是,那些知识点是让我们从一个应用的层面上了解了java,java程序真正底层的运行机制和一些底层虚拟机的工作我们还不了解,虽然这些内容在我们真正的开发中几乎用不到这些底层的东西,但对于我们对java的理解会有比较大的帮助。尤其也对以后java开转载 2016-08-01 11:32:58 · 1380 阅读 · 0 评论 -
vm调试配置实验
分析工具: Eclipse Memory Analyzer Java堆溢出: package jvm; import java.util.ArrayList; import java.util.List; /** * -verbose:gc -Xms20M -Xmx20M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails *原创 2017-08-19 16:06:11 · 845 阅读 · 0 评论 -
今天搞定个javaagent类加载和tomcat冲突问题
premain、main默认是appclassloader,但是tomcat加载catalina是urlclassloader,由于是双亲委托机制,父类appclassloader不能访问子类urlclassloader,所以会报错not found 所以大神你之前加上了appclassloader加载tomcat的jar包,导致后来tomcat类加载器先找到父类appclassloader加载原创 2017-07-14 17:47:52 · 6369 阅读 · 11 评论 -
JVM类加载器的urlclassloader和appclassloader
package kite.jvm; import java.net.URL; /** * 首先为什么(1)可以,因为OneURLClassLoader在加载Constant的时候发现需要加载 * OneInterface(因为他是其接口),因为OneURLClassLoader找不到OneInterface,所以最终委其父也就是appclassloader加载了OneInterface.转载 2017-07-14 13:28:20 · 3428 阅读 · 1 评论 -
类加载器层叠关系
/** * */ package com.bzu.csh; /** * * 项目名称:Test1 类名称:Test2 类描述: 创建人:admin 创建时间:2017年1月7日 下午9:41:36 修改人:admin * 修改时间:2017年1月7日 下午9:41:36 修改备注: * * @version * */ public class Test11 {原创 2017-01-08 17:38:58 · 249 阅读 · 0 评论 -
自定义类加载器
/** * */ package com.bzu.csh; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /** * * 项目名称:Test1 类名称:Test2 类描述: 创建人:admin原创 2017-01-08 17:10:29 · 277 阅读 · 0 评论 -
类加载器的父委托机制
类加载器 类加载器用来把类加载到Java虚拟机中。 类加载器的类型 有两种类型的类加载器: 1.JVM自带的加载器: 根类加载器(Bootstrap) 扩展类加载器(Extension) 系统类加载器(System) 2.用户自定义的类加载器: java.lang.ClassLoader转载 2017-01-08 14:38:00 · 306 阅读 · 0 评论 -
关于java初始化简介,只有主动调用时才初始化类
/** * */ package com.bzu.csh; import java.util.Random; /** * * 项目名称:Test1 类名称:Test2 类描述: 创建人:admin 创建时间:2017年1月7日 下午9:41:36 修改人:admin * 修改时间:2017年1月7日 下午9:41:36 修改备注: * * @version * */原创 2017-01-08 11:52:03 · 1446 阅读 · 0 评论 -
类加载器是否为空
/** * */ package com.bzu.csh; /** * * 项目名称:Test1 类名称:Test2 类描述: 创建人:admin 创建时间:2017年1月7日 下午9:41:36 修改人:admin * 修改时间:2017年1月7日 下午9:41:36 修改备注: * * @version * */ public class Test2 { /**原创 2017-01-08 11:40:30 · 381 阅读 · 0 评论 -
jvm原理--简单的程序加载分析
package com.bzu.csh; /** * 类加载器加载.class文件---->初始化static声明,并不赋值------>调用类----->static声明赋值由上到下 * 程序开始运行,首先执行main方法,执行main方法第一条语句,调用Singleton类的静态方法, * 这里调用Singleton类的静态方法就是主动使用Singleton类。所以开始加载S原创 2016-08-01 11:41:12 · 736 阅读 · 0 评论 -
Java引用详解(强引用、软引用、弱引用、虚引用)
Java引用详解(强引用、软引用、弱引用、虚引用) ThreadLocal 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。可以理解为如下三点: 1、每个线程都有自己的转载 2017-08-22 11:26:06 · 338 阅读 · 0 评论