随笔分类 -  Java

java知识点
摘要:背景 今天组里面有一个新同事小A向我求助了一个问题,比较典型也是新人很容易犯的问题,特此记录下来。 他写了一个类似于下面的代码 package com.lingyejun.dating.chap11.toutiao; import java.util.*; import java.util.stre 阅读全文
posted @ 2022-01-22 13:56 翎野君 阅读(10747) 评论(0) 推荐(1) 编辑
摘要:背景 因为近期团队对项目代码库进行了迁移,我们需要重新拉取代码到本地。故而我将旧的工程删掉,将新的项目代码clone下来之后重新导入到Intelij中后。 这几步都很顺利,但是当我执行一个原来单元测试时,出现了如下的报错。 class not found "....." empty test sui 阅读全文
posted @ 2022-01-18 22:51 翎野君 阅读(3543) 评论(0) 推荐(0) 编辑
摘要:背景 项目中使用PageHlper插件进行分页,今日发现有多处SQL查询语句都出现了如下的报错。 com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'it 1 LIMIT ? ', expect LIMIT, 阅读全文
posted @ 2021-12-11 20:38 翎野君 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:背景 现在需要对一个有序的手机列表按照品牌进行分组,那么我们使用java8中的groupingBy的时候默认返回的是无序的Map,如果想输出有序的Map,需要使用三参数的groupingBy,指定返回有序的LinkedHashMap。 LinkedHashMap<String,List<Mobile 阅读全文
posted @ 2021-09-01 21:15 翎野君 阅读(4788) 评论(0) 推荐(2) 编辑
摘要:泛型方法的定义 /** * 泛型参数的无返回值方法 * * 1、public 与 返回值中间<T>非常重要,可以理解为声明此方法为泛型方法。 * 2、只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。 * 3、<T>表明该方法将使用泛型类型T,此时才可以在方法中使用泛 阅读全文
posted @ 2021-04-18 08:36 翎野君 阅读(174) 评论(0) 推荐(0) 编辑
摘要:两个问题 问题一:FatherClass和ChildClass是父子类的关系,那List<FatherClass>和List<ChildClass>是否也是父子类的关系? 问题二:倘若不是父子类关系,那么通过什么方式可以达到向上转型的效果? 有两个类Fruit和Apple,Apple继承自Fruit 阅读全文
posted @ 2021-01-02 15:09 翎野君 阅读(966) 评论(0) 推荐(1) 编辑
摘要:下面的代码是一个关于List的经典问题,平常工作中,我们对空指针会比较警惕,稍不留意可能就会写出来下面的问题代码。 List<Integer> list = new ArrayList<>(); Integer a = list.get(0); 上面的代码运行之后会报下面的数组越界的异常 Excep 阅读全文
posted @ 2020-09-24 22:52 翎野君 阅读(2729) 评论(0) 推荐(4) 编辑
摘要:初看ThreadLocal代码时候,感觉到很绕。区区三个类,但他们之间的类关系和设计思路与我们平常写的业务代码是不太一样的。 让我们一起来看看这三个类之间错综复杂的关系吧。 三者关系概览 从上图我们可以发现Thread 中持有一个ThreadLocalMap ,这里你可以简单理解为就是持有一个数组, 阅读全文
posted @ 2020-07-26 14:32 翎野君 阅读(2758) 评论(0) 推荐(3) 编辑
摘要:最近遇到了两个序列化相关的问题,比较典型,备忘特此留笔。 1.rpc调用时未进行序列化而导致的rpc调用失败 使用dubbo框架在进行rpc调用的时候,出现了下面的问题,原因是因为接口参数中的NoSerialReqDto类没有实现Serializable接口,没有进行序列化导致的。 Caused b 阅读全文
posted @ 2020-01-18 19:34 翎野君 阅读(1335) 评论(0) 推荐(0) 编辑
摘要:前言 Dating Java8 系列视频从实用性的角度出发介绍了Java8中的核心特性及其应用场景。 通过系列视频的学习后你将掌握较之以往更为巧妙的编码方式和编程技巧,从而提升我们的开发效率。 与Java8的浪漫的相遇将会使你忘掉过去繁冗的编码方式,只需用之前一半不到的时间就能写出更短、更清晰的代码 阅读全文
posted @ 2020-01-01 21:41 翎野君 阅读(835) 评论(1) 推荐(1) 编辑
摘要:背景描述 因为业务需求的需要,我们需要在原来项目中的一个DTO类中新增两个字段(我们项目使用的是dubbo架构,这个DTO在A项目/服务的domain包中,会被其他的项目如B、C、D引用到)。但是这个DTO对象已经在Redis缓存中存在了,如果我们直接向类中增加字段而不做任何处理的话,那么查询操作查 阅读全文
posted @ 2019-12-01 22:07 翎野君 阅读(3227) 评论(0) 推荐(0) 编辑
摘要:避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见的嵌套对象:一 阅读全文
posted @ 2019-10-07 16:20 翎野君 阅读(836) 评论(1) 推荐(1) 编辑
摘要:一、背景 今天在计算库存消耗百分比(消耗的库存/总库存)的时候遇到了一个错误,java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 通过异常的描 阅读全文
posted @ 2019-09-26 07:45 翎野君 阅读(26772) 评论(0) 推荐(2) 编辑
摘要:一、字符串连接的效率问题 使用String连接字符串时为什么慢? 小知识点 java中对数组进行初始化后,该数组所占的内存空间、数组长度都是不可变的。 创建一个字符串,为字符串对象分配内存空间,会耗费掉一定的时间(CPU)与空间(内存)代价,作为最基础的数据类型,大量频繁的创建字符串,极大程度地影响 阅读全文
posted @ 2019-08-25 13:04 翎野君 阅读(815) 评论(0) 推荐(0) 编辑
摘要:定义 一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。 转义就是指转换该字符的原本意义,从而变成另外的意义。 \作为Java的转义字符 1.在java字符常量中,反斜杠(\)是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。转义 阅读全文
posted @ 2019-08-11 22:44 翎野君 阅读(12724) 评论(0) 推荐(1) 编辑
摘要:最近在做统计相关的功能的时候涉及到了获取当天的开始和结束的时间戳、当月和当年的开始结束时间戳,特此记录,以作备忘。 相关代码 效果 阅读全文
posted @ 2019-08-04 14:40 翎野君 阅读(32329) 评论(0) 推荐(3) 编辑
摘要:背景 在对Double类型的数据进行计算操作,将结果转化为BigDecimal时抛出了下面的异常,进行了Debug才发现了问题原因,同时也暴露出了自己在一些基础知识上还有些欠缺。 概念补充 在java中进行数字类型运算的时,之前一直有一种错误的观念,即进行除法运算时当除数为0时在运行时会抛出java 阅读全文
posted @ 2019-07-19 22:31 翎野君 阅读(4507) 评论(0) 推荐(1) 编辑
摘要:背景 今天在跑定时任务的过程中,发现有一个任务在设置数据的查询时间范围异常,出现了开始时间戳比结束时间戳大的奇怪现象,计算时间戳的代码大致如下。 先放出结论:因为java中整数默认是int类型,在计算的过程中30 * 24 * 60 * 60 * 1000计算结果大于Integer.MAX_VALU 阅读全文
posted @ 2019-06-18 23:13 翎野君 阅读(974) 评论(0) 推荐(0) 编辑
摘要:我的一个项目并发200+,观察服务器的日志发现出现了大量的熔断超时偶尔会闪现出RejectedExecutionException: Rejected command because thread-pool queueSize is at rejection threshold。 在高并发的前提下出 阅读全文
posted @ 2018-04-12 16:06 翎野君 阅读(3522) 评论(0) 推荐(0) 编辑
摘要:阻塞式IO/非阻塞IO 阻塞式IO(blocking-IO) 默认情况下,所有的套接字socket连接都是阻塞式的,在和操作系统交互的过程之中。比如说一个读操作: 1.因为涉及到网络数据交换network io,等待所有的分组报到达之后这时候数据才算在操作系统内部为就绪状态。 2.然后操作系统在从系 阅读全文
posted @ 2017-11-26 12:01 翎野君 阅读(2907) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示