自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 volatile关键字

前言昨天跟小万探讨了一下可见性到底是什么问题导致的,自己的理解还是有问题,吓得我赶紧回去复习了一下。volatile作用1、保证线程间的可见性;2、防止指令重排序。可见性在OS中如何实现要从操作系统底层理解volatile的可见性如何实现,需要复习一下计算机组成原理的知识。计算机组成原理如下图:PC 程序计算器:用于存放指令 Registers 寄存器:用于存放从内存中获取的数据 ALU 算数计算器:用于计算 cache:每个cpu都拥有自己的两个高速缓存区L1

2021-02-05 20:09:40 164 1

原创 JVM 垃圾回收器

JVM 垃圾回收器感觉总会忘记之前学过的知识,每次回想起垃圾回收器,知识点在脑海里都是碎片化的。所以,想按照自己的理解和思路,分享一篇有关垃圾回收器的文章。一、什么是垃圾?当一个对象没有被任何的引用指向的时候,就会成为垃圾,可以被垃圾回收器回收。二、如何找到垃圾?现有两种垃圾回收标记算法:引用计数法和根可达算法。1、引用计数法所谓引用计数法,就是在对象头加了一个计算引用数的属性,用来标记对象被引用的数量,当这个数量为0的时候,表明这个对象可以被回收。但是这个算法,无法解决循环

2021-01-20 13:49:12 229

原创 多线程之Synchronized关键字

概述synchronized作为一把重量级锁,效率是偏低的,因为需要惊动操作系统大佬。底层使用的是CAS技术实现,再到最底层即汇编程序就一个指令实现:lock cmpxchg。CAS实现原理CAS全称:compare and exchange。如下图所示,使用while循环读取内存的值E,计算结果值V,比较E和当前新值N是否相等,如何相等,更新内存的值为V,退出。如果不相等,重新读取E值,继续循环。ABA问题:在线程往内存中返回新值的过程中,有可能另外一个线程把原来的A值改为了B,然后又把B

2020-07-29 17:18:42 167

原创 Jenkins+svn自动化部署dubbo服务

前言由于都是新建的dubbo项目,还没上线,尚在内网测试阶段,所以一直没有用工具去打包。都是人工打包更新,要是更新多个服务,是非常繁琐的一个过程,首先要打包接口暴露层的服务,还要打包启动层的服务,然后到服务器就是各种jar包替换,重启等。没办法,这只能自己硬着头皮把这个运维的工作做了。安装Jenkins官网地址:http://pkg.jenkins-ci.org/redhat-stable/安装命令:rmp -ivh jenkins-2.222.1-1.1.noarch.rpm如需修改端

2020-06-19 16:41:48 208

原创 jvm调优之内存泄漏分析

  一、前言      我们都知道严重的内存泄漏会导致内存溢出,内存溢出最终会导致程序崩溃。前段日子,我几乎被这个问题搞到内分泌失调,每个晚上都过得提心吊胆的,生怕一个微信或者电话过来说项目挂了。哎,说多了都是泪,直接进入主题吧。二、问题描述1.部署环境      linux;2.问题发现        项目刚上线的时候,就出现响应慢的问题,甚至直接就502。首先想到的是数...

2018-11-06 20:59:31 867

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除