- 博客(3)
- 收藏
- 关注
原创 优先级高的线程并不一定先执行
1、java线程是通过映射到系统的原生线程上来实现的,所以线程的调度最终还是取决于操作系统,操作系统的优先级与java的优先级并不一一对应,如果操作系统的优先级级数大于java的优先级级数(10级)还好,但是如果小于得的话就不行了,这样会导致不同优先级的线程的优先级是一样的。 2、优先级可能会被系统自动改变,比如windows系统中就存在一个优先级推进器,大致功能就是如果一个线程执行的次数过多的话
2017-09-23 10:25:52 1736
原创 java内存模型
处理器(进行运算) 高速缓存(用于解决处理器的运算速度远高于内存的读写速度的问题,提前将要用到的变量放入缓存中) ——》主内存(存储数据); 每个处理器都有一个高速缓存,多个处理器同时对内存进行操作时就要遵行协议来对公用的内存进行读写了。java的内存模型可以理解成:在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象。 为了压榨处理器的运算能力,除了增加高速缓存以外,处理器可能会对
2017-09-22 23:10:40 189
原创 String到底建了多少个对象
所有的字面量(“sdf”字符串常量)起初都假设常量池里面没有 String s = "1"; 检测常量池里面有没有,没有的话创建一个; String s = new String("1"); 创建了两个。一个是在堆里new出来的,一个是字符串常量池中。s是引用,不算对象 String s = new String("1") + new String("3"); 创建了
2017-09-10 14:59:36 516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人