測试代码: public class Test {     public static void main(String[] args) {         System.out.println(Thread.activeCount());     } } idea执行,输出为"2" watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2xpbnppMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFC…
1.Properties集合 1.1 概述: Properties类表示了一个持久的属性集.Properties可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串 一个属性列表可包含另一个属性列表作为它的"默认值":如果未能在原有的属性列表中搜索到属性值,则搜索第二个属性列表 因为Properties继承于Hashtable,所以可以对Properties对象应用put和putAll方法.但不建议使用这两个方法,因为它们允许调用者插入其键或值不是String的项.相反,…
我们可以使用 Thread 类的 join()方法来确保所有程序创建的线程在 main()方法退出前结束.…
在java类中快速打出main方法有两种途径: 1. 在新建类时,在New Java Class窗口中,将public static void main ( String[ ] args ) 前面打上勾,这样在生成类时会自动生成main方法,如下图所示: 2. 使用自动补齐快捷键,在类中打出main后,按快捷键alt+/,会出现提示main方法,选中回车即可,如下图所示:…
本来JVM的工作原理浅到可以泛泛而谈,但如果真的想把JVM工作机制弄清楚,实在是很难,涉及到的知识领域太多.所以,本文通过简单的mian方法执行,浅谈JVM工作原理,看看JVM里面都发生了什么. 先上代码: public class Test { private int invar = 1; public static String concat(String str1, String str2) { return str1+str2; } public int f() { return inv…
在第1篇中大概介绍过Java中主类方法main()的调用过程,这一篇介绍的详细一点,大概的调用过程如下图所示. 其中浅红色的函数由主线程执行,而另外的浅绿色部分由另外一个线程执行,这个线程最终也会负责执行Java主类中的main()方法.在JavaMain()函数中调用LoadMainClass()函数加载Java主类.接着在JavaMain()函数中有如下调用: 源代码位置:openjdk/jdk/src/share/bin/java.c mainID = (*env)->GetStaticM…
废话开篇 都说Java程序好些,但是我觉得Java编程这东西,没个十年八年的真不敢说自己精通Java编程,由于工作原因,开始转战Java多线程,以前没怎么接触过,所以想留点脚印在这两条路上. 切入正题 开门见山,今天看到别人写的一段关于方法是否线程安全的文章,比较简单,但是由于自己也是刚开始入门,所以就迈下了第一步.由于注释还算比较详细,所以就不废话了,直接上code. 此方法不是线程安全的 /** * @Title: NotThreadSafeCounter.java * @Package n…
线程启动完毕后,在运行可能需要终止,Java提供的终止方法只有一个stop,但是不建议使用此方法,因为它有以下三个问题: (1)stop方法是过时的 从Java编码规则来说,已经过时的方式不建议采用. (2)stop方法会导致代码逻辑不完整 stop方法是一种"恶意" 的中断,一旦执行stop方法,即终止当前正在运行的线程,不管线程逻辑是否完整,这是非常危险的. 看如下代码: public class Client { public static void main(String[]…
刚刚接触java语言时,接触的便为一个java main方法.我们知道这样程序就可以运行了,但是程序是怎么运行起来的我们却不知道. 众所周知,当执行一个java程序时,首先会启动一个JVM虚拟机进程,当程序执行完时,JVM进程则消亡.其他导致JVM进程消亡的还有以下情况: System.exit(int)方法,执行该方法时,虚拟机腿粗好.int参数为状态码,为0时,正常退出:若不为0,则异常退出. 遇到异常或错误时.若在程序过程中遇到异常时,不作处理会一直抛出异常到main函数,若main函数也…
jvm java 看似一种语言,实则一个巨大的体系的王国,开发这么多年了,还是没有搞懂,我以为我懂了,可是过了一段时间又忘了,所以说还是没懂 1.main方法说起 编译完我们的java文件后,需要有个一含有main方法的类,java 命令将指示操作系统启动一个jvm进程 这个jvm进程启动后,寻找那个main地方开始执行程序 java [JVM_Options] ClassName_with_main [args_separate_space] main方法的签名必须是 pubic static…