荐 Java学习中的碎碎念
程序员文章站
2023-03-07 17:07:07
JRE( Java Runtime Environment,Java运行时环境)是运行Java程序所依赖的环境的集合,包括类加载器、字节码校验器ava虚拟机 lava API.JRE已包含在JDK中,但是如果仅仅是为了运行Java程序,而不是从事Java开发,可以直接下载安装JREJVM( Java Virtual Machine,Java虚拟机)是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。...
JRE( Java Runtime Environment,Java运行时环境)是运行Java程序所依赖的环境的集合,包括类加载器、字节码校验器ava虚拟机 lava API.JRE已包含在JDK中,但是如果仅仅是为了运行Java程序,而不是从事Java开发,可以直接下载安装JRE
JVM( Java Virtual Machine,Java虚拟机)是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关ava8基础应用与开发的信息,只需将Java语言程序编译成在Java虚拟机上运行的目标代码(.class字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行
虚拟机图示:
JVM执行时将在其内部创建一个运行时环境,每次读取并执行一条Java语句会经过三个过程:装载代码、校验代码、执行代码,如图所示
字节码校验器主要做的事情
- 变量要在使用之前进行初始化
- 方法调用与对象引用类型之前要匹配
- 访问私有数据和方法的规则没有被违背
- 对本地变量的访问落在运行时堆栈内
- 运行时堆栈没有溢出
可以参看这位大佬的文章:传送门
垃圾回收机制(GC)
Java程序的内存分配和回收都是由JRE在后台自动进行的。
不仅释放没用的对象,也清理内存整理碎片。
可以通过将该对象的引用变量设置为null,以此暗示垃圾回收机制可以回收该对象。
但是无法知道垃圾回收运行的精确时间。
文档注释
/** 文档注释内容 */
//用法: javadoc [options] [packagenames] [sourcefiles] [@files]
举例:
/**
*@author:kingdeguo
*@version
*/
package cn.zixue.unit01;
public class Student {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.print(i+1 + " ");
}
System.out.println();
for (int j = 10; j > 0; j--) {
System.out.print(j + " ");
}
}
}
D:>javadoc Student.java
正在加载源文件Student.java...
正在构造 Javadoc 信息...
标准 Doclet 版本 1.8.0_181
正在构建所有程序包和类的树...
正在生成.\cn\zixue\unit01\Student.html...
正在生成.\cn\zixue\unit01\package-frame.html...
正在生成.\cn\zixue\unit01\package-summary.html...
正在生成.\cn\zixue\unit01\package-tree.html...
正在生成.\constant-values.html...
正在构建所有程序包和类的索引...
正在生成.\overview-tree.html...
正在生成.\index-all.html...
正在生成.\deprecated-list.html...
正在构建所有类的索引...
正在生成.\allclasses-frame.html...
正在生成.\allclasses-noframe.html...
正在生成.\index.html...
正在生成.\help-doc.html...
可以生成如下文件
打开index.html
点击student,可以看到该类的相关信息
本文地址:https://blog.csdn.net/weixin_44895666/article/details/107167508