单实例的并发控制,主要是针对JVM内,我们常规的手段即可满足需求,常见的手段大概有下面这些
- 同步代码块
- CAS自旋
- 锁
- 阻塞队列,令牌桶等
上一篇博文介绍了几种bean拷贝框架的使用姿势以及性能对比,主要适用的是属性名一致、类型一致的拷贝,在实际的业务开发中,经常会用到驼峰和下划线的互转,本文在之前的基础上进行扩展
Bean属性拷贝,主要针对几个常用的拷贝框架进行性能对比,以及功能扩展支持
选用的框架
quick-media 升级2.6.0,二维码组件扩展两种样式规则
在日常开发中,分页遍历迭代的场景可以说非常普遍了,比如扫表,每次捞100条数据,然后遍历这100条数据,依次执行某个业务逻辑;这100条执行完毕之后,再加载下一百条数据,直到扫描完毕
那么要实现上面这种分页迭代遍历的场景,我们可以怎么做呢
本文将介绍两种使用姿势
通过ssh连接远程服务器,一段时间不操作之后自动断线,一个可选的设置方法,在服务端添加心跳设置
1 | sudo vim /etc/ssh/sshd_config |
删除所有容器
1 | docker rm `docker ps -a -q` |
删除所有镜像
1 | docker rmi `docker images -q` |
删除没有tag镜像
1 | docker rmi `docker images|grep none|awk '{print $3 }'|xargs` |
hexo打包上传博文时,忽然报了一个致命错误,FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed 堆内存不够
一个简单的解决办法
1 | export NODE_OPTIONS="--max-old-space-size=8192" |
或者直接在.bash_profile文件中配置,并全局生效
1 | vim ~/.bash_profile |
不同操作系统下的换行不一致,当一个项目的开发者分别再linux/mac/win下做了代码提交改动之后,使用git diff
命令时,可能会发现,即便啥也没改,当时有很多变动,显示^M
的差别
主要原因就是换行的问题
解决这个问题的一个办法就是统一换行
1 | git config --global core.autocrlf true |
最近遇到一个由于唯一性索引,导致并发插入产生死锁的场景,在分析死锁产生的原因时,发现这一块还挺有意思的,涉及到MySql中不少的知识点,特此总结记录一下
借助tmux,可以非常方便的实现同时操作多个面板
1 | # 启用 |
当一个对象没有重写hascode
方法时,它返回的内存地址,当覆盖之后,我们有什么办法获取对象的内存地址么?
System.identityHashCode()
输出内存地址记录一下借助telnate进行简单的dubbo接口测试
telnate ip port
ls
列出所有服务invoke com.xxx.Service.sayHello("xxx")
Java端”最强”二维码渲染工具又双叒叕升级了,新增前置模板渲染,简单几行代码即可实现酷炫的二维码生成
Update your browser to view this website correctly. Update my browser now