Java基础
文章平均质量分 61
啊狸的Java
7年java开发经验,对dubbo,spring,springmvc,springboot,springCloud,mybatis等框架使用多年,并了解部分源码,熟悉设计模式,了解jvm、多线程、nio等,对tomcat优化,mysql优化有深入了解
展开
-
一篇文章带你揭开 Java Instrumentation 的原理
文章目录一、前言二、热部署初识三、Java Instrumentation四、Java Instrumentation 静态代码示例五、Java Agent 示例 —— attach的使用一、前言日常开发中避免不了,修改了代码重新启动应用去验证问题,如果没有热部署,则需要每次修改完就去编译代码再启动,这样子的操作看似简单,但很耗时,特别电脑配置不高,或者项目比较大的情况二、热部署初识热部署其实就是在代码运行时去加载我们动态现在修改过的代码到服务器上,诸如 SpringBoot的devtools插原创 2021-10-28 22:47:49 · 1670 阅读 · 0 评论 -
Mysql一条select语句的执行过程
mysql的执行流程:query Cache:是缓存sql结果集的内存缓冲区,是将sql的hash值作为key,结果集作为value存放,目的是提高查询效率,但如果query cache中关联的表的数据或结构发生变化,则query cache中关于这张表的数据都会被清空,这个过程会占用服务器的资源,如果表的数据量大,则占的资源也会多,mysql在version8中已经去掉这个功能。详细介绍SQL解析器:sql解析器 会将sql按照关键字打碎成一段段的语句,比如 select * from a这条原创 2021-05-06 14:07:30 · 290 阅读 · 0 评论 -
Volatile关键字的原理
Volatile关键字的原理Java内存模型的3大特性Volatile关键字的原理Java内存模型的3大特性Java 内存模型的3大特性分别是 : 原子性、可见性、有序性原子性:世界上最小的单元是原子,不可再分割比如:a=1,这个操作就是最小的单元,不可以再分割,这个就是一个原子操作再比如:a++,等同于 a=a+1,这个操作可以拆分为3个步骤,第一步是获取变量a的值,第二步是将变量a 加 1得到结果值,第三步是将结果值赋值给a,这个这是一个非原子操作,非原子操作都是有线程安全,存在线程安全问题的原创 2021-02-01 22:42:31 · 262 阅读 · 2 评论 -
java的4种引用类型
StrongReference(强引用)写法:Test test = new Test() 这是最常见的引用类型,也是最牢固的引用类型,当jvm发生gc时,对象被引用不会被gc回收,jvm内存满了将要发生OOM(out of memory)的时候,强引用类型也不会被回收SoftReference(软引用)写法:SoftReference<String> softRefer...原创 2018-08-08 16:44:26 · 1291 阅读 · 0 评论