摘要:
背景 一般java程序占用cpu内存都不会太高,出现占用高的情况,第一反应就是,进程在某个地方死循环了。 排查 top -Hp 15057 查看下进程中的线程资源占用情况 由上图可见,CPU时间片主要是被15393 这个线程给吃掉了, 所以目标锁定在 15393。 执行 printf "%x\n" 阅读全文
摘要:
引入 查询展示商品的基本信息耗时:0.5s 查询展示商品的销售信息耗时:0.7s 查询展示商品的图片信息耗时:1s 查询展示商品销售属性耗时:0.3s 查询展示商品规格属性耗时:1.5s 查询展示商品详情信息耗时:1s 即使每个查询时间耗时不多,但是加起来却需要很长耗时。为了减少线性执行造成耗时的累 阅读全文
摘要:
1. 避免使用 SELECT *,使用具体字段 反例: SELECT * FROM employee; 正例: SELECT id, name, age FROM employee; 使用具体字段可以节省资源、减少网络开销,且能避免回表查询。 2. 避免在 WHERE 子句中使用 OR 反例: SE 阅读全文
摘要:
文件目录 cd /home/test jar 目录存放执行的jar包 log 目录映射执行的日志文件目录 dockerfile # 源 FROM openjdk:8 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 阅读全文
摘要:
在运行 Docker 容器的时候,如果容器内应用需要使用 UTF-8 编码来正常处理中文,你可以通过设置环境变量来指定编码。 可以使用 -e 或者 --env 标志来设置环境变量。比如,设置 LANG 和 LC_ALL 环境变量为 C.UTF-8 或者 en_US.UTF-8: docker run 阅读全文
摘要:
ReflectionUtils是Spring框架中的反射工具类,它提供了一系列静态方法,可以方便地进行类、对象、方法、字段等反射操作。 工具类 import java.lang.reflect.Constructor; import java.lang.reflect.Field; import j 阅读全文
摘要:
一、DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 二、DelayQueue能做什么 阅读全文
摘要:
在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Session 里,但是具体保存在哪里,要是不深究你可能就不知道, 这带来了一个问题,如果用户在前端操作修改了当前用户信息,在不重新登录的情况下,如何获取到最新的用户信息 阅读全文
摘要:
分布式锁需求 往往部署的 后台服务 不会只是 单机部署 了,而是通过集群的方式运行在两个甚至多个部署的服务器上(即便是同一个服务器的两个端口上,也会出现同样的问题)等架构来进行部署。 在用户所发送的请求中,每个请求将会通过负载均衡发送到不同的服务器中。如果我们还想对集群中的某个代码片段进行加锁,那么 阅读全文
摘要:
关于FastDFS FastDFS是一个高性能的分布式⽂件系统。 FastDFS是由Tracker server(追踪调度服务器) 和 Storage server(文件存储服务器)组成。 Storage server(文件存储服务器)又是由多个组构成 Tracker server(追踪调度服务器) 阅读全文