标签:Atom

Java

RocketMQ 快速上手

刘莉莉 发布于 2019-04-26

本快速上手手册,指的是在本地计算机上设置RocketMQ消息传递系统从发送和接收消息的详细说明. 必要环境 64位的操作系统 64位的JDK1.8+ 以上 Maven 3.2.x 以上 Git 4G以上的存储空间用于代理实例 下载和构建发布版 在这里可以下载 4.4.0 正式版的...

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

Java

java锁浅析

1

Harries 发布于 2019-04-26

java开发中进行并发编程时针对操作同一块区域时,如果不加锁会出现并发问题,数据不是自己预计得到的值。我觉得有点像mysql事务中脏读、不可重复读、幻读的问题。加锁的目的是为了保证同一时间只有我一个人操作同一个资源。 如何在代码里面加锁 jdk提供给了我们很多锁的实现方式,用于各...

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

Java

CAS导致的ABA问题及解决

1

xirruiqiang 发布于 2019-04-24

在并发问题中,最先想到的无疑是互斥同步,但线程阻塞和唤醒带来了很大的性能问题,同步锁的核心无非是防止共享变量并发修改带来的问题,但不是任何时候都有这样的竞争关系。 什么是CAS CAS,比较并交换(Compare-and-Swap,CAS),如果期望值和主内存值一样,则交换要更新...

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

Spring

京东面试真题,被问到这些,我也是醉了

songhua.gao 发布于 2019-04-24

←←←←←←←←←←←← 快!点关注 前言 前几天了前公司带的一个新人聊了一会,说了一下他在京东的的面试经历,我感觉挺不错的,就和大家分享一下: 工作两年有余,本人第一份工作是在一家外包公司,第二份工作是在一家做SAAS平台的公司,第一家公司让我入门,进入了软件开发的行业,了解了...

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

编程技术

数据驱动型的 IoT 体系架构设计,第 2 部分: 全异步的通用高性能物联网架构参考实践

xiaoli.he 发布于 2019-04-24

数据驱动型的 IoT 体系架构设计,第 2 部分 全异步的通用高性能物联网架构参考实践 参考实现篇 宋 辰 2019 年 4 月 24 日发布 系列内容: 此内容是该系列 3 部分中的第 # 部分: 数据驱动型的 IoT 体系架构设计,第 2 部分 https://www.ibm...

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

Java

Java虚拟机08——Java内存模型与线程

6

songhua.gao 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

Java

Java虚拟机08——Java内存模型与线程

6

zhuangli 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

Java

Java虚拟机08——Java内存模型与线程

6

xubiao.zhuang 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

Java

Android的Java多线程部简介和Synchronized学习总结

尖兵 发布于 2019-04-18

new Thread() //或者 new Thread(new Runnable()) 复制代码 之后用start()来启动线程。跟代码会发现start()会执行start0()这个native方法,虚拟机调用run方法。有Runnable就会调用传入的runnable的run...

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

Java

什么,你的 ThreadLocal 内存泄漏了?

6

xirruiqiang 发布于 2019-04-18

微信公众号: IT一刻钟 大型现实非严肃主义现场 一刻钟与你分享优质技术架构与见闻,做一个有剧情的程序员 关注可第一时间了解更多精彩内容,定期有福利相送哟。 又是一个风和日丽的早上。 这天小美遇到了一个难题。 原来小美在做用户服务鉴权的时候,需要根据每个请求获取token: //...

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

Java

Android RxLife 一款轻量级别的RxJava生命周期管理库

2

yeseng 发布于 2019-04-17

RxLife是一款轻量级别的RxJava生命周期管理库,代码侵入性极低,随用随取,不需要做任何准备工作,支持在Activity/Fragment 的任意生命周期方法断开管道。 原理 RxLife通过Jetpack 下的 Lifecycle 获取 Activity/Fragment...

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

Java

关于Java内存模型的三个特性

3

邓龙华 发布于 2019-04-16

Java在面对跨平台问题时,重要的一项就是解决硬件和操作系统内存之间的访问。 简要工作逻辑如下图: cpu的处理速度远快于内存的读写速度,因此Java采用 高速缓存 建立其桥梁。 其中protocal协议是为了保证多个进程访问cpu主内存时,多个缓存与主内存数据一致性。 当线程需...

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

Java

《Java并发编程实战》 第二章:线程安全性

5

wenming.gapo 发布于 2019-04-16

线程或者锁在并发编程中的作用,类似于铆钉与工字梁在土木工程中的作用。构建稳健的并发程序,必须正确的使用线程和锁。 其核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问 。 从非正式的意义上说,对象的状态指存储在状态变量(例如实例或静态域)中的数据。对象的状态可能包...

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

Java

LinkedBlockingQueue源码解析

1

yeseng 发布于 2019-04-15

上一篇博客,我们介绍了ArrayBlockQueue,知道了它是基于数组实现的有界阻塞队列,既然有基于数组实现的,那么一定有基于链表实现的队列了,没错,当然有,这就是我们今天的主角:LinkedBlockingQueue。ArrayBlockQueue是有界的,那么LinkedB...

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

Java

Java性能优化:教你提高代码运行的效率

xubiao.zhuang 发布于 2019-04-15

我认为,代码优化的最重要的作用应该是: 避免未知的错误。 在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。 然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,...

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

Java

Netty内存池之PoolArena详解 原 荐

3

changyuan.xu 发布于 2019-04-15

PoolArena 是Netty内存池中的一个核心容器,它的主要作用是对创建的一系列的 PoolChunk 和 PoolSubpage 进行管理,根据申请的不同内存大小将最终的申请动作委托给这两个子容器进行管理。整体上, PoolArena 管理的内存有直接内存和堆内存两种方式,...

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

Java

一篇文章读懂volatile

1

刘莉莉 发布于 2019-04-13

计算机在执行程序代码的时候,实际上执行的是一条条指令,而这些指令,肯定会涉及到数据的读取和写入操作。 在我们的程序中,所定义的变量等临时数据,计算机会放在内存中,也称为主存。 那么问题来了,CPU执行指令的速度是很快的,但是从内存中读取数据和写入数据的过程,相比CPU执行指令的速...

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