2022-5-25

JVM内存和线程

线程与JVM内存区域和JVM运行时内存

线程与JVM运行时内存

1.JVM中的Java线程与原生操作系统线程有直接的映射关系
2.当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。
3.Java 线程结束,原生线程随之被回收。 操作系统负责调度所有线程,并把它们分配到任何可用的 CPU 上。
4.当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,会释放原生线程和 Java 线程的所有资源。

线程与JVM内存区域

1.JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存。
2.线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束 而 创建/销毁。线程共享区域随虚拟机的启动/关闭而创建/销毁。
在这里插入图片描述

短路与和短路或

使用短路与 && 的时候,当左边的表达式为false的时候,右边的表达式不执行 使用短路或 || 的时候当左边的表达式结果是true的时候,右边的表达式不执行 逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。

输入流

java.io.InputStream 最顶层的输入流的父类
java.io.OutputStream 输出流

程序编译过程

程序的编译和运行
Java程序从源文件创建到程序运行要经过两大步骤:
1、源文件由编译器编译成字节码(ByteCode)
2、字节码由java虚拟机解释运行。

哪些情况可以终止线程的运行

1.正常终止:当线程的任务执行完毕
2.异常终止:线程执行过程中出现异常

猜你喜欢

转载自blog.csdn.net/weixin_45715131/article/details/124958768
今日推荐