Ervin

真正的强者是认清了生活的本质,并且去热爱他的人。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Hello World

发表于 2018-10-18 | 分类于 文章
字数统计: 73 | 阅读时长 ≈ 1

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文 »

JavaGuide之各种锁

发表于 2018-01-05 | 分类于 技术
字数统计: 1.3k | 阅读时长 ≈ 4

背景

多线程的本质其实就是各种线程对静态资源的合理使用问题,怎么能最大限度发挥CPU性能执行任务。锁这种概念就是解决多个线程抢占资源问题的办法,当A线程使用资源时起时不希望B线程也去使用,因为如果同时操作静态资源会导致读写不一致等问题。

各种锁的分类

以下的分类都是站在不同角度对锁这种概念的分类,相互之间并没有必然的关系。

阅读全文 »

JavaGuide之volatile

发表于 2018-01-04 | 分类于 技术
字数统计: 1.9k | 阅读时长 ≈ 6

背景

Java中并发程序正确地执行,必须要保证原子性、可见性以及有序性,只要有一个没有被保证,就有可能会导致程序运行不正确。

  • 原子性:一个操作或者多个操作要么全部执行完成且执行过程中不被中断,要么就不执行。
  • 可见性:当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其它线程能够立即看到修改的值。
  • 有序性:程序执行的顺序按照代码的先后顺序执行。

volatile其实就是解决上面“可见性”的关键字,它可以看作是轻量级的Synchronized,它保证了共享变量的可见性。为什么会存在可见性这种问题呢?下面看下Java的内存模型。

阅读全文 »
1…89
Ervin Zhang

Ervin Zhang

stay hungry, stay foolish

83 日志
3 分类
55 标签
RSS
GitHub E-Mail Twitter
© 2026 Ervin Zhang | Site words total count: 106.5k
本站访客数:次 |
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4