摘要:
Mysql 目前有4种行格式:Redundant、Compact、Dynamic、Compressed Version 5.6 已经默认使用 Compact Version 5.7 默认使用Dynamic Redundant 是比较老的数据格式,Compressed 不能应用在System data 阅读全文
摘要:
字符集与字符比较 字符集 字符集是某种字符的集合,比如最常见的ASCII码,由127个字符组成,只需要一个字节就能表示; 我们常说的字符集还是GBK、ISOXXX、UTF8; Mysql 我们使用得最多的字符集就是GBK 和 UTF8了;他们都是变长字符集,如果字符在ASCII范围内就使用一个字节表 阅读全文
摘要:
java 中synchronized 锁的优化都是依赖对象头实现的,网上有关于对象头的资料大致概况如下图: 对象头信息是实现synchronized 优化的基础; 主要思想就是通过代码层面的判断,来减少真正锁的获取与释放时,CPU 用户态/内核态的切换带来的高成本(根本原因是java中的每个线程都映 阅读全文
摘要:
safe point 表示线程运行到一些"点"时,可以确定线程内存的一些状态,可以方便JVM 做一些统计; safe point 出现位置: 1、循环结束 2、方法返回前 3、调用发放的call之后 4、抛出异常的位置 选择这些点来作为safe point 点主要是方便 JVM 做一些记录,这些点的 阅读全文
摘要:
JVM 调优不能一概而论,需要根据不同的应用场景来确定调优方案; 1、先分析应用的特点,是高吞吐,还是高并发类型的应用 2、根据应用类型尝试调整部分参数,观察GC情况和应用性能指标 3、最终确认参数 调优的主要目的: 1、减少FULL GC 现在大多版本的JVM还使用 CMS,CMS 分为4个阶段: 阅读全文
摘要:
什么时候会GC GC 一般发生在内存不够,这所说的内存不够是指连续的内存块不够运行 GC器类型 目前常用的GC回收期有 Serial/Parallel/CMS/G1, 我们目前JVM内存一般是分代回收,各个代根据功能采用了不同的GC回收器,直接使用一张非常直观的网上图片 GC类型 不同的代分为不同的 阅读全文
摘要:
1、Comments should describe things that are not obvious from the code 注释是解释代码没有明显表现出来的语义 阅读全文
摘要:
问题: 今天在做测试发现传入的时间为 "2018-11-26" 在格式化后变成了"20181125" 解析工具使用的是httpClient 4.5 想法: 1、不应该啊,这应该是比较常见的API 2、这种常见的时间解析问题出错,那么应该是时区设置错误 3、debug到 工具类内部,发现 这使用了GM 阅读全文
摘要:
今天看 redis 哨兵部分的时候看见 哨兵选leader 采用的是 Raft协议,于是就了解了一下Raft协议; 一、简介 a、Raft 协议是借鉴了 Paxos协议,但是思路又与Paxos不一样 b、主要思想:多数成员同意/赞成就能成为master/leader 与Paxos协议的区别 a、Pa 阅读全文
摘要:
背景 JDK8 可以说是JDK的一个分水岭,JDK8中加入了很多新特性,JDK8的编码风格也和之前有一些变化,之前更注重代码的整洁,在性能和可阅读性方面做了一些平衡,而JDK8的风格更激进,代码紧凑,引入了一些很特别的写法,可阅读性有所下降。 其中比较引人注目的有: 1、Lambda表达式 2、集合 阅读全文