标签:并发编程

Java

java 并发编程之共享变量

4

Harries 发布于 2019-09-19

可见性 如果一个线程对共享变量值的修改, 能够及时的被其他线程看到, 叫做共享变量的可见性. Java 虚拟机规范试图定义一种 Java 内存模型 (JMM), 来屏蔽掉各种硬件和操作系统的内存访问差异, 让 Java 程序在各种平台上都能达到一致的内存访问效果. 简单来说, 由...

阅读(10)评论(0)赞 (0)

Java

Java内存模型(JMM)

8

xirruiqiang 发布于 2019-09-19

在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在 happens-before 关系。 happens-before 原则非常重要,它是判断数据是否存在竞争、线程是否安全的主要依据,依靠这个原则,我们解决在并发环境下两操作之间是否可能存在冲突...

阅读(11)评论(0)赞 (0)

Java

浅谈 volatile 实现原理

2

puefu.he 发布于 2019-09-19

synchronized 是一个重量级的锁,的 volatile 则是轻量级的 synchronized ,它在多线程开发中保证了共享变量的“可见性”。如果一个变量使用 volatile ,则它比使用 synchronized 的成本更加低,因为它不会引起线程上下文的切换和调度。...

阅读(10)评论(0)赞 (0)

Java

包邮送30本Java&Python&AI方面的技术书籍

10

yanxinchi 发布于 2019-09-19

读书好处 1.可以使我们增长见识. 2.可提高我们的阅读能力和写作水平. 3.可以使我们变的有修养. 4.可以使我们找到好工作. 5.可以使我们在竞争激烈的社会立于不败之地. 6.最大的好处是可以让你有属于自己的本领靠自己生存. 7.可以让自己减轻生活中的压力,平静自己的内心。 ...

阅读(7)评论(0)赞 (0)

Java

重学Java(一):与《Java编程思想》的不解之缘

2

xiaoli.wang 发布于 2019-09-18

说起来非常惭愧,我在 2008 年的时候就接触了 Java,但一直到现在(2018 年 10 月 10 日),基础知识依然非常薄弱。用一句话自嘲就是: 十年 IT 老兵,Java 菜鸡一枚 。 于是,我想,不如静下心来,重新读一遍那些经典的 Java 技术书,并且没读完一章就输出...

阅读(12)评论(0)赞 (0)

Java

Java多线程之原子操作类

1

wenming.gapo 发布于 2019-09-18

在并发编程中很容易出现并发安全问题,最简单的例子就是多线程更新变量i=1,多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一...

阅读(13)评论(0)赞 (0)

Java

Java工程师的成长路线图是什么?

5

Harries 发布于 2019-09-18

我经常能听到一些同学困惑,“面试造火箭,天天拧螺丝”,每天进行重复的业务开发,似乎自己的能力被日常工作限制,无法突破提高自己的能力水平。 我想说, 难道懂得如何造火箭,还能没有实际价值吗? 它的价值在于,当真的出现不可预测的、具有挑战性的任务时,你能不能 Hold 住。 比如说,...

阅读(13)评论(0)赞 (0)

Java

Java 线程生命周期

3

xiaoli.wang 发布于 2019-09-16

关注公众号 JavaStorm 在操作系统层面,线程也有 【生命周期】,这是并发编程的基础我们需要掌握其中 生命周期中各个节点的状态转换机制 以及持有锁状态。文本将会介绍系统的周期以及在 Java编程语言的生命周期区别。打通并发编程任督二脉需要将基本心法牢牢掌握。 通用的生命周期...

阅读(10)评论(0)赞 (0)

Java

学编程的起点——高级语言大锅烩

5

dulong 发布于 2019-09-16

学编程的起点——高级语言大锅烩 前言: 学知识前总想说点鸡汤,想喝的朋友就看看,不想喝的就直接看干货吧,就当鸡汤是给我自己喝的。 前段时间在网上看了一句话感觉挺触动我的,我做个分享: 如果你觉得你的祖国不好,你就去建设它; 如果你觉得政府不好,你就去考公务员去做官; 如果你觉得人...

阅读(18)评论(0)赞 (0)

Java

Java 并发编程(二):如何保证共享变量的原子性?

2

