Spring项目加载慢问题

最近遇到一个诡异的问题,项目启动异常缓慢(每次重启tomcat都要6-7分钟),这对于开发来说简直是灾难式体验,所以决心修正此问题。

首先google搜索解决tomcat启动慢的问题,按照大多数人反映的计算熵SecureRandom的方法修改,发现无效。于是只好阅读tomcat启动日志,发现每次项目启动,时间都卡在这里org.apache.catalina.core.ApplicationContext.log Initializing Spring root WebApplicationContext。这时候搜索结果就与计算熵SecureRandom无关了,而是spring启动的问题,摘取排查问题步骤如下,果然解决。


庖丁解牛-多服务器并发场景下乐观锁的实际应用

庖丁解牛-多服务器并发场景下乐观锁的实际应用

笔者面临的一个业务场景为:项目中多条业务线的实现都需要创建一个实例ID(instanceID),实例ID的值为系统当前的实例ID最大值+1。这样就会面临着在同一时间下有多个用户更新实例ID,造成并发冲突的问题。

笔者首先想到的解决方法是使用关键字synchronized来解决。但是组内同事提出光有synchronized是不够的,因为synchronized只能解决单台机器的JVM多线程并发问题,无法解决线上多台服务器分布式导致的并发问题。


徒步奶子沟

是的,名字很..awkward。不过重点是徒步了40km,过程很酸爽,过后可以吹牛。


Elastic Search学习笔记-4 (常见搜索类型实践)

查询分类


Elastic Search 学习笔记-3 (深入了解ES搜索原理)

We will not venture into Lucene’s implementation details, but rather stick to how the inverted index
is used and built. That is what influences how we can search and index.


Elastic Search 学习笔记-2 (搜索相关)

整理自ES.cn,并加入个人理解

Search API

一种是 “轻量的” 查询字符串版本 ,要求在查询字符串中传递所有的 参数。但是查询字符串参数需要URL编码

另一种是更完整的 请求体版本 ,要求使用 JSON 格式和更丰富的查询表达式作为搜索语言。(ES提供了DSL即领域特定语言)


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×