1. java 1.7 新规范, 可以在数值内加下划线,以增强可读性。
- 不能在数值的前和后加下划线
- 不能在小数点前后加下划线
- 不能在多个连续非数值数字间加下划线
2. 什么是 CAS 机制?
CAS(Compare and Swap)比较并替换,CAS机制中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。
更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。
CAS的缺点:
- CPU开销过大
在并发量比较高的情况下,如果许多线程反复尝试更新某一个变量,却又一直更新不成功,循环往复,会给CPU带来很到的压力。 - 不能保证代码块的原子性
CAS机制所保证的只是一个变量的原子性操作,而不能保证整个代码块的原子性。比如需要保证3个变量共同进行原子性的更新,就不得不使用synchronized了。 - ABA问题
3. Maven 如何配置 HTTP 代理
在企业开发,有很多公司考虑到网络安全都会使用内网,一些刚到公司的小伙伴装完环境后会发现,因为连不上外网导致Maven库下不下来,这个时候就需要在Maven中配置代理。
具体操作步骤如下:
1.打开下载的Maven文件进去 conf 文件夹,找到 settings.xml 文件
2.打开 settings.xml 文件,找到 标签,将下面的代码粘进去
<proxy>
<!--id 代理的名称(随便设)-->
<id>optional</id>
<!--true 表示生效-->
<active>true</active>
<!--协议-->
<protocol>http</protocol>
<!--本机上网用户名及密码,如果没有,请注释或者是删除-->
<username>*******.ex</username>
<password>a*169646</password>
<!--公司上网使用ip及端口,即代理,这里替换成相对应的ip和端口-->
<host>127.0.0.1</host>
<port>11171</port>
<!--填写不用代理的地址,以竖线|分割多个地址,一般填写本地Maven仓库地址-->
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
4. 注解 @JsonUnwrapped 将对象扁平
参考文章:https://blog.csdn.net/tangyaya8/article/details/101513670
5. Spring 中 propagation 的 7 种事务配置
声明式的事务处理中,要配置一个切面, 其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。
- REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
- SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
6. spring 的 RestTemplate 使用指南
参考文章:https://www.cnblogs.com/wyq178/p/9058030.html
7. 插件和工具
- 浏览器背景插件:DarkReader
- Vertica 数据库(TODO)
- Kafka 中间件(TODO)
- Kubectl使用总结(TODO)
8. 单词
- stain 色斑
- acne 痤疮
- mask 口罩
- scar 疤痕
- dimple 酒窝
- wrinkle 皱纹
- pouch 袋子
- retrieval 数据检索