标签:并发编程

Java

【Java并发】线程安全性

1

wenming.gapo 发布于 2019-02-16

线程安全性 定义:当多个线程访问某个类时,不管运行时环境采用 何种调度方式 或者这些线程将如何交替执行,并且在主调代码中 不需要任何额外的同步或协同 ,这个类都能表现出 正确的行为 ,那么就称这个类是线程安全的。 线程安全性主要体现在三个方面:原子性、可见性、有序性: 原子性 :...

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

Java

Java并发研究 自己写ReentrantLock和ReentrantReadWriteLock(4)

3

xiaoli.he 发布于 2019-02-14

接上篇。在写完ReentrantLock之后,其实可以基于ReentrantLock写一个ReadWriteLock,《the art of multiprocessor programming》第八章有介绍。但是,本着不完全AQS(AbstractQueuedSynchroni...

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

Java

2019年最新Java高级架构面试真题198道,通往BATJ的必经之路!

8

changyuan.xu 发布于 2019-02-13

前言 跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来,期间也没有准备充分,到底是因为技术原因,影响自己的发展,偏移自己规划的轨迹,还是钱给少了,不受重视。准备不充分的面试,完全是浪费时间,更是对自己的...

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

Java

聊聊Java数据库开发的那点事儿

3

yanxinchi 发布于 2019-02-12

无论你开发的是一款PC端的Web应用,还是一款移动端的app,都需要一个数据库来存储你的业务数据(包括电商的商品信息、游戏的道具信息、社交的人员信息等等)。可以说,数据库是后端系统最重要的存储组件。 作为一名Java程序开发人员,你会发现你所完成的大部分代码逻辑最终都是在不断的与...

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

Java

synchronized原理学习笔记

3

hanze 发布于 2019-02-10

同步代码块通过 monitorenter 和 monitorexit 两条指令控制同步代码块的访问 同步方法通过设置 ACC_SYNCHRONIZED 标志符控制(也可以通过上述两条指令来实现) 所有Java对象都会有一个monitor,当monitor被持有后,对象就处于锁定状...

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

Java

一个平凡但不平庸的程序猿2018个人总结

1

zhuangli 发布于 2019-01-31

完整的链接在这里: 一个两年java程序猿的2017个人总结 这里先列举一下去年定的目标: 阅读2本以上的技术相关书籍,并作出相应的实践; 阅读5本以上国内外有意思的书籍; 阅读jdk常用类的源码,能够理解其中的涵义; 能够熟练掌握3个常用的技术框架; 继续坚持每天一万步,一年中...

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

Java

SOFABoot 类隔离原理剖析

4

songhua.gao 发布于 2019-01-29

原创声明 :本文系作者原创,谢绝个人、媒体、公众号或网站 未经授权 转载,违者追究其法律责任。    SOFABoot 是蚂蚁金服中间件团队开源的基于 Spring Boot 的一个开发框架,其在 Spring Boot 基础能力之上,增加了类隔离能力,以更好...

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

Java

比Python、Java更快的 Go 语言,能否称霸江湖?

10

darida 发布于 2019-01-28

文章来源:jb51.net 有一种语言堪称比语言排行榜前五热门选手的Python、Java更快,它就是GO语言。 Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软...

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

Java

比Python、Java更快的 Go 语言,能否称霸江湖?

10

zhuangli 发布于 2019-01-28

文章来源:jb51.net 有一种语言堪称比语言排行榜前五热门选手的Python、Java更快,它就是GO语言。 Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软...

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

Java

码农上工Java实战001-线程池ExecutorService

hellas 发布于 2019-01-26

线程池ExecutorService 一. new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { // TODO Auto-genera...

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

Java

<<Java并发编程实践>>有感 ConcurrentLinkedQueue解读

3

刘莉莉 发布于 2019-01-25

ConcurrentLinkedQueue(上集) 算法实现 CAS CAS的优点 当一个线程执行任务失败不影响其他线程的进行 最大限度的利用CPU资源 能提高程序的伸缩性 伸缩性:不修改任何代码 升级硬件就能带来性能上的提高 升级硬件带来的性能提高明显 就是伸缩性良好 CAS的...

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

Java

实习三个月有感

dulong 发布于 2019-01-24

好久没有更新过博客了,自己总想写点什么,但是总感觉那种想法隐隐约约,写不出来,下不了笔。今天就挑一个三个月实习的主题,记录一下吧。 实习之前:秋招 大四开学前从长沙的比赛中夺得省银,那个时候感觉心里终于舒了一口气。三年了,自己的ACM之路因此也走到了尾声。我也算一个对自己要求比较...

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

Java

cacheline 对 Go 程序的影响

3

xiaoli.wang 发布于 2019-01-24

首先来了解一下来自维基百科上关于CPU缓存的介绍。 在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频...

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

Java

从计算机的角度理解 volatile 关键字

7

xiaoli.he 发布于 2019-01-20

极简计算机发展史 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区。而刚开始用户磁盘和CPU进行交互,CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一矛盾...

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

Java

从团队自研的百万并发中间件系统的内核设计看Java并发性能优化【石杉的架构笔记】

11

刘莉莉 发布于 2019-01-17

(1)大部分人对Java并发仍停留在理论阶段 (2)中间件系统的内核机制:双缓冲机制 (3)百万并发的技术挑战 (4)内存数据写入的锁机制以及串行化问题 (5)内存缓冲分片机制 + 分段加锁机制 (6)缓冲区写满时的双缓冲交换 (7)且慢!刷写磁盘不是会导致锁持有时间过长吗? (...

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

Java

JAVA并发编程–2.synchronied实现原理

1

刘莉莉 发布于 2019-01-15

synchronied实现原理 虚拟机锁原理 虚拟机中对象头部信息 /*hotspot/src/share/vm/oops/oop.hpp*/ class oopDesc { friend class VMStructs; private: volatile markOop _m...

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

Java

JAVA并发编程–1.基础概念

1

xirruiqiang 发布于 2019-01-15

进程线程协程 进程 进程是一个实体。每一个进程都有它自己的地址空间, 文本区域(text region) 数据区域(data region) 堆栈(stack region)。 文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过...

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

Java

旺财和小强的三生三世

4

刘莉莉 发布于 2019-01-15

第一世 旺财和小强是线程池的两个线程, 他们经常做的工作就是对一个数加加减减,用人类的话来说就是存款,取款。 public class Account{     private int balance...

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