
java
文章平均质量分 72
fleetingcxx
这个作者很懒,什么都没留下…
展开
-
JAVA 堆和栈
自己所理解的 堆和栈 如果有出入,欢迎指出概括:堆内存 用来存放 new 创建的对象和数组,栈内存 存放的则是这些对象的引用变量和基础类型变量。堆区:jvm只有一个堆区被所有的线程共享,堆中只存放对象本身(不包含基本类型和对象引用),每个对象都包含与之对应的class的信息(操作指令)。栈区:每个线程都有一个栈区,栈中只存放对象引用和基本类型的对象(对象本身存在堆中),每个栈中的数据都是私有的,其它原创 2016-10-08 17:51:50 · 279 阅读 · 0 评论 -
Java线程池
ThreadPoolExecutor线程池实现原理线程池状态示例合理配置线程池大小原创 2017-06-16 18:03:37 · 309 阅读 · 0 评论 -
Java类加载机制
Java类加载机制虚拟机将class文件加载到内存,并对数据进行解析,校验,初始化的过程。装载:找到指定的class文件->获取此类的二进制字节流->Java堆中产生相应的Class对象链接:将二进制数据加载到内存->校验:检查数据是否正确准备:给类的静态变量分配内存空间,设置初始值解析:将符号引用转成直接引用 类初始化:cinit()(并不是类被加载之后就会进行类初始化,这是个误区)原创 2017-06-26 10:31:26 · 294 阅读 · 0 评论 -
Java反射
Java反射反射的性能肯定比直接声明使用低,但是灵活性高。有些人将它比作高级语言的“后门”,也是挺有趣的,但这个后门是指正常途径走不通才要通过这个后门来实现。作用可以实现动态创建对象和编译 运行时判断对象所属的类 运行时获取类的对象 运行时访问对象属性,方法应用场景JAR,WAR,EAR应用AppletJava动态代理技术Jsp方法根据类名创建对象Class<?> unKnown =原创 2017-06-28 11:17:36 · 252 阅读 · 0 评论 -
Java并发编程-锁
Java并发编程-锁最近接触了比较多关于锁方面的知识,就记下来,顺便巩固一下。 先定义一个比较简单的场景:公司准备发一批优惠券,每个用户只能领取一张。先不考虑多线程的话,可以用redis维护已经领取了优惠券的用户信息,比如手机号。...原创 2017-07-18 09:28:40 · 1769 阅读 · 0 评论 -
Java序列化和Hessian序列化问题
Java序列化Java序列化是对对象的结构和内容的完全描述,所以数据会比较大,但是安全可靠。Hessian序列化着重数据的序列化,简单类型信息会直接附带;复杂类型序列化成Map,包含基本类型描述和数据内容。而在序列化过程中,如果一个对象之前出现过,hessian会直接插入一个R index这样的块来表示一个引用位置,从而省去再次序列化和反序列化的时间。这样做的代价就是hessian需要对不同的类型进原创 2018-01-23 12:37:18 · 4320 阅读 · 0 评论 -
JDK 1.8 HashMap源码解析
JDK 1.8 HashMap源码解析1.8的HashMap较之前的版本有所变更,结构由原先的数组+单向链表 变成 数组+单向链表+红黑树,具体我们来看源码。成员变量默认容量static final int DEFAULT_INITIAL_CAPACITY = 1 &lt;&lt; 4; // aka 16最大容量static final int MAXIMUM_CAPACITY...原创 2018-07-23 09:54:31 · 226 阅读 · 0 评论