首页 > 其他 > 详细

JVM专题

时间:2020-02-19 13:56:18      阅读:63      评论:0      收藏:0      [点我收藏+]

 JVM内存解析

技术分享图片

 

线程:虚拟机栈 和 程序计数器 每个线程各自有一套(独立)

进程:堆 和 方法区 是一个进程一份( 共享方法区和堆 )

       一个进程中的多个线程共享相同的内存单元/内存地址空间?它们从同一堆中分配对象,可以

访问相同的变量和对象。这就使得线程间通信更简便、高效。但多个线程操作共享的系统资 源可能就会带来安全的隐患。

 

 一个Java应用程序java.exe,其实至少有三个线程:main()主线程,gc()

垃圾回收线程,异常处理线程。当然如果发生异常,会影响主线程。

 

并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事。

并发:一个CPU(采用时间片)同时执行多个任务。比如:秒杀、多个人做同一件事。

 

使用多线程的优点

背景:以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方 法),肯定比用多个线程来完成用的时间更短,(多花费线程切换时间)

为何仍需多线程呢?

多线程程序的优点:

1. 提高应用程序的响应。对图形化界面更有意义,可增强用户体验。

2. 提高计算机系统CPU的利用率

3. 改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和 修改

 

何时需要多线程

程序需要同时执行两个或多个任务。

程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。

需要一些后台运行的程序时

 

JVM专题

原文:https://www.cnblogs.com/terrycode/p/12330871.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!