- 博客(9)
- 资源 (12)
- 收藏
- 关注
原创 Synchronized和Lock接口的区别
简介既然有了synchronized,为啥还要提供Lock接口呢?也许你会说Lock接口比synchronized性能高。在jdk1.5之前确实如此,但是在jdk1.6之后,通过对synchronized的优化(锁的升级)后,两者性能差不多了。Lock接口直接来看Lock接口的定义,Lock接口提供一系列的基础函数 // 获取锁,获取不到lock就不罢休,不可被打断,即使当前线程被中断,线程也一直阻塞,直到拿到锁。 void lock(); /** *
2021-03-17 11:09:36
193
原创 深入分析Synchronized原理
一 、基本使用Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:1、原子性:确保线程互斥的访问同步代码;2、可见性:保证共享变量的修改能够及时可见,其实是通过Java内存模型中的“对一个变量unlock操作之前,必须要同步到主内存中;如果对一个变量进行lock操作,则将会清空工作内存中此变量的值,在执行引擎使用此变量前,需要重新从主内存中load操作或assign操作初始化变量值”来保证的;3、有序性:有效..
2021-03-15 13:21:21
242
原创 Linux top命令的用法详解
概述top命令是Linux下常用的性能分析工具,常用来监控Linux的系统状况,比如cpu、内存的使用等。相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况。top使用方法top [-] [d] [p] [q] [c] [C] [S] [s] [n]参数说明:d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用回车(Enter)交互命令来改变之。 p 通过指定监控进程ID来仅仅监控某个进程的状态。 q 该选项将使top没有任何延迟的进行刷新。如果调用
2021-03-10 17:12:19
5337
原创 JVM内存分析工具之jmap
概述命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。jmap 用法参数:option: 选项参数。 pid: 需要打印配置信息的进程ID。 executable: 产生核心dump的Java可执行文件。 core: 需要打印配置信息的核心文件。 server-id 可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务.
2021-03-03 16:51:20
326
1
原创 JVM统计监测、性能分析工具之jstat
1.jstat命令简介 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。 命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]2.使用详情列表 以下的统计空间单位,未标明的,都是KB 1>类加载统计 命令:jstat -class 19570...
2021-03-03 16:11:46
215
1
原创 JVM线程分析工具之jstack
背景服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程?当然一个正常的程序员不会写出上述代码,这里只是为了让一个线程占用较高的cpu资源。top命令在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序1、上图中可以看出pid为2709的java进程占用了较多的cpu资源;2、通过top -Hp 2709可以查看该进程下各个线程
2021-03-03 13:54:32
1145
2
原创 Springboot通过devtools实现热部署
Spring Boot提供了一个名为spring-boot-devtools的模块来使应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。修改之后可以实时生效,需要添加以下的配置: <dependencies> <!-- 热部署 --> <dependency> <groupId>org.springfr...
2019-11-29 11:22:30
136
转载 @Pointcut注解表达式介绍
1 表达式类型标准的Aspectj Aop的pointcut的表达式类型是很丰富的,但是Spring Aop只支持其中的9种,外加Spring Aop自己扩充的一种一共是10种类型的表达式,分别如下。execution:一般用于指定方法的执行,用的最多。 within:指定某些类型的全部方法执行,也可用来指定一个包。 this:Spring Aop是基于代理的,生成的bean也是一个代...
2019-11-20 14:59:29
10852
1
转载 Java元注解
注解(Annontion)是Java5开始引入的新特征。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。1、元注解 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解有以下几种:...
2019-11-19 11:22:45
132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人