- 大部分的Java对象只存活一小段时间,而存活下来的小部分Java对象则会存活很长一段时间 pmd中Java对象生命周期的直方图,红色的表示被逃逸分析优化掉的对象 之所以要提到这个假设,是因为它造就了Java虚拟机的分代回收思想 就是将堆空间划分为两代,分别叫做新生代和老年代新生代用来存储新建的对象当对象存活时间够长时,则将其移动到老年代 Java虚拟机可以给不同... 大部分的Java对象只存活一小段时间,而存活下来的小部分Java对象则会存活很长一段时间 pmd中Java对象生命周期的直方图,红色的表示被逃逸分析优化掉的对象 之所以要提到这个假设,是因为它造就了Java虚拟机的分代回收思想 就是将堆空间划分为两代,分别叫做新生代和老年代新生代用来存储新建的对象当对象存活时间够长时,则将其移动到老年代 Java虚拟机可以给不同...
- 1 redis不可用是什么? 机器死了,宕机了 jvm进程oom了,挂了 机器cpu打满了,不工作了, hang死了 磁盘突然满了,系统各种IO报错了,不工作了 不可用 请求过来,什么都没有空了,没有任何的响应,系统run不起来了,也没法卖东西了。 各种原因,都可能导致你的系统就挂掉了,没法对外提供服务了。 一帮人,工程师,连夜抢修,但是,问题在于,在抢... 1 redis不可用是什么? 机器死了,宕机了 jvm进程oom了,挂了 机器cpu打满了,不工作了, hang死了 磁盘突然满了,系统各种IO报错了,不工作了 不可用 请求过来,什么都没有空了,没有任何的响应,系统run不起来了,也没法卖东西了。 各种原因,都可能导致你的系统就挂掉了,没法对外提供服务了。 一帮人,工程师,连夜抢修,但是,问题在于,在抢...
- 0 Github 1 面试题 如何设计一个类似Dubbo的RPC框架 2 考点分析 就跟问你如何设计一个MQ一样的道理,就考两个: 你有没有对某个RPC框架原理有非常深入的理解你能不能从整体上来思考一下,如何设计一个rpc框架,考考你的系统设计能力 3 解决方案 其实一般问到你这问题,你起码不能认怂,因为这既然是面试突击教程,那不可能给你深入讲解什么kaf... 0 Github 1 面试题 如何设计一个类似Dubbo的RPC框架 2 考点分析 就跟问你如何设计一个MQ一样的道理,就考两个: 你有没有对某个RPC框架原理有非常深入的理解你能不能从整体上来思考一下,如何设计一个rpc框架,考考你的系统设计能力 3 解决方案 其实一般问到你这问题,你起码不能认怂,因为这既然是面试突击教程,那不可能给你深入讲解什么kaf...
- 网络编程的本质是进程间通信 2 通信的基础是IO模型 输入流 文件,Java对象,字符串都可以是数据源 输出流 3 java.io 家族 字符流 字节流 4 设计模式 - 装饰器模式 奶茶店里面的装饰器模式(珍珠只是装饰) Socket也是一种数据源 Socket是网络通信的端点 Unix中的Socket是什么 ... 网络编程的本质是进程间通信 2 通信的基础是IO模型 输入流 文件,Java对象,字符串都可以是数据源 输出流 3 java.io 家族 字符流 字节流 4 设计模式 - 装饰器模式 奶茶店里面的装饰器模式(珍珠只是装饰) Socket也是一种数据源 Socket是网络通信的端点 Unix中的Socket是什么 ...
- 1 SimpleDateFormat 之坑 1.1 格式化 1.1.1 案例 初始化一个Calendar,设置日期2020年12月29日 日志 这是由于混淆SimpleDateFormat的各种格式化模式: 小写y是年大写Y是week year,即所在的周属于哪一年 一年第一周的判断方式 从getFirstDayOfWeek()开始,完整的7天,... 1 SimpleDateFormat 之坑 1.1 格式化 1.1.1 案例 初始化一个Calendar,设置日期2020年12月29日 日志 这是由于混淆SimpleDateFormat的各种格式化模式: 小写y是年大写Y是week year,即所在的周属于哪一年 一年第一周的判断方式 从getFirstDayOfWeek()开始,完整的7天,...
- 1 新手村试炼 1.1 框架烦多! 不同类库可能使用不同日志框架,兼容难! 1.2 配置复杂 由于配置文件烦杂!很多同学喜欢从其他项目或网上直接闭眼复制一份。 1.3 随意度高 因为不会直接导致代码 bug,测试人员也难及时发现问题,开发就没仔细考虑日志内容获取的性能开销、随意选用日志级别。 2 SLF4J Logback、Log4j、Log4j2、co... 1 新手村试炼 1.1 框架烦多! 不同类库可能使用不同日志框架,兼容难! 1.2 配置复杂 由于配置文件烦杂!很多同学喜欢从其他项目或网上直接闭眼复制一份。 1.3 随意度高 因为不会直接导致代码 bug,测试人员也难及时发现问题,开发就没仔细考虑日志内容获取的性能开销、随意选用日志级别。 2 SLF4J Logback、Log4j、Log4j2、co...
- unicode unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。计算机采用八比特一个字节,一个字节最大整数是255,还要表示中文一个字也是不够的,至少需要两个字节,为了统一所有的文字编码,unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码,通常用两个字节表示一个字符,所以unicode每个平面可以组合出65535种不同的字符... unicode unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。计算机采用八比特一个字节,一个字节最大整数是255,还要表示中文一个字也是不够的,至少需要两个字节,为了统一所有的文字编码,unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码,通常用两个字节表示一个字符,所以unicode每个平面可以组合出65535种不同的字符...
- nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.NullPointerException ### The error may involve com.hzgroup.switchpr... nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.NullPointerException ### The error may involve com.hzgroup.switchpr...
- 不知道自己无知,乃是双倍的无知。 ——柏拉图 0 前言 此类包含用于操纵数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,该工厂允许将数组视为列表。 如果指定的数组引用为null,则除非另有说明,否则此类中的方法都抛出NullPointerException。 此类中所包含方法的文档包括对实现的简要说明。 此类描述应被视为实现的说明,而不是标准。... 不知道自己无知,乃是双倍的无知。 ——柏拉图 0 前言 此类包含用于操纵数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,该工厂允许将数组视为列表。 如果指定的数组引用为null,则除非另有说明,否则此类中的方法都抛出NullPointerException。 此类中所包含方法的文档包括对实现的简要说明。 此类描述应被视为实现的说明,而不是标准。...
- 翻译自官方文档 1 概念 1.1 任务 - Mission JaCoCo应该为基于Java VM的环境中的代码覆盖率分析提供标准技术。重点是提供一个轻量级,灵活且文档齐全的库,以与各种构建和开发工具集成。 有几种适用于Java的开源覆盖技术。在实现Eclipse插件EclEmma时,观察到它们都不是真正为集成而设计的。它们中的大多数特别适合特定工具(A... 翻译自官方文档 1 概念 1.1 任务 - Mission JaCoCo应该为基于Java VM的环境中的代码覆盖率分析提供标准技术。重点是提供一个轻量级,灵活且文档齐全的库,以与各种构建和开发工具集成。 有几种适用于Java的开源覆盖技术。在实现Eclipse插件EclEmma时,观察到它们都不是真正为集成而设计的。它们中的大多数特别适合特定工具(A...
- Method的invoke方法 1 先校验AccessibleObject的override字段 指示此对象是否覆盖语言级别的访问检查。初始化为“ false” 字段,方法和构造方法都会使用此字段 注意:为了安全起见,此字段在此反射包外部均不可见。 AccessibleObject是Method,Field,Constructor的父类 可调用 setAc... Method的invoke方法 1 先校验AccessibleObject的override字段 指示此对象是否覆盖语言级别的访问检查。初始化为“ false” 字段,方法和构造方法都会使用此字段 注意:为了安全起见,此字段在此反射包外部均不可见。 AccessibleObject是Method,Field,Constructor的父类 可调用 setAc...
- 对于系统地介绍Java问题定位类的教程少之又少,即使有这方面的内容,往往也是一笔带过。本教程系统地介绍Java问题定位技术,我相信有一些很少公开的定位技术,在正确使用时,可以产生令人惊讶的效果。 采用Java开发的大型应用系统越来越大、越来越复杂;很多系统甚至是将很多第三方系统 集成在一起,整个系统看起来像一个黑盒子。系统运行遭遇问题(系统停止响应,运行越来越 慢,或... 对于系统地介绍Java问题定位类的教程少之又少,即使有这方面的内容,往往也是一笔带过。本教程系统地介绍Java问题定位技术,我相信有一些很少公开的定位技术,在正确使用时,可以产生令人惊讶的效果。 采用Java开发的大型应用系统越来越大、越来越复杂;很多系统甚至是将很多第三方系统 集成在一起,整个系统看起来像一个黑盒子。系统运行遭遇问题(系统停止响应,运行越来越 慢,或...
- 并发编程的掌握过程并不容易。我相信为了解决这个问题,你也听别人总结过并发编程的第一原则,那就是不要写并发程序。这个原则在我刚毕业的那几年曾经是行得通的,那个时候多核服务器还是一种奢侈品,系统的并发量也很低,借助数据库和类似Tomcat这种中间件,我们基本上不用写并发程序。或者说,并发问题基本上都被中间件和数据库解决了。 但是最近几年,并发编程已经慢慢成为一项必备技能。 这... 并发编程的掌握过程并不容易。我相信为了解决这个问题,你也听别人总结过并发编程的第一原则,那就是不要写并发程序。这个原则在我刚毕业的那几年曾经是行得通的,那个时候多核服务器还是一种奢侈品,系统的并发量也很低,借助数据库和类似Tomcat这种中间件,我们基本上不用写并发程序。或者说,并发问题基本上都被中间件和数据库解决了。 但是最近几年,并发编程已经慢慢成为一项必备技能。 这...
- 背景 今天写项目用lombok的@Builder注解,突然就报错咯。 Error:(14, 1) java: 无法将类 xxx 中的构造器 xxx 应用到给定类型; 需要: 没有参数 找到: java.lang.Integer,java.lang.String,java.lang.String,java.lang.String,java.lang.String,ja... 背景 今天写项目用lombok的@Builder注解,突然就报错咯。 Error:(14, 1) java: 无法将类 xxx 中的构造器 xxx 应用到给定类型; 需要: 没有参数 找到: java.lang.Integer,java.lang.String,java.lang.String,java.lang.String,java.lang.String,ja...
- Java7中加入了JSR 166y规范对集合类和并发类库的改进。其中的一项是增加了接口TransferQueue和其实现类LinkedTransferQueue。 TransferQueue继承了BlockingQueue并扩展了一些新方法。 BlockingQueue(和Queue)是Java 5中加入的接口,它是指这样的一个队列:当生产者向队列添加元素但队列已满时... Java7中加入了JSR 166y规范对集合类和并发类库的改进。其中的一项是增加了接口TransferQueue和其实现类LinkedTransferQueue。 TransferQueue继承了BlockingQueue并扩展了一些新方法。 BlockingQueue(和Queue)是Java 5中加入的接口,它是指这样的一个队列:当生产者向队列添加元素但队列已满时...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化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 规格体系从零搭建业务项目。
回顾中
热门标签