- 博客(10)
- 收藏
- 关注
原创 天使与魔鬼同在的Unsafe类详解
public final class Unsafe { private Unsafe() { } @CallerSensitive public static Unsafe getUnsafe() { Class var0 = Reflection.getCallerClass(); if (!VM.isSystemDomainLoader(var0.getClassLoader())) { throw new Secu
2021-04-12 23:51:24 136
原创 Synchronized与Lock的区别
相同点:1.都是独占锁,互斥访问临界资源2.都是可重入锁不同点:1.synchronized可以隐式释放锁,Lock需要手动释放锁2.synchronized是关键字 lock是一个接口3.Lock锁的粒度更低 synchronized多个线程访问资源会一直等待 lock可以处理其他业务(tryLock)4.synchronized 不可以中断 Lock可以中断5.synchronized少量代码同步问题 Lock可以放在大量代码上锁(性能差别)...
2021-04-11 23:59:01 115
原创 BeanFactory和FactoryBean区别
Spring BeanFactory中有一段这样的描述对FactoryBean的转义定义 因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象如果需要得到工厂本身 需要转义public interface BeanFactory { /** * Used to dereference a {@link FactoryBean} instance and distinguish it from * beans <i>created</i>.
2020-06-23 14:23:21 194
原创 java序列化
应用场景: rpc框架中数据传输常见的序列化方式: Java原生序列化、xml、json、hessian、protobuffer、avro...以下演示Java原生序列化方式:Java原生序列化缺点: 1.序列化数据比较大 2.无法跨语言传输序列化前提 必须实现Serializable接口public class User implements Serializable { private static final long serialVersionUID = -21
2020-06-15 22:27:18 123
原创 从原理层面分析ClassLoad加载机制
运行时序图:装载器启动类装载器装载核心类库 jdk根目录下的jar包扩展类装载器装载jdk home/lib/ext 目录下的jar系统类装载器classpath 下的jar自定义类装载器双亲委派机制package java.lang;public class String { public static void main(String[] args) { }}sout:错误: 在类 java.lang.String 中找不
2020-06-15 16:58:50 168
原创 java软引用、弱引用、虚引用、强引用
了解软、弱、虚、强 引用的目的1.了解对象的生命周期2.合理的使用对象的生命周期,使得JVM能够合理的回收,避免OOM异常强引用的回收条件:1.脱离作用域(对象声明在方法内部,当方法执行完毕)2.强引用对象设置成null static Object object=new Object(); public static void main(String[] args) { Object ob=object; object=null; Sy
2020-06-09 10:51:37 140
原创 Java受检异常和非受检异常
所有的异常都继承自java.lang.ThrowableJDK中的异常体系Error表示错误 底层和硬件的错误 与程序本身无关 这类错误无法被捕获 也不应被捕获Exception表示异常 程序本身错误,因为逻辑错误或程序不够严谨造成 可以被捕获 也可以不捕获 如果不主动捕获则会被JVM自身去处理(非受检异常)RuntimeException:运行时异常 是指编译时无法获知的错误 可以捕获也可以不捕获 比如NullPointerException(受检异常)Checke
2020-06-09 10:45:36 1127
原创 zabbix添加监控主机
zabbix添加监控主机安装rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpmyum clean allInstall Zabbix agent(安装zabbix监控组件)yum install zabbix-agent配置zabbix -agentvim /etc/zabbix/zabbix_agentd.confHostname=db01
2020-05-26 11:54:41 280
原创 zabbix 4.4 安装指南 记一次安装过程
zabbix安装教程:安装前提:关闭防火墙1:rpm安装#安装rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm#清空无关yumyum clean all2.安装Zabbix服务器和代理#安装Zabbix服务器和代理yum install zabbix-server-mysql zabbix-agent3.安装Zabbix前端yum inst
2020-05-18 16:45:45 2907
原创 druid数据库加密,mysql8.0,druid1.1.21
使用框架版本:1.springboot:2.1.10.RELEASE2.druid:1.1.213.druid-spring-boot-starter:1.1.21(pom中就单独引入它就够了,不需要重复引入druid)3.mysql:8.04.mysql驱动:8.0.17事发原因:闲来无事,想看下druid的数据库密钥加密是怎么玩的!我开始也不会配置啊,怎么办呢??那就巴拉巴拉的...
2019-11-24 09:55:48 1954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人