标签:锁

Java

Java 并发编程之 ReentrantLock 源码分析

xiaoli.wang 发布于 2020-07-26

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

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

Java

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

1

Harries 发布于 2020-07-26

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

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

Java

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

2

changyuan.xu 发布于 2020-07-26

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

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

Java

JVM内存模型系列(堆、方法区以及对象和GC)

23

Harries 发布于 2020-07-26

上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为...

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

Java

Unsafe介绍及CAS原理解析

1

hellas 发布于 2020-07-26

0.Unsafe介绍 JavaDoc说, Unsafe提供了一组用于执行底层的,不安全操作的方法。那么具体有哪些方法呢,我画了一张图。 可以看到Unsafe中提供了CAS,内存操作,线程调度,本机信息,Class相关方法,查看和设置某个对象或字段,内存分配和释放相关操作,内存地址...

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

Java

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

6

darida 发布于 2020-07-26

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

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

Java

超硬核Java工程师秋招回忆录+面经汇总,为了拿BAT的研发offer我都做了那些准备?

1

小丁 发布于 2020-07-26

秋招总结 写在最前 我写过很多篇秋招总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始...

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

编程技术

天天CURD,你了解为了执行SQL,MySQL用了怎样的架构设计吗?

13

yeseng 发布于 2020-07-26

大家好, 从今天开始我们开启MySQL底层原理的探索里程,今天是第一篇我们将MySQL从一个黑盒状态一点点拨云见日剖析来了解整个MySQL的架构设计和底层组件 把MySQL当作一个黑盒来执行SQL 现在我们来看看, 对于研发工程师来说数据库是什么东西?平时我们做系统开发时,一般情...

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

Java

客户端使用breakpad收集crash

puefu.he 发布于 2020-07-26

主要讲解使用如何在客户端侧使用breakpad收集crash数据,当然还有定制breakpad。填之前collect_crash的坑 how 发生crash的时候,linux的流程 在linux中,当native发生crash的时候,我们可以通过注册signal来捕获对应的sig...

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

Java

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

9

darida 发布于 2020-07-26

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

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

Java

JAVA 基础笔记(一)HashMap 实现原理与源码解析

7

小丁 发布于 2020-07-26

> Author: shaobaobaoer > Mail: shaobaobaoer@126.com > WebSite: shaobaobaoer.cn >  Time: Sunday, 26. July 2020 11:52AM HashM...

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

Java

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

4

hanze 发布于 2020-07-26

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

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

Java

我的一位朋友,一年肝了四本 PDF。

12

yeseng 发布于 2020-07-26

大家好,我是 cxuan,我已经从事写作一年了,这一年来我几乎没日没夜的写文章,了解我的人大概都知道我的作息,还好我的付出得到了回报,我写成了四本 PDF,分别是 《Java 核心技术总结》 《HTTP 总结》 《程序员必知的基础知识》 《操作系统总结》 这四本 PDF 可以说是...

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

Java

Java垃圾回收详解

14

Harries 发布于 2020-07-25

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

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

编程技术

微服务的诞生以及相关技术栈

6

dulong 发布于 2020-07-25

本文是一个开坑文,列出了所有笔者能想到以及接触到的微服务场景下用到的技术栈以及技术选型,将来会详细展开每一个内容 从tomcat服务到微服务的进化史 梦开始的地方 很多人刚入门时候都是从tomcat开始的,下载一个tomcat容器,然后启动startup.sh,在浏览器输入经典的...

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

Java

JAVA并发(1)并发编程的挑战

changyuan.xu 发布于 2020-07-25

记得刚开始学JAVA的时候,在并发这一块最薄弱,只能做一些简单的多线程使用和对锁的使用,在其底层压根就没考虑过,最近抽空买了本JAVA并发编程艺术,要仔细认真的学习下。 上下文切换 一次上下文切换就是任务从保存到再加载的过程,因为处理器支持多线程执行代码的通过给每个线程分配CPU...

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

Java

手写死锁及死锁排查

3

songhua.gao 发布于 2020-07-25

死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去,如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 产生死锁的原因 系统资源不足 进程运行推进的顺序不对 资源分...

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

Java

一文了解JDK12 13 14 GC调优秘籍-附PDF下载

4

songhua.gao 发布于 2020-07-25

想了解JDK12,13,14中的GC调优秘籍吗?想知道这三个版本中JVM有什么新的变化吗? 一起来看看这期的GC调优秘籍,因为JDK12,13,14中的GC变化不太大,所以这里一起做个总结,文末附有相应的PDF下载,希望大家能够喜欢。 那些好用的VM参数 我们再讲几个之前的版本中...

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