学而之不足
生于砀山,学在西安,现在北京,名不见经传,唯学而充己...
final finally finalize区别 final finally finalize区别
finalfinal为java关键字, 可以作用于成员变量、方法、类上1.作用于成员变量上, 基本类型则值不可修改, 如果成员变量为对象, 则该对象的引用不可修改.2.作用于方法, 该方法不可被重写3.作用于类, 该类不可继承 final
2018-09-06
反射和序列化破解单例 反射和序列化破解单例
介绍主要介绍通过反射的方式获取单例对象, 验证单例模式的安全性.主要从以下几个角度来介绍反射下的单例饿汉式双重锁检查枚举单例 饿汉式饿汉式直接使用反射即可破解单例模式 public class ReflectTest { pub
2018-08-27
反射 反射
介绍java反射可以在运行时获取对象的成员和属性, 并且可以动态的创建对象并调用对象的属性.反射一般编程中很少使用,但是在很多框架中都使用了反射, 比如配置Spring的Xml配置文件中, 就使用全类名配置方式, 其实就是反射的一种使用方式
2018-08-24
LinkList相关学习 LinkList相关学习
介绍LinkList也是工作中常见的集合, 底层使用双向链表结构比较适合新增和删除, 查询和修改需要遍历相对ArrayList比较消耗性能 内部类 Nodeprivate static class Node<E> { //
2018-08-23
ArrayList相关学习 ArrayList相关学习
介绍ArrayList是工作中常用的集合, 基于数组实现, 可以插入空数据, 也支持随机访问.ArrayList比较适合 get/set操作, 因为 add/remove需要移动数据, 相对来说比较消耗性能. 默认初始长度1.默认初始长度为
2018-08-23
HashMap java8变化 HashMap java8变化
介绍在java8 中对HashMap进行优化, 尤其是为了提高效率, 使用了 数组+链表+红黑树的方式, 在链表长度到达8的时候链表将转换为红黑树进行存储数据. put方法介绍大致上和java7没有变化, 主要是在存储数据时判断是否使用红黑
2018-03-02
HashMap底层原理及源码学习 HashMap底层原理及源码学习
常见问题HashMap和Hashtable的区别, HashMap的底层实现原理, 扩容机制, key碰撞, 线程安全性等 介绍1.HashMap和Hashtable的区别:HashMap, 允许null键null值, Hashtable不
2018-03-01
poi读写Excel简单介绍 poi读写Excel简单介绍
介绍Apache POI 可以对Microsoft Office 进行操作, 下面是工作中使用的对Excel进行读写操作的常用方式. 引入依赖 <!-- excel poi --> <dependency>
2018-02-15
整数包装类型的缓存 整数包装类型的缓存
介绍部分包装类型存在缓存机制, 会在JVM启动时, 缓存一定数量的对象, 有助于节省内存, 提高性能. 缓存区间 类型 范围 是否修改 Integer -128 到 127 true : -XX:AutoBoxCacheMax=
2018-01-15