Java 并发编程之 ReentrantLock 源码分析 Java

Java 并发编程之 ReentrantLock 源码分析

我是一个优秀的人,但也有缺点,比我优秀的人有很多很多。连自己都认输,何谈你的对手,与你一样优秀,甚至比你优秀的人。战胜自己,就是最大的超越。 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。我们知道synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可见性。 在大多数情况下,这些机制都能很好地完成工作,但...
阅读全文
超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer! Java

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

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇)...
阅读全文
Java8线程池ThreadPoolExecutor底层原理及其源码解析 Java

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

小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考 林迪效应 ; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jetty, 数据库连接池, MQ; 本文不会对线程的基础知识进行介绍, 所以最好已"进食"关于线程的基础知识, 再"食用"本文更佳; 由于在...
阅读全文
从linux内核理解Java怎样实现Socket通信 Java

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

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇 ,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议 。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的比较多,就用这两个起的名字。 我们目前使用的 HTTP , FTP , SMTP , DNS , HTTPS , SSH ...
阅读全文
不能再被问住了!ReentrantLock 源码、画图一起看一看! 编程技术

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

前言 在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?下面开始了解 ReentrantLock。 公众号:liuzhihangs,记录工作学习中的技术、开发及源码笔记;时不时分享一些生活中的见闻感悟。欢迎大佬来指导! 介绍...
阅读全文
理清ThreadLocal、ThreadLocalMap、Thread之间的关系 编程技术

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

初看ThreadLocal代码时候,感觉到很绕。区区三个类,但他们之间的类关系和设计思路与我们平常写的业务代码是不太一样的。 让我们一起来看看这三个类之间错综复杂的关系吧。 三者关系概览 从上图我们可以发现Thread 中持有一个ThreadLocalMap ,这里你可以简单理解为就是持有一个数组,这个数组是Entry 类型的。 Entry 的key 是ThreadLoc...
阅读全文
就因为没看这篇文章面试失败了 编程技术

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

前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 1.1面向对象和面向过程的区别 面向过程: 优点: 性能比面向对象高 ,因为...
阅读全文
Java垃圾回收详解 Java

Java垃圾回收详解

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系列 GC Roots 出发,边标记边探索所有被引用的对象。 为了防止在标记过程中堆栈...
阅读全文
微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计 软件架构

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

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