
idea
文章平均质量分 56
啊狸的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 · 2005 阅读 · 0 评论 -
CountDownLatch秒杀实现
CountDownLatch是什么? CountDownLatch是一个发令枪,并发控制器,可以阻塞线程,使一个线程等待其他线程执行完再去执行 原理: CountDownLatch是JUC包中的一员,将阻塞里的线程都封装成一个Node节点 加入到AQS队列中,使用的是一个共享锁 当调用countDownLatch.await()方法时,都会将当前线程加入到这个AQS队列中,AQS队列的作用是存放需要获取锁的线程,利用的是一个state状态 去管理锁的状态的 秒杀小例子 //使用AtomicInte原创 2021-02-04 10:50:41 · 392 阅读 · 1 评论 -
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 · 406 阅读 · 2 评论 -
idea一键部署插件 - Cloud Toolkit 安装及使用教程
插件安装: 1、在idea插件市场 搜索 cloud-toolkit ,找到Alibaba cloud Toolkit安装,安装完成需要重启idea 2、在工具栏 能看到Alibaba Cloud就证明插件已安装成功 3、填写邀请码:1FTNZS 配置cloud toolkit 部署信息: 提示:这里可以添加要学的内容 例如: 1、 搭建 Java 开发环境 2、 掌握 Java 基本语法 3、 掌握条件语句 4、 掌握循环语句 配置服务器安放程序包的路径和启动程序的命令: 提示:这里可以添原创 2020-08-31 12:53:58 · 1230 阅读 · 0 评论