hexo迁移到ubuntu

系统切换到ubuntu之后,使用的apt安装的node,默认权限是sudo。安装hexo之后也必须以sudo身份执行。
需要修改下node的权限,命令如下:

1
2
➜  qsli.github.com (hexo|✚1…)  npm config get prefix
/usr/local

阅读更多

linux终端对齐问题

输出乱了?

比如vmstat命令, 输出歪歪扭扭的, 强迫症简直不能忍啊, 而且看个指标还得先对齐下.

1
2
3
4
5
6
7
8
➜  ~  vmstat 1 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 4577556 281532 3674532 0 0 64 36 192 784 5 1 93 1 0
0 0 0 4577992 281532 3674552 0 0 0 0 417 1089 1 1 98 0 0
0 0 0 4577960 281540 3674532 0 0 0 44 401 1105 1 0 98 1 0
2 0 0 4577960 281540 3674548 0 0 0 0 307 834 1 0 99 0 0
0 0 0 4577960 281548 3674548 0 0 0 48 318 773 1 0 99 1 0

阅读更多

volatile

结论

volatile的作用:

1.保证多个线程”同时”修改”共享”变量时不会因为cpu cache等原因而造成不一致,

2.另外的作用就是防止指令重排

阅读更多

swappiness

sysctl中和swap相关的参数

1
2
➜  ~  sudo sysctl -a  | grep swap
vm.swappiness = 0

阅读更多

java中的引用

jvm中的Reference Handler线程

经常看jstack的输出就会发现一个常见的线程 – Reference Handler, 堆栈如下:

阅读更多

Spring Mvc源码剖析(二)

启动流程的分析见: Spring Mvc源码剖析(一)

源码版本

阅读更多

将其他日志框架桥接到slf4j

SLF4J

java世界的日志框架太多了, Jakarta Commons Logging (JCL), java.util.logging (jul), Log4j, Logback等等. 其中 log4j和logback是同一个作者写的, 这个作者为了统一日志的API, 又创作了SLF4J, SLF4J采用门面模式定义了日志操作的API, 但是并没有提供实现,
具体的实现由用户引入的jar包决定, 比如Log4j或者Logback等.

阅读更多