写点什么

总结

用户头像
Kiroro
关注
发布于: 2020 年 08 月 05 日

了解了 JVM 垃圾回收原理和秒杀系统。通过案例分享,进一步了解到秒杀系统的痛点,从而得知,应该如何设计一个系统。其实,从这个例子可以应用到不同的场景当中。现在,一个 WEB 应用,离不开 DB,cache,front-end, back-end, CDN....应该怎样利用所以的资源,建立一个高可用的系统,是需要思考和实践的。


JVM

Java 虚拟机 Java 虚拟机(Java virtual machine,JVM)是运行 Java 程序必不可少的机制。JVM 实现了 Java 语言最重要的特征:即平台无关性。原理:编译后的 Java 程序指令并不直接在硬件系统的 CPU 上执行,而是由 JVM 执行。JVM 屏蔽了与具体平台相关的信息,使 Java 语言编译程序只需要生成在 JVM 上运行的目标字节码(.class),就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。因此实现 java 平台无关性。它是 Java 程序能在多平台间进行无缝移植的可靠保证,同时也是 Java 程序的安全检验引擎(还进行安全检查)。


Java 中那些不可达的对象就会变成垃圾。那么什么叫做不可达?其实就是没有办法再引用到该对象了。主要有以下情况使对象变为垃圾:

1.对非线程的对象来说,所有的活动线程都不能访问该对象,那么该对象就会变为垃圾。

2.对线程对象来说,满足上面的条件,且线程未启动或者已停止。

(1)强引用:默认情况下,对象采用的均为强引用

(GC 不会回收)

(2)软引用:软引用是 Java 中提供的一种比较适合于缓存场景的应用

(只有在内存不够用的情况下才会被 GC)

(3)弱引用:在 GC 时一定会被 GC 回收

(4)虚引用:在 GC 时一定会被 GC 回收


用户头像

Kiroro

关注

还未添加个人签名 2020.05.30 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
作业请添加”极客大学架构师训练营“标签,便于分类查找~
2020 年 08 月 05 日 14:09
回复
没有更多了
总结