
java se
文章平均质量分 72
java基础
unhappy404
技术会过时但思维不会
展开
-
分布式集群下的业务敏感数据加解密通用解决方案(附代码)
分布式集群业务下的敏感数据加解密解决方案、高效安全便捷原创 2024-05-28 10:50:51 · 1067 阅读 · 0 评论 -
关于fail-fast机制和集合中删除元素报错这件事
ConcurrentModificationException、fail-safe、fail-fast,循环遍历中删除元素报错原创 2024-04-17 11:49:41 · 312 阅读 · 0 评论 -
HashMap的初始值设定
在阅读代码的时候,发现使用hashMap的地方基本都没有指定初始值,尽管不会有太大的问题,但是这不是一个的好的编程习惯。我们需要注意两点,一个是hashmap中承载数组元素的大小,一个是负载因子如果我们可以确定hashMap中元素的数量,那么可以指定hashMap中table的初始大小,具体的对应如下new HashMap(m);mtable.length011122344458…888916…16.原创 2021-08-20 14:41:31 · 2074 阅读 · 0 评论 -
值传递和引用传递、对象类型与基本类型、实参与形参之间、栈堆之间的七七八八
文章目录数据和变量的分类数据是怎么存的实参与形参引用传递和值传递值传递引用传递结合存储方式做理解特殊情况数据和变量的分类首先,我们需要大概明白,java中的数据类型分为两类,基本类型与对象类型(一些特殊的如String后续讨论)基本类型:byte,short,int,long,char,float,double,boolean,returnAddress对象类型:类类型,接口类型和数组以上数据类型是针对数据本身特点而言的,如果我们要使用他们,也就是数据成为了变量,此时结合数据在内存中的保存方式原创 2020-12-04 15:45:11 · 226 阅读 · 0 评论 -
Stream进阶之Optional
Stream进阶之OptionalOptional概念of()、empty()、ofNullable()isPresent()、ifPresent(Consumer<? super T> consumer)orElse(T other)、orElseGet(Supplier<? extends T> other)Optional概念首先了解一下optional,这个是模仿scar语言的一个概念。java api中的解释是这样的A container object which原创 2020-11-06 15:40:21 · 977 阅读 · 0 评论 -
处理空值的几种标准做法
1.返回值的空值处理首先看一下这两个方法// 获取所有公司List<User> getAllCompanys(); // 获取指定id的公司 FndCompany get(Long companyId); 那么就迎来几个问题getAllCompanys方法 公司表如果是空的,那么返回的是空集合还是null?get方法 如果指定ID的公司不存在,那么返回的是空对象还是null?亦或者直接报错?如果信息就像上面一样的话,我们对很多消息不清楚,作为一个不关心方法具体实现原创 2020-11-06 15:23:34 · 2780 阅读 · 0 评论 -
项目中异常的几个注意事项
一个常见的错误大致含义:spring的事务回滚有问题问题根源:代码中出现了被吞的异常,就是try catch掉,只在catch中打了一行日志,甚至有人是直接e.printstacktrace,根本在日志中都不会看到。哪怕打了日志,程序也会继续执行下去,在最上层的方法结束的时候,由于加了事务注解,spring检测到了异常,但是try-catch是一个脱离了spring管理的方式,如果其中没有对异常做显示处理(如抛出或者手动回滚等),那么就会发生冲突,报这个错。解决办法:在相关代码中寻找try-cat原创 2020-11-06 15:06:54 · 173 阅读 · 0 评论 -
extends和super泛型限定符
1.上不存下不取<? extends T>限定类型的上界:参数的类型必须是T或T的子类型<? super T> 限定类型的下界:参数的类型必须是T或T的超类型2.<? extends T>List<? extends Number> eList = null;eList = new ArrayList<Integer>();Number numObject = eList.get(0); //语句1,正确Integer intObj原创 2020-11-04 16:16:15 · 354 阅读 · 0 评论 -
关于equals和hashcode的重写细节
如果一个实体对象需要根据对象中的某几个属性来判断唯一性,即需要重写equals方法如下如果重写了equals,那就必须重写hashcode比如list中添加元素的时候,首先是判断hashcode的,如果没有hashcode,那就插入,冲突的话再进行equals的比较,不然太慢了如果不重写的话,会出现两个对象equals一致但是hashcode不一致的不合常理的现场重新给hashcode如下:至于为什么要乘31,看一下String的hashCode实现方法因为31是个神奇的数字,任何原创 2020-11-04 15:32:50 · 251 阅读 · 0 评论 -
转载自xiaoluo501395377的动态代理机制详解
java的动态代理机制详解在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在转载 2017-09-11 21:53:06 · 151 阅读 · 0 评论 -
关于ThreadLocal的使用心得
ThreadLocal是一个线程工具类,这个类里有一个Map,存储有每一个线程的变量副本,键为该线程中的一个子类(不是这个线程,后面细讲),值为该线程上携带的一个变量副本(就是T类型,上面就是一个Connection对象)这个类提供了几个主要方法原创 2017-09-20 20:44:07 · 196 阅读 · 0 评论