沉默的背影 X-Pacific

keep learning

摘要: 能够扫描到包 ESCRegistrar类主要实现ImportBeanDefinitionRegistrar接口 实现下面方法,会在spring启动早期调用生成代理bean 扫描entity,通过注解配置或者启动目录扫描实体类并托管给Spring管理(和自动代理接口实现类无关,用于自动创建索引) 通过 阅读全文
posted @ 2019-10-07 13:18 乂墨EMO 阅读(2158) 评论(0) 推荐(0)
摘要: public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePackage(Class<? extends Annotation> annotation) { this.annotation = annotation; } public Stream<String> getB 阅读全文
posted @ 2019-09-03 11:31 乂墨EMO 阅读(1102) 评论(0) 推荐(0)
摘要: google chrome最耐看的主题James White大家可以尝试一下 阅读全文
posted @ 2019-09-01 16:29 乂墨EMO 阅读(1099) 评论(0) 推荐(0)
摘要: MVCC MVCC细节太多,我直接备忘一下总结: MVCC就是通过事务的ID与行数据的版本(修改事务的ID)进行比较(通过redo log可以回溯版本)得出哪些版本的行数据可见和不可见而实现的事务隔离 一致性读 可重复读,查询只承认在事务启动前就已经提交完成的数据读提交,查询只承认在语句启动前就已经 阅读全文
posted @ 2019-08-27 13:18 乂墨EMO 阅读(223) 评论(0) 推荐(0)
摘要: 新建:/my/mysql/my.cnf (准备挂载配置文件用) 将以下内容拷贝进去(或者启动一个docker的mysql,并且把/etc/mysql/my.cnf中的内容拷贝出来) 运行如下命令 下面这两行配置是挂载数据 -v /my/mysql/datadir:/var/lib/mysql -v 阅读全文
posted @ 2019-08-21 17:17 乂墨EMO 阅读(8201) 评论(1) 推荐(2)
摘要: HashMap中哈希算法的关键代码 HashMap的细节我们不谈,只看这个哈希算法的细节(h = key.hashCode()) ^ (h >>> 16) ^按位异或运算,只要位不同结果为1,不然结果为0;>>> 无符号右移:右边补0 为什么要无符号右移16位后做异或运算 根据上面的说明我们做一个简 阅读全文
posted @ 2019-07-18 12:02 乂墨EMO 阅读(6369) 评论(7) 推荐(3)
摘要: 又拿出这道String str1 = new String("abc");创建几个对象的面试题梳理了一下常量池与方法区的关系,希望能把这两者的关系通过这道面试题说明白 方法区是什么 简单说方法区用于存储jvm加载的类的信息、常量、静态变量、编译后的代码 方法区、永久代与元空间的关系 下文都以HotS 阅读全文
posted @ 2019-06-25 15:46 乂墨EMO 阅读(1088) 评论(0) 推荐(0)
摘要: 后面考虑通过netty做一个真正意义的简约版RPC框架,今天先尝试通过正常调用逻辑调用netty构建的nio服务端并同步获得返回信息。为后面做铺垫 服务端实现 我们先完成服务端的逻辑,逻辑很简单,把客户端请求的内容加上服务器时间戳一并返回 服务端用了LineBasedFrameDecoder,以防止 阅读全文
posted @ 2019-06-20 17:17 乂墨EMO 阅读(2207) 评论(0) 推荐(0)
摘要: 之前在工作中写过一些Socket客户端与服务端的代码,但是当时没有时间仔细研究,只能不报错先过的态度,对其细节了解不深,写的代码有各种问题也浑然不知,只是业务量级以及对接方对接代码没有出现出格的情况所以问题不得暴露。 首先通过单线程Socket做服务端是一种BIO的做法,这种做法会导致服务端只能同时 阅读全文
posted @ 2019-06-04 11:56 乂墨EMO 阅读(758) 评论(0) 推荐(0)
摘要: keepAliveTime含义 看了很多文章觉得都不能把keepAliveTime的意思说的很明白,希望通过自己的理解把keepAliveTime说的明确一些 先引用一句我觉得相对说的比较明白的含义:当线程空闲时间达到keepAliveTime,该线程会退出,有两个疑问:1、线程为什么会空闲 2、线 阅读全文
posted @ 2019-05-29 11:24 乂墨EMO 阅读(22088) 评论(3) 推荐(4)
摘要: CopyOnWriteArrayList主要可以解决的问题是并发遍历读取无锁(通过Iterator) 对比CopyOnWriteArrayList和ArrayList 假如我们频繁的读取一个可能会变化的清单(数组),你会怎么做? 一个全局的ArrayList(数组),修改时加锁,读取时加锁 读取时为 阅读全文
posted @ 2019-05-27 16:11 乂墨EMO 阅读(792) 评论(0) 推荐(0)
摘要: 先上一张图看一下ThreadLocal的内部结构,每个Thread对象内部都维护了一个ThreadLocal.ThreadLocalMap 我们在上图看到的就是三个Thread对象内部格子的ThreadLocalMap 这里要说的不是ThreadLocal,是ThreadLocal为什么要用Weak 阅读全文
posted @ 2019-05-21 16:56 乂墨EMO 阅读(3195) 评论(2) 推荐(1)
摘要: 可以通过join的特性控制方法的执行时间 join :当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执行。 注意是调用thread.join();的线程挂起(不是thread挂起),等着thread调用完毕后当前线程才继续,看一下源码 通过join的 阅读全文
posted @ 2019-05-19 12:08 乂墨EMO 阅读(701) 评论(0) 推荐(0)
摘要: ReentrantReadWriteLock的规则是: 多线程情况下:读-写互斥、写-读互斥、写-写互斥、读-读共享 验证“读-写互斥、写-读互斥、写-写互斥、读-读共享” ReentrantReadWriteLock使用场景 对于数据比较敏感的场景, 读锁:在读取数据时是不能出现多次读取不一致的情 阅读全文
posted @ 2019-05-16 15:53 乂墨EMO 阅读(2925) 评论(0) 推荐(1)
摘要: 常见的的序列化反序列方式的效率: protoBuf(PB) > fastjson > jackson > hessian > xstream > java 数据来自于:https://github.com/eishay/jvm-serializers/wiki 所以我选择了java方式、jackso 阅读全文
posted @ 2019-05-15 17:38 乂墨EMO 阅读(6693) 评论(0) 推荐(0)