问题

导出时文件时服务器卡顿

1
2
3
# jstat -gc 82731 2000
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
417792.0 417792.0 0.0 0.0 418816.0 418801.2 2509824.0 2509798.5 190592.0 167174.9 21632.0 18552.8 98 10.801 465 2527.981 2538.782

分析

导出时, 频繁创建新对象,EDEN区迅速填充满,进入 S0 时,因为超过容量,直接进入 OLD 区,导致 EUOU同时填满,且此时因为还在引用,触发 FGC 却不能清除对象,服务器卡崩溃

不知道什么时候就开始想着搞一个自己的博客呢?日子已经是记不清了,服务器和域名倒是买了一两年了,每次都研究半天,然后就死在博客框架的第一步,接着就是热情退散,忙于杂事,慢慢就忘记还有这么一回事了害。

不过也不管怎么说,这么久了终于还是动工,可喜可贺可喜可贺。

这是基于 hexo-next 主题开发的静态博客,但原主题太高冷了,虽然前端苦手还是添砖加瓦的小改了一下。几天下来,二次元属性也算是成功附魔了哈哈哈。

虽然还是有很多简陋且值得优化的地方(没错,垃圾代码都是我写的)。

目前的需求就是:

  1. 记录一下技术文档,方便平时查阅。
  2. 个人吐槽的地儿,毕竟空间微博熟人太多,也老大不小了,确实矫情了些。

就满足需求而言,现在也算是简单可用的版本了,可喜可贺可喜可贺。

布局

概览

门口左侧顶部监控线

门口衣柜直接接到地板砖 放行李箱

墙角留着挂衣服

阅读全文 »

写了好久的 kotlin 了,在家回到 java 8 确实不习惯,甚至 lambda 都得想半天才能凑出来,lombok 注解也都只有个印象了,翻了一下官方文档,简单记录一下 lombok 的注解。
(不得不说版本越新越简便,可惜成都好多公司甚至都还在写 jsp,真是能用就行 = =

阅读全文 »

优点

  • 多语言共用
  • 方便定义,不需手动创建,直接编译生成
  • 序列化数据更小,序列化时不会带参名,反序列化时通过参数列表排序来赋值
阅读全文 »

加载 bean

1
2
3
4
5
6
// Spring framework
AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(AppConfig.class);
// 获取 Bean 对象
UserService userService=context.getBean("userService");
// 创建对象
UserService userService=new UserService();
阅读全文 »

JVM 类加载器分类和核心功能

引导类加载器,加载 jre 中 lib 目录的核心类库
扩展类加载器,加载 jre 中 lib 目录下 ext 扩展目录下的 jar 包
应用程序类加载器,加载 ClassPath 路径下的类包,加载我们自己写的类
自定义加载器,加载自定义路径下的类包

​ 分为引导类加载器,扩展类加载,应用加载器,自定义加载器
​ 引导加载器用于加载 java 自带的一些类
​ 扩展类用于加载一些应用的类
​ 应用加载器加载我们自己写得程序类
​ 自定义加载是我们自己手写判断的类

​ 自定义加载器在 Tomcat 中有过使用,如 JSP 的热加载,通过更改类加载器来改变加载的类

阅读全文 »