尝试使用java时,我发现了一个非常有趣的事情.请找到以下代码:
public class SimpleTest {
static{
System.out.println(Thread.currentThread().getName());
System.exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的程序没有任何异常地运行(好吧,因为我正在静态块中退出).但我得到以下输出:
主要
由于我还没有启动主线程,它是如何创建的.根据我的理解,静态块在加载时执行.然后主线如何进入图片?
任何人都可以简要介绍如何在jvm中完成编译,加载和执行?还使用rt.jar?
先谢谢,Brinal
如果newCachedThreadPool()每个创建一个线程池,根据需要创建新线程,但会在它们可用时重用先前构造的线程,而在newFixedThreadPool(int size)指定大小的情况下创建指定大小的线程池.
为什么没有newFixedThreadPool(int size)以newCachedThreadPool()线程池仅在需要时创建新线程并将线程限制为大小的方式实现?
对上述内容的任何澄清都非常有用.
java multithreading executorservice threadpool threadpoolexecutor
我想修剪String Eg中最后出现的数字字符:
"abc123" => "abc""abc12xyz34" => "abc12xyz"写在下面的片段提取它.只想探索是否可以通过正则表达式来完成
private static String getNumericTrimmedString(String s)
{
for(int i = s.length()-1; i >=0 ; i--){
final char c = s.charAt(i);
if(!(c > 47 && c < 58)){
return s.substring(0,i+1);
}
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
此致,Brinal