自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄桂钊

跟着钊哥,高薪offer都会有

  • 博客(9)
  • 收藏
  • 关注

原创 高并发编程-06-可见性-volatile

1,volatile的作用 volatile是一个轻量级的线程同步机制。它的特性之一,是保证了变量在线程之间的可见性。 当然,还有我们之前说的,解决指令重排的问题 volatile保证了在多个线程之间是可见的,但不能保证原子性操作 当一个线程修改了变量的值之后,其他线程可以感知到 2,volatile vs synchronized synchronized

2018-01-13 17:06:20 182

原创 高并发编程-04-活跃性问题-死锁,活锁,饥饿

死锁,饥饿,活锁 1,死锁 多个线程,各自占对方的资源,都不愿意释放,从而造成死锁 工具:使用jconsole可以检测程序运行的死锁线程 2,饥饿 多个线程访问同一个同步资源,有些线程总是没有机会得到互斥锁,这种就叫做饥饿。 出现饥饿的三种情况 a,高优先级的线程吞噬了低优先级的线程的CPU时间片 理论上来说,线程优先级高的线程会比线程优先级低的线程

2018-01-13 17:04:47 317

原创 高并发编程-03-线程的安全性

之前,我们在前面已经介绍过了线程的安全性,本篇我们将继续来深挖这个问题,继续来探讨什么线程安全,原子性及加锁机制。 1,什么是线程安全? 线程安全,有两个关键词,“共享”和“可变”。 共享是指可以被多个线程同时访问; 可变是指变量的值在生命周期内是可以变化的; 一个对象是否需要线程安全的,取决于它是否被多个线程访问; 而如何保证一个对象的线程安全,则需要采用同步

2018-01-12 10:30:28 169

原创 高并发编程-02-并发编程存在的风险

多线程的高并发编程提高了我们的CPU利用率及简化开发模式,但是又同时给我们带来了风险,使用不当就会有风险,那到底有什么风险?我们来看看 1,线程的安全性问题 假设,我现在编写了一个程序,来保存系统的访问量,如何实现呢? 很简单,我可以设置一个全局变量,然后,每次用户访问一次系统,我就自增1,那么这个程序应该是这样写的,如下: public class System {

2018-01-11 09:21:38 304

原创 高并发编程-01-并发编程的发展历史

其实,在早期计算机并没有包含操作系统,这个时候,这个计算机只跑一个程序,这个程序独享计算机的所有资源,这个时候不存在什么并发问题,但是对计算机的资源来说,确实是一种浪费。 于是,操作系统出现了,操作系统改变了这种现状,让计算机可以运行多个程序,并且不同的程序占用独立的计算机资源,如内存,CPU等。 操作系统的出现,主要有以下几点原因: 1,资源利用率:可以在其他程序执行过程出现等待的

2018-01-11 09:18:25 364

原创 高并发编程-00-创建多线程的7种方式

1,继承Thread 主要掌握:线程的初始化,启动,中断的正确处理方式(interrupted) public class Demo1 {     public static void main(String[] args) {         MyThread thread = new MyThread();         thread.start();  

2018-01-09 22:43:22 1141

原创 高并发编程专题-说明

大家好,并发编程是一个提升程序员level的关键专题,本专题会从理论结合实践逐步深入,尽量用通俗的语言和跑的通的程序来给大家讲解,重点每个地方都会形成一个闭环,让大家真正掌握高并发编程的核心要点,让我们一起来学习,感受技术的乐趣。 最后给大家一个经验之谈,要提升自己的技术逼格,一句话,“不断走出自己的舒适区” 技术说明:本专题会以java作为编程语言,要求大家具备javase的基础知识

2018-01-09 22:41:40 244

原创 JavaEE完整技术体系文章陆续上映!!!

特别申明,将利用工作业务时间,整理相关的技术文档,保证了文档的系统性和完整性为原则,同时也要保证专业性,以给大家提供最完整最专业的学习资料。 业余时间整理,期待大家的关注和支持,谢谢!

2016-08-23 20:22:58 390

原创 搭建Java开发环境,书写你的第一个Java程序

Java体系的划分: l  JavaSE(Java Platform,Standard Edition),java平台标准版 l  JavaME(Java Platform,Micro Edition),java平台微版 l  JavaEE(Java Platform,Enterprise Edition),java平台企业版 那我们要学习JavaEE,JavaSe是必经之路,Ja

2016-08-23 10:30:04 336

空空如也

空空如也

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

TA关注的人

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