什么是反射,反射原理 java类的执行需要经历以下过程 编译:.java文件编译后生成.class字节码文件 加载:类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JVM内部,并存储在运行时内存区的方法区,然后将其转换为一个与目标类型对应的java.lang.Class对象实例 连接:细分 ...
分类:
编程语言 时间:
2020-04-16 14:51:00
阅读次数:
71
双亲委派加载模型 为什么需要双亲委派加载模型 主要是为了安全,避免用户恶意加载破坏 正常运行的字节码文件,比如说加载一个自己写的 。这样就有可能造成包冲突问题。 类加载器种类 启动类加载器:用于加载 中`rt.jar`的字节码文件 扩展类加载器:用于加载 中`/jre/lib/ext`文件夹下的字节 ...
分类:
其他好文 时间:
2020-04-12 22:16:38
阅读次数:
62
类加载器可以看下我的收藏: https://www.cnblogs.com/dongguacai/p/5879931.html 现在准备一个字节码文件: 自定义加载器: 1 package com.xzlf.test; 2 3 import java.io.ByteArrayOutputStream ...
分类:
编程语言 时间:
2020-04-12 20:37:56
阅读次数:
70
前言 现在不管是大公司还是小公司,去面试都会问到多线程与并发编程的知识,大家面试的时候这方面的知识一定要提前做好储备。 关于多线程与并发的知识总结了一个思维导图,分享给大家 1、Java中实现多线程有几种方法 (1)继承Thread类; (2)实现Runnable接口; (3)实现Callable接 ...
分类:
编程语言 时间:
2020-04-09 21:33:31
阅读次数:
93
类加载器 启动类加载器 BootstrapClassLoader 扩展类加载器 ExtensionClassLoader 系统类加载器(应用程序类加载器) AppClassLoader Java API doc 表述 The Java platform uses a delegation model ...
分类:
其他好文 时间:
2020-04-09 10:31:03
阅读次数:
76
类的加载机制分为如下三个阶段:加载,连接,初始化。其中连接又分为三个小阶段:验证,准备,解析。 加载阶段 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后再堆内创建一个class对象,用来封装类在方法区内的数据结构。 加载class文件的方式: 从本地系统中直接 ...
分类:
其他好文 时间:
2020-04-09 00:26:47
阅读次数:
72
类的流程 类的加载流程各阶段说明: 全限定名 : 包名 + 类名 加载 : 1. 根据类的全限定名找到对应的二进制流 2. 将静态数据结构转换为方法区运行时数据结构 3. 在堆中生成一个java.lang.class对象,作为访问方法区这些数据的入口 验证 : 校验字节码正确性 和 二进制流正确性等 ...
分类:
其他好文 时间:
2020-04-08 19:34:28
阅读次数:
84
在目前流行的互联网架构中,对一个应用来说,Tomcat是首,SSM是中,JVM是尾,我们通常对于SSM是比较了解的,而忽略了首尾,而Tomcat在目前的网络编程中是举足轻重的,但是我们其实对Tomcat中很多原理性的东西不太了解,如果能够掌握Tomcat的原理,那么是非常有用的,比如:如果我们能弄清楚Tomcat和Socket、Tcp之间的关系,我们就能明白Tomcat为什么会出现端口冲突。如果我
分类:
其他好文 时间:
2020-04-08 16:24:59
阅读次数:
94
JVM类加载机制 JVM类加载机制分为:加载,验证,准备,解析,初始化五步,如 下图: 加载:这个阶段会在内存中生成一个代表这个类的java.lang.Class对象作为方法区这个类的各种数据的入口。 验证:目的去报Class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机的自身安全 ...
分类:
其他好文 时间:
2020-04-08 09:23:26
阅读次数:
70