首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java正在卷土重来?别开玩笑了,它明明一直很火

作者 | MIKE MELANSON 翻译 | 刘雅梦 编辑 | 燕珊 永远流行的语言远未消亡,它正在加速发展并为未来做好了准备。 “Java 不行了?”“Java 统治地位已不复存在?”...同时,他强调说,Java 一直都没有离开过:亚马逊、谷歌、Netflix、Pinterest、Spotify、Square 和 Zoom 等公司都在其庞大的代码库中使用了 Java。...本文中,Mike 试图复盘 Java 的一些重要发展节点及梳理现状,从而佐证其观点:Java 正在复兴。同时,“别说这是所谓的‘卷土重来’,Java 已经在这里呆很多年了。”...就其本身而言,VMware 正在努力通过即将发布的 Spring Framework 6 和 Spring Boot 3(Morgan 称之为 Spring 的“第三幕”)来提高 Java 的云原生性”...我认为它正在经历一次复兴,无论是从技术角度,还是从生态系统角度来看,都是如此。”Milinkovich 说。“开发人员需要记住的一件事情是,Java 技能的需求量很大。

21320

MySQL死锁排查,原来我一直没懂。。。

最近线上偶发MySQL的死锁异常,发现原来很多理论都只背了个结论,细节都是魔鬼。 比如,MySQL在RR级别用gap lock防止幻读,RC级别就没有gap lock吗?...不妨来一起看看,MySQL的死锁问题有哪些你不了解的细节。...1、死锁信息 1.1 数据库基本信息 版本:MySQL 5.7 隔离级别: READ-COMMITTED 表结构: 1.2 死锁日志 死锁日志分析 1)事务1 HOLDS THE LOCK(S)...查阅了网上一些资料,做了一个总结,具体案例就不展开了: MySQL的锁是加在索引上的 查询过程中访问到的索引对象才会加锁(没有索引就可能锁全表) 加锁的基本单位是next-key lock(前开后闭)...等值查询上MySQL的优化:索引上的等值查询,如果是唯一索引,next-key lock会退化为行锁,如果不是唯一索引,需要访问到第一个不满足条件的值,此时next-key lock会退化为间隙锁 范围查询

47610

MySQL使用技巧: 如何查看mysql正在执行的SQL语句

MySQL使用技巧: 如何查看mysql正在执行的SQL语句 背景: 最近项目开发用到MySQL,想要查看后台执行的sql语句,立马google得知、可以使用 show processlist; 命令来解决...使用方法: 1:首先你需要创建一个日志文件log.txt ,例如如我直接保存在mysql目录下的data目录中间, 2:在 mysql的配置文件 my.ini 中最后添加 log=d:/mysql/data.../log.txt1    log=d:/mysql/data/log.txt 3:如此就可以记录所有的mysql执行的sql语句!  ...这个命令中最关键的就是state列,mysql列出的状态主要有以下几种:   Checking table   正在检查数据表(这是自动的)。   ...Removing duplicates   正在执行一个SELECT DISTINCT方式的查询,但是MySQL无法在前一个阶段优化掉那些重复的记录。

6.2K20

关于MySQL varchar类型最大值,原来一直都理解错了

写在前面 关于MySQL varchar字段类型的最大值计算,也许我们一直都理解错误了,本文从问题出发,经实践验证得出一些实用经验,希望对大家的开发工作有些帮助~ 背景描述 最近同事在做技术方案设计时候...那问题来了:MySQL 数据库的varchar字段类型最大存储长度到底是多少?...问题分析 一切以官方文档为准,翻了下官方描述如下: In MySQL 4.1 the length is always 1 byte....In MySQL 5.0 the length may be either 1 byte (for up to 255) or 2 bytes (for 256 to 65535)....大概意思就是说: 在MySQL 4.1以前,长度总是1个字节(varchar(20),指的是20字节) 在MySQL 5.0以后,长度可以是1字节(最多255个字节)或2个字节(256到65535) 按照官网说法最大值是

2K117

技术分享 | MySQL:你的 binlog_expire_logs_seconds 可能正在失效

如果你正在使用 MySQL8.0 ,并且在使用物理热备工具,那么 binlog_expire_logs_seconds 可能不会如你预想的那样生效。...binlog_expire_logs_seconds 为了防止 binlog 文件过大导致无可用的磁盘空间,MySQL 提供了一个系统变量用来配置过期时间,MySQL5.7 时变量名为expire_logs_days...新的 binlog 写一天没有达到最大大小,又进行备份,每天循环这个逻辑,导致过期的 binlog 越来越多,一直无法被自动删除。...当然,如果你使用的是 MySQL5.7,那并不会有这个问题,虽然 MySQL5.7 备份时会加全局锁,但是并不影响过期 binlog 的自动删除。...从这个角度看,这是个 bug,所以报给官方后很快被确认了:https://bugs.mysql.com/bug.php?

2.4K30

美团三面:一直追问我, MySQL 幻读被彻底解决了吗?

之前有位小伙伴美团三面,一直被追求「幻读是否被 MySQL 可重复度隔离级别彻底解决了?」...方式解决了幻读,因为可重复读隔离级别下,事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的,即使中途有其他事务插入了一条数据,是查询不出来这条数据的,所以就很好了避免幻读问题。...它做的变更就能被其他事务看到; 读提交(read committed),指一个事务提交之后,它做的变更才能被其他事务看到; 可重复读(repeatable read),指一个事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的...,因为可重复读隔离级别下,事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的,即使中途有其他事务插入了一条数据,是查询不出来这条数据的,所以就很好了避免幻读问题。...# 事务 B mysql> begin; Query OK, 0 rows affected (0.00 sec) mysql> insert into t_stu values(5, '小美', 18

46830
领券