- Java中的序列化(Serialization)序列化是Java中一种将对象转换为字节流的过程,这样可以方便地在网络上传输或存储到磁盘上。反序列化则是将字节流重新转换回对象的过程。本篇文章将详细介绍Java中的序列化以及如何实现序列化和反序列化。 1. 什么是序列化?序列化是将对象的状态信息转换为一系列可存储或传输的字节的过程。通过序列化,我们可以将一个对象保存到文件或者通过网络发送给其他... Java中的序列化(Serialization)序列化是Java中一种将对象转换为字节流的过程,这样可以方便地在网络上传输或存储到磁盘上。反序列化则是将字节流重新转换回对象的过程。本篇文章将详细介绍Java中的序列化以及如何实现序列化和反序列化。 1. 什么是序列化?序列化是将对象的状态信息转换为一系列可存储或传输的字节的过程。通过序列化,我们可以将一个对象保存到文件或者通过网络发送给其他...
- ConcurrentHashMap 如何实现线程安全 引言在多线程环境下,线程安全是一项重要的考虑因素。在并发编程中,使用 java.util.HashMap 是常见的选择,但它并不是线程安全的。为了解决这个问题,Java 提供了 ConcurrentHashMap 类,在保证高并发性能的同时,提供了线程安全的功能。本文将介绍 ConcurrentHashMap 的实现原理,以及如何以线程... ConcurrentHashMap 如何实现线程安全 引言在多线程环境下,线程安全是一项重要的考虑因素。在并发编程中,使用 java.util.HashMap 是常见的选择,但它并不是线程安全的。为了解决这个问题,Java 提供了 ConcurrentHashMap 类,在保证高并发性能的同时,提供了线程安全的功能。本文将介绍 ConcurrentHashMap 的实现原理,以及如何以线程...
- 在Java中,我们可以使用多种类来实现线程池。本文将介绍常用的几种线程池类及其特点。 1. ThreadPoolExecutorThreadPoolExecutor是Java标准库提供的一个线程池实现类。它提供了丰富的配置参数,如核心线程数、最大线程数、空闲线程存活时间等。通过构造函数或者setCorePoolSize()、setMaximumPoolSize()、setKeepAliveT... 在Java中,我们可以使用多种类来实现线程池。本文将介绍常用的几种线程池类及其特点。 1. ThreadPoolExecutorThreadPoolExecutor是Java标准库提供的一个线程池实现类。它提供了丰富的配置参数,如核心线程数、最大线程数、空闲线程存活时间等。通过构造函数或者setCorePoolSize()、setMaximumPoolSize()、setKeepAliveT...
- Java创建线程的方法在Java中,我们可以使用java.lang.Thread类来创建线程。Thread类提供了一个继承层次结构,允许我们创建自定义线程。本文将详细介绍Java创建线程的方法及其原理。一、继承Thread类要创建一个线程,首先需要继承Thread类。然后重写run()方法,该方法将在新线程中执行。以下是一个简单的示例:public class MyThread extend... Java创建线程的方法在Java中,我们可以使用java.lang.Thread类来创建线程。Thread类提供了一个继承层次结构,允许我们创建自定义线程。本文将详细介绍Java创建线程的方法及其原理。一、继承Thread类要创建一个线程,首先需要继承Thread类。然后重写run()方法,该方法将在新线程中执行。以下是一个简单的示例:public class MyThread extend...
- 进程/线程/协程单进程->多进程在早期的单进程操作系统中,计算机只能一个任务一个任务的进行处理,任务完成之后才可以进行下一个任务处理这就出现了一个情况:当进程阻塞时,计算机的cpu资源就暂停浪费掉了任务1需要耗时1小时,任务2只需要耗时10分钟,但是只能等到任务1完成之后才能运行任务2所以,根据这个情况,优化成了多进程并发能力:当进程阻塞时,自动切换到下一个进程去运行,等到进程不阻塞时再回去... 进程/线程/协程单进程->多进程在早期的单进程操作系统中,计算机只能一个任务一个任务的进行处理,任务完成之后才可以进行下一个任务处理这就出现了一个情况:当进程阻塞时,计算机的cpu资源就暂停浪费掉了任务1需要耗时1小时,任务2只需要耗时10分钟,但是只能等到任务1完成之后才能运行任务2所以,根据这个情况,优化成了多进程并发能力:当进程阻塞时,自动切换到下一个进程去运行,等到进程不阻塞时再回去...
- ThreadLocal:线程局部,但更多听到是线程局部变量,所谓局部即:单个线程内变量可共享,在并发线程中见到他的概率更多,但解决的并非线程安全问题。This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread t... ThreadLocal:线程局部,但更多听到是线程局部变量,所谓局部即:单个线程内变量可共享,在并发线程中见到他的概率更多,但解决的并非线程安全问题。This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread t...
- 杀死一个开发,只需要变更三次需求。2.1-volatile的应用(wall la tai l 还是 wall lei tai l)它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值,它不会引起线程上下文的切换和调度CPU术语定义volatile是如何来保证可见性的呢?让我们在X86处理器下通过工具获取JIT编译器生成的汇编... 杀死一个开发,只需要变更三次需求。2.1-volatile的应用(wall la tai l 还是 wall lei tai l)它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值,它不会引起线程上下文的切换和调度CPU术语定义volatile是如何来保证可见性的呢?让我们在X86处理器下通过工具获取JIT编译器生成的汇编...
- 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。参考《Java并发编程的艺术》happens-before简介从JDK 5开始,Java使用新的JSR-133内存模型(除非特别说明,本文针对的都是JSR-133内存模型)。JSR-133使用happens-before的概念来阐述操作之间的内... 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。参考《Java并发编程的艺术》happens-before简介从JDK 5开始,Java使用新的JSR-133内存模型(除非特别说明,本文针对的都是JSR-133内存模型)。JSR-133使用happens-before的概念来阐述操作之间的内...
- 是什么EventLoop (事件循环对象)本质是一个单线程执行器(同时维护了一个 Selector),里面有 run 方法处理 Channel 上源源不断的 io 事件。编辑 它的继承关系比较复杂一条线是继承自 j.u.c.ScheduledExecutorService 因此包含了线程池中所有的方法另一条线是继承自 netty 自己的 OrderedEventExecutor,提供了... 是什么EventLoop (事件循环对象)本质是一个单线程执行器(同时维护了一个 Selector),里面有 run 方法处理 Channel 上源源不断的 io 事件。编辑 它的继承关系比较复杂一条线是继承自 j.u.c.ScheduledExecutorService 因此包含了线程池中所有的方法另一条线是继承自 netty 自己的 OrderedEventExecutor,提供了...
- 目录channel 的主要作用ChannelFutureCloseFuture为什么要异步关闭channel 的主要作用close() 可以用来关闭 channelcloseFuture() 用来处理 channel 的关闭sync 方法作用是同步等待 channel 关闭而 addListener 方法是异步等待 channel 关闭pipeline() 方法添加处理器write() ... 目录channel 的主要作用ChannelFutureCloseFuture为什么要异步关闭channel 的主要作用close() 可以用来关闭 channelcloseFuture() 用来处理 channel 的关闭sync 方法作用是同步等待 channel 关闭而 addListener 方法是异步等待 channel 关闭pipeline() 方法添加处理器write() ...
- 目录变量的线程安全常见线程安全类变量的线程安全成员变量和静态变量是否线程安全?如果它们没有共享,则线程安全如果它们被共享了,根据它们的状态是否能够改变,又分两种情况如果只有读操作,则线程安全如果有读写操作,则这段代码是临界区,需要考虑线程安全局部变量是否线程安全?局部变量是线程安全的但局部变量引用的对象则未必如果该对象没有逃离方法的作用访问,它是线程安全的如果该对象逃离方法的作用范围,需... 目录变量的线程安全常见线程安全类变量的线程安全成员变量和静态变量是否线程安全?如果它们没有共享,则线程安全如果它们被共享了,根据它们的状态是否能够改变,又分两种情况如果只有读操作,则线程安全如果有读写操作,则这段代码是临界区,需要考虑线程安全局部变量是否线程安全?局部变量是线程安全的但局部变量引用的对象则未必如果该对象没有逃离方法的作用访问,它是线程安全的如果该对象逃离方法的作用范围,需...
- 目录问题的提出思路 - 同步锁思路 - 不可变不可变设计final 的使用保护性拷贝设置 final 变量的原理获取final变量的原理问题的提出日 期 转 换 的 问 题public class ThreadText { public static void main(String[] args) throws InterruptedException { Simpl... 目录问题的提出思路 - 同步锁思路 - 不可变不可变设计final 的使用保护性拷贝设置 final 变量的原理获取final变量的原理问题的提出日 期 转 换 的 问 题public class ThreadText { public static void main(String[] args) throws InterruptedException { Simpl...
- 目录定义基本实现 带超时版 GuardedObject多任务版 GuardedObject总结定义即 Guarded Suspension,用在一个线程等待另一个线程的执行结果要点有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)JDK 中,join 的实现、Future 的实... 目录定义基本实现 带超时版 GuardedObject多任务版 GuardedObject总结定义即 Guarded Suspension,用在一个线程等待另一个线程的执行结果要点有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)JDK 中,join 的实现、Future 的实...
- 定义让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现 就是线程池,也体现了经典设计模式中的享元模式。例如,海底捞的服务员(线程),轮流处理每位客人的点餐(任务),如果为每位客人都配一名专属的服务员,那 么成本就太高了(对比另一种多线程设计模式:Thread-Per-Message)注意,不同任务类型应该使用不同的线程池,这样能... 定义让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现 就是线程池,也体现了经典设计模式中的享元模式。例如,海底捞的服务员(线程),轮流处理每位客人的点餐(任务),如果为每位客人都配一名专属的服务员,那 么成本就太高了(对比另一种多线程设计模式:Thread-Per-Message)注意,不同任务类型应该使用不同的线程池,这样能...
- 概述全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架特点: 用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取 锁和释放锁getState - 获取 state 状态setState - 设置 state 状态compareAndSetState - cas 机制设置 state 状态独... 概述全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架特点: 用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取 锁和释放锁getState - 获取 state 状态setState - 设置 state 状态compareAndSetState - cas 机制设置 state 状态独...
上滑加载中
推荐直播
-
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 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签