E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Jvm学习
深入
JVM学习
之内存分配与回收策略
深入
JVM学习
之内存分配与回收策略前言Java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题:给对象分配内存以及回收分配给对象的内存。
一只很菜的程序员
·
2019-05-01 12:05
Java
虚拟机
深入
JVM学习
之垃圾收集器
深入
JVM学习
之垃圾收集器前言如果说垃圾收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。
一只很菜的程序员
·
2019-05-01 12:14
Java
虚拟机
JVM学习
01:内存结构
原文链接:http://www.cnblogs.com/wobuchifanqie/p/10772323.html
JVM学习
01:内存结构写在前面:本系列分享主要参考资料是周志明老师的《深入理解Java
weixin_34384681
·
2019-04-26 09:00
final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?
继上篇
JVM学习
之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题。题目一、final,finally,finalize有什么区别?
程序员姜小白
·
2019-04-19 22:00
看了好多遍的
JVM学习
(一) 内存模型
带着问题去学习介绍下Java内存区域(运行时数据区)Java对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)String类和常量池8种基本类型的包装类和常量池运行时数据区域image.png线程私有的:程序计数器虚拟机栈本地方法栈线程共享的:堆方法区直接内存(非运行时数据区的一部分)2.Java虚拟机栈与程序计数器一样,Java
ZalleDay
·
2019-04-10 08:59
JVM学习
笔记---强引用,软引用,弱引用,虚引用
强引用最普遍的引用:Objectobj=newObject();抛出OutOfMemoryError终止程序也不会回收具有强引用的对象通过将对象设置为null来弱化引用,使其被回收软引用(SoftReference)对象处在有用但是非必须的状态只有当内存空间不足时,GC才会回收该引用的对象内存空间可以用来实现高速缓存软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用
qgwperfect
·
2019-04-08 14:32
java虚拟机
JVM学习
笔记---老年代垃圾收集器
老年代常见垃圾收集器1,SerialOld收集器(-XX:+UseSerialOldGC,采用标记-整理算法)单线程收集,进行垃圾收集时,必须暂停所有的工作线程简单高效,Client模式下默认的老年代垃圾收集器2,ParallelOld收集器(-XX:+UseParallelOldGC,采用标记-整理算法)多线程,吞吐量优先3,CMS收集器(-XX:+UseConcMarkSweepGC,采用标记
qgwperfect
·
2019-04-08 11:35
java虚拟机
JVM学习
笔记---老年代垃圾收集器
老年代常见垃圾收集器1,SerialOld收集器(-XX:+UseSerialOldGC,采用标记-整理算法)单线程收集,进行垃圾收集时,必须暂停所有的工作线程简单高效,Client模式下默认的老年代垃圾收集器2,ParallelOld收集器(-XX:+UseParallelOldGC,采用标记-整理算法)多线程,吞吐量优先3,CMS收集器(-XX:+UseConcMarkSweepGC,采用标记
qgwperfect
·
2019-04-08 11:35
java虚拟机
JVM学习
笔记---年轻代垃圾收集器
垃圾收集器之间的联系年轻代常见垃圾收集器:1,Serial收集器(-XX:+UseSerialGC,采用复制算法)单线程收集,进行垃圾收集时,必须暂停所有的工作线程简单高效,client模式下默认的年轻代收集器2,ParNew收集器(-XX:+UseParNewGC,采用复制算法)多线程收集,其余的行为,特点和Serial收集器一样单核执行效率不如Serial,在多核下执行才有优势3,Parall
qgwperfect
·
2019-04-08 10:47
java虚拟机
JVM学习
笔记---垃圾回收算法
1,标记-清除算法(MarkandSweep)标记:从根集合进行扫描,对存活的对象进行标记清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存缺点:碎片化严重2,复制算法(Copying)分为对象面和空闲面对象在对象面上创建存活的对象从对象面复制到空闲面将对象面所有的对象清除优点:解决碎片化的问题顺序分配内存,简单高效适用于对象存活率低的场景缺点:浪费50%的空间比较适用年轻代3,标记-整理算法
qgwperfect
·
2019-04-07 21:25
java虚拟机
JVM学习
总结(一)自动内存管理机制
JAVA内存区域与内存溢出异常一、运行时数据区域java虚拟机的内存模型分为两部分:一部分是线程共享的,包括Java堆和方法区;另一部分是线程私有的,包括虚拟机栈和本地方法栈,以及程序计数器这一小部分内存1、程序计数器:当前线程所执行的字节码行号指示器,保证了程序的正常执行特点:1、线程私有2、是java虚拟机规范里面,唯一一个没有规定任何OutOfMemoryError情况的区域【原因是只保存指
齐鲁小码农
·
2019-04-04 15:30
学习日记
JVM 之 ParNew 和 CMS 日志分析
在两年前的文章
JVM学习
——垃圾收集器与内存分配策略中,已经对GC算法的原理以及常用的垃圾收集器做了相应的总结。
K'illCode
·
2019-03-27 12:44
jvm
JVM
JVM学习
(一):JVM运行时数据区-堆、栈、方法区
一、概述JVM是Java应用程序的运行环境,每个Java应用程序,通过main方法作为执行入口启动后,在操作系统中都会对应一个JVM进程。Java应用程序在启动时,需要加载实际执行的类的类文件.class,从而获取类的字段,方法,常量等信息,在执行过程中,需要动态创建对象,在主线程或者子线程进行函数调用。而这就需要在运行时进行动态内存分配:对于类文件的内容在一块内存存放,从而可以通过指针的方式来访
服务端开发
·
2019-03-24 12:38
JVM
简述 JVM 垃圾回收算法
所以本文用餐厅回收餐桌的方式类比JVM垃圾回收算法,应该能帮助
JVM学习
的理解和记忆。经典垃
程序猿杂货铺
·
2019-03-18 18:16
jvm学习
之路(规划)
jvm系列(一):jvm内存管理机制jvm系列(二):jvm垃圾收集器和内存分配策略jvm系列(三):jvm性能监控与故障处理工具jvm系列(四):jvm类加载机制jvm系列(五):jvm字节码执行引擎
莫凡(imc)
·
2019-02-28 09:54
java
JVM学习
笔记
一,JVM内存区域的划分1.程序计数器(线程自有,存当前方法的指令地址)在JVM规范中,每个线程都有它自己的程序计数器,并且任何时间一个线程都只有一个方法在执行。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址,或者,如果是在执行本地方法(比如jvm依赖的其他程序),则是未指定值(undefined)。2.Java虚拟机栈(线程自有)早期也叫Java栈。每个线程在创建时都会创建一个虚
兮兮码字的地方
·
2019-02-27 20:40
JVM学习
笔记
1、JVM虚拟机将内存数据分为:程序计数器、虚拟机栈、本地方法栈、Java堆和方法区等部分。程序计数器:用于存放下一条运行的指令;各线程私有虚拟机栈和本地方法栈用于存放函数调用堆栈信息;虚拟机栈为线程私有,JAVA堆用于存放JAVA程序运行时所需的对象等数据方法区用于存放程序的类元数据信息。2、虚拟机栈,通过栈帧保存上下文数据,在栈帧中与性能调优最为密切相关的是局部变量表。局部变量表用于存放方法的
悟空的博客
·
2019-02-24 22:20
JVM
JVM学习
笔记- 6 Java内存模型与线程
JVM学习
笔记-6Java内存模型与线程1Java内存模型Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。
刘越洋子
·
2019-02-21 11:12
JVM虚拟机
JVM学习
笔记-2 对象的创建
JVM学习
笔记-2对象的创建1new指令虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。
刘越洋子
·
2019-02-20 14:58
JVM虚拟机
【
JVM学习
笔记】垃圾回收基础篇
今年就要去参加面试了,之前读完了《深入理解JAVA虚拟机》这本书,感觉并没有完全参透,现在重读这本书,希望能得到不一样的收获。目录Stop-The-World介绍对象的年龄(垃圾分代)垃圾回收的常用算法1:引用计数法(Java虚拟机并没有采用这种方式)2:标记-清除法3:标记-整理算法(也称作标记-压缩算法)4:复制算法5.分代收集算法Java和C++一个重要的区别是:需不需要考虑内存回收。C++
爆肝的阿泽
·
2019-02-11 21:44
Java
JVM学习
笔记--常用调优参数总汇
堆大小设置基本参数举例:-Xmx3550m-Xms3550m-Xmn2g–Xss128k参数详解:-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小+年老代大小+持久代大小。持久代一般固定大小为64m,所以增大年
NealLemon
·
2019-02-11 16:49
JVM学习
笔记---内存分配以及垃圾收集器
垃圾回收这里直接贴上github上一个比较全的java核心知识库项目中的总结。项目地址:JavaCoreSprout文章地址:垃圾回收HotSpot的算法实现在GC时,HotSpot的算法实现,保证GC的安全。可达性分析:使用一组OopMap的数据结构来存放对象的引用。安全点:是否具有让程序长时间执行的特征,例如方法调用,循环跳转,异常跳转等。抢先式中断(没有虚拟机使用这种方式)主动式中断安全域:
NealLemon
·
2019-02-11 15:38
jvm学习
笔记
jvm学习
笔记java对象的创建对象内存布局对象头实例数据对齐填充java对象的创建没有定位到定位到通过new指令检查指令参数能否在常量池中定位到类类的符号引用类加载检查是否被加载,解析和初始化为新生对象分配内存将内存初始化为零设置对象头对象内存布局分为
aaajavac
·
2019-01-31 11:43
Java代码
jvm
【
JVM学习
笔记】图解Java Synchronized执行过程
-Synchronized用来给对象加锁,一段简单的示例代码:publicclassSynchronizedDemo{//实例方法,同步方法,加锁对象是当前实例publicsynchronizedvoidlockInstance(){System.out.println("Instance");}publicvoidlockThis(){synchronized(this){//明确指定this作
YHALcong
·
2019-01-31 10:49
Java
JVM
JVM学习
笔记——本机直接内存溢出
一、JVM直接内存直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。在JDK1.4中新加入了NIO(NewInput/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场
南宫知晓
·
2019-01-29 18:48
JVM学习笔记
JVM学习
笔记(3) Java内存模型与volatile关键字 & 线程的实现、调度
内存模型的相关概念并发编程中的三个概念:可见性、原子性、有序性Java内存模型:主内存、线程的工作内存深入剖析volatile关键字:lock前缀指令——内存屏障,保证有序性,不保证原子性——无法替代synchronized使用volatile关键字的场景:状态标记量、双重检测以上参考:Java并发编程:volatile关键字解析可以说是写的很到位了~上文中特别需要注意的点:volatile关键字
MustangJy
·
2019-01-22 16:12
JVM学习笔记
jvm学习
笔记-chapter7 虚拟机类加载机制
概述虚拟机的类加载机制就是把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型不同于编译时需要进行连接工作的语言,在java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的类加载过程过程描述加载加载阶段虚拟机需要完成3件事:通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转为方法区的运行
adiarqi
·
2019-01-16 11:14
JVM学习
jvm(四)--java内存区域之直接内存
前言 本笔记作为
jvm学习
系列的第四篇,单独记一下java的直接内存,因为这块内存比较特殊,它并不属于jvm的管理内存。
金发只是水一下
·
2019-01-10 16:48
java
jvm(三)--java内存区域之线程共享区
前言 本笔记作为
jvm学习
系列的第三篇,上一篇讲完了java内存区域中的线程独占区,这一篇来讲线程共享区的内容,也即堆与方法区,但是堆的内容有意思的东西实在太多了,像对象的创建,gc的回收算法,本地线程分配缓冲等等
金发只是水一下
·
2019-01-10 15:16
java
JVM学习
--内存分配策略(持续更新)
一、前言最近学习《深入java虚拟机》,目前看到内存分配策略这块。本文将进行一些实践。二、内存分配策略1.大对象直接进入老年代书中提到了:下面进行测试,代码如下:publicclasstestBigSizeObject{privatestaticfinalint_1MB=1024*1024;publicstaticvoidmain(String[]args){byte[]allocation;al
三国梦回
·
2019-01-05 22:00
JVM学习
--开启应用的gc日志功能
一、开启方法ForJava1.4,5,6,7,8passthisJVMargumenttoyourapplication:-XX:+PrintGCDetails-XX:+PrintGCDateStamps-Xloggc:ForJava9,passtheJVMargument:-Xlog:gc*:file=file-path:isthelocationwhereGClogfilewillbewrit
三国梦回
·
2019-01-05 21:00
【
JVM学习
笔记】(二)、JVM再体验-jvm可视化监控工具 jconsole
一、JConsoleJava监视和管理控制台在windows控制台下输入命令jconsole便可以打开JConsoleJava监视和管理控制台在本虚拟机中运行的java程序都可以在控制台的本地进程中进行监控二、监控自己写的java程序packagecom.cheng.test2;importjava.util.ArrayList;importjava.util.List;/***@ClassNam
写代码的舒克
·
2019-01-01 10:04
JVM
JVM学习
系列之Java内存模型
一、代码案例且看如下代码,两个线程AB分别执行doSth1和doSth2函数,输出多少种结果:maybe:flag=truea=0flag=truea=1如果代码改成如下呢,函数doSth2中是否可以进入a=a-1的计算语句,最后结果又是多少?maybe:flag=truea=1最后的实验结果,还有可能的结果如下:flag=truea=0flag=truea=-2到底是什么导致这种结果(大写的问号
一叶一根
·
2018-12-29 17:29
Java
深入理解
JVM学习
笔记:第3章 垃圾收集器与内存分配策略
回收java堆:怎么确定对象可回收?引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。缺点是无法解决对象之间相互循环引用的问题。可达性分析算法:以一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(ReferenceChain),当一个对象到G
qq_42283110
·
2018-12-19 23:20
JVM
JAVA
JVM学习
笔记③ Java内存模型(JMM)
Java内存模型在java中,所有实例域、静态域和数组元素存储在堆内存中,堆内存在线程之间共享(本文使用“共享变量”这个术语代指实例域,静态域和数组元素)。局部变量(Localvariables),方法定义参数(java语言规范称之为formalmethodparameters)和异常处理器参数(exceptionhandlerparameters)不会在线程之间共享,它们不会有内存可见性问题,也
lazyRabbit丶
·
2018-12-18 15:45
JVM
JVM学习
(一)-初步认识JVM
1.主要结构JDK(JavaDevelopmentKit),Jre(JavaRuntimeEnvironment),JVM(JavaVirtualMachine)的关系JDK包含Jre;Jre包含JVMJDK1.7结构视图:JDK1.8结构视图:2.通过OOM示例初步了解JVM2.1测试OOM packagecom.test;importjava.util.ArrayList;importjava
Box_clf
·
2018-12-13 17:40
JVM
深入理解
JVM学习
笔记(三十三、JVM 内存分配----虚拟机工具介绍(jinfo))
一、概念jinfo是jdk自带的命令,可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数。通常会先使用jps查看java进程的id,然后使用jinfo查看指定pid的jvm信息。二、用法jinfo依赖于jps,因为要使用Jstat首先要使用jps获取java进程的进程号。格式jinfo[option]pidjinfo[option]executablecorejinf
张--小涛涛
·
2018-12-13 08:08
JVM
jvm学习
笔记,垃圾回收算法(一.基本垃圾回收算法介绍)
文章目录为什么要学习垃圾回收算法jvm回收的对象引用计数标记删除法复制算法分代收集算法为什么要学习垃圾回收算法在我们日常的开发中,我们随心所欲的创建一些对象,然后这些对象的创建与最终的销毁与内存的回收等,都是jvm帮我们实现的,但是作为一个程序员不想一直搬砖的话,怎么能对这些底层的原理了解清楚呢,当我们学习了垃圾回收算法后,1.可以在大型的项目中去利用一些工具去实时的监控虚拟机内部的内存分配,找到
一腔&孤勇
·
2018-12-10 18:34
java
后端
JVM学习
笔记10:锁优化
一.自旋锁与自适应自旋自旋锁:如果线程可以很快获得锁,那么可以不在OS层挂起线程,而是让线程做几个忙循环,这就是自旋。自适应自旋:自旋的时间不再固定,而是由前一次在同一个锁上的自旋时间和锁的拥有者状态来决定。JDK1.7以上已经是内置实现,默认开启。如果锁被占用时间很短,自旋成功,那么能节省线程挂起、以及切换时间,从而提升系统性能如果锁被占用时间很长,自旋失败,会白白耗费处理器资源,降低系统性能。
yuyivie1
·
2018-12-07 00:34
JVM
JVM学习
笔记9:Java内存模型JMM
一概述Java内存模型定义了程序中各个实例变量的访问规则,即在虚拟机中将变了存储到内存和从内存中取出变量这样的底层细节。它主要是来操作实例变量、静态字段及构成数组对象的元素。因为局部变量及方法参数是线程私有的不会被共享,所以JMM不会影响局部变量及方法。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(mainmemory)中,每个线程都有一个私有的本地内存
yuyivie1
·
2018-12-05 23:24
JVM
JVM学习
笔记(六)直接内存
直接内存首先书上这样说:直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中农定义的内存区域。但是这部分内存也被频繁地使用。在JDK1.4中新加入了NIO(NewInput/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为
ParadoxSwing
·
2018-12-01 15:44
JVM
JVM学习
笔记8:垃圾收集(垃圾收集算法及垃圾收集器)
一垃圾收集算法标记清除法(Mark-Sweep)算法分成标记和清除两个阶段,先标记出要回收的对象,然后统一回收这些对象。形如:优点:简单缺点是:效率不高,标记和清除的效率都不高标记清除后会产生大量不连续的内存碎片,从而导致在分配大对象时触发GC2复制算法(Copying)把内存分成两块完全相同的区域,每次使用其中一块,当一块使用完了,就把这块上还存活的对象拷贝到另外一块,然后把这块清除掉,目前大部
yuyivie1
·
2018-11-27 20:53
JVM
JVM学习
笔记-JVM如何工作
JVM架构?JVM(Java虚拟机)充当运行Java应用程序的运行时引擎。JVM实际上是调用java代码中存在的main方法的。JVM是JRE(Java运行时环境)的一部分。Java应用程序称为WORA(WriteOnceRunAnywhere)。这意味着程序员可以在一个系统上开发Java代码,并且可以期望它在任何其他支持Java的系统上运行而无需任何调整。由于JVM,这一切都是可能的。编译.ja
工地一枝花井朝-Agnes
·
2018-11-25 21:18
☆Ops
JVM学习
笔记
主要内容:1.虚拟机运行时数据区2.哪些内存需要回收3.常用垃圾收集算法4.常用垃圾收集器5.GC什么时候触发一、虚拟机运行时数据区 介绍的是JDK1.8JVM运行时内存数据区域划分。1.8同1.7比,最大的差别就是:元数据区取代了永久代(方法区)。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。1.1程
温暖的小柯南
·
2018-11-23 15:25
java学习笔记
JVM知识
Java面试通关手册(Java学习指南)github地址(欢迎star和pull):https://github.com/Snailclimb/Java_Guide下面是按jvm虚拟机知识点分章节总结的一些
jvm
温景_winka
·
2018-11-22 15:56
java
JVM学习
笔记7:垃圾收集(对象的存活及引用)
一概述简单的说内存中已经不再被使用到对象(非存活对象)或方法所占用的的空间就是垃圾。将这部分空间释放,即为垃圾回收。由于PC寄存器(程序计数器),java栈,本地方法栈这3个区域都是随线程生线程灭的,因此这几个区域的内存分配和回收都具备确定性,当方法或线程结束时内存自然就回收了。java堆和方法区在一个接口中的多个实现类所需要的内存可能不一样,一个方法中多个分支所需要的内存也可能不一样,我们只有在
yuyivie1
·
2018-11-21 19:38
JVM
JVM学习
笔记(1)
Java虚拟机(JavaVirtualMachine)简称JVM,Java虚拟机是一个想象的虚拟机器,通过在实际计算机上的软件模拟来实现,一个Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。Java程序通过这个虚拟的机器,加载代码,管理代码存放位置,执行代码。换句话说,JVM=类加载器(classloader)+执行引擎(executionengine)+运
问巷
·
2018-11-14 10:29
JVM
深入理解
JVM学习
笔记(二十九、JVM 内存分配----空间分配担保策略)
一、概念空间分配担保我们在二十六章也提到过,当内存分配过程中内存不够,JVM会向老年代借用内存,这就是内存分配担保策略。内存分配担保策略JVM默认是启用的,我么可以用-XX:HandlePromotionFailure来禁用内存分配担保策略。开启:-XX:+HandlePromotionFailure关闭:-XX:-HandlePromotionFailure二、策略1、当新生代给老年代提出借用内
张--小涛涛
·
2018-11-13 08:25
JVM
深入理解
JVM学习
笔记(二十七、JVM 内存分配----大对象直接分配到老年代)
一、验证首先我们编写如下程序packagecom.zjt.test.jvm008;publicclassMain{publicstaticvoidmain(String[]args){byte[]b4=newbyte[40*1024*1024];}}打开GC控制台输出运行程序,可以看到如下运行结果。从上图可以看出,在程序中定义的40M的对象直接被分配进了老年代。这也就验证了之前的理论:大对象直接进
张--小涛涛
·
2018-11-11 17:06
JVM
java 基础之
jvm学习
jvm:java虚拟机,一个main方法运行就有一个对应的虚拟机;生命周期就是一个程序的开始到一个程序的结束。java.exe这个程序其实就是一个java虚拟机一个java的application对应了一个java.exe/javaw.exe你直白点说就是你运行了几个main函数就启动了几个java应用,也就对应启动了几个java虚拟机重点:java虚拟机有两种线程,一种叫守护线程,一种叫非守护线
choies
·
2018-11-10 23:13
Java
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他