深度解读java线程池设计思想及源码实现 我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程池。 本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者 Doug Lea 实现过程中的一些巧妙用法。本文还是会一行行关键代码进行分析,目的是为了让那些自己看源码不是很理解的同学可以得到参考。 线程池是非常重要的工具,如果你要 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
深入分析java8编程语言规范:Threads and Locks 在 java 并发编程中,线程和锁永远是最重要的概念。语言规范虽然是规范描述,但是其中也有非常多的知识和最佳实践是值得学习的,相信这篇文章还是可以给很多读者提供学习参考的。 本文主要是翻译 + 解释 Oracle《The Java Language Specification, Java SE 8 Edition》的第17章《Threads and Locks》,原文大概30页pdf,加入了很多自 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
解读java并发队列BlockingQueue 最近得空,想写篇文章好好说说 java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直都没有理解到位。 说到线程池实现,那么就不得不涉及到各种 BlockingQueue 的实现,那么我想就 BlockingQueue 的问题和大家分享分享我了解的一些知识。 本文没有像之前分析 AQS 那样一行一行源码分析了,不过还是把其中最重要和最难理解 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
一行一行源码分析AbstractQueuedSynchronizer(三) 这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。 这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简单很多。 本文先用 CountDownLatch 将共享模式说清楚,然后顺着把其他 AQS 相关的类 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
一行一行源码分析AbstractQueuedSynchronizer(二) 文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主要是希望读者看文章能系统看。 本文关注以下几点内容: 深入理解 ReentrantLock 公平锁和非公平锁的区别 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject 深入理解 Java 线程中断和 InterruptedException 异常 基本 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
一行一行源码分析AbstractQueuedSynchronizer(一) 在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是 Java 并发包的基础工具类,是实现 ReentrantLock、CountDownLatch、Semaphore、FutureTask 等类的基础。 Google 一下 AbstractQueuedSynchr 2021-10-17 JAVA源码 JAVA 转载 JAVA源码
Spring-AspectJ使用介绍 说过 Spring AOP 的各种用法,包括随着 Spring 的演进而发展出来的几种配置方式。 但是我们始终没有使用到 AspectJ,即使是在基于注解的 @AspectJ 的配置方式中,Spring 也仅仅是使用了 AspectJ 包中的一些注解而已,并没有依赖于 AspectJ 实现具体的功能。 本文将介绍使用 AspectJ,介绍它的 3 种织入方式。 目录AspectJ 使用介绍Asp 2021-10-17 Spring Spring
Spring-Spring+AOP源码解析 之前写过 IOC 的源码分析,那篇文章真的有点长,看完需要点耐心。很多读者希望能写一写 Spring AOP 的源码分析文章,这样读者看完 IOC + AOP 也就对 Spring 会有比较深的理解了。今天终于成文了,可能很多读者早就不再等待了,不过主要为了后来者吧。 本文不会像 IOC 源码分析那篇文章一样,很具体地分析每一行 Spring AOP 的源码,目标读者是已经知道 Spring IO 2021-10-17 Spring Spring 源码
Spring-Spring+AOP使用介绍 前面写过 Spring IOC 的源码分析,本文不介绍源码分析,而是介绍 Spring AOP 中的一些概念,以及它的各种配置方法,涵盖了 Spring AOP 发展到现在出现的全部 3 种配置方式。 由于 Spring 强大的向后兼容性,实际代码中往往会出现很多配置混杂的情况,而且居然还能工作,本文希望帮助大家理清楚这些知识。 目录AOP, AspectJ, Spring AOP我们先来把它们的 2021-10-17 Spring Spring
Spring-Spring+IOC+容器源码分析 Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是来分析下 Spring 的 IOC 容器。 本文采用的源码版本是 4.3.11.RELEASE,算是 5.0.x 前比较新的版本了。为了降低难度,本文所说的所有的内容都是基于 xml 的配置的方式,实际使用已经很少人这么做了,至少不是纯 xml 配置,不过从理解源码的角度来看用这种方式来说无疑是最合适的。 阅读建议:读者至少需要知道 2021-10-17 Spring Spring 源码
超详细设计模式讲解总结 一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。 设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four (GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。 有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文: 2021-10-17 JAVA设计模式 转载 JAVA设计模式
网络安全-强悍的PHP一句话后门 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里,不积小流无以成江海。齐骥一跃,不能十步,驽马十驾,功不在舍。面对悬崖峭壁,一百年也看不出一条裂缝来,但用斧凿,能进一寸进一寸,能进一尺进一尺,不断积累,飞跃必来,突破随之。 目录自己网上收集的,未测试。 1.利用404页面隐藏PHP小马1234567891011<!DOCTYPE HTML PUB 2021-10-16 网络安全 网络安全
ACM-位运算技巧和原理 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里,不积小流无以成江海。齐骥一跃,不能十步,驽马十驾,功不在舍。面对悬崖峭壁,一百年也看不出一条裂缝来,但用斧凿,能进一寸进一寸,能进一尺进一尺,不断积累,飞跃必来,突破随之。 目录今天碰到一题,让求一个数的二进制中1的个数。这个很明显的要用位运算。题目链接 然后看了一下之前写的博客,也有博客是整理了一些这 2021-10-15 ACM ACM