03 2018 档案

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