标签:swap

Java

面试必备:Java线程池解析

18

puefu.he 发布于 2019-07-15

前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 经典面试题 面试问题1:Java的线程...

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

Java

Go面向对象编程以及在Tendermint/Cosmos-SDK中的应用

hellas 发布于 2019-07-13

大家都知道,Go不是 面向对象 (Object Oriented,后面简称为 OO )语言。本文以 Java 语言为例,介绍传统OO编程拥有的特性,以及在Go语言中如何模拟这些特性。文中出现的示例代码都取自Cosmos-SDK或Tendermint源代码。以下是本文将要介绍的OO...

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

Java

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释

8

hellas 发布于 2019-07-13

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释 引言: 学习一个java并发编程工具的时候,我们首先要抓住这三点: 状态 一般是一个state属性,它基本是整个工具的核心,通常整个工具都是在设置和修改状态,很多方法的操作都依赖于当前状态是什么。 由于状态是全局共享...

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

Java

类的加载机制,双亲委派模型,搞定大厂高频面试题

40

刘莉莉 发布于 2019-07-12

看过这篇文章,大厂面试你「双亲委派模型」,硬气的说一句,你怕啥? 读该文章姿势 打开手头的 IDE,按照文章内容及思路进行代码跟踪与思考 手头没有 IDE,先收藏,回头看 (万一哪次面试问了呢) 需要查看和拷贝代码,点击文章末尾出「阅读原文」 文章内容相对较长,所以添加了目录,如...

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

Java

ReentrantLock 实现原理笔记(一)

28

小丁 发布于 2019-07-11

exclusive : adj. (个人或集体) 专用的,专有的,独有的,独占的; 排外的; 不愿接收新成员(尤指较低社会阶层)的; 高档的; 豪华的; 高级的 reentrant : 可重入; 可重入的; 重入; 可再入的; 重进入 一切从 Thread 线程开始 独占线程 e...

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

Java

录了个JVM视频

1

songhua.gao 发布于 2019-07-11

本次主要讲2件事情: 视频已经上传到b站。 视频入口 视频的ppt也可以获取了。 jvm入门 PPT 第一次尝试录制视频,JVM现在的确越来越重要,如果你经常注意面试题,你会发现现在面试题多多少少会含有jvm相关的面试题。并且实际工作也经常遇到,随着互联网的发展,高并发高可用、快...

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

Java

小白的 ReentrantLock 源码略谈

3

zhuangli 发布于 2019-07-11

ReentrantLock (简称RLock) 是Java的一种锁机制。从API上看,RLock提供了公平锁与非公平锁,并提供了当前锁状态监测的一些接口。其内部是由 FairSync 与 NonFairSync 来实现锁资源的抢占与释放。下面我们来学习下其源码。 从最直白的方法入...

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

Java

JVM之垃圾回收(二)

5

小丁 发布于 2019-07-08

之前对标记和清除垃圾收集的介绍主要是理论性的。在实践中,需要进行大量的调整,以适应真实的场景和需求。举个简单的例子,为了安全地继续分配对象,JVM还需要做以下事情。 碎片和压缩 每次清理垃圾时,JVM必须确保填充了不可访问对象的区域可以重新使用。这可能会导致内存碎片,这与磁盘碎片...

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

Java

Week 1 – Java 多线程 – CAS

3

likai 发布于 2019-07-07

前言 学习情况记录 时间:week 1 SMART子目标 :Java 多线程 记录在学习线程安全知识点中,关于 CAS 的有关知识点。 线程安全是指:多个线程不管以何种方式访问某个类,并且在主调代码中不需要进行同步,都能表现正确的行为。 常见的线程安全实现方法分为不可变对象、线程...

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

Java

让人抓头的Java并发(三) 强大的AQS!

2

yeseng 发布于 2019-07-07

前两篇文章介绍了多线程和线程池的一些概念,在这一篇终于要介绍JUC中非常重要的一个基础组件AQS了! AQS简介 AQS是队列同步器AbstractQueuedSynchronizer的简称,是用来构建锁和其他队列同步组件(ReentrantLock、CountDownLatch...

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

Java

JDK源码那些事儿之并发ConcurrentHashMap下篇

1

hanze 发布于 2019-07-06

上一篇文章已经就ConcurrentHashMap进行了部分说明,介绍了其中涉及的常量和变量的含义,有些部分需要结合方法源码来理解,今天这篇文章就继续讲解并发ConcurrentHashMap 前言 本文主要介绍ConcurrentHashMap中的一些重要方法,结合上篇文章中的...

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

Java

Java中方法参数的总结

xiaoli.he 发布于 2019-07-05

方法参数 方法得到的都是所有参数值的拷贝,方法不能修改传递给它的任何参数变量的内容。 参数共有两种类型: 基本数据类型 对象引用 除了基本数据类型的都是对象引用,包括数组等等。 很容易得知,一个方法不可能改变一个基本数据类型的参数,下面讨论参数的对象的情况。 下面这个方法可以将一...

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

Java

工具类算法–快排的优化(Java)

8

邓龙华 发布于 2019-07-05

快速排序(quick sort)是算法题中经常遇到的工具类算法,所谓工具类算法就是存在很多的算法或者思考题是基于相同思想进行解答的,那么这类算法被考察的概率很高,对于这类算法的思考和探究也就十分有意义! 快排也是在实践中应用非常广泛的一种排序算法, 特别是在C++或对Java基本...

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

Java

java.util.concurrent 同步器框架详解

5

yeseng 发布于 2019-07-05

引言 一般的应用系统中,存在着大量的计算和大量的 I/O 处理,通过多线程可以让系统运行得更快。但在 Java 多线程编程中,会面临很多的难题,比如线程安全、上下文切换、死锁等问题。 线程安全 引用 《Java Concurrency in Practice》 的作者 Brian...

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

Java

一次 Young GC 的优化实践(FinalReference 相关)

6

changyuan.xu 发布于 2019-07-05

本文转载自公众号:涤生的博客,阅读时间大约需要11分钟。涤生的文章看起来跟破案一样,很精彩,很有启发。 前言 博客已经好久没有更新了,主要原因是 18 年下半年工作比较忙,另外也没有比较有意思的题材,所以迟迟没有更新。 此篇是 18 年底的微信上的某同学提供的一个 Young G...

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

Java

java.util.concurrent 同步器框架详解

5

Harries 发布于 2019-07-05

一般的应用系统中,存在着大量的计算和大量的 I/O 处理,通过多线程可以让系统运行得更快。但在 Java 多线程编程中,会面临很多的难题,比如线程安全、上下文切换、死锁等问题。 线程安全 引用 《Java Concurrency in Practice》 的作者 Brian Go...

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

编程技术

阿里架构师浅析ThreadLocal源码——黄金分割数的使用

11

zhuangli 发布于 2019-07-03

一. 前提 最近接触到的一个项目要兼容新老系统,最终采用了ThreadLocal(实际上用的是InheritableThreadLocal)用于在子线程获取父线程中共享的变量。问题是解决了,但是后来发现对ThreadLocal的理解不够深入,于是顺便把它的源码阅读理解了一遍。在谈...

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