一:JVM中内存 JVM中内存通常划分为两个部分,分别为堆内存与栈内存,栈内存主要用运行线程方法 存放本地暂时变量与线程中方法运行时候须要的引用对象地址。 JVM全部的对象信息都 存放在堆内存中。相比栈内存,堆内存能够所大的多,所以JVM一直通过对堆内存划分 不同的功能区块实现对堆内存中对象管理。 ...
分类:
其他好文 时间:
2020-05-17 20:36:45
阅读次数:
133
1:isAlive()作用:判断当前的线程是否处于活动状态活动状态是指线程已经启动且尚未终止,线程处于正在运行或准备开始运行的状态,就认为线程是存活的线程活动状态返回true,否则返回false;2:setDameon(boolean boo)作用:设置守护线程,boo为true是守护线程,fals... ...
分类:
编程语言 时间:
2020-05-14 15:18:04
阅读次数:
55
【BAT必考系列!多线程60题】 多线程有什么用? 线程和进程的区别是什么? ava实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 线程中的wait()和sleep()方法有什么 ...
分类:
编程语言 时间:
2020-05-08 09:44:23
阅读次数:
79
JVM 可以分为3部分: 1、类装在系统 2、字节码执行引擎 3、运行时数据区(这一块很重要) 对应字节码指令: 运行时数据区: 堆:存放 new User() 对象,数组等对象 线程栈: 存放局部变量,操作数栈,动态链接,方法出口 本地方法栈: 方法区:常量、静态变量、类信息 程序计数器:记录了当 ...
分类:
其他好文 时间:
2020-04-25 19:37:58
阅读次数:
64
恢复内容开始 JVM架构模型 一、Jvm简图 这张图是针对当前最流行的HotSpot VM虚拟机来说。 其中名称以及作用: 1.classFiles:字节码文件。 2.类装载器子系统(加载器):将class文件加载为一个类。 3.其中方法区和堆是线程共有的,而java栈、本地方法栈、程序计数器是线程 ...
分类:
其他好文 时间:
2020-04-16 19:26:06
阅读次数:
75
将session和线程绑定,一个Session对应一个线程 方法一: 修改工具类 public class HibernateUtils { private static SessionFactory factory; private static ThreadLocal<Session> thre ...
分类:
编程语言 时间:
2020-03-06 21:50:31
阅读次数:
61
1. sleep(); 每个方法都有一个锁,sleep方法不会释放锁。 会使线程停止运行一段时间,线程将处于阻塞状态。 2. wait() 不绑定资源,线程将处于阻塞状态。 3. jion () 哪个线程调用,哪个就被阻塞。调用在该线程start 之后 4. yield() 调用该方法,让正在执行的 ...
分类:
编程语言 时间:
2020-01-24 14:42:49
阅读次数:
121
问题描述: 运行结果:可见多线程运行是没有顺序的 方法1:join 解释:join源码中执行的是Object类中的wait方法。原理是让主线程处于wait,知道子线程执行结束才继续执行主线程。 方法2:利用单线程池Executors.newSingleThreadExecutor() ...
分类:
编程语言 时间:
2020-01-03 00:10:22
阅读次数:
90
Executors:JDK给提供的线程工具类,静态方法构建线程池服务ExecutorService,也就是ThreadPoolExecutor,使用默认线程池配置参数。 建议:对于大用户,高并发,不易掌控的项目,不建议使用Executors来创建线程池对象。 对于易于掌控且并发数不高的项目,可以考虑 ...
分类:
编程语言 时间:
2019-12-16 19:11:53
阅读次数:
80
1.创建一个实现了Runnable接口的类 2.实现类去实现Runnable中的抽象方法:run() 3.创建实现类的对象 4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象 通过Thead类的对象调用start方法 比较创建线程的两种方式: 开发中:优先选择实现Runna ...
分类:
编程语言 时间:
2019-11-18 22:20:25
阅读次数:
166