2019年5月6日

Java 多线程 - synchronized与Lock的区别

摘要: 总结 类别synchronizedLock 存在层次 Java的关键字,在jvm层面上 是一个类 锁的释放 1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁 在finally中必须释放锁,不然容易造成线程死锁 锁的获取 假设A线程获得锁,B线程等待。如果A线程阻塞 阅读全文

posted @ 2019-05-06 15:02 frank_cui 阅读(298) 评论(0) 推荐(0)

Java 多线程 - 原子操作AtomicInteger & CAS(Compare-and-Swap)

摘要: 原子类简介:https://www.cnblogs.com/stephen0923/p/4505902.html AtomicInteger 介绍: https://yuwenlin.iteye.com/blog/2314535 阅读全文

posted @ 2019-05-06 14:07 frank_cui 阅读(284) 评论(0) 推荐(0)

Java 基础 - 内存泄露Memory leak & 内存溢出Out of memory

摘要: 内存泄露 & 内存溢出 关系 https://www.cnblogs.com/panxuejun/p/5883044.html 内存泄露的6种情况: https://blog.csdn.net/emmanuel__/article/details/83792868 阅读全文

posted @ 2019-05-06 14:03 frank_cui 阅读(448) 评论(0) 推荐(0)

2019年5月5日

Java 多线程 - volatile关键字

