标签:queue

Java

Java 并发编程之 ReentrantLock 源码分析

xiaoli.wang 发布于 2020-07-26

我是一个优秀的人,但也有缺点,比我优秀的人有很多很多。连自己都认输,何谈你的对手,与你一样优秀,甚至比你优秀的人。战胜自己,就是最大的超越。 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。我们知道synchronized关...

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

Java

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

1

Harries 发布于 2020-07-26

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线...

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

Java

Java8线程池ThreadPoolExecutor底层原理及其源码解析

2

changyuan.xu 发布于 2020-07-26

小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考 林迪效应 ; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jetty, 数据库连接池, MQ; 本文不会对线程的基础知识进行介绍, 所以最好已...

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

Java

BeeCP-2.4.9 发布,一款高性能能 JDBC 连接池

3

刘莉莉 发布于 2020-07-26

1:基本介绍 小蜜蜂连接池是一款高性能的JDBC连接池,下面是与主流连接池的性能测试对比图 测试机器 :CPU:  I3-7100,内存: 8G,操作系统:Win7_64 性能测试包: https://github.com/Chris2018998/BeeCP/blob...

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

Java

从linux内核理解Java怎样实现Socket通信

6

darida 发布于 2020-07-26

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇 ,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议 。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的比较多,就用这两...

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

Java

不能再被问住了!ReentrantLock 源码、画图一起看一看!

9

darida 发布于 2020-07-26

前言 在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?下面开始了解 ReentrantLock。 公众号:liuzhihan...

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

Java

理清ThreadLocal、ThreadLocalMap、Thread之间的关系

2

邓龙华 发布于 2020-07-26

初看ThreadLocal代码时候,感觉到很绕。区区三个类,但他们之间的类关系和设计思路与我们平常写的业务代码是不太一样的。 让我们一起来看看这三个类之间错综复杂的关系吧。 三者关系概览 从上图我们可以发现Thread 中持有一个ThreadLocalMap ,这里你可以简单理解...

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

Java

就因为没看这篇文章面试失败了

4

hanze 发布于 2020-07-26

前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 ...

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

Java

Java垃圾回收详解

14

Harries 发布于 2020-07-25

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系...

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

编程技术

微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计

3

dulong 发布于 2020-07-24

基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设施、中间件、数据服务、云服务器等资源,开发人员只需要开发业务代码并提交到平台代码库,做一些必要的配置,系统会自动构建、部署,实...

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

Java

Java并发

1

puefu.he 发布于 2020-07-24

1.基本并发方式 1.1 Callable 这个方式基本不用,会影响线程的思想。 2.线程池 Executor 2.1 ThreadExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

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

Java

Java软引用、弱引用、虚引用原理

1

changyuan.xu 发布于 2020-07-23

在Java中总共有4中核心的引用类型——强引用、软引用、弱引用、虚引用。一般情况下我们往往用到强引用比较多,很少会遇到场景用到其他三种引用,所以对其原理的掌握就更加是一纸空白。此次,恰遇机会就正好研究一下这四种引用的原理,以解己惑。 关于强引用,因为日常使用,大家基本都比较清楚,...

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

Java

史上最全的Android面试题集锦(九)

邓龙华 发布于 2020-07-23

原文链接: https://blog.csdn.net/xiangzh… 4、GC机制 垃圾收集器一般完成两件事 检测出垃圾; 回收垃圾; 4.1 Java对象引用 通常,Java对象的引用可以分为4类:强引用、软引用、弱引用和虚引用。 强引用:通常可以认为是通过ne...

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

Java

深挖view绘制流程(二)

3

Harries 发布于 2020-07-23

Choreographer的中文翻译是编舞者、舞蹈编导的意思,为什么起这个名字呢?因为view的刷新和舞蹈一样是需要按着节拍来的,Choreographer就是根据VSync信号这个节拍来安排view的刷新动作。 它使用ThreadLocal单例模式,每个线程都有自己的Chore...

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

Java

深入探究JVM之对象创建及分配策略

4

changyuan.xu 发布于 2020-07-22

@ 目录 前言 Java是面向对象的语言,所谓“万事万物皆对象”就是Java是基于对象来设计程序的,没有对象程序就无法运行(8大基本类型除外),那么对象是如何创建的?在内存中又是怎么分配的呢? 正文 一、对象的创建方式 在Java中我们有几种方式可以创建一个新的对象呢?总共有以下...

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

Java

OkHttp 官方中文文档

1

songhua.gao 发布于 2020-07-22

[本文翻译来自 官方OkHttp Wiki](https://github.com/square/okhttp/wiki) 一、Calls HTTP客户端的工作是接受你的 request ,并产生它的 response 。这个在理论上是简单的,但在实践中确是很棘手。 1.1 请求...

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

Java

Shiro 存活以及100key批量扫描

xubiao.zhuang 发布于 2020-07-22

0x00 : 简介 Shiro 存活以及100key批量扫描 0x01 : 脚本 Github地址 : https://github.com/saltyfishyu/Shiro_Alive_keys_can # -*- encoding: utf-8 -*- # author :...

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

Java

JDK核心JAVA源码解析(4) – 堆外内存、零拷贝、DirectByteBuffer以及针对于NIO中的FileChannel的思考

11

hanze 发布于 2020-07-20

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本篇文章针对堆外内存与DirectBuffer进行深入分析,了解Jav...

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