- 博客(17)
- 资源 (84)
- 论坛 (1)
- 收藏
- 关注

原创 面试HashMap看这篇就够了
文章目录预备知识位运算知识ArrayListLinkedListRedBlackTreeHashTableHashMap预备知识位运算知识位运算操作是由处理器支持的底层操作,底层硬件只支持01这样的数字,因此位运算运行速度很快。尽管现代计算机处理器拥有了更长的指令流水线和更优的架构设计,使得加法和乘法运算几乎与位运算一样快,但是位运算消耗更少的资源。常用的位运算如下:位与 &...
2020-03-23 22:58:26
6523
150
原创 【Java基础】还看不懂JDK7 HashMap环的产生原理你来打我
JDK7对旧table数据重定位到新table的函数transfer如下,其中重点关注部分以标出。头插法正常情况下:并发情况下线程1只执行了Entry<K,V> next = e.next就被挂起了,而线程2正常执行完毕,结果图如下:线程1接着下面继续执行:通过逐步分析跟绘图可以知道红色部分会有环产生。...
2020-03-31 13:56:04
3195
43
原创 【Java并发编程】6.常见并发容器
跳表简而言之跳表就是多层链表的结合体,跳表分为许多层(level),每一层都可以看作是数据的索引,这些索引的意义就是加快跳表查找数据速度。每一层的数据都是有序的,上一层数据是下一层数据的子集,并且第一层(level 1)包含了全部的数据;层次越高,跳跃性越大,包含的数据越少。并且随便插入一个数据该数据是否会是跳表索引完全随机的跟玩骰子一样,redis中的zset底层就是跳表数据结构。并且跳表的速...
2020-03-29 14:46:57
2589
56
原创 【Java并发编程】5. 让ConcurrentHashMap成为你的面试加分点
面试必问的并发容器ConCurrentHashMap 了解么
2020-03-28 10:33:06
1643
57
原创 【Java并发编程】4. 一文搞定JUC半壁江山 AQS
文章目录AQSAQS了解AQS中模版模式AQS重要方法模板方法独占式获取共享式获取独占式释放共享式释放子类需实现方法独占式获取独占式释放共享式获取共享式释放AQSAQS了解在JDK中我们一般用AQS来构建跟实现显示锁,语言层面我们一般用Syn来实现。AQS(AbstractQueuedSynchronizer 抽象队列同步器),在上一文中被广泛使用。比如CountDownLatch,Thre...
2020-03-20 00:29:13
3134
51
原创 【Java并发编程】3.CAS、Lock、读写锁
CAS什么是原子(Atom)操作:多线程中的原子操作类似于数据库中的同时执行AB两个语句,要么同时执行成功,要么同时执行失败。synchronize的不足:syn是基于阻塞的锁机制,颗粒度还是比较大 的。如果被阻塞的线程优先级很高怎么办。拿到锁的线程一直不释放锁怎么办。如果出现大量竞争会消耗CPU,同时带来死锁或其他安全隐患。用syn也可以实现原子操作不过不太合适,目前...
2020-03-16 23:09:25
1901
35
原创 【Java并发编程】2.常用线程的并发工具类
文章目录ForkJoin1.Fork/Join流程:2. 工作窃取模式3. demo演示核心组件ForkJoinPoolForkJoinTaskForkJoinWorkerThreadWorkQueue参考ForkJoin1.Fork/Join流程:ForkJoin是一种分治的思想,现实生活中的快排,队排,MapReduce都是思想的 实现,意思是在必要的情况下,将一个大任务,进行拆分(fo...
2020-03-15 23:40:23
1598
26
原创 【JVM和性能优化】5. 深入了解性能优化
JIThttps://www.ibm.com/developerworks/cn/java/j-lo-just-in-time/
2020-03-15 17:28:11
3668
24
原创 【Java编码规范】写不好规范的Java代码怎么去大厂
文章目录1. 构造器参数太多怎么办2. 123参考1. 构造器参数太多怎么办解决办法 :引入Builder模式场景:当构造器有5个或者以上的构造参数时或者目前参数不多但是以后会不断增多的时候。demo 如下:public class Computer { protected String mBoard; protected String mDisplay; pro...
2020-03-15 08:12:54
4971
40
原创 【JVM和性能优化】3.JVM的执行子系统
文章目录Class 文件格式字节码Class类的本质Class文件格式类加载机制参考Class 文件格式一般情况下Java代码执行流程如下图:字节码字节码文件 .class文件的产生是最关键的,是Java语言跨平台的基础,.class文件跟不同的操作系统之间对接的差异性由JVM后台自动帮我们解决,我们只需要将代码编译成.class 字节码文件,Class类的本质任何一个Clas...
2020-03-13 12:12:11
2277
36
原创 【JVM和性能优化】1.Java内存区域
文章目录了解的必要性JVM历史JVM数据区域私有区共有区内存区域版本变化1.61.71.8元空间栈跟堆Java中的对象都是在堆中分配吗逃逸分析标量替换栈上分配同步消除JVM对象对象创建过程对此内存布局对象访问方式通过句柄访问堆栈实战堆溢出栈溢出参考了解的必要性Java 代码的运行过程如下图:JVM是编译后的代码跟操作系统交流的最终路径,了解Java虚拟机的好处如下:写出更好更健壮的代...
2020-03-09 21:12:46
2244
43
原创 【MySQL】:查询,索引及优化,高性能存储myCat
文章目录慢查询慢查询配置慢查询解读慢查询工具mysqldumpslowpt_query_digest索引聚簇索引跟非聚簇索引聚簇索引非聚簇索引:覆盖索引(Covering Index)总结:重点执行计划执行计划详解重点 MySQL优化参考慢查询慢查询:顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL...
2020-03-06 12:08:35
4048
28
原创 【MySQL】:架构与存储引擎,锁,事务,设计
文章目录衡量指标TPSQPSMySqlSlapMySQL 架构图连接层1连接层2引擎层解析查询存储层MySQL形象图存储引擎重点MyISAM重点InnoDB存储引擎对比CSVArchiveMemory内存表(Memory)跟临时表(Memory)区别Ferderated锁MyISAM 锁InnoDB 锁事务业务设计逻辑设计范式设计范式化设计优缺点反范式设计反范式化设计优缺点物理设计命名规范存储引擎...
2020-03-05 16:08:16
3672
19
原创 【Java并发编程】1. 线程基础、线程之间的共享和协作
文章目录Java 并发编程基础1. 什么是高并发垂直扩展水平扩展2. 进程和线程多线程实现方式3. Java线程工作方式4. 线程状态5. synchronized 用法1. 普通方法对象锁2. 静态方法类锁3. 方法块5. volatile6. ThreadLocal7. wait notify实现一个连接池8. joinThread.join的作用Thread.join的实现原理什么时候...
2020-03-03 15:54:44
3986
26
zookeeper.zip
2020-09-28
电脑版跟ios手机版 内容不同步什么情况
发表于 2017-03-24 最后回复 2019-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