JAVA日常学习
SEVEN大姚
疯狂的技术
展开
-
事务隔离级别,解决可重复读(update)和幻读问题(insert),快照读/当前读
可重复读问题: 一个事务中前后两次 读取的数据不一致,因为另外一个事务执行了update操作;幻读: 一个事务加了行锁,但是不能防止另外一个事务的插入操作,从而当执行聚合操作时(如 查询满足工资>5k的人的数量)产生了幻读。快照读 解决了 可重复读和幻读问题, 但是只是针对 快照读的操作, 如果事务中含有更新/插入/删除操作, 会执行当前读,还是会有幻读的可能。间隙锁解决了 幻读的问题. 在可重复读隔离级别下,数据库是通过行锁和间隙锁共同组成的(next-key lock),来实现防止原创 2021-03-02 15:23:10 · 1214 阅读 · 0 评论 -
分布式协议总结
Reference很好的分布式协议总结文章,http://thinkinjava.cn/categories/%E5%88%86%E5%B8%83%E5%BC%8F/page/2/raft java语言实现 和1同一个作者https://github.com/stateIs0/lu-raft-kv/blob/master/lu-raft-kv/src/main/java/cn/think/in/java/impl/DefaultNode.java#L546raft 超棒的动画讲解ht原创 2021-02-19 21:54:01 · 177 阅读 · 0 评论 -
idea为java程序添加启动参数(program arguments,vm arguments,Environment variable),并在程序中获取使用
配置栏含义:VM optons:JVM虚拟机参数, java程序中可以通过以下方式获取System.getProperty("参数名")Program argumentsjava项目参数, 即main方法中的String[] args参数public static void main(String[] args) { System.setProperty("spring.devtools.restart.enabled", "false"); SpringAp原创 2021-02-05 15:43:20 · 2530 阅读 · 1 评论 -
Java 应用线上问题排查思路、工具小结
ssh ip 连接上远程服务器top 查看占比较高的java进程号 如12816top -Hp pid可以查看某个进程的线程信息-H 显示线程信息,-p指定pid如:top -Hp 12816找到线程12817, 进入python, hex(12817)查看16进制0x3211执行 jstack 12816 | grep 0x3211 -A 30 找到该线程堆栈信息jstack信息jstack 线程ID 可以查看某个线程的堆栈情况,特别对于hung挂死的线程,可..原创 2021-02-04 15:44:05 · 221 阅读 · 0 评论 -
idea开发项目github gitignore设置
常用忽略上传文件# kdiff3 ignore*.orig# maven ignoretarget/# eclipse ignore.settings/.project.classpath# idea ignore.idea/*.ipr*.iml*.iws# temp ignore*.log*.cache*.diff*.patch*.tmp# system ignore.DS_StoreThumbs.db# package ignore (optio原创 2021-02-04 13:56:25 · 119 阅读 · 0 评论 -
软件发布版本说明
举例:版本一: 2.0.9-alpha.1-SNAPSHOT版本二: 2.0.9-beta.1-SNAPSHOT版本三: 2.0.10-rc.1版本四: 2.0.10-rc.2版本五: 2.0.10软件版本周期α、β、λ 常用来表示软件测试过程中的三个阶段。– α 是第一阶段,一般只供内部测试使用;– β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;– λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化原创 2021-01-29 11:10:13 · 1073 阅读 · 0 评论 -
gradle和maven问题记录
1. maven发版问题:maven发版命令: mvn deploy -Dmaven.test.skip=true在父目录中执行 mvn deploy -Dmaven.test.skip=true命令即可发版,注意:在子module中通过<maven.deploy.skip>true</maven.deploy.skip>可以制定某个子module不参与发版参考:https://www.cnblogs.com/leeyazhou/p/12467202.html待解原创 2021-01-28 16:42:45 · 210 阅读 · 0 评论 -
ManagementFactory-JAVA获取系统相关的信息
package jvmpackage;import javax.management.MBeanServer;import java.lang.management.GarbageCollectorMXBean;import java.lang.management.ManagementFactory;import java.lang.management.MemoryUsage;import java.lang.management.ThreadInfo;import java.util.L原创 2021-01-25 11:37:15 · 329 阅读 · 0 评论 -
Java 8 中的 Streams API 详解
1. 为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bul原创 2021-01-24 21:50:00 · 150 阅读 · 0 评论