import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
public class ThreadPoolExecutorTest {
public static void main(String[] args) {
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3)
for (int i = 0 i < 10 i++) {
final int index = i
fixedThreadPool.execute(new Runnable() {
public void run() {
try {
System.out.println(index)
Thread.sleep(2000)
} catch (InterruptedException e) {
e.printStackTrace()
}
}
})
}
}
}
因为线程池大小为3,每个任务输出index后sleep 2秒,所以每两秒打印3个数字。
定长线程池的大小最好根据系统资源进行设置。如Runtime.getRuntime().availableProcessors()
Java 常量,有2种意思:
第1种意思,就是一个值,这个值本身,我们可以叫它常量。
整型常量: 123实型常量:3.14字符常量: 'a'逻辑常量:true、false字符串常量:"helloworld"
第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了。
扩展资料:
用英文单引号括起来的单个字符,例如:'a'、'字'。这是最常见的声明字符形式。
用英文单引号括起来的十六进制字符代码值来表示单个字符。其格式为:'uXXXX',其中u是约定的前缀(u是unicode的第一个字母),而后面的XXXX位4位十六进制数,是该字符在unicode字符集中的序号。
为了实现对字符信息的存储,人们将可能用到的字符排成一个有序的字符队列,这种由多个有序字符组成的集合称为“字符集-Charset”,而在计算机中世纪保存的是字符在字符集中的序号。
即一个二进制形式的整数。而到底采用1个还是多个字节以及具体如何来存储一个字符集的字符,这种相关的规定被称为“编码-Encoding”。
Java最初采用的是16位Unicode编码(UTF-16)来表示字符,无论序号大小,每个Java字符都占用定长的2B(16个二进制位),因此最多能表示65536个不同的字符,这只是粗略的说法,实际上如果采用变通的方式进行字符编码,UTF-16编码可以表示的字符远多于65536个。
参考资料来源:百度百科-Java字符
随便自己写个方便啊。/**
* 获取定长的字符串
* @param str 原始字符串
* @param len 固定长度
* @param c 不够填充的字符
* @return 固定长度的字符串
*/
public static String getFixedLenString(String str, int len, char c) {
if (str == null || str.length() == 0){
str = “”
}
if (str.length() == len){
return str
}
if (str.length() >len){
return str.substring(0,len)
}
StringBuilder sb = new StringBuilder(str)
while (sb.length() <len){
sb.append(c)
}
return sb.toString()
}