JAVA
文章平均质量分 91
oahaijgnahz
大数据开发
展开
-
【JAVA重点知识汇总】(包含Java基础、JVM、Java并发)
JAVA重点知识汇总文章目录JAVA重点知识汇总一、String的不可变性二、StringBuilder & StringBuffer三、"=="和equals的区别四、Object.hashCode()五、Java、大数据开发学习要点(持续更新中…)一、String的不可变性1. String的不可变性(ps:通过反射可以改变)String类被final修饰,保证类不被继承。String内部char[] value设置为private,并且用final修饰符修饰,保证成员变量初原创 2021-06-15 21:41:13 · 1494 阅读 · 2 评论 -
MySQL高级(二)——锁与事务
MySQL高级(二)——锁与事务文章目录MySQL高级(二)——锁与事务一、MySQL锁机制**1.1 锁与其应用场景锁的类型和适合的场景读阻塞写、写阻塞读手动锁定一行实现一个事务行锁升级为表锁的情况间隙锁的问题1.2 事务与MySQL隔离级别1.2.1 事务与事务的ACID属性***1.2.2 并发场景事务存在的问题**1.2.3 MySQL事务隔离级别1.2.4 MVCC协议二、MySQL主从复制*Java、大数据开发学习要点(持续更新中…)一、MySQL锁机制**1.1 锁与其应用场景原创 2021-06-02 19:15:30 · 619 阅读 · 0 评论 -
MySQL高级(一)——索引与查询优化
MySQL原理文章目录MySQL原理一、MySQL逻辑架构常用存储对比(InnoDB与MyISAM)二、杂七杂八的一些知识2.1 SQL慢的可能原因2.2 SQL解析过程2.3 JOIN理论三、索引与B树3.1 什么是索引**?3.2 B树与B+树索引***!四、索引优化4.1 Explain性能分析*4.2 一些优化例子4.3 索引失效与避免**五、其他查询优化六、MySQL锁机制**6.1 锁与其应用场景锁的类型和适合的场景读阻塞写、写阻塞读手动锁定一行实现一个事务行锁升级为表锁的情况间隙锁的问题6原创 2021-06-01 15:31:53 · 680 阅读 · 0 评论 -
HashMap和currentHashMap原理解析
Java、大数据开发学习要点(持续更新中…)文章目录一、前言二、HashMapBase 1.7put方法get方法Base 1.8put方法get方法三、CurrentHashMapBase 1.7put方法get方法Base 1.8put方法get方法参考自HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!一、前言Map 这样的Key,Value在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个.转载 2021-05-07 19:58:22 · 252 阅读 · 0 评论 -
Java对象头部与synchronized原理与优化
Java、大数据开发学习要点(持续更新中…)文章目录一、Java对象头部二、偏向锁与轻量级锁一、Java对象头部Java对象头部主要包含Mark Word和类型指针。 HotSpot虚拟机的对象头(Object Header)包括两部分信息,第一部分用于存储对象自身的运行时数据, 如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等等,称为“Mark Word”。 这个对象头在32位的存储空间中,根据锁状态不同或者GC状态不同分成上图中的5种.原创 2021-05-05 19:49:02 · 511 阅读 · 0 评论 -
CPU运行时优化(高速缓存、指令重排、内存屏障等)
CPU运行时优化(高速缓存、指令重排等)Java、大数据开发学习要点(持续更新中…)文章目录CPU运行时优化(高速缓存、指令重排等)一、CPU高速缓存与缓存一致性协议1.1 高速缓存1.2 缓存一致性协议(MESI)二、CPU运行时指令重排三、内存屏障一、CPU高速缓存与缓存一致性协议1.1 高速缓存 CPU高速缓存主要是用于优化CPU程序执行性能的手段,高速缓存在硬件层面上尽可能地降低处理器访问主内存的时间开销(引申计算机存储结构—磁盘、内存、高速缓存、寄存器)。 L1和L2缓存均原创 2021-05-02 10:56:15 · 1262 阅读 · 0 评论 -
JVM调优、GC优化思路与问题解决方法
JVM调优与案例介绍Java、大数据开发学习要点(持续更新中…)文章目录JVM调优与案例介绍解决问题的关键一步总是预防问题的出现:虚拟机启动时内存参数设置:设定合适的内存空间给虚拟机Xms、Xmx,预留合理的内存空间,为后续可能出现的问题发现解决预留内存空间,如jmap、jstat、jstack等命名。虚拟机垃圾回收器选择:通过垃圾回收器参数调优可以发现,实际上一般情况下默认的垃圾回收器参数就是最优的。而不同场景下的垃圾回收器组合对垃圾回收性能的影响是比较大的。如吞吐量优先的Para原创 2021-04-08 14:00:28 · 1365 阅读 · 2 评论 -
【转载】JDK集合源码解析
1、转载至:Vector、Stack、ArrayList、LinkedList、HashMap源码解析Vector:继承了AbstractList抽象类,实现了List接口,实现了RandomAccess(空接口用于标记此类随机访问快), Cloneable, java.io.Serializable接口,所以支持快速访问、复制(拷贝)、序列化。基于泛型的一维数组实现,有序,允许null存在,支持动态扩容,默认容量为10,增长系数为0,两个值都是可以通过构造函数传递,扩容时,如果增长系数大于0,转载 2021-03-19 19:46:03 · 125 阅读 · 0 评论