1、简述列举了解的编程语言及语言间的区别? 编译型: 一次性全部编译成二进制码,然后运行 解释型:编译一行,运行一行 1.python 解释型,间接高效,容易上手,各个方向百花齐放 2.java 混合型(JVM,JIT编译器),开发周期慢,web方向 3.c 编译型 属于底层开发,只有面向过程,没有 ...
分类:
编程语言 时间:
2020-07-03 00:36:14
阅读次数:
63
3. 回收器 3.1 Serial回收器:串行回收 3.1.1 概述 Serial收集器是最基本、历史最悠久的垃圾收集器了。JDK1.3之前回收新生代唯一的选择。 Serial收集器作为Hotspot中Client模式下的默认新生代垃圾收集器。 Serial收集器采用复制算法、串行回收和"stop- ...
分类:
其他好文 时间:
2020-07-02 21:38:41
阅读次数:
63
1. 运行时数据区架构图 2. 内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机制存在着部分差异(对于Hotspo ...
分类:
其他好文 时间:
2020-07-02 20:10:59
阅读次数:
55
3. 补充内容 3.1 在jvm中表示两个class对象是否为同一个类的两个必要条件 类的完整类名必须一致,包括包名。 加载这个类的ClassLoader(指ClassLoader实例对象)必须相同 | 换句话说,在jvm中,即使这两个类对象(class对象)来源同一个Class文件,被同一个虚拟机 ...
分类:
其他好文 时间:
2020-07-02 20:09:46
阅读次数:
48
1.程序计数器 1. 什么是PC寄存器(程序计数器)? JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器并不是广义上所指的物理寄存器,是 ...
分类:
其他好文 时间:
2020-07-02 20:08:30
阅读次数:
63
类装载器子系统 1.1 什么是类装载子系统? 类装载器子系统负责从文件系统或者网络中加载Class文件,Class文件在文件开头有特定的文件标识(魔数)。 类装载器子系统(ClassLoader)只负责Class文件的加载,至于它是否可以运行,则由Execution Engine决定。 | 你妈妈[ ...
分类:
其他好文 时间:
2020-07-02 20:06:35
阅读次数:
54
1. 对象的实例化 1.1 创建对象的方式 new 最常见的方式 变形1 : Xxx的静态方法 变形2 : XxBuilder/XxoxFactory的静态方法 Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是public Constructor的newInsta ...
分类:
其他好文 时间:
2020-07-02 20:04:57
阅读次数:
65
2. 双亲委派机制 2.1 双亲委派机制工作原理 2.1.1 原理 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存,生成class对象。 加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种 ...
分类:
其他好文 时间:
2020-07-02 19:55:16
阅读次数:
68
1. 本地方法接口 2. 什么是本地方法? 简单来讲,一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java特有,很多其他的编程语言都有这一机制,比如在C++ 中,你 ...
分类:
其他好文 时间:
2020-07-02 19:53:53
阅读次数:
55
1. 直接内存 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。 直接内存是Java堆外的、直接向系统申请的内存区间。 来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存。 IO:阻塞式 NIO:非阻塞式 通常,访问直接内存的速度会优于Ja ...
分类:
其他好文 时间:
2020-07-02 19:51:14
阅读次数:
70