java线程安全与锁优化(三) 回顾:在前两篇文章中主要都是记录了线程安全相关概念与如何实现线程安全。在实现线程安全的过程中有一个反复提及的名词——锁,通过对一个对象或一个程序块、方法加锁让其在同一时间只能被一个线程操作从而达到线程安全。加锁虽然解决了数据共享和竞争的问题但也带来了很多其他问题:线程阻塞、死锁、程序执行效率低下等等。为了在线程之间更高效的共享数据、解决竞争从而提高程序执行效率,JVM对锁做了许多的优化。 问题:...
java线程安全与锁优化(二) 上一篇文章中我们从StringBuilder与StringBuffer的区别开始引申出线程安全相关的概念与对线程安全的“安全强度”进行说明与测试。本篇文章我们将继续对java线程安全与锁优化进行学习。(不足或有错误之处,欢迎指正) 三、如何保证线程安全 回顾:前文中对线程安全 通过“安全强度”将其分为了 不可变、绝对线程安全、相对线程安全、线程兼容、线程对立5类。其中不可变对象在构建过...
java线程安全与锁优化(一) 最近从关注的公众号Hollis(很不错的阿里大神的公众号)看到一篇关于java面试的文章,主要围绕线程安全与锁展开,随即学习了下,在此记录一下,仅供学习。 一、由StringBuilder与StringBuffer的区别引出线程安全问题 对于StringBuilder与StringBuffer的区别相信大家都能快速回答,StringBuilder是线程不安全的 StringBuffer是线程安...
IDEA快捷键 eclipse快捷键与IDEA快捷键对应表格 Eclipse IntelliJ IDEA Action Shortcut Action Shortcut Code completion Ctrl+Space Basic completion Ctrl+Space -...
Nginx学习笔记(一) 一、Nginx简介 1、关于Nginx具体是什么,能干什么?官网上是这么说的 NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. 中文意思就是说:它是一款免费开源的高性能的HTTP服务器和反向代理,也可以
常用正则式大全 常用正则式大全 说明:收集了一些常用的正则表达式,内容均来自于菜鸟教程 转载请注明出处。 一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数
Hadoop学习笔记(二) Hadoop学习笔记(二)核心组件 Hadoop分布式系统主要包括以下几个核心组件 1、Hadoop Common Hadoop的公共组件,主要是为其他核心组件提供支持 2、Hadoop Distributed File System (HDFS) Hadoop 分布式文件系统, 为应用数据提供高可用的访问。HDFS包括NameNode和DataNode两个
Hadoop学习笔记(一) Hadoop学习笔记(一)环境搭建 1、前期准备 --虚拟机:该笔记的学习过程都在虚拟机中完成 --Linux系统:企业服务器的大多数选择,本人学习中使用的是CentOs7,其他的系统可能在系统命令上存在许多差异。 --JDK安装包:在Linux系统中使用的jdk,版本1.6+就行,本人学习 --Hadoop安装包:本人学习使用的是