- 博客(11)
- 收藏
- 关注
转载 深入理解synchronized底层原理
一、synchronized的特性1.1 原子性1.2 可见性1.3 有序性1.4 可重入性二、synchronized的用法三、synchronized锁的实现3.1 同步方法3.2 同步代码块四、synchronized锁的底层实现五、JVM对synchronized的优化5.1 锁膨胀5.1.1 偏向锁5.1.2 轻量级锁5.1.3 重量级锁5.2 锁消除5.3 锁粗化5.4 自旋锁与自适应自旋锁前言如果某一个资源被多个线程共享,为了避免因为资源抢占导致数据不一致
2022-04-03 16:39:50 254
原创 synchronized 与 ReentrantLock 的 异同
两者的共同点:都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁都保证了可见性和互斥性两者的不同点:ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁ReentrantLock 可响应中断、可轮回,为处理锁的不可用性提供了更高的灵活性;synchronized 是不可以响应中断的,使用 synchronized 时,等待的线程会一直等待下去,不能够响应中断ReentrantLock 是 API 级别的,synchron
2022-03-23 17:06:29 224 2
原创 JVM常见问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-03-01 19:17:37 344
原创 cm6.2搭建遇到“安装失败。 无法安装 cloudera-manager-agent 包”问题
具体内容:BEGIN yum makecacheBDB2053 Freeing read locks for locker 0x15f: 9033/140443655198528Loaded plugins: fastestmirrorhttps://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/repodata/repomd.xml...
2019-10-19 12:48:46 4415
原创 linux 文件权限管理
在操作linux时经常会遇到文件权限问题,下面对该问题做如下总结:drwxr-xr-x解析如下:d:该文件时文件夹 r:可读 w:可写 x:可执行rwx: 对于文件所有者的权限为,可读可写可执行;r-x :第一个表示对于用户所在组为可读可执行;r-x:第二个表示对于其他用户为可读可执行。那么如何更改权限呢?提供两种方式。方式一:chmod 用户+权限 xxxchmod u+x...
2019-08-01 10:49:39 163
原创 如何在centos6环境下配置mysql jdk tomcat,发布项目
一:安装VMware工作站二:安装Linux系统安装centos6版本,挂载镜像(这个过程中可能会遇到虚拟网卡不存在问题),使用桥接模式和nat模式两个网络适配器。—–本过程若出现网卡设备问题,需要去开启enth0 /enth1两块网卡(具体不做详细介绍) (推荐centos7和vamare配合使用)三、安装lrzsz上传下载工具 yum - y install lrzsz(此模块...
2018-09-05 20:07:01 186
转载 在web项目中spring security与cas 结合使用的意义
在进行spring security的描述之前,我想描述一下认证与授权两个概念。 针对于企业级web应用中一个登陆过程,需要完成什么功能。其实就是完成认证与授权。在基于form表单的登陆形式,用户进入系统,在这个过程需要完成认证与授权。 所谓认证,就是当用户试图进入系统,而系统发现用户没有登陆,就调转到登陆页面,然后用户输入用户名,密码,点击登陆按钮,系统进行用户名,密码的 校验过程,称之为...
2018-09-02 14:30:47 3307
原创 如何在eclipse中新建servlet模板
1.首先找到菜单条上的Window并点击出现下拉列,选中下拉列中的Preferences选项跳出如下图结果 Java-Editor-Templates 2.找到其中的java列点开——》找到其中的Editor点开——》找到其中的Templates点击出现如上图结果 点击右侧的新建按钮出现一个类似下图的窗口 3.在界面上的Name和Description中键入如上内容,在下方的Pat...
2018-09-02 11:45:06 288
原创 如何解决虚拟机连接不上本地数据库问题(mysql)
关于mysql远程连接的问题,大家在公司工作中,经常会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接 我们在使用虚拟机连接本地数据库的时候可能会连不上,原因是我们在安装mysql服务的时候没有勾选启用远程连接 那么,如何解决呢? 一、 在命令窗口输入cmd,连接上本地数据库。 二、 查看本地数据库,选择mysql...
2018-08-29 16:18:04 22019 5
原创 使用redis服务存放数据,发现在内存和磁盘都有,如何定义redis中的key
可以实现存放数据的有redis、memcache、ssdb等redis能够实现持久化,将数据序列化到本地磁盘可供备份,有容灾的效果。当服务器断电或其他故障重新启动redis服务后,可以读取磁盘中被持久化的数据。这一点我们可以通过redis前台启动观察,控制台上有日志记录(带有RDB字样的内容),这个过程就是将redis内存中的数据写到磁盘上。为防止数据丢失,需要将 Redis 中的数据从内存...
2018-08-21 20:13:27 5176 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人