初识java内存、组成等知识点

1、java程序的运行过程

在这里插入图片描述
Java程序运行需要经过编译,运行两个阶段。

  • 编译:javac 命令
  • 运行:java 命令

2、JKD,JRE,JVM三者区别

三者是包含的关系,如图
在这里插入图片描述

  • JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
  • JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
  • JVM(Java Virtual Machine)JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

3、JVM的组成

在这里插入图片描述
JVM:实际上底层由C/C++代码实现的

  • 虚拟机栈(JVM statck):我们平时所说的栈,存放基本类型的变量数据(局部变量)和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
  • 本地方法栈(Native Method Stack): 本地方法栈与虚拟机栈的作用类似. 只不过保存的内容是Native方法的局部变量.在有些版本的 JVM 实现中(例如HotSpot), 本地方法栈和虚拟机栈是一起的,运行C/C++代码。
  • 堆(Heap): JVM所管理的最大内存区域. 使用 new 创建的对象都是在堆上保存,用来存放所有new出来的对象
  • 程序计数器(PC Register): 只是一个很小的空间, 保存下一条执行的指令的地址
  • 方法区(Method Area): 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据.方法编译出的的字节码就是保存在这个区域
  • 运行时常量池(Runtime Constant Pool): 是方法区的一部分, 存放字面量字符串常量与符号引用.jdk1.7后放在堆当中

4、简单的main方法个组成部分解释

在这里插入图片描述

  • 在一个java文件中,如果有public class这样的类,那么文件名应与public修饰的类同名
  • 一个java文件只能有一个public calss与之对应

5、Java程序的结构

  • 源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
  • 类:类中带有一个或多个方法。方法必须在类的内部声明。
  • 方法:在方法的花括号中编写方法应该执行的语句。

总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。

6、java编码方式

java采用的是UTF-8的Unicode的一种可变长度字符编码,在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文,相较于C语言更为丰富

7、三种注释方法

  • 单行注释:// 注释内容(用的最多)
  • 多行注释:/* 注释内容*/(不推荐)
  • 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可用来自动生成文档
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值