标签:queue

Java

这篇 ReentrantLock 看不懂,加我我给你发红包

21

小丁 发布于 2020-01-20

点击蓝色“ zhisheng ”关注我哟 加个“ 星标 ”,一起快乐成长 回答一个问题 在开始本篇文章的内容讲述前,先来回答我一个问题,为什么 JDK 提供一个 synchronized 关键字之后还要提供一个 Lock 锁,这不是多此一举吗?难道 JDK 设计人员都是沙雕吗? ...

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

Java

细嚼慢咽 Java 线程池,你品你细品

2

songhua.gao 发布于 2020-01-20

Photo By Instagram natgeoadventure 问题 13 你好同学,我是今天的面试官。咱们来聊聊平时开发中为什么要使用线程池技术,Java 线程池它具体是怎么实现的 ? 好处多多 假设我们不使用线程池技术,那么就在任务来临时刻启动一个新...

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

Java

了解NonHeap吗?

3

Harries 发布于 2020-01-19

在我们日常的开发过程中,遇到问题除了普通的异常(空指针啊,数组越界啊 and so on),我们遇到的比较大的问题无非就是 OOM ,频繁 FullGC 或者是多线程方面的问题(这块我说不上话:new_moon_with_face:),我们大都数产生的问题也都是与 JVM 相关的...

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

Java

Parallel Stream 的错误实践

1

尖兵 发布于 2020-01-19

一、前言 Java8 Stream 流的出现,极大的简化了业务需求中对集合数据的加工处理操作。虽然好用,但是一旦使用不当,也会带来意想不到的结果,本文记录使用 Parallel Stream 的错误实践。 List<Object> sourceList = ...; ...

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

Java

从源码理解Java虚引用

7

尖兵 发布于 2020-01-19

在jdk1.2之后,java对引用的概念进行了扩充。将引用分为了强引用,软引用,弱引用,和虚引用四种。 强引用:即我们平常说的引用,指在程序代码中普遍存在的引用赋值。在垃圾回收中,只要强引用还存在,那么当前对象就永远不会被回收。 软引用:比强引用弱一级的引用关系。在系统将要发生内...

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

Java

ThreadPoolExecutor 的简单梳理

2

dulong 发布于 2020-01-19

还是楼主惯用的论述三连问,先问是什么,再问为什么,最后祭除终极大杀器 just do it …… what ? 那么什么是线程池呢?总的来说,线程池是一种线程使用模式。线程的频繁创建于调度会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可...

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

Java

谈谈Java的Collection接口

8

xirruiqiang 发布于 2020-01-18

谈谈Collection 前言 这一篇讲的collection接口;首先,集合是用来 存储数据 的,它是基于某种数据结构数据容器。常见的数据结构:数组(Array)、集(Set)、队列(Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和...

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

Java

java面试题-集合类

wenming.gapo 发布于 2020-01-18

准备年后要跳槽,所以最近一直再看面试题,并且把收集到的面试题整理了以下发到博客上,希望对大家有所帮助。 首先是集合类的面试题 1.  HashMap 排序题,上机题。 已知一个 HashMap<Integer,User>集合, User 有 name(Str...

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

Java

基于Netty和SpringBoot实现一个轻量级RPC框架-Client端请求响应同步化处理

1

xiaoli.wang 发布于 2020-01-18

前提 前置文章: 《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Client篇》 前一篇文章简单介绍了通过...

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

Java

Java线程池的使用笔记

1

xubiao.zhuang 发布于 2020-01-18

线程池 简单理解,它就是一个管理线程的池子。 它帮我们管理线程,避免增加创建线程和销毁线程的资源损耗 。因为线程其实也是一个对象,创建一个对象,需要经过类加载过程,销毁一个对象,需要走GC垃圾回收流程,都是需要资源开销的。 提高响应速度。 如果任务到达了,相对于从线程池拿线程,重...

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

Java

Java线程池的使用笔记

1

xubiao.zhuang 发布于 2020-01-18

线程池 简单理解,它就是一个管理线程的池子。 它帮我们管理线程,避免增加创建线程和销毁线程的资源损耗 。因为线程其实也是一个对象,创建一个对象,需要经过类加载过程,销毁一个对象,需要走GC垃圾回收流程,都是需要资源开销的。 提高响应速度。 如果任务到达了,相对于从线程池拿线程,重...

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

Spring

Eureka源码之二:服务注册

1

songhua.gao 发布于 2020-01-17

点击上方蓝色字关注我们~ Eureka源码剖析之一:初始化-启动 EurekaClient在启动时会进行一系列初始化操作,本篇文章主要解析EurekaClient端向EurekaServer端发起注册请求的具体过程,具体分为EurekaClient端发送请求和EurekaServ...

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

Java

聊聊artemis ClientConsumer的handleRegularMessage

xirruiqiang 发布于 2020-01-17

序 本文主要研究一下artemis ClientConsumer的handleRegularMessage handleRegularMessage activemq-artemis-2.11.0/artemis-core-client/src/main/java/org/apa...

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

Java

基于Netty的联机版坦克大战

5

darida 发布于 2020-01-17

作者: 坚新 研究方向:自然语言处理 编者按:AINLP技术群的 坚新同学的一个业余项目,感兴趣的同学可以关注: TankBattle ( 基于Netty的联机版坦克大战),项目地址,点击阅读原文可以直达: https://github.com/yangjianxin1/Tank...

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

Java

ReentrantLock配合Condition实现生产者消费者模式

xirruiqiang 发布于 2020-01-16

ReentrantLock和Condition ReentrantLock是一个可重入的独占锁,和synchronized相比功能更加强大,synchronized底层是基于JVM虚拟机实现的,而ReentrantLock底层则是基于AQS(AbstractQueuedSynch...

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

Java

Java多线程-并发工具类Semaphore详解

yanxinchi 发布于 2020-01-16

Semaphore是一种同步辅助工具,翻译过来就是信号量,用来实现流量控制,它可以控制同一时间内对资源的访问次数. 无论是Synchroniezd还是ReentrantLock,一次都只允许一个线程访问一个资源,但是Semaphore可以指定多个线程同时访问某一个资源. Sema...

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

Java

为了更好的使用OKHttp—架构与源码分析

19

wenming.gapo 发布于 2020-01-16

今儿个咱们就来看看到底 okhttp 内部是如何实现的,这篇文章咱从 okhttp 整体框架方面出发,解析 okhttp 的源码。 okhttp框架源码地址: github.com/square/okht… 如何使用 okhttp OkHttpClient client = ne...

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