摘要: 总结 volatile 最适用的场景:一个线程写,多个线程读 volatile的作用 防止重排序:单例模式代码里,NullPointerException的例子 Java中的happen-before规则:JMM可以通过happens-before关系向程序员提供跨线程的内存可见性保证(如果A线程的 阅读全文

posted @ 2019-05-05 18:25 frank_cui 阅读(2196) 评论(2) 推荐(0)

Java Collection - 遍历map的几种方式

摘要: 作者:zhaoguhong(赵孤鸿) 出处:http://www.cnblogs.com/zhaoguhong/ 本文版权归作者和博客园共有,转载请注明出处 总结 如果只是获取key,或者value,推荐使用keySet或者values方式 如果同时需要key和value推荐使用entrySet 如 阅读全文

posted @ 2019-05-05 16:58 frank_cui 阅读(1512) 评论(0) 推荐(0)

Java Collection - HashMap源码分析

摘要: HashMap 底层实现:数组+链表+红黑树 在 JDK1.7 中,HashMap 是由 数组+链表构成的 在 JDK1.8 中,HashMap 是由 数组+链表+红黑树构成 详见link。 HashMap 重要的字段 Node<K,V>[] table 我们说 HashMap 是由数组+链表+红黑 阅读全文

posted @ 2019-05-05 16:44 frank_cui 阅读(335) 评论(0) 推荐(0)

Java Collection - ArrayList & LinkedList

摘要: 总结 ref: https://blog.csdn.net/qq_32679815/article/details/78907437 1-ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。 2-对于随机访问(在某个index)的get和set方法,ArrayLis 阅读全文

posted @ 2019-05-05 14:35 frank_cui 阅读(171) 评论(0) 推荐(0)

Java 基础 - java序列化 & serialVersionUID

摘要: ref: https://www.cnblogs.com/duanxz/p/3511695.html SerialVersionUID概述 SerialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进 阅读全文

posted @ 2019-05-05 11:15 frank_cui 阅读(871) 评论(0) 推荐(0)

Java 基础 - Object.clone()深拷贝和浅拷贝

摘要: 作者:YSOcean 出处:http://www.cnblogs.com/ysocean/ 本文版权归作者所有,欢迎转载,但未经作者同意不能转载,否则保留追究法律责任的权利。 总结 1-浅拷贝(shallow copy):创建一个新对象,然后将当前对象的非静态字段复制到该新对象,如果字段是值类型的, 阅读全文

posted @ 2019-05-05 10:26 frank_cui 阅读(2009) 评论(0) 推荐(0)

Java 基础 - 基本类型vs引用类型,传值vs传引用

摘要: 传值 vs 传引用 传值 就是把实参(a)这个值复制给传参(b),因此之后的修改都是对传参的修改,和实参无关。 public void main(){ int a = 1; change(a); } public void change(int b){ b = 2; } 传引用 依然是把实参(a)的 阅读全文

posted @ 2019-05-05 10:16 frank_cui 阅读(3009) 评论(0) 推荐(0)

优秀博主 - 待看列表

摘要: YSOcean https://www.cnblogs.com/ysocean/category/1149707.html zejian_ https://blog.csdn.net/javazejian/article/details/72828483?locationNum=5&fps=1 la 阅读全文

posted @ 2019-05-05 10:00 frank_cui 阅读(204) 评论(0) 推荐(0)

Java 基础 - public、protected、friendly、private区别

摘要: ref: https://www.cnblogs.com/pengfeiliu/p/3745934.html 类中的数据成员和成员函数据具有的访问权限包括:public、protect、friendly(包访问权限)、private public:public表明该数据成员、成员函数是对所有用户开放 阅读全文

posted @ 2019-05-05 09:51 frank_cui 阅读(897) 评论(0) 推荐(0)

Java 基础 - 如何重写equals()

摘要: ref:https://www.cnblogs.com/TinyWalker/p/4834685.html 编写equals方法的建议: public boolean equals(Object otherObject) if(this==otherObject){ return true;} if 阅读全文

posted @ 2019-05-05 00:45 frank_cui 阅读(1605) 评论(0) 推荐(0)

Java 基础 - 比较方式选择(什么类型用equals()比较,什么类型用==比较)

摘要: ref: https://www.cnblogs.com/lori/p/8308671.html 在 java 中进行比较,我们需要根据比较的类型来选择合适的比较方式: 对象域,使用 equals 方法 。 类型安全的枚举,使用 equals 或== 。 可能为 null 的对象域 : 使用 == 阅读全文

posted @ 2019-05-05 00:39 frank_cui 阅读(1241) 评论(0) 推荐(0)

Java 基础 - instanceof关键字

摘要: instanceof 父类子类 结论: 子类 instanceof 父类 == true 父类 instanceof 子类 == false 阅读全文

posted @ 2019-05-05 00:34 frank_cui 阅读(354) 评论(0) 推荐(0)

2019年5月4日

Java 基础 - 反射

摘要: 总结 什么是反射? 1-JAVA反射机制是在运行状态runtime中: 对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意方法和属性; 2-反射就是把java类中的各种成分(成员变量、方法、构造方法、类)映射成一个个的Java对象(成员变量Field、方法Met 阅读全文

posted @ 2019-05-04 19:45 frank_cui 阅读(185) 评论(0) 推荐(0)

Java 基础 - final vs static

摘要: 总结 共同点,都可以修饰类,方法,属性。而不同点: static 含义:表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问 static 类:只可能是静态内部类!!!否则编译不通过!!Java规定,顶级类不能声明为static!!! 参考-> 静态内部类 vs 非静态内 阅读全文

posted @ 2019-05-04 16:44 frank_cui 阅读(231) 评论(0) 推荐(0)

2019年5月3日

Maven - 深入理解maven构建生命周期和各种plugin插件

摘要: 作者:亚当-adam 来源:CSDN 原文:https://blog.csdn.net/zhaojianting/article/details/80321488 版权声明:本文为博主原创文章,转载请附上博文链接! 本博文不会长篇大论的讨论生命周期的概念,而是从各种plugin的实际功能和应用出发, 阅读全文

posted @ 2019-05-03 16:48 frank_cui 阅读(688) 评论(0) 推荐(0)

2019年4月28日

Java 多线程 - 生产者消费者问题

摘要: https://www.cnblogs.com/hckblogs/p/7858545.html 阅读全文

posted @ 2019-04-28 23:46 frank_cui 阅读(129) 评论(0) 推荐(0)

Java 多线程 - 锁优化

摘要: http://www.cnblogs.com/pureEve/p/6421273.html https://www.cnblogs.com/mingyao123/p/7424911.html 阅读全文

posted @ 2019-04-28 23:12 frank_cui 阅读(171) 评论(0) 推荐(0)

导航

levels of contents