Lingpj's blog

不忘初心,方得始终


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Spring的事件机制

发表于 2018-06-15 | 分类于 Spring | 阅读次数

当把一个事件发布到Spring提供的ApplicationContext中,被监听器侦测到,就会执行对应的处理方法。

事件本身

事件是一个自定义的类,需要继承Spring提供的ApplicationEvent。

1
2
3
4
5
6
7
8
9
@Data
public class MyEvent extends ApplicationEvent {
private String msg;
public MyEvent(Object source, String msg) {
super(source);
this.msg = msg;
}
}

阅读全文 »

TCP的3次握手和4次挥手过程

发表于 2018-04-09 | 分类于 日常记录 | 阅读次数

建立连接(3次握手)

TCP3次握手.png

阅读全文 »

理解JVM(四):JVM类加载机制

发表于 2018-02-06 | 分类于 Java | 阅读次数

Class文件

我们写的Java代码,经过编译器编译之后,就成为了.class文件,从本地机器码变成了字节码。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。Class文件中只有2种数据结构:无符号数和表。

阅读全文 »

理解JVM(三):JVM命令工具

发表于 2018-01-28 | 分类于 Java | 阅读次数

jps(JVM Process Status Tool)

虚拟机进程状况工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。

  • 命令格式:jps[options][hostid]
  • 参数:

    • -q:只输出LVMID,省略主类名称
    • -m:输出虚拟机进程启动时传给主类main()函数的参数
    • -l:输出主类全名,如果进程执行的时jar包则输出jar路径
    • -v:输出虚拟机进程启动时的jvm参数
      阅读全文 »

理解JVM(二):垃圾收集算法

发表于 2018-01-16 | 分类于 Java | 阅读次数

判断哪些对象需要被回收

  • 引用计数算法:
    • 给对象中添加一个引用计数器,每当有一个地方引用时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。
      但是JVM没有使用此方法,因为此方法无法解决2个对象相互循环引用的问题。
  • 可达性分析算法:
    • 这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。
      阅读全文 »
123…10
Joepis

Joepis

46 日志
6 分类
39 标签
RSS
GitHub 码云
友情链接
  • 阮一峰
© 2016 - 2021 Joepis
由 Hexo 强力驱动
主题 - NexT.Mist