- 博客(8)
- 收藏
- 关注
原创 HashMap、HashTable、ConcurrentHashMap的区别与联系
本文主要讨论Map家族的区别和联系,个体详细内容单独介绍。 区别: 线程安全问题:HashTable、ConcurrentHashMap是线程安全的,HashMap是线程不安全的。 性能方面:HashMap > ConcurrentHashMap > HashTable HashMap线程不安全的表现: put()方法:两个线程put的key,HashCode发生碰撞。在获取了相同的数组下标或父节点,写入时后一个会将前一个的值覆盖,从而造成数据的丢失。 put()时,若++size>
2020-06-19 09:52:28
61
原创 常量池与Strinig.intern()
文章目录常量池1. Class文件常量池2. 运行时常量池3. 全局字符串常量池常量池加载过程String.intern()方法与常量池 常量池 为什么要使用常量池? 从内存上:合并相同的字面量,减少不必要的内存空间; 从时间上:对于字符串的比较,对常量池中的字符串使用“==”判断引用是否相等比equals快。 1. Class文件常量池 编译器间生成的字面量与符号引用1,在类加载后移至运...
2020-06-03 17:30:32
66
原创 素数计算——JAVA
文章目录埃拉托斯特尼筛法线性(欧拉)筛法 埃拉托斯特尼筛法 特性:将所有不大于根号n的素数的倍数筛去,剩下的就是素数。O(n*log(logn)) 代码实现: import java.util.BitSet; import java.util.Scanner; //Prime Count public class Main { public static void main(S...
2020-06-03 17:30:22
89
原创 Redis与Spring的整合
目录spring-data-redis1. 引用依赖2. 操作Redis方式jedis1. 引用依赖2. 操作Redis方式 参考文档:redis和jedis的用法,区别 spring-data-redis SpringDataRedis是spring框架对jedis和lettuce的封装。让spring框架体系能够更加方便的接入redis的功能。SpringDataRedis相对于Jedis来说...
2020-06-03 17:30:07
88
原创 Java类加载机制
文章目录类加载的过程类加载方式1. 加载2. 验证3. 准备4. 解析5. 初始化类加载器类加载器的双亲委任模型 类加载的过程 类加载机制:虚拟机把Class文件加载到内存,并对数据进行验证、解析、准备和初始化,最终形成被虚拟机使用的Java类型。 ps:Java的类加载过程都是在程序运行期间完成的 类加载方式 这里的类加载不是指类加载阶段,而是指整个类加载过程,即类加载阶段到初始化完成。 ...
2020-06-03 17:29:48
63
原创 Redis应用基础
目录Redis应用范围1. 缓存2. 排行榜3. 计数器数据类型1. String2. Hash3. List列表4. Set集合5. ZSet有序集合 Redis Redis是一款NOSQL(非关系型1),基于内存,Key-Value模型的可持久化数据库。 应用范围 1. 缓存 Redis作为缓存来分担数据库压力,快速响应页面,防止恶意攻击。 2. 排行榜 Redis支持有序集合zset数据类...
2020-06-03 17:28:46
70
原创 Redis缓存
目录Redis一 特点二 缓存方案1. 数据读取2. 缓存更新策略Cache Aside PatternRead/Write Through PatternWrite Behand Cacheing Pattern三 持久化RDB快照AOF日志四 运行模式主从模式(Master-Slave)2.8版本之前主从复制哨兵模式(Sentinel)2.8版本之后Cluster模式 3.0版本五 缓存异常机...
2020-06-03 17:28:05
132
原创 JAVA内存区域分析
文章目录JAVA内存区域堆方法区(Non-Heap) JAVA内存区域 内存区域 线程 生命周期 作用 程序计数器 私有 线程 指向执行的字节码指令的行号 虚拟机栈 私有 线程 存放局部变量、操作数栈、动态链接、方法出口等信息 本地方法栈 私有 线程 类似虚拟机栈,为本地方法服务 方法区 共享 虚拟机 存放类信息、常量、静态变量、全局变量和即时编译器编译的代码 ...
2020-06-03 17:26:59
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人