- 文章目录 什么是原型模式?个性化电子账单使用原型模式前使用原型模式后 原型模式的优缺点原型模式的优点原型模式的缺点 深克隆与浅克隆浅克隆深克隆 原型模式的应用场景 什么是原型模式? 原型模式是一个比较简单,但应用频率比较高的设计模式。 Specify the kinds of objects to create using a pro... 文章目录 什么是原型模式?个性化电子账单使用原型模式前使用原型模式后 原型模式的优缺点原型模式的优点原型模式的缺点 深克隆与浅克隆浅克隆深克隆 原型模式的应用场景 什么是原型模式? 原型模式是一个比较简单,但应用频率比较高的设计模式。 Specify the kinds of objects to create using a pro...
- 假设有这么一个类: class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void... 假设有这么一个类: class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void...
- 文章目录 1、@EnableAsync2、@Async2.1、无返回值的异步方法2.1、有返回值的异步方法 3、 Executor3.1、方法级别重写Executor3.2、应用级别重写Executor3.3、自定义线程池配置 4、异常处理5、总结 “异步调用”对应的是“同步调用”, 在实际开发中,有时候为了及时处理请求和进行响应,我们可能使... 文章目录 1、@EnableAsync2、@Async2.1、无返回值的异步方法2.1、有返回值的异步方法 3、 Executor3.1、方法级别重写Executor3.2、应用级别重写Executor3.3、自定义线程池配置 4、异常处理5、总结 “异步调用”对应的是“同步调用”, 在实际开发中,有时候为了及时处理请求和进行响应,我们可能使...
- Collections 工具类常用方法: 排序查找,替换操作同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 void reverse(List list)//反转 void shuffle(List list)//随机排序 void sort(List list)//按自然排序的升序排序 void sort(List list, ... Collections 工具类常用方法: 排序查找,替换操作同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 void reverse(List list)//反转 void shuffle(List list)//随机排序 void sort(List list)//按自然排序的升序排序 void sort(List list, ...
- 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这些线程应该三三成组突破屏障并能立即组合产生一个水分子。 你必须保证产生... 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这些线程应该三三成组突破屏障并能立即组合产生一个水分子。 你必须保证产生...
- AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常运行。 package com.istudy; import java.util.concurrent.*; /** * @projectname: HelloFlink * @description:AbortPolicy * @author: Mr.Zhan... AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常运行。 package com.istudy; import java.util.concurrent.*; /** * @projectname: HelloFlink * @description:AbortPolicy * @author: Mr.Zhan...
- 因为redis是内存数据库,他把数据都存在内存里,所以要想办法实现持久化功能。 RDB RDB持久化可以手动执行,也可以配置定期执行,可以把某个时间的数据状态保存到RDB文件中,反之,我们可以用RDB文件还原数据库状态。 生成 有两个命令可以生成RDB文件: SAVE 命令由服务器进程直接执行保存操作,所以该命令会阻塞服务器,服... 因为redis是内存数据库,他把数据都存在内存里,所以要想办法实现持久化功能。 RDB RDB持久化可以手动执行,也可以配置定期执行,可以把某个时间的数据状态保存到RDB文件中,反之,我们可以用RDB文件还原数据库状态。 生成 有两个命令可以生成RDB文件: SAVE 命令由服务器进程直接执行保存操作,所以该命令会阻塞服务器,服...
- 1 前言 最近在公司维护的项目中碰到一个解决了定位很久的 bug , bug 找到的时候发现犯了很低级的错误——在中断处理函数中调用了 printf 函数,因为中断处理函数的调用了不可重入函数,导致中断丢失和系统位置错误,这里直接导致嵌入式 linux 系统应用进程中的所有线程停掉,进而导致看门狗进程得不到喂狗,设备重启。那什么是不可重入函数呢?为什么中断处理函数不能直接调用不... 1 前言 最近在公司维护的项目中碰到一个解决了定位很久的 bug , bug 找到的时候发现犯了很低级的错误——在中断处理函数中调用了 printf 函数,因为中断处理函数的调用了不可重入函数,导致中断丢失和系统位置错误,这里直接导致嵌入式 linux 系统应用进程中的所有线程停掉,进而导致看门狗进程得不到喂狗,设备重启。那什么是不可重入函数呢?为什么中断处理函数不能直接调用不...
- serial Serial(串行)收集器收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The World" ),直到它收集结束。 ... serial Serial(串行)收集器收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程( "Stop The World" ),直到它收集结束。 ...
- 线程和多线程 程序:是一段静态的代码,是应用软件执行的蓝本 进程:是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程 线程:是比进程更小的执行单位。进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念 主线程:(每... 线程和多线程 程序:是一段静态的代码,是应用软件执行的蓝本 进程:是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程 线程:是比进程更小的执行单位。进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念 主线程:(每...
- 面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个: public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton(); private E... 面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个: public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton(); private E...
- 实验目的: 1.理解解线程的概念及线程的生命周期。 2.掌握多线程的编程。 实验内容: 1.通过继承Thread类创建线程。 2.通过实现Runnable接口创建线程。 3.线程优先级操作。 4.用两个线程玩猜数字的游戏。 实验步骤: 1.通过继承Thread类创建一个实现睡眠... 实验目的: 1.理解解线程的概念及线程的生命周期。 2.掌握多线程的编程。 实验内容: 1.通过继承Thread类创建线程。 2.通过实现Runnable接口创建线程。 3.线程优先级操作。 4.用两个线程玩猜数字的游戏。 实验步骤: 1.通过继承Thread类创建一个实现睡眠...
- 功能 data.h #ifndef _Data_h_#define _Data_h_ #include <stdio.h>#include <stdlib.h>#include <string.h> #define ElemType PCB#define Status int#define OK 1#define ERROR 0#de... 功能 data.h #ifndef _Data_h_#define _Data_h_ #include <stdio.h>#include <stdlib.h>#include <string.h> #define ElemType PCB#define Status int#define OK 1#define ERROR 0#de...
- 本文将结合自己使用RocketMQ的经验,对消息发送常见的问题进行分享,基本会遵循出现问题,分析问题、解决问题。 1、No route info of this topic 无法找到路由信息,其完整的错误堆栈信息如下: 而且很多读者朋友会说Broker端开启了自动创建主题也会出现上述问题。 RocketMQ的路由寻找流程如下图所示: 上面的核心关键点如下: 如果... 本文将结合自己使用RocketMQ的经验,对消息发送常见的问题进行分享,基本会遵循出现问题,分析问题、解决问题。 1、No route info of this topic 无法找到路由信息,其完整的错误堆栈信息如下: 而且很多读者朋友会说Broker端开启了自动创建主题也会出现上述问题。 RocketMQ的路由寻找流程如下图所示: 上面的核心关键点如下: 如果...
- 线程与进程 线程是程序运行的基本执行单元,在系统里面至少会创建一个进程,而在一个进程里面也必须要创建一个线程。如果这样理解的话,进程包含线程,而一个进程中至少要有一个线程。 要注意的是进程之间是不可以共享内存的,比如我们电脑的系统,它不会共享的,但是线程之间是可以共享进程的CPU的,它们我们可以理解为是我们运行的程序,当我们运行了很多的程序,CPU不够,这个时候电脑... 线程与进程 线程是程序运行的基本执行单元,在系统里面至少会创建一个进程,而在一个进程里面也必须要创建一个线程。如果这样理解的话,进程包含线程,而一个进程中至少要有一个线程。 要注意的是进程之间是不可以共享内存的,比如我们电脑的系统,它不会共享的,但是线程之间是可以共享进程的CPU的,它们我们可以理解为是我们运行的程序,当我们运行了很多的程序,CPU不够,这个时候电脑...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
即将直播
热门标签