1.java内存模型图解 Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区。这些区域有各自的用途,以及创建和销毁的 时间,有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而建立和销毁,我们可以将这些区域统称为Java运 行时数据区域 如下图是 ...
分类:
其他好文 时间:
2018-06-11 15:49:10
阅读次数:
169
备注:本文引用自《深入理解Java虚拟机第二版》 2.1 运行时数据区域 Java虚拟机在执行Java程序的过程中把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如下图所示: ...
分类:
编程语言 时间:
2018-06-10 00:33:28
阅读次数:
287
运行时数据区域 线程私有 __程序计数器__ 正在执行的字节码指令的地址(native方法时为undefined) __Java虚拟机栈__ 存储栈帧(局部变量表,操作数栈,动态链接,方法出口)OOM,StackOverflowError __本地方法栈__ 与虚拟机栈类似,是native方法的栈 ...
分类:
其他好文 时间:
2018-06-06 23:49:12
阅读次数:
207
问题背景: web项目中一个比较复杂的查询功能,需要调用很多的底层接口,占用时间会比较多,如果用正常的用户线程,就是一个接口一个接口的调用,整的的时间会很多,因此使用多线程查询。对于每个底层都是一个一个线程查询,查询完成后,再汇总结果返回。 问题描述: 程序启动的查询接口的线程(下面成为子线程)在调 ...
分类:
编程语言 时间:
2018-06-06 15:33:26
阅读次数:
322
守护线程与非守护线程 转自于https://www.cnblogs.com/lixuan1998/p/6937986.html 最近在看多线程的Timer章节,发现运用到了守护线程,感觉Java的基础知识还是需要补充。 Java分为两种线程:用户线程和守护线程 所谓守护线程是指在程序运行的时候在后台 ...
分类:
编程语言 时间:
2018-05-24 18:06:10
阅读次数:
154
多线程1、线程的实现 线程是比进程更轻量级调度执行单位,线程的切换虚拟内存地址不会改变,但是进程会改变。 线程的实现:内核线程实现、用户线程实现、用户线程加轻量级进程混合实现 (1)内核线程(KLT)就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换。程序一般不会直接使用内核线程,而是去 ...
分类:
编程语言 时间:
2018-05-23 20:48:26
阅读次数:
229
1、在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemo ...
分类:
编程语言 时间:
2018-05-17 18:23:40
阅读次数:
196
第一:Java多线程面试问题 1:进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留 ...
分类:
编程语言 时间:
2018-05-15 11:11:50
阅读次数:
155
转自https://blog.csdn.net/fuzhongmin05/article/details/55802984 1、为什么需要线程? 首先需要回答一个问题,为什么操作系统需要线程。如果非要说是为什么需要线程,还不如说为什么需要进程中还有其它进程。这些进程中包含的其它迷你进程就是线程。进程 ...
分类:
编程语言 时间:
2018-05-12 20:33:15
阅读次数:
153
Timer主要用于Java线程里指定时间或周期运行任务,它是线程安全的,但不提供实时性(real-time)保证。 上面提到了守护线程的概念。 Java分为两种线程:用户线程和守护线程。 所谓守护线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种 ...
分类:
编程语言 时间:
2018-04-23 22:47:32
阅读次数:
181