Java基础
文章平均质量分 90
灵龙阁主
要有梦想,然后再付诸行动!
时间会证明一切,未来你好!
展开
-
java的静态方法加锁与一般方法加锁
第一部分: synchronized 与static synchronized 的区别第二部分:java多线程锁,源码剖析1、synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块。原创 2018-01-15 20:57:24 · 27458 阅读 · 2 评论 -
Java内存管理
Java内存分配主要包括以下几个区域:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间图1:图原创 2018-01-15 22:44:45 · 152 阅读 · 0 评论 -
数据结构与算法
一 初探二 Java常用解析转自:http://blog.csdn.net/column/details/datastructureinjava.html 目录 (1)数据结构与算法概念解析 (2)数据结构之数组 (3)数据结构之栈 (4)数据结构之队列 (5)数据结构之链表 (6)数据结构之二叉树 (7)数据结构之霍夫曼树 (8)数据结构之红黑树(一)——基础分析 (9)数据结构之...转载 2018-11-07 14:56:10 · 288 阅读 · 0 评论 -
JVM优化
开场白:java幕后的英雄-jvm(Java Virtual Machine)1,why 优化内存溢出:对象占用内存过多。最终会导致内存泄露。内存泄露:GC失效。什么对象会被GC?算法:可达性算法。引用计数法:jvm弃用,不能解决循环依赖的问题。在Java语言里,可作为GC Roots对象的包括如下几种:a.虚拟机栈(栈桢中的本地变量表)中的引用的对象b.方法...原创 2019-03-05 17:28:05 · 136 阅读 · 0 评论 -
HashMap、Hashtable、ConcurrentHashMap的原理与区别
https://www.cnblogs.com/heyonggang/p/9112731.html下面直接来干货,先说这三个Map的区别:HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化-锁分段技术 初始size为11,扩容:ne...原创 2019-03-08 14:37:53 · 172 阅读 · 0 评论