一、为什么需要运行时代码生成 java是强类型语言 变量与对象必须有一个明确的类型,如果在赋值操作中出现类型不兼容的情况,就会抛出异常。 发射解决:通用类编译期还不知道被调用...
一、为什么需要运行时代码生成 java是强类型语言 变量与对象必须有一个明确的类型,如果在赋值操作中出现类型不兼容的情况,就会抛出异常。 发射解决:通用类编译期还不知道被调用...
ideavim键盘流 最后更新于2019-12-06 作为一个vimer,不管使用什么IDE或者编辑器,安装完成后的第一步就是安装vim插件。 我的日常开发中使用最多的就是I...
1. MyBatis缓存 1.1 缓存介绍 就是将用户经常查询的数据的结果的一个保存,保存到一个内存中(缓存就是内存中的一个对象),用户在查询的时候就不用到数据库文件中查询(...
君问归期未有期 说到https,我们就不得不说tls/ssl,那说到tls/ssl,我们就不得不说证书机构(CA)、证书、数字签名、私钥、公钥、对称加密、非对称加密。这些到底...
使用yaml.dump写saltstack的sls文件发现跟yaml.load出来的再dump回去格式不一样 执行后输出,发现dump出来的格式竟然和data里传入的格式不一...
一、前言 前一篇文章,大体说明了一下线程池如何添加一个新的Worker去执行任务。本篇来详细分析 Worker 本身。 二、Worker 的结构 2.1 Worker 整体结...
前言 学习 ThreadLocalRandom 的时候遇到一些疑惑,为何使用它在多线程下会产生相同的随机数? 阅读源码后终于稍微了解了一些它的运行机制,总结出它在多线程下正确...
Java源码里面都有大量的注释,认真读懂这些注释,就可以把握其七分工作机制了。关于ThreadPoolExecutor的解析,我们就从其类注释开始。 现将注释大致翻译如下: ...
引言 锁(Lock)是java一个很重要的同步组件,Lock提供了跟synchronized关键字一样的功能,相比synchronized更加灵活,但是实现也更加复杂。 锁的...