xubiao.zhuang 发布于 2019-09-16

线程安全性是我们在进行 Java 并发编程的时候必须要先考虑清楚的一个问题。这个类在单线程环境下是没有问题的,那么我们就能确保它在多线程并发的情况下表现出正确的行为吗? 我这个人,在没有副业之前,一心扑在工作上面,所以处理的蛮得心应手,心态也一直保持的不错;但有了副业之后,心态就...

阅读(7)评论(0)赞 (0)

Java

java系列之初始虚拟机

2

小丁 发布于 2019-09-15

JVM不单单只支持Java语言,也支持其他语言(Scala、Kotlin、Groovy等等) 区块链2.0–以太坊(比特币是区块链1.0) 中提供了EVM的虚拟机,它的实现和JVM类似,基于栈、生成脚本编译成字节码来执行。知识通用。(理论大于实际) 虚拟机历史 了解即可,无需关注...

阅读(15)评论(0)赞 (0)

Java

java系列之多线程与Android多线程性能优化

10

zhuangli 发布于 2019-09-15

多核心:也指单芯片多处理器( Chip Multiprocessors,简称CMP),CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。这种依靠多个CPU同时并行地运行程序是实现超高速计算的一个重要...

阅读(11)评论(0)赞 (0)

Java

列举玩公众号副业月入3万的,阿里,腾讯,拼多多,大佬!

8

yeseng 发布于 2019-09-15

信息爆炸的时代更需要“断舍离” 定期清理公众号也是持续成长学习的秘诀 但不论你取关多少 总有一些优质公众号值得你关注 这里有几个公号擅长的领域不一样,有擅长JVM的、Java并发的、消息中间件的、分布式架构的、微服务的,大家按需关注。 Java技术驿站 Java技术驿站:一个专注...

阅读(16)评论(0)赞 (0)

编程技术

少刷抖音、高效利用碎片时间,关注精品课和公众号

6

songhua.gao 发布于 2019-09-13

公众号发展到今天,其种类和数量繁多,经常看的人眼花缭乱,技术圈也不例外,要从中挑出值得信赖的原创作者与优质内容,是一件很费精力的事情。 所以,今天给大家精心推荐一些行业里做的非常用心的原创公众号,覆盖不同的技术领域,相信一定能给大家的成长有一些帮助。 每一个公众号都是一个特色的图...

阅读(16)评论(0)赞 (0)

Java

超详细!AQS(AbstractQueuedSynchronizer)源码解析

2

darida 发布于 2019-09-10

Doug Lea 在 java.util.concurrent (JUC)中提供一套基础工具用于帮助开发者更加方便的开发并发程序,包括 Lock 、 Semaphore 、 CountDownLatch 、 CyclicBarrier 等等,而实现这些类的实现都借助了一个能够控制...

阅读(19)评论(0)赞 (0)

Java

Java相关

Harries 发布于 2019-09-10

HashMap的实现原理 HashMap是一个散列桶(数组和链表组成)。插入一个键值对的步骤: 1)对key的hashCode做hash,再计算下标; 2)如果没碰撞直接放到桶中(碰撞的意思是计算得到的hash值相同,需要放到同一个bucket中); 3)如果碰撞了,调用equa...

阅读(20)评论(0)赞 (0)

Java

「每日五分钟,玩转JVM」:对象内存布局

8

xiaoli.wang 发布于 2019-09-10

一个对象根据不同情况可以被划分成两种情况,当对象是一个非数组对象的时候,对象头,实例数据,对齐填充在内存中三分天下,而数组对象中在对象头中多了一个用于描述数组对象长度的部分 对象头 对象头分为两部分,第一部分称之为**"Mark Word" ,第二部分是用于获...

阅读(14)评论(0)赞 (0)

Java

去哪儿网 Java 应用诊断工具 Bistoury 开源

3

dulong 发布于 2019-09-06

最近我们在 Github 上开源了去哪儿网内部的 Java 应用诊断工具 Bistoury,本文将从 Bistoury 是什么、为什么做 Bistoury、Bistoury 能干什么这几个方面对 Bistoury 进行介绍。 Bistoury 是什么 Bistoury 是去哪儿网...

阅读(37)评论(0)赞 (0)