- CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读操作无锁的ArrayList,写操作则通过创建底层数组的新副本来实现,是一种读写分离的并发策略,我们也可以称这种容器为"写时复制器",Java并发包中类似的容器还有CopyOnWriteSet。本文会对CopyOnWriteArrayList的实现原理及源码进行分析。实现原理我们都知道,集合框架中... CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读操作无锁的ArrayList,写操作则通过创建底层数组的新副本来实现,是一种读写分离的并发策略,我们也可以称这种容器为"写时复制器",Java并发包中类似的容器还有CopyOnWriteSet。本文会对CopyOnWriteArrayList的实现原理及源码进行分析。实现原理我们都知道,集合框架中...
- 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),... 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),...
- 本文转载于公众号:crossoverJie前言平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条:可见线程池的重要性。简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建。解耦作用;线程的创建于执行完全分开,方便维护。应当将其放入一个池子中,可以给其他任务进行复用。线程池原理谈到线程池就会想到池化技术,其中最核心的思想就是把宝贵... 本文转载于公众号:crossoverJie前言平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条:可见线程池的重要性。简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建。解耦作用;线程的创建于执行完全分开,方便维护。应当将其放入一个池子中,可以给其他任务进行复用。线程池原理谈到线程池就会想到池化技术,其中最核心的思想就是把宝贵...
- 前言到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。定位问题拿到问题后首先去服务器上看了看,发现运行的只有我们的 Java 应用。于是先用 ps 命令拿到了应用的 PID。接着使用 ps-Hppid 将这个进程的线程显示出来。输入大写... 前言到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。定位问题拿到问题后首先去服务器上看了看,发现运行的只有我们的 Java 应用。于是先用 ps 命令拿到了应用的 PID。接着使用 ps-Hppid 将这个进程的线程显示出来。输入大写...
- 这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。 我们接下来要介绍以下6个内容。单一职责原则——SRP开闭原则——OCP里式替换原则——LSP依赖倒置原则——DIP接口隔离原则——ISP迪米特原则——LOD单一职责原则单一职责原则的定义是就一个类而言,应该仅有一个引起他... 这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。 我们接下来要介绍以下6个内容。单一职责原则——SRP开闭原则——OCP里式替换原则——LSP依赖倒置原则——DIP接口隔离原则——ISP迪米特原则——LOD单一职责原则单一职责原则的定义是就一个类而言,应该仅有一个引起他...
- 网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被执行... 网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被执行...
- 阅读Java源码的前提条件:1、技术基础在阅读源码之前,我们要有一定程度的技术基础的支持。假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。比如设计模式,许多Java源码当中都会涉及到。再比如阅读Spring源码的时候,势必要先对IOC,AOP,Java动态代理... 阅读Java源码的前提条件:1、技术基础在阅读源码之前,我们要有一定程度的技术基础的支持。假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃《Core Java》,那样是很难有收获的,尤其是《深入Java虚拟机》这类书,或许别人觉得好,但是未必适合现在的你。比如设计模式,许多Java源码当中都会涉及到。再比如阅读Spring源码的时候,势必要先对IOC,AOP,Java动态代理...
- 以下文章来源于一名叫大蕉的程序员 ,作者大蕉一名叫大蕉的程序员感谢订阅,我叫杨钊,也叫big banana,大家都叫我大蕉。技术探针一枚。主要分享最近关注或者将要关注的东西。万一能对您有一点点的帮助那就更好了。点击上方“方志朋”,选择“置顶或者星标”你的关注意义重大!大蕉蕉每个月写这么多 Java 代码呢,也存着很多私房菜,也总结下给大家玩玩,用完保证代码量 biu biu biu 飙升,信... 以下文章来源于一名叫大蕉的程序员 ,作者大蕉一名叫大蕉的程序员感谢订阅,我叫杨钊,也叫big banana,大家都叫我大蕉。技术探针一枚。主要分享最近关注或者将要关注的东西。万一能对您有一点点的帮助那就更好了。点击上方“方志朋”,选择“置顶或者星标”你的关注意义重大!大蕉蕉每个月写这么多 Java 代码呢,也存着很多私房菜,也总结下给大家玩玩,用完保证代码量 biu biu biu 飙升,信...
- 以下文章来源于程序员柯南 ,作者薛勤程序员柯南二本出身,tencent、netease实习经历,秋招斩获ali Special,我是薛勤,一个热爱写字与编码的程序员,关注我的公众号,和我一起码农翻身!点击蓝字关注我们点击上方“方志朋”,选择“置顶或者星标”你的关注意义重大!01概述在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用。在这四个引用类型中,只有强引用FinalRef... 以下文章来源于程序员柯南 ,作者薛勤程序员柯南二本出身,tencent、netease实习经历,秋招斩获ali Special,我是薛勤,一个热爱写字与编码的程序员,关注我的公众号,和我一起码农翻身!点击蓝字关注我们点击上方“方志朋”,选择“置顶或者星标”你的关注意义重大!01概述在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用。在这四个引用类型中,只有强引用FinalRef...
- 本文带你了解java虚拟机中的内存溢出问题。 本文带你了解java虚拟机中的内存溢出问题。
- 本文带你了解java虚拟机中的内存方式。 本文带你了解java虚拟机中的内存方式。
- 正式入职微软,提交了第一个 PR 之后,我坐在椅子上思考人生。终于我也变成了一名正式的企业员工,变成了一名正式的踏入社会的职业人士,从此我的学生生涯也算是画上了一个句号,不,更确切的说应该是画上了一个引号。和同事租了房子,生活条件算是还不错,有了属于自己的房间,有了专属自己的衣柜、书橱、办公桌,想要的硬件、软件、日常用品想配就配,算是应有尽有了。首先日常生活上最大的感受就是自己的生活条件变得... 正式入职微软,提交了第一个 PR 之后,我坐在椅子上思考人生。终于我也变成了一名正式的企业员工,变成了一名正式的踏入社会的职业人士,从此我的学生生涯也算是画上了一个句号,不,更确切的说应该是画上了一个引号。和同事租了房子,生活条件算是还不错,有了属于自己的房间,有了专属自己的衣柜、书橱、办公桌,想要的硬件、软件、日常用品想配就配,算是应有尽有了。首先日常生活上最大的感受就是自己的生活条件变得...
- 今天分享的这个面试开源项目,在小编我看来简直好的一塌糊涂。它就是一个活生生的面试问题列表,是准备技术面试所需的一切。 今天分享的这个面试开源项目,在小编我看来简直好的一塌糊涂。它就是一个活生生的面试问题列表,是准备技术面试所需的一切。
- 对于大多数人来说,找到一份工作是相当轻松的,但是想找到一份自己满意又合适的工作却并不是那么轻松。 本文为大家找了几个超高Star的关于面试的开源项目; 首先介绍的是在Github上获得18544个Star的人气开源项目: 对于大多数人来说,找到一份工作是相当轻松的,但是想找到一份自己满意又合适的工作却并不是那么轻松。 本文为大家找了几个超高Star的关于面试的开源项目; 首先介绍的是在Github上获得18544个Star的人气开源项目:
- 引言大家在面试的时候,特别是最后一面HR面,是不是经常都说自己咳咳咳。博主特意总结了一下平时的你和面试的你区别在哪,整理成文,大家看看就好~正文面对HR问题:你是如何和你同事相处的?平时的你:卧槽,知不知道我很忙的,这点破事也来问我,能不能别来烦我!面试的你:我最大的优点就是古道热肠,积极帮助同事解决各方面的问题,同事都叫我大神!问题:你大概融入一个团队需要多久?平时的你:什么猪队友啊,老是... 引言大家在面试的时候,特别是最后一面HR面,是不是经常都说自己咳咳咳。博主特意总结了一下平时的你和面试的你区别在哪,整理成文,大家看看就好~正文面对HR问题:你是如何和你同事相处的?平时的你:卧槽,知不知道我很忙的,这点破事也来问我,能不能别来烦我!面试的你:我最大的优点就是古道热肠,积极帮助同事解决各方面的问题,同事都叫我大神!问题:你大概融入一个团队需要多久?平时的你:什么猪队友啊,老是...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签