写在前面 在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢?这是不是重复造轮子,多此一举呢?今天,我们就一起来探讨下这个问题。 再造轮子? 既然JVM中提供了syn ...
分类:
编程语言 时间:
2020-09-18 02:25:58
阅读次数:
29
1、Java SE Java基础 数据类型/常量与变量 标识符/关键字/运算符/流程控制 数组/方法 类和对象 成员变量/局部变量 匿名对象/this关键字/构造方法 封装/继承/多态 抽象/接口/内部类 集合 Java高级 线程/锁 JDK 反射 JVM GC IO和NIO,AIO 2、JAVA ...
分类:
编程语言 时间:
2020-09-18 02:19:16
阅读次数:
40
1.垃圾标记阶段算法 在堆里存放着几乎所有的Java对象实例,在Gc执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,Gc才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。那么在JVM中究竟是如何标记一个死亡对 ...
分类:
编程语言 时间:
2020-09-18 01:30:02
阅读次数:
36
1、创建文件 /home/zabbix/pvuv_number.sh 【 #/bin/bashuv_number(){ #/var/log/test_access.log 日志路径cat /var/log/test_access.log |awk '{print $1}'|sort|uniq|wc ...
分类:
其他好文 时间:
2020-09-18 01:13:05
阅读次数:
31
在面向对象的编程中,会很频繁的使用到动态分派,如果每次动态分派的过程中都要重新在类的方法元数据中搜索合适的目标的话可能影响到执行效率。为了提高性能,JVM采用在类的方法区建立一个虚方法表(virtual method table)(非虚方法不会出现在表中)来实现。使用索引代替查找。 每个类中都有一个 ...
分类:
其他好文 时间:
2020-09-17 23:18:51
阅读次数:
24
运行时数据区 程序计数器/PC寄存器 线程私有,程序计数器是一块较小的内存空间,当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变计数器的值来选择下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成。 如果线程在执行java方法,计数器记录 ...
分类:
编程语言 时间:
2020-09-17 23:11:27
阅读次数:
31
概述SNMPTrap监控主要用于设备发生故障时的主动通知的监控接收SNMPtrap与查询启用SNMP的设备相反。在这种情况下,信息发送自启用SNMP的设备并由Zabbix收集或“trapped”。通常在某些条件更改时发送trap,并且代理通过端口162连接到服务器(相反的,代理端的161端口是用于查询代理的)。使用trap可以检测在查询间隔期间发生的一些可能被查询数据遗漏的短期问题。在Zabbix
分类:
其他好文 时间:
2020-09-17 22:41:11
阅读次数:
19
问题: JVM安全点是什么概念? finally是如何实现的?finally中抛出异常会怎么样? 1.JVM安全点是什么概念? 安全点就是某些记录线程此时调用栈、寄存器等一些重要的数据区域里什么地方包含了GC要管理的指针(对象引用),而这些对象引用是通过OopMaps结构进行记录的,可以直接通过对O ...
分类:
其他好文 时间:
2020-09-17 22:19:26
阅读次数:
33
jvm是如何进行方法的调用的? 方法重载:方法名相同,参数类型不同的一组方法的关系,叫做方法重载。在编译阶段就能够确定具体调用哪个重载方法。 方法重写:子类方法跟父类的方法名参数类型一样,叫做方法重写。会根据调用者的动态类型选取实际的目标方法。 java虚拟机会根据方法描述判断方法是否重写。非私有, ...
分类:
其他好文 时间:
2020-09-17 20:52:44
阅读次数:
29