- 1 作用 接受参数并生成新值。与普通方法调用殊途同归。所有运算符都能根据自己的运算对象生成一个值。 1.1 副作用(Side Effect) 可改变运算对象的值。 1.2 最常见用途 修改自己的运算对象,从而产生副作用。注意生成的值亦可由没有副作用的运算符生成。 几乎所有运算符都只能操作基本类型(Primitives)。 唯一例外是 =、==&n... 1 作用 接受参数并生成新值。与普通方法调用殊途同归。所有运算符都能根据自己的运算对象生成一个值。 1.1 副作用(Side Effect) 可改变运算对象的值。 1.2 最常见用途 修改自己的运算对象,从而产生副作用。注意生成的值亦可由没有副作用的运算符生成。 几乎所有运算符都只能操作基本类型(Primitives)。 唯一例外是 =、==&n...
- 定义 为其他对象提供一种代理,以控制对这个对象的访问,代理对象在客户端和目标对象之间起到中介的作用。 结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 主要解决 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。OOP系统中,有些对象由于某些原因(比如对象创建开销很大或某些操作需安全控制,或需进程外的访问),直接访... 定义 为其他对象提供一种代理,以控制对这个对象的访问,代理对象在客户端和目标对象之间起到中介的作用。 结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 主要解决 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。OOP系统中,有些对象由于某些原因(比如对象创建开销很大或某些操作需安全控制,或需进程外的访问),直接访...
- class SendResponse(request: Request, val responseSend: Send, val responseAsString: Option[String], val onCompleteCallback: Option[Send => Unit]) extends Response(request) { ...... // ... class SendResponse(request: Request, val responseSend: Send, val responseAsString: Option[String], val onCompleteCallback: Option[Send => Unit]) extends Response(request) { ...... // ...
- 1 NIO Server端 1.1 多路复用开发一般步骤 //打开选择器 Selector selector = Selector.open(); //打开通到 ServerSocketChannel socketChannel = ServerSocketChannel.open(); //配置非阻塞模型 socketChannel.configureBlocki... 1 NIO Server端 1.1 多路复用开发一般步骤 //打开选择器 Selector selector = Selector.open(); //打开通到 ServerSocketChannel socketChannel = ServerSocketChannel.open(); //配置非阻塞模型 socketChannel.configureBlocki...
- 上篇我们分析了Java集合的总体类图,下面我们接着来具体探究一下相关的源码。 概要 Collection 简介 Collection 的定义 public interface Collection<E> extends Iterable<E>{} Collection是一个接口,是高度抽象的集合,其包含了集合的基本操作,如添加,删除... 上篇我们分析了Java集合的总体类图,下面我们接着来具体探究一下相关的源码。 概要 Collection 简介 Collection 的定义 public interface Collection<E> extends Iterable<E>{} Collection是一个接口,是高度抽象的集合,其包含了集合的基本操作,如添加,删除...
- 前言 上一篇我们介绍Java内存模型来处理有序性,可见性的问题。但是,还有一个原子性的问题,没有处理,那么针对原子性的问题我们该怎么处理呢?我们知道在并发编程中的原子性问题主要原因就是,一条高级语句可能会被分成多个CPU指令,在指令执行完之后发生了线程切换,中间状态被暴露造成原子性问题。 锁 现实生活中,我们用自己的锁来保护自己的财产,买门票来锁定演唱会的座位。 ... 前言 上一篇我们介绍Java内存模型来处理有序性,可见性的问题。但是,还有一个原子性的问题,没有处理,那么针对原子性的问题我们该怎么处理呢?我们知道在并发编程中的原子性问题主要原因就是,一条高级语句可能会被分成多个CPU指令,在指令执行完之后发生了线程切换,中间状态被暴露造成原子性问题。 锁 现实生活中,我们用自己的锁来保护自己的财产,买门票来锁定演唱会的座位。 ...
- 前言 前面几篇文章,我们学习了synchronized的相关知识,以及死锁的发生条件以及避免的方式,其中有一种破坏死锁的方式就是破坏不可抢占条件,通过synchronzied不能实现的,因为synchronized在申请资源的时候,如果申请不到就只能进入阻塞状态,啥都干不了,也不能中断。所以只能通过本期的主角lock 来处理。 lock 与synchronized ... 前言 前面几篇文章,我们学习了synchronized的相关知识,以及死锁的发生条件以及避免的方式,其中有一种破坏死锁的方式就是破坏不可抢占条件,通过synchronzied不能实现的,因为synchronized在申请资源的时候,如果申请不到就只能进入阻塞状态,啥都干不了,也不能中断。所以只能通过本期的主角lock 来处理。 lock 与synchronized ...
- 文章首发于:Java并发编程(四)— 死锁的发生与避免 前言 上一篇我们介绍了如何通过synchronized 来加锁保护资源。但是,不当的加锁方式可能就会导致死锁。 死锁发生的场景 最典型的就是哲学家问题, 场景:5个哲学家,5跟筷子,5盘意大利面,大家围绕桌子而坐,进行思考与进食活动。 哲学家的活动描述: 哲学家除了吃面、还要思考、所以要么放下左右手筷子进... 文章首发于:Java并发编程(四)— 死锁的发生与避免 前言 上一篇我们介绍了如何通过synchronized 来加锁保护资源。但是,不当的加锁方式可能就会导致死锁。 死锁发生的场景 最典型的就是哲学家问题, 场景:5个哲学家,5跟筷子,5盘意大利面,大家围绕桌子而坐,进行思考与进食活动。 哲学家的活动描述: 哲学家除了吃面、还要思考、所以要么放下左右手筷子进...
- 文章目录 JavaConfig@ComponentScan@Import@Conditional@ConfigurationProperties与@EnableConfigurationProperties组合注解总结 上一篇我们介绍了 Spring中Bean的生命周期,这一篇我们接着学习在Spring Boot中的一些常用注解。 JavaConfi... 文章目录 JavaConfig@ComponentScan@Import@Conditional@ConfigurationProperties与@EnableConfigurationProperties组合注解总结 上一篇我们介绍了 Spring中Bean的生命周期,这一篇我们接着学习在Spring Boot中的一些常用注解。 JavaConfi...
- 前言 今天来学习下与JVM垃圾收集机制相关的一些基本概念。 如何判断对象是否存活 垃圾收集器首要的任务的任务就是判断哪些对象是存活的,哪些对象已经死去了(这里死去的意思是对象不再被任何途径使用)。 引用计数算法 引用计数算法是在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能被使... 前言 今天来学习下与JVM垃圾收集机制相关的一些基本概念。 如何判断对象是否存活 垃圾收集器首要的任务的任务就是判断哪些对象是存活的,哪些对象已经死去了(这里死去的意思是对象不再被任何途径使用)。 引用计数算法 引用计数算法是在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能被使...
- 专栏系列文章 第二篇:原子类的说明与使用第三篇:Lock的学习与使用第四篇:走近CopyOnWriteArrayList第五篇:HashMap的源码分析第六篇:走近ConcurrentHashMap(JDK1.8)第七篇:ConcurrentHashMap(JDK1.8)扩容的详细介绍以及多线程测试第八篇:链表的学习:链表的头插法和尾插法第九篇:队列的学习,用数组和链... 专栏系列文章 第二篇:原子类的说明与使用第三篇:Lock的学习与使用第四篇:走近CopyOnWriteArrayList第五篇:HashMap的源码分析第六篇:走近ConcurrentHashMap(JDK1.8)第七篇:ConcurrentHashMap(JDK1.8)扩容的详细介绍以及多线程测试第八篇:链表的学习:链表的头插法和尾插法第九篇:队列的学习,用数组和链...
- 文章目录 一些基本概念数据类型基本数据类型引用数据类型 堆和栈栈中存什么?堆中存什么?Java中的参数传递时传值?还是传引用? 为什么要把堆和栈区分出来呢? 运行时数据区域1. 程序计数器2. Java虚拟机栈3. 本地方法栈4.Java堆新生代老年代持久代 5.方法区6. 运行时常量池7.直接内存 面试的几个问题总结参考 一些基本概念 数据类型 ... 文章目录 一些基本概念数据类型基本数据类型引用数据类型 堆和栈栈中存什么?堆中存什么?Java中的参数传递时传值?还是传引用? 为什么要把堆和栈区分出来呢? 运行时数据区域1. 程序计数器2. Java虚拟机栈3. 本地方法栈4.Java堆新生代老年代持久代 5.方法区6. 运行时常量池7.直接内存 面试的几个问题总结参考 一些基本概念 数据类型 ...
- 代理 创建代理对象 要想创建一个代理对象,需要使用Proxy类的newProxyInstance方法。这个方法有三个参数: 1. 一个类加载器,作为Java安全模型的一部分,对于系统类和从因特网上下载下来的类,可以使用 不同的类加载器。 2. 一个Class对象数组,每个元素都是需要实现的接口 3. 一个调用处理器。 使用代理可能出于很多原因,例如: 1... 代理 创建代理对象 要想创建一个代理对象,需要使用Proxy类的newProxyInstance方法。这个方法有三个参数: 1. 一个类加载器,作为Java安全模型的一部分,对于系统类和从因特网上下载下来的类,可以使用 不同的类加载器。 2. 一个Class对象数组,每个元素都是需要实现的接口 3. 一个调用处理器。 使用代理可能出于很多原因,例如: 1...
- 什么是ASM ASM 是一个可以操作Java 字节码的框架。可以读取/修改class中的字节码。ASM可以直接产生二进制class文件,也可以在类被加载Java虚拟机之前动态改变类行为,Java class被存储在严格格式定义的.class文件里,这些文件拥有足够的元数据来解析勒种的所有元素:类名称, 方法,属性以及Java字节码(指令)。ASM从类文件中读入信息后,... 什么是ASM ASM 是一个可以操作Java 字节码的框架。可以读取/修改class中的字节码。ASM可以直接产生二进制class文件,也可以在类被加载Java虚拟机之前动态改变类行为,Java class被存储在严格格式定义的.class文件里,这些文件拥有足够的元数据来解析勒种的所有元素:类名称, 方法,属性以及Java字节码(指令)。ASM从类文件中读入信息后,...
- 前言 上一篇我们介绍了JVM07-虚拟机故障处理命令行工具。这一篇将继续介绍虚拟机故障处理之可视化故障处理工具JConsole工具。这个工具我们可以在JDK的bin目录下找到。 JConsole的介绍 JConsole是一款基于JMX(Java Management Extensions)的可视化监视、管理工具。它主要是通过JMX的MBean对系统进行信息收集和参... 前言 上一篇我们介绍了JVM07-虚拟机故障处理命令行工具。这一篇将继续介绍虚拟机故障处理之可视化故障处理工具JConsole工具。这个工具我们可以在JDK的bin目录下找到。 JConsole的介绍 JConsole是一款基于JMX(Java Management Extensions)的可视化监视、管理工具。它主要是通过JMX的MBean对系统进行信息收集和参...
上滑加载中
推荐直播
-
码道新技能,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(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签