标签:swap

Java

作为高级Java,你应该了解的Linux知识(纯总结,非广告)

3

Harries 发布于 2019-11-13

本文经授权转载自微信公众号: 小姐姐味道 作为一个javaer,我以前写过很多关于Linux的文章。但经过多年的观察,发现其实对于大部分人,有些东西压根就用不着。用的最多的,就是到线上排查个问题而已,这让人很是苦恼。那么,我们就将范围再缩小一下。 Linux 命令好像还真不少,根...

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

Java

聊聊你对 AQS 的了解

1

Harries 发布于 2019-11-13

AQS是一个并发包的基础组件,用来实现各种锁,各种同步组件的。 包含了state变量、加锁线程、等待队列等并发中的核心组件。 AQS全称是队列同步器AbstractQueuedSynchronizer,是用来构建锁或者其他同步组件的基础框架。 它使用了一个int成员变量表示同步状...

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

Java

Java并发编程(二)——并发级别

1

darida 发布于 2019-11-11

由于临界区的存在,多线程之间的并发必须受到控制。根据控制并发的策略,可以把并发分为几个级别:阻塞、无饥饿、无障碍、无锁、无等待。 1.阻塞 当一个线程等待由其他线程占有的资源,并且在资源被释放之前当前线程无法继续执行,这时我们称这个线程为“ 阻塞 ”的。当我们使用synchron...

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

Java

并发艺术(二)一玩到底,玩透JAVA各种锁机制

5

刘莉莉 发布于 2019-11-11

原创技术文章,版权归作者所有,若转载请标明出处 公众号,待定,原公众号长期试灰已被冻结 前言 上篇文章介绍了多线程的原理及其意义,在文末提出了线程安全的问题,这也是我们在高并发下常常听到的词。本文主要介绍在单实例服务中,我们如何快速上手使用 jdk 为我们提供的锁机制,并了解其原...

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

Java

手把手教你实现热更新功能,带你了解 Arthas 热更新背后的原理

10

hanze 发布于 2019-11-10

一、前言 一天下午正在摸鱼的时候,测试小姐姐走了过来求助,说是需要改动测试环境 mock 应用。但是这个应用一时半会又找不到源代码存在何处。但是测试小姐姐的活还是一定要帮,突然想起了 Arthas 可以热更新应用代码,按照网上的步骤,反编译应用代码,加上需要改动的逻辑,最后热更新...

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

Java

JDK源码那些事儿之ConcurrentLinkedQueue

10

xirruiqiang 发布于 2019-11-09

阻塞队列的实现前面已经讲解完毕,今天我们继续了解源码中非阻塞队列的实现,接下来就看一看ConcurrentLinkedQueue非阻塞队列是怎么完成操作的 前言 JDK版本号:1.8.0_171 ConcurrentLinkedQueue是一个基于链表实现的无界的线程安全的FIF...

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

Java

Java编程思想——第17章 容器深入研究(two)

xiaoli.he 发布于 2019-11-08

六、队列 排队,先进先出。除并发应用外Queue只有两个实现:LinkedList,PriorityQueue。他们的差异在于排序而非性能。 一些常用方法: 继承自Collection的方法: add 在尾部增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepepl...

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

Java

HashMap源码解析

2

尖兵 发布于 2019-11-08

HashMap作为java中最常用的集合类之一,虽然在平时工作中经常要使用它,但是对于它的实现原理一直只是停留在从网上各处搜集的"哈希表+链表+红黑树"的概念中,对于它具体的实现原理只是半知半解。因此死磕了下它的源码,现对主要源码进行注释并加了个人的一些理解分...

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

Java

史上最全 Java 中各种锁的介绍

1

dulong 发布于 2019-11-08

更多精彩原创内容请关注: JavaInterview ,欢迎 star,支持鼓励以下作者,万分感谢。 锁的分类介绍 乐观锁与悲观锁 锁的一种宏观分类是 乐观锁 与 悲观锁 。乐观锁与悲观锁并不是特定的指哪个锁(Java 中也没有那个具体锁的实现名就叫 乐观锁或悲观锁),而是在并发...

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

Java

Linux性能分析

6

yeseng 发布于 2019-11-06

生产环境服务器变慢,诊断思路和性能评估 整机:top 代码 public class JavaDemo2 { public static void main(String[] args) { while (true){ System.out.println(new java.ut...

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

Java

乐观锁?悲观锁? 这篇文章告诉你该怎么选择

zhuangli 发布于 2019-11-06

1. 乐观锁 乐观锁顾名思义就是在操作时很乐观,认为操作不会产生并发问题(不会有其他线程对数据进行修改),因此不会上锁。但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用 版本号机制 或 CAS(compare and swap) 算法实现。 简单理解:这里的数据...

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

Java

spring源码系列10:AOP代理对象的执行

xiaoli.wang 发布于 2019-11-05

说完了AOP代理对象的创建,事务代理对象的创建,这文,讲讲AOP代理对象执行 回顾: 静态代理与JDK动态代理与CGLIB动态代理 Spring中的InstantiationAwareBeanPostProcessor和BeanPostProcessor的区别 spring源码系...

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

编程技术

linkerd2 proxy destination 学习笔记

2

小丁 发布于 2019-10-29

作者: 哗啦啦 mesh团队,热衷于kubernetes、devops、apollo、istio、linkerd、openstack、calico 等领域技术。 linkerd2介绍 Linkerd由 控制平面 和 数据平面 组成: 控制平面 是在所属的 Kubernetes命名...

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

Java

作为高级Java,你应该了解的Linux知识

4

刘莉莉 发布于 2019-10-28

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。 软件领域有两种人才,一种是工程型的,一种是研究型的。在Linux领域里,相对于搞内核研究的来说,搞命令行的就属于工程型。工程型也有他自己的苦衷,比如,背诵命令就挺痛苦的,一般来说不太推荐背诵,第一覆盖的...

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

Java

LongAdder

3

邓龙华 发布于 2019-10-27

LongAdder是jdk8新增的用于高并发环境的计数器。 Atomicxxx使用硬件级别的指令CAS来更新计数器的值,在高并发的情况下每次只能有一个线程能成功,竞争失败的线程会非常多,白白浪费了很多cpu事件,因为竞争失败的线程会自旋。 jdk8的AtomicLong: // ...

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

Java

JDK源码那些事儿之LinkedTransferQueue

2

changyuan.xu 发布于 2019-10-26

在JDK8的阻塞队列实现中还有两个未进行说明,今天继续对其中的一个阻塞队列LinkedTransferQueue进行源码分析,如果之前的队列分析已经让你对阻塞队列有了一定的了解,相信本文要讲解的LinkedTransferQueue的源码也能很快被理解,接下来一起学习吧 前言 J...

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

Spring

Eureka客户端续约及服务端过期租约清理源码解析

1

xubiao.zhuang 发布于 2019-10-23

在之前的文章: EurekaClient自动装配及启动流程解析 中,我们提到了在构造 DiscoveryClient 时除了包含注册流程之外,还调度了一个心跳线程: scheduler.schedule( new TimedSupervisorTask( "heartb...

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

Java

SpringAop源码分析(基于注解)四:拦截器链

5

hellas 发布于 2019-10-22

在之前的文章我们分析了通知器的创建与筛选和AOP创建代理对象的过程,现在代理对象已经有了,接下来我们看一下是如何执行通知器的逻辑的。 前言 通过阅读这篇文章,可以了解到以下几个问题: 通知的是如何起作用的? 多个通知的执行顺序是怎样的? 多个切面的多个通知的执行顺序是怎样的? @...

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