一、 JVM的位置 JVM是运行在操作系统之上的,与硬件没有直接的交互,但是可以调用底层的硬件,用JIN (Java本地接口调用底层硬件接口,了解下就好,已经过时了) 二、JVM体系结构概览 1. 类装载器ClassLoader (4个知识点,①概念,②种类(3种系统自带,1种自定义),③双亲委派机 ...
分类:
其他好文 时间:
2019-12-19 12:45:05
阅读次数:
72
1、在sh文件脚本文件中加上 # JVM DEBUG参数,用于调试,默认不开启# ClassLoader和Method Compile日志,用于调试COMPILE_LOADER_OPTS="-XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:-Pr ...
分类:
其他好文 时间:
2019-12-18 00:07:45
阅读次数:
160
可以使用bin目录下的脚本启动。在代码里,启动的入口是类Bootstrap的main方法。 可以看tomcat官网的启动过程PDF 对于"start"的命令。经过了init、load、start三个方法调用。 init 用来初始化以下ClassLoader(在Tomcat-5.5版本后,有实际意义的 ...
分类:
其他好文 时间:
2019-12-07 21:39:21
阅读次数:
95
ClassLoader,Thread.currentThread().setContextClassLoader,tomcat的ClassLoader 2014-05-07 21:41 Loull 阅读(6776) 评论(0) 编辑 收藏 实际上,在Java应用中所有程序都运行在线程里,如果在程序中 ...
分类:
其他好文 时间:
2019-12-01 20:56:34
阅读次数:
63
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从以下几个内容来阐述反射与类加载: [动态代理模式] [Android 中的Dalvik和ART] [ PathClassLoader 和 DexClassLoader] ...
分类:
其他好文 时间:
2019-11-28 13:04:41
阅读次数:
86
读取ClassPath的资源 在程序中经常有很多资源需要读取,常见的就是配置文件,Java中将文件当作一种资源来处理,可以使用Class或者ClassLoader来处理 一,使用Class类的getSourceAsStream方法 该方法接受一个文件路径字符串参数,表示文件的路径,这个路径有两种写法 ...
分类:
其他好文 时间:
2019-11-27 01:07:21
阅读次数:
103
现在用一张图来介绍每个区域存储的内容。 ? 运行时数据区怎么理解?JVM运行时首先需要类加载器(classLoader)加载所需类的字节码文件。加载完毕交由执行引擎执行,在执行过程中需要一段空间来存储数据(类比CPU与主存)。这段内存空间的分配和释放过程正是我们需要关心的运行时数据区。 运行时数据区 ...
分类:
编程语言 时间:
2019-11-27 00:51:35
阅读次数:
96
代理类在程序运行时创建的代理方式被称为动态代理。 JDK动态代理实现原理 动态代理机制 1、通过实现 InvocationHandler 接口创建自己的调用处理器 2、通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动态代理类 3、通过反射机制获得动态代理类 ...
分类:
其他好文 时间:
2019-11-22 13:57:30
阅读次数:
68
首先自定义一个类Person package reflection; public class Person { private String name; public int age; public String getName() { return name; } public void set ...
分类:
编程语言 时间:
2019-11-19 14:16:24
阅读次数:
97
@[toc] 前言 你是否真的理解java的类加载机制?点进文章的盆友不如先来做一道非常常见的面试题,如果你能做出来,可能你早已掌握并理解了java的类加载机制,若结果出乎你的意料,那就很有必要来了解了解java的类加载机制了。代码如下 嗯哼?其实上面程序并不是关键,可能真的难不倒各位,不妨做下面一 ...
分类:
编程语言 时间:
2019-11-18 10:10:16
阅读次数:
89