JAVA
winter_sweet07
java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA反射
通过Class实例获取class信息的方法称为反射(Reflection); 除基本类型外,JAVA其他数据类型都是class,每加载一种class,JVM就为其创建一个Class类型的实例 public final class Class { private Class() {} } Class cls = new Class(Stri...转载 2019-09-14 11:22:19 · 156 阅读 · 0 评论 -
IO流
按流向来分: 输入流:InputStream、Reader 输出流:OutputStream、Writer按处理单元分: 字节流:InputStream、OutputStream,按byte处理,能处理所有文件 FileInputStream、FileOutputStream ByteInputStream、ByteOutputStream ...原创 2019-09-15 18:43:29 · 144 阅读 · 0 评论 -
CAS和AQS
CAS和AQSCAS:CompareAndSet 先比较,再设值AtomicInteger 就是基于CAS,先获取一个值,然后发起CAS,比较这个值被人改过没?如果没有,就更改值!这个CAS是原子的,别人不会打断你!当大量线程同时修改AtomicInteger,很多线程会不停自旋,进行无限循环。JAVA8新增了LongAdder,使用分段CAS 以及 自动分段迁移 的方式来大幅度提升多线...转载 2019-09-15 21:57:46 · 171 阅读 · 0 评论 -
集合
原创 2019-09-16 21:48:48 · 162 阅读 · 0 评论 -
【线程创建及线程安全】
线程创建方式:1. Thread01继承Thread类,重写run方法。Thread01 t = new Thread01( ); t.start();2. 类 Thread01实现Runnable接口,重写run方法。调用时:Thread01 a = new Thread01(); new Thread(a).start();3. 类 Thread0...原创 2019-09-16 22:29:49 · 216 阅读 · 0 评论 -
JVM内存模型及垃圾回收机制
JVM 运行时数据区(逻辑结构)JAVA Memory Model(JAVA内存模型)堆内存新生代8 eden:新生对象1 survivor from1 survivor to回收算法: 标记-复制(将可用内存划分为大小相等的两块,每次只用其中一块,当这块用完后,把活着的对象移动到另一块,清除这块内存)Minor GC时,对eden和from区域进行回收,存活的对象移...原创 2019-09-18 22:47:26 · 192 阅读 · 0 评论 -
【JAVA8】新特性
1、闭包,将函数作为参数-> lamda表达式引用外部变量时,只能引用final修饰的外部变量方法定义的参数不能与外部参数名一样2、使用 :: 进行方法引用类名::new 构造方法类名:: static_method 静态方法引用类名 :: method 调用类任意对象的方法对象 :: method 调用指定对象的方法3、functional Interface...原创 2019-09-20 22:08:41 · 165 阅读 · 0 评论 -
jvm性能调优
JAVA内存溢出:1.堆溢出 java heap space创建对象时,内存不足2.方法区内存溢出:permgem space创建的类太多3.线程栈溢出:stackoverflow error递归太深,方法调用过多...转载 2019-09-20 22:08:28 · 167 阅读 · 0 评论 -
【Map】四种遍历方式
一、通过keySet遍历(通过键获取值,效率低) for(String key : map.keySet()){System.out.println("key="+key);System.out.println("value="+map.get(key)); }二、通过values遍历(只获取值可以采用这种)for(String value : map.values()){Syst...原创 2019-09-22 10:47:59 · 215 阅读 · 0 评论
分享