Q1:类的加载机制是什么?答:类加载到内存中主要有5个阶段,分别为①加载:将Class文件读取到运行时数据区的方法区内,在堆中创建Class对象,并封装类在方法区的数据结构的过程。②验证:主要用于确保Class文件符合当前虚拟机的要求,保障虚拟机自身的安全,只有通过验证的Class文件才能被JVM加载。③准备:主要工作是在方法区中为类变量分配内存空间并设置类中变量的初始值。④解析:将常量池中的符号
分类:
编程语言 时间:
2020-04-07 00:13:01
阅读次数:
71
加载 加载(Loading)是类加载过程中的一个阶段,这个阶段虚拟机外部的二进制字节流就按照虚拟机所需的格式存储在方法区之中,然后在内存中实例化一个java.lang.Class类的对象,这个对象将作为程序访问方法区中的这些数据的外部接口,注意这里不一定非得要从一个 Class 文件获取,这里既可以... ...
分类:
其他好文 时间:
2020-04-04 18:53:07
阅读次数:
62
1.Java类加载机制 双亲委托模式 类加载时序图 加载阶段 类加载阶段是由类加载器负责根据一个类的全名类读取此类的二进制字节流到JVM内部,并存储在运行时内存区的方法区内,然后将其转换为一个与目标类型对应的java.lang.Class对象实例,这个Class对象在日后就会作为方法区中的该类的各种 ...
分类:
编程语言 时间:
2020-04-03 20:24:26
阅读次数:
80
很多人说JVM是不是真的要学?面试官都会问JVM的问题吗?很重要吗? 的确很重要。 随着互联网的发展,高并发高可用、快速响应成为软件的必须,而JVM与这些有着密切关联。 我们在尽情享受Java虚拟机带来好处的同时,还应该去了解和思考“这些技术特性是如何实现的”,去了解最底层的原理。只有熟悉JVM,你 ...
分类:
编程语言 时间:
2020-04-03 20:02:40
阅读次数:
61
我们都知道java虚拟机所管理的内存区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器。 在《深入理解java虚拟机》中,周志明老师对虚拟机栈进行了讲解,但是对本地方法栈却一笔带过。今天我们就来对本地方法栈做下深入...... 首先我们先回顾一下虚拟机栈。 1.虚拟机栈 1.1虚拟机栈的特点 虚拟 ...
分类:
其他好文 时间:
2020-04-03 00:22:10
阅读次数:
84
运行时数据区域 包含:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区,运行时常量池。具体相关结构如下图。 区域 是否公用 相关概念 其他描述 程序计数器 线程私有 当前线程执行的字节码行号指示器 如果当前线程执行的java方法,那么计数器 java虚拟机栈 线程私有 java方法执行的 ...
分类:
编程语言 时间:
2020-04-02 17:29:57
阅读次数:
97
一.Java堆从GC的角度去看,可以分为三个区域,分为是新生代,老年代,永久代(是方法区的实现,但是物理逻辑是和堆在一起的) 其中新生代占1/3的堆空间,老年代占2/3的堆空间,永久代占得很少,就不进行划分了,他也占了,但是很少很少,新生代占的1/3又分为Eden区(占比8/10),Servivor ...
分类:
其他好文 时间:
2020-04-02 15:54:22
阅读次数:
86
1:集合当中使用泛型:【1】统一集合当中的数据类型,更方便的操作数据。【2】参数化的类型【3】规定要操作的数据类型2:泛型类||泛型方法||泛型接口【1】泛型表示:大写字母【2】默认为object;自定义 T E V K[!]:泛型方法与泛型类中的方法区别 泛型形参 &&& 泛型实参【3】通常来说:... ...
分类:
其他好文 时间:
2020-04-01 23:34:55
阅读次数:
88
Java内存空间 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机制存在着部分差异(对于Hotspot主要指方法区) ( ...
分类:
其他好文 时间:
2020-04-01 17:55:39
阅读次数:
89
attr方法用的是原生js中的getAttribute和setAttribute; prop方法相当于直接用.或者[]来访问/修改dom元素的属性, 所以它俩的区别相当于问原生js中的getAttribute和直接.来修改属性有什么区别: <input type="text" zs="user"> ...
分类:
Web程序 时间:
2020-03-31 09:13:40
阅读次数:
79