摘要:
默认情况下,SQL Server的事务隔离级别是READ COMMITED。刚开始我理解这个模式就是读已经提交的,那也就是说并发一个事务去更新,一个事务查询同一条数据应该是像Mysql、Oracle不会加锁直接返回数据库已经提交的数据才对。但是SQL Server不是这样的。 SQLServer中有 阅读全文
摘要:
Caused by: java.sql.BatchUpdateException: 批处理中出现错误: ORA-00060: 等待资源时检测到死锁 阅读全文
摘要:
通常情况下,比如单机、但节点的应用中普通的Hash算法完全可以胜任。但是随着分布式部署的,多节点的情况下,就需要考虑节点的增加、减少所带来的Hash不一致的问题。 不一致就会导致导致数据和节点路由匹配不上,同时为了一致还要考虑节点的数据倾斜问题等,这就是一致性Hash要实现的内容 一致性hash算法 阅读全文
摘要:
rememberMe的低版本AES固定密码导致的漏洞,高版本仍然有被爆破,穷举的风险等。这种东西总是在安全检测的时候被拿出来说事儿,然而项目中并未开启rememberMe,也就是说压根不需要这个功能。那此时采用重写代码来直接杜绝这东西即可,任凭它怎么检测,已经没有这个口子了。 跟踪源码会发现,在创建 阅读全文
摘要:
JWT当然不是玩具,理解其设计意图,和适用场景自然会发现存在的就是有价值的 JWT: JSON Web Token 起源和定义 JWT(JSON Web Token)是由 IETF(Internet Engineering Task Force)基于 RFC 7519 规范定义的。它是一种用于在网络 阅读全文
摘要:
前几天有个小伙伴说他有个疑问:当我们发起一个查询的时候,数据库服务器是把所有结果集都准备好,然后一次性返回给应用程序服务吗(因为他们生产有个服务因为一个报表查询搞宕机了)。 这样想的原因很简单,假设那个报表查询出来有几百万数据,然后一次性倾泻给应用程序了,应用没那么大内存空间,而且同时还要兼顾处理其 阅读全文
摘要:
Java SPI(Service Provider Interface)最早是在Java SE 6中被引入的,作为一种标准的、用于在运行时发现和加载服务提供者插件的标准机制。以前的程序猿实现JDBC连接数据库都会自己写工具类加载不同厂商的驱动来实现数据库操作,但是随着JDBC4.0之后采用了Java 阅读全文
摘要:
一般而言,前端发起一个查询,后端接收请求而后去数据库检索并得到结果集,之后序列化为字符串返回给前端展示。 在序列化方法接收一个集合到序列化(比如这里是json)的过程中,内存占用会增大吗?肯定会的,总体而言我们new出的对象,对象引用的字符、数字等都是存放在堆内存中;未序列化这些对象之前,他们就是被 阅读全文
摘要:
线上有个小程序,客户反馈的现象是偶发性的卡主没响应,前端失去连接,点其他菜单都没响应。通过查看配置的dump目录有很多的GC日志,以及生成的一个堆内存快照。 JVM的配置参数大概为: -Xms512M -Xmx512M -XX:+HeapDumpOnOutOfMemoryError -XX:Heap 阅读全文
摘要:
当我们使用spring-jdbc来做持久化时(注意不是spring-data-jbc),有时候一些特殊字符存入数据库时会用到nvarchar、nvarchar2这种类型(比如存放化学式,如CO₂等),默认会直接按照String类型来处理字段类型映射,如果要最终让使用ps.setNString这种,一 阅读全文