- THreadLocalMap中的Entry的key使用的是ThreadLocal对象的弱引用,在没有其他地方对ThreadLoca依赖,ThreadLocalMap中的ThreadLocal对象就会被回收掉,但是对应的不会被回收,具体内容请和小编一起看下面文章详情一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证... THreadLocalMap中的Entry的key使用的是ThreadLocal对象的弱引用,在没有其他地方对ThreadLoca依赖,ThreadLocalMap中的ThreadLocal对象就会被回收掉,但是对应的不会被回收,具体内容请和小编一起看下面文章详情一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证...
- Spring解决循环依赖 Spring解决循环依赖
- 情景回顾总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题系统BUG。知识点回忆希尔排序 给定一数组元素{50,40,95,20,15,70,60,45},经过一趟希尔排序(参考博文《剑指Offer–排序算法小结》)后,数组元素变为[15 4... 情景回顾总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题系统BUG。知识点回忆希尔排序 给定一数组元素{50,40,95,20,15,70,60,45},经过一趟希尔排序(参考博文《剑指Offer–排序算法小结》)后,数组元素变为[15 4...
- Java并发编程 Future和CompletableFuture1 Future1.1 Callable 与 Runnable1.1.1 Runnable1.1.2 Callable1.1.3 Callable 与 Runnable 的差异1.2 Future + Callable1.2.1 Future1.2.2 FutureTask1.2.3 Future + Callable 并发1... Java并发编程 Future和CompletableFuture1 Future1.1 Callable 与 Runnable1.1.1 Runnable1.1.2 Callable1.1.3 Callable 与 Runnable 的差异1.2 Future + Callable1.2.1 Future1.2.2 FutureTask1.2.3 Future + Callable 并发1...
- 文章目录前言一、初识多线程1.1 并行、并发、串行1.2 并发编程的优缺点1.2.1 并发编程的优点1.2.2 并发编程的缺点1.3 上下文切换1.3.1 上下分切换的分类1.3.2 减少上下文切换的方式1.3.3 上下文切换的优化示例1.4 并发编程三要素1.4.1 原子性1.4.2 可见性1.4.3 有序性1.5 同步与异步1.6 进程与线程1.7 线程调度1.8 编写多线程程序的时候你... 文章目录前言一、初识多线程1.1 并行、并发、串行1.2 并发编程的优缺点1.2.1 并发编程的优点1.2.2 并发编程的缺点1.3 上下文切换1.3.1 上下分切换的分类1.3.2 减少上下文切换的方式1.3.3 上下文切换的优化示例1.4 并发编程三要素1.4.1 原子性1.4.2 可见性1.4.3 有序性1.5 同步与异步1.6 进程与线程1.7 线程调度1.8 编写多线程程序的时候你...
- 文章目录前言一、什么是 Stream?二、我的偏见1.数据准备2.效率测试三、stream 流的用法1.数据准备2.API 的使用获取流对象foreachcollectfiltedistinctlimitskipmapflatMapmapToXxxsortedanyMatchallMatchnoneMatchfindAnyfindFirstreducecountpeekStream.of四、... 文章目录前言一、什么是 Stream?二、我的偏见1.数据准备2.效率测试三、stream 流的用法1.数据准备2.API 的使用获取流对象foreachcollectfiltedistinctlimitskipmapflatMapmapToXxxsortedanyMatchallMatchnoneMatchfindAnyfindFirstreducecountpeekStream.of四、...
- 选择Java接口还是抽象类很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。实际上接口和抽象类的选择不是随心所欲的。 要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描... 选择Java接口还是抽象类很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。实际上接口和抽象类的选择不是随心所欲的。 要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描...
- Java线程安全StampedLockJava线程安全Lock、ReentrantLock、ReentrantReadWriteLockJava线程安全集合总结Java原子操作Atomic文章目录线程安全的集合把不安全的集合转化成线程安全的从Java5开始,在Java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类,如下图:从图中可以看出,这些线程安全的集合主... Java线程安全StampedLockJava线程安全Lock、ReentrantLock、ReentrantReadWriteLockJava线程安全集合总结Java原子操作Atomic文章目录线程安全的集合把不安全的集合转化成线程安全的从Java5开始,在Java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类,如下图:从图中可以看出,这些线程安全的集合主...
- Java并发(五):线程之间的协作前面的笔记中提到了,当使用线程来同时运行多个任务时,可以通过使用锁(互斥)来同步两个任务,从而使得一个任务不会干涉另一个任务的资源。而当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其它部分之前完成,那么就需要对线程进行协调。关于协调的一种方式join(),在笔记:Java并发(二):基本线程机制之再续前缘中有使用方式的介绍。接下来介绍的是线程之间... Java并发(五):线程之间的协作前面的笔记中提到了,当使用线程来同时运行多个任务时,可以通过使用锁(互斥)来同步两个任务,从而使得一个任务不会干涉另一个任务的资源。而当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其它部分之前完成,那么就需要对线程进行协调。关于协调的一种方式join(),在笔记:Java并发(二):基本线程机制之再续前缘中有使用方式的介绍。接下来介绍的是线程之间...
- 背景最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。本wiki将阐述一个apt的编程实践。实践过程创建一个hello工程工程由两个模块组成:application模块,将使用自定义的编译器注解apt模块,自定义注解,并且完成AbstractProcessor的继承和实现根pom如下:<?xml... 背景最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。本wiki将阐述一个apt的编程实践。实践过程创建一个hello工程工程由两个模块组成:application模块,将使用自定义的编译器注解apt模块,自定义注解,并且完成AbstractProcessor的继承和实现根pom如下:<?xml...
- java中有大量用于容器的卓越的使用方法,它们被表示为java.util.Collections类内部的静态方法。你已经看到过其中的一部分,例如addAll()、reverseOrder()和binarySearch()。下面是另外一部分(synchronized和unmodifiable的使用方法将在后续的小节中介绍)。在这张表中,在相关的情况中使用了泛型:checkedColle... java中有大量用于容器的卓越的使用方法,它们被表示为java.util.Collections类内部的静态方法。你已经看到过其中的一部分,例如addAll()、reverseOrder()和binarySearch()。下面是另外一部分(synchronized和unmodifiable的使用方法将在后续的小节中介绍)。在这张表中,在相关的情况中使用了泛型:checkedColle...
- 现在已经知道了,尽管实际上只有四种容器:Map、List、Set和Queue,但是每种接口都有不止一个实现版本。如果需要使用某种接口的功能,应该如何选择使用哪一个实现呢? 每种不同的实现各自的特征、优点和缺点。例如,从容器分类图中可以看出,Hashtable、Vector和Stack的“特征”是,它们是过去遗留下来的类,目的只是为了支持老的程序(最好不要在新的程序中使用它们)。 ... 现在已经知道了,尽管实际上只有四种容器:Map、List、Set和Queue,但是每种接口都有不止一个实现版本。如果需要使用某种接口的功能,应该如何选择使用哪一个实现呢? 每种不同的实现各自的特征、优点和缺点。例如,从容器分类图中可以看出,Hashtable、Vector和Stack的“特征”是,它们是过去遗留下来的类,目的只是为了支持老的程序(最好不要在新的程序中使用它们)。 ...
- List的方法和属性 方法或属性 作用Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。Count 属性,用于获取数组中当前元素数量Item( ) 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。Add( ) 在List中添加一个对象的公有方法Ad... List的方法和属性 方法或属性 作用Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。Count 属性,用于获取数组中当前元素数量Item( ) 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。Add( ) 在List中添加一个对象的公有方法Ad...
- 基本知识 虚拟机的好处跨平台、可移植性提供了托管环境(managed runtime)垃圾回收内存管理动态检测(数组越界、动态类型、安全权限) 虚拟机内存线程共享方法区堆区线程私有PC寄存器Java方法栈本地方法栈 java程序执行方式解释执行即时编译(Just-In-Time) Java类加载 加载过程加载。双亲委派模型:父加载器找不到时才会由当前加载器尝试加载启动类加载器(bootst... 基本知识 虚拟机的好处跨平台、可移植性提供了托管环境(managed runtime)垃圾回收内存管理动态检测(数组越界、动态类型、安全权限) 虚拟机内存线程共享方法区堆区线程私有PC寄存器Java方法栈本地方法栈 java程序执行方式解释执行即时编译(Just-In-Time) Java类加载 加载过程加载。双亲委派模型:父加载器找不到时才会由当前加载器尝试加载启动类加载器(bootst...
- Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和application/x-www-form-urlencoded MIME字符串相互转化的静态方法。使用InetAddressJava提供了InetAddress类来代表IP地址,InetAddres... Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和application/x-www-form-urlencoded MIME字符串相互转化的静态方法。使用InetAddressJava提供了InetAddress类来代表IP地址,InetAddres...
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签