小编Bri*_*nal的帖子

静态块和主线程

尝试使用java时,我发现了一个非常有趣的事情.请找到以下代码:

public class SimpleTest { 
    static{ 
        System.out.println(Thread.currentThread().getName()); 
        System.exit(0); 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

上面的程序没有任何异常地运行(好吧,因为我正在静态块中退出).但我得到以下输出:

主要

由于我还没有启动主线程,它是如何创建的.根据我的理解,静态块在加载时执行.然后主线如何进入图片?

任何人都可以简要介绍如何在jvm中完成编译,加载和执行?还使用rt.jar?

先谢谢,Brinal

java jvm static-block

4
推荐指数
2
解决办法
1195
查看次数

newFixedThreadPool()vs newCachedThreadPool()

如果newCachedThreadPool()每个创建一个线程池,根据需要创建新线程,但会在它们可用时重用先前构造的线程,而在newFixedThreadPool(int size)指定大小的情况下创建指定大小的线程池.

为什么没有newFixedThreadPool(int size)newCachedThreadPool()线程池仅在需要时创建新线程并将线程限制为大小的方式实现?

对上述内容的任何澄清都非常有用.

java multithreading executorservice threadpool threadpoolexecutor

3
推荐指数
1
解决办法
2001
查看次数

修剪字符串末尾的数字

我想修剪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

java regex string trim

1
推荐指数
2
解决办法
926
查看次数