03 2018 档案
摘要:一般情况是四种,但是尤其以第一种来源最多1.新生代对象每经历依次minor gc,年龄会加一,当达到年龄阀值会直接进入老年代。阀值大小一般为152.Survivor空间中年龄所有对象大小的总和大于survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,而无...
阅读全文
摘要:本文参考:http://blog.csdn.net/chenleixing/article/details/46706039 1.调用System.gc2.老年代空间不足3、永生区空间不足4、CMS GC时出现promotion failed和concurrent mode ...
阅读全文
摘要:1 重入锁:线程重复获得已经持有的锁,锁有一个"持有计数器"跟踪锁的嵌套2 锁和条件的作用 锁:用来保护代码片段,任何时候同一个对象只能有一个线程执行被某一个锁保护的代码 锁:管理试图进入被保护代码片段的线程,同一对象的一个锁在同一时间只能被一个线程持有 锁:可以...
阅读全文
摘要:1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:方法执行时创建方法栈帧,存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出...
阅读全文
摘要:1 AtomicRefence的CAS操作只比较引用变量的引用是否发生变化,若引用没变则设置为新的引用。CAS操作不关心引用的对象的属性变化,只关心引用变化,因为CAS操作用"=="比较原值CAS思想流程: now=get()当前值 --> 计算处理 --> CAS比较no...
阅读全文
摘要:一、Java NIO 的核心组件Java NIO的核心组件包括:Channel(通道),Buffer(缓冲区),Selector(选择器),其中Channel和Buffer比较好理解 简单来说 NIO是面向通道和缓冲区的,意思就是:数据总是从通道中读到buffer缓冲区内,或...
阅读全文
摘要:原文 点击打开链接现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty。学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能。再者,现在互联网的面试中上点level的都会涉及一下NIO或者AIO的问题(A...
阅读全文
摘要:import java.util.concurrent.CountDownLatch;class Driver { void main() throws InterruptedException { CountDownLatch startSignal = ...
阅读全文
摘要:ThreadLocal:线程本地变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。适用:1 需要各个线程间独立的变量,2 同线程下多方法传递的变量(解决某些方法无法相互传参)1 ThreadLocal 适合解决共享/单例对...
阅读全文
摘要:(转载)1 . 原子性(Atomicity): Java中,对基本数据类型的读取和赋值操作是原子性操作,所谓原子性操作就是指这些操作是不可中断的,要做一定做完,要么就没有执行。比如:i = 2; //原子j = i; //非原子 (1 读i,2 赋值j)i++; //非原...
阅读全文
摘要:(内容有部分借鉴其他文章)被volatile修饰的共享变量,具有了以下特性:1 .可见性 2 .有序性 3. 非线程安全,非原子操作1 可见性:当一个变量被volatile修饰时,那么对它的修改会立刻刷新到主存,当其它线程再次需要读取该变量时,会去内存中读取新值。而普通变...
阅读全文
摘要:1 Eclipse安装 sts插件 (spring tool suite) 可以在Eclipse市场中安装:Eclipse->Help->Eclipse Marketplact 或是Spring 官网下载 安装后即可直接新建Spring/MVC 项目,以集...
阅读全文

浙公网安备 33010602011771号