
Java
文章平均质量分 62
元正~Richarlie
programming
展开
-
java获取前一天
java 获取前一天原创 2023-02-19 14:10:59 · 97 阅读 · 0 评论 -
java 判断日期是否为今天
日期判定转载 2022-12-12 16:02:19 · 6465 阅读 · 0 评论 -
Java文件上传与删除
Java文件上传与删除转载 2022-11-03 15:33:48 · 748 阅读 · 0 评论 -
强转赋值会报错,spring框架提供了父类给子类赋值的方法
强转赋值会报错,spring框架提供了父类给子类赋值的方法转载 2022-10-18 17:06:03 · 272 阅读 · 0 评论 -
String、Json、List相互转换
String、Json、List相互转换转载 2022-10-04 16:30:57 · 3065 阅读 · 0 评论 -
Java学习笔记-线程中countDown()使用
线程中countDown()使用转载 2022-08-29 17:23:03 · 1534 阅读 · 0 评论 -
JAVA的@EXCEL导出导入常用注解汇总
JAVA的@EXCEL导出导入常用注解汇总转载 2022-08-29 17:13:17 · 13091 阅读 · 1 评论 -
出现 Non-terminating decimal expansion; no exact representable decimal result 问题的解决方法
BigDecimal :出现 Non-terminating decimal expansion; no exact representable decimal result 问题的解决方法转载 2022-08-22 14:57:56 · 305 阅读 · 0 评论 -
ThreadLocalRandom的正确用法
ThreadLocalRandom的正确用法转载 2022-08-11 17:28:28 · 279 阅读 · 0 评论 -
Java集合中removeIf的使用
Java集合中removeIf的使用转载 2022-08-10 15:56:16 · 870 阅读 · 0 评论 -
玩转Java8Stream(一、从零认识Stream)
认识Stream转载 2022-07-27 16:15:49 · 209 阅读 · 0 评论 -
高危!Fastjson反序列化漏洞风险
FastJson反序列化漏洞转载 2022-06-01 10:41:42 · 756 阅读 · 1 评论 -
初探fastJson的AutoType
关于fastjson的原理及AutoType转载 2022-06-01 10:31:39 · 1046 阅读 · 0 评论 -
高并发编程之ScheduledThreadPoolExecutor讲解
一、ScheduledThreadPoolExecutor介绍ScheduledThreadPoolExecutor,它可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额外的灵活性或功能时,此类要优于Timer。二、ScheduledThreadPoolExecutor相对于Timer的优势ScheduledThreadPoolExecutor是一个使用线程池执行定时任务的类,相较于Java中提供的另一个执行定时任务的类Tim转载 2022-05-05 14:33:53 · 2921 阅读 · 0 评论 -
java.lang.ref包
一、引用基类Reference是所有引用对象的基类,引用对象的实现都是与GC操作相关的。二、引用分类1、强引用(Strong Reference)简单来说,形如 A a= new A()格式,此时a就是强引用,即使jvm内存不足抛出OutOfMemoryError错误,也不会被回收的对象2、软引用(Soft Reference)强度仅次于Strong Reference的引用类型,jvm内存足够时不会回收该类型对象,内存不够快要OutOfMemoryError之前才会尝试进行回收该类型引用对象。转载 2022-05-05 14:27:16 · 184 阅读 · 0 评论 -
Java LinkedHashMap removeEldestEntry()用法及代码示例
使用Java中的java.util.LinkedHashMap.removeEldestEntry()方法来跟踪Map是否从Map中删除了最老的条目。因此,每次将新元素添加到LinkedHashMap时,最旧的条目都会从Map中删除。通常在使用put()和putall()方法将元素添加到Map中之后调用此方法。此方法允许Map按照其返回值的指示修改自身。尽管允许该方法直接修改Map,但如果这样做,它必须返回false,这表明该Map不应尝试任何进一步的修改而导致歧义的事实。未指定从此方法修改映射后返回tr转载 2022-05-05 14:26:11 · 2628 阅读 · 0 评论 -
Java中的WeakHashMap
楔子WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,所以比较适合做缓存。WeakHashMap的这种特性比较适合实现类似本地、堆内缓存的存储机制——缓存的失效依赖于GC收集器的行为WeakHashMap的定义如下:public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>简单来说,WeakHashM转载 2022-05-04 17:37:43 · 733 阅读 · 0 评论 -
Java Pattern类详解
Java Pattern类详解 Pattern在java.util.regex包中,是正则表达式的编译表示形式,此类的实例是不可变的,可供多个并发线程安全使用。 定义public final class Pattern extends Object implements Serializable 构造器private Pattern(String p, int f) { patter...转载 2022-05-03 14:49:37 · 9893 阅读 · 0 评论 -
JAVA8 Supplier<T> 接口
Supplier表示结果的提供者,不接受输入参数,只返回结果,是JDK 1.8 新增加的函数式接口Supplier接口非常简单,只有一个get方法,只要实现这个接口的类都可以成为提供者。@FunctionalInterfacepublic interface Supplier<T> { T get();}这么简单的方法有什么用呢?只要类似供应的场景就可以使用到。比如:榨汁机,需要供应原料,可以榨出想要的汁。/** * 榨汁机 */public class Juic转载 2022-05-02 14:32:54 · 365 阅读 · 0 评论 -
枚举的底层原理
文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary什么是枚举枚举是JDK1.5新增的一种数据类型,是一种特殊的类,常用于表示一组常量,比如一年四季,12个月份,星期一到星期天,服务返回的错误码,结算支付的方式等等。枚举是使用enum关键字来定义。枚举的使用在使用枚举之前我们先探讨一个问题,为什么要使用枚举。现在有个业务场景是结算支付,有支付宝和微信支付两种方式,1表示支付宝,2表示微信支付,还需要根据编码(1或2).转载 2022-04-28 16:55:24 · 660 阅读 · 0 评论 -
单元素的枚举类型已经成为实现Singleton的最佳方法
转载请注明出处单元素的枚举类型已经成为实现Singleton的最佳方法_guodongAndroid的博客-优快云博客本文来自【孫小逗的博客】一、概述Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前常用的是下面的这种方法:public class Singleton{ private volatile static Singleton instance; private Singleton(){}; public static Single.转载 2022-04-28 16:51:21 · 196 阅读 · 0 评论 -
Class.forName()用法详解
目录1.什么是class对象2.获得class对象的三种方法3.class的作用和方法4 Class.forName()用法4.1 什么时候用Class.forName()?4.2 newInstance和new关键字的区别5 应用问题解析情景一:载入数据库驱动的时候情景二:使用AIDL与电话管理Servic进行通信1.什么是class对象类是程序的一部分,每个类都有一个class对象。换言之,每当编写并且编译了一个新类,就会产生一个class对象(更恰当的说,是被保存在一个同名的c转载 2022-04-26 15:19:23 · 1345 阅读 · 0 评论 -
服务提供者框架理解草图
具体代码实现可参考上篇文章:服务提供者框架讲解 之 myJDBC原创 2022-04-26 14:43:56 · 114 阅读 · 0 评论 -
服务提供者框架讲解 之 myJDBC
什么是 服务提供者框架服务提供者框架 有四个部分组成,这是老生常谈的话题了;服务接口服务提供者接口服务注册 API服务访问 API大家都知道 JDBC 就是一个 服务提供者框架 ;代码讲解还是用代码好讲解服务接口/** * 服务接口: 表示我们的框架提供什么服务,但是我们框架并不会去实现这个服务,交由服务提供者实现 * * 这里提供操作数据库的服务 */interface OpeDatebase { void crud();}服务提供者接口/** * 服务转载 2022-04-26 14:02:40 · 221 阅读 · 0 评论 -
异常处理之Objects.requireNonNull( )方法说明
异常处理之Objects.requireNonNull( )方法说明 1. 使用场景 判断对象为不为空,可以使用Objects.requireNonNull( )方法对对象进行判断。 2.源码 /* @param obj 需要检测是否为空的对象 * @param <T> 对象类型 * @return 对象不为空则返回该对象 * @throws 对象为空则报NullPointerException异常 ...转载 2022-04-22 15:13:03 · 1096 阅读 · 0 评论 -
Java中String.format()的简单用法介绍
Java中String.format()的简单用法介绍在运用字符串的时候,我们常常会用到String.fromat()函数来对字符串进行加工,得到我们想要的格式,那我们就来看看一些简单用法。String.format()函数相当于将括号内的量,按照自己的想要的格式拼接成一个字符串,然后输出。作用效果有点像C语言中的printf()函数。常用转换符:这里写自定义目录标题①通用浮点数:比%f,%a长度更短的一种格式输出,显示6位有效数字,而且会进行四舍五入。②散列码:不必用冗长的线性搜索技术来转载 2022-04-19 09:31:07 · 7341 阅读 · 0 评论 -
Java中一个接口可以继承多个接口吗?接口继承接口使用extends关键字
一个接口可以继承多个接口.interface C extends A, B {}是可以的.一个类可以实现多个接口:class D implements A,B,C{}但是一个类只能继承一个类,不能继承多个类class B extends A{}在继承类的同时,也可以继承接口:class E extends D implements A,B,C{}这也正是选择用接口而不是抽象类的原因https://zhidao.baidu.com/question/627716354058021124.ht转载 2022-04-18 15:10:56 · 3402 阅读 · 0 评论 -
java保护性拷贝(effective java)
用一个例子来说明:package com.test.lx; import java.util.Date; public class Period { private final Date start; private final Date end; public Period(Date start, Date end) { if(start.compareTo(end)>0) throw new IllegalArgumentException(start+" af转载 2022-04-13 10:54:21 · 147 阅读 · 0 评论 -
做了这么久的程序员,你知道为什么会有Lambda表达式吗?
做了这么久的程序员,你知道为什么会有Lambda表达式吗?知乎用户Di4RhU8 人赞同了该文章享学课堂特邀作者:老顾转载请声明出处!前言Java8有一些新的特性,今天老顾给大家分享一下关于Lambda表达式的由来,一开始感觉Lambda可读性蛮差的,不知道为什么Java8会出来这个表达式?既然大佬们推出来,肯定是有原因的,应该是为了解决一些问题,那我们就看看解决了什么问题?案例班导想了解一下各个同学的相关情况:1、来自苏州的有哪些同学上面的伪代码,是不是很简单,写一个方法,直接过滤出苏州地区的学生。班导又转载 2022-04-12 16:03:12 · 77 阅读 · 0 评论 -
SpringBoot常用注解之@Retryable
文章目录前言一、@Retryable是什么?二、使用步骤1.POM依赖2.启用@Retryable3.在方法上添加@Retryable4.@Recover5. 注意事项总结前言在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功.通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码.然而sp转载 2022-04-12 13:47:18 · 906 阅读 · 0 评论 -
Java中的断言assert的用法
Java陷阱之assert关键字一、概述 在C和C++语言中都有[assert](https://so.youkuaiyun.com/so/search?q=assert&spm=1001.2101.3001.7020)关键,表示断言。 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。二、语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查转载 2022-04-12 11:09:07 · 3023 阅读 · 0 评论 -
Arrays.asList() 详解
【1. 要点】 该方法是将数组转化成List集合的方法。 List<String> list = Arrays.asList("a","b","c"); 注意: (1)该方法适用于对象型数据的数组(String、Integer...) (2)该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean) (3)该方法将数组与List列表链接起来:当更新其一个时,...转载 2022-04-06 09:02:35 · 543 阅读 · 0 评论 -
JAVA foreach 遍历列表为nulll判定
之前一直以为foreach可以遍历null 和空列表,今天做测试如下:看来对于null值 foreach是不会做判断的,异常出在了22行,刚好能说明这一点,那么我们再来看看空列表看来对于空列表foreach并不会报异常,不回进入到方法里...转载 2022-04-05 16:45:30 · 954 阅读 · 0 评论 -
Java Thread.yield详解
前言:前几天复习了一下多线程,发现有许多网上讲的都很抽象,所以,自己把网上的一些案例总结了一下!一. Thread.yield( )方法:使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。cpu会从众多的可执行态里选择,也就是说,当前也就是刚刚的那个线程还是有可能会被再次执行到的,并不是说一定会执行其他线程而该线程在下一次中不会执行到了。Java线程中有一个Thread.yield( )方法,很多人翻译成线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉转载 2022-04-05 10:03:34 · 1430 阅读 · 0 评论 -
java中用Executor代替Thread的四大理由
在组建java程序时候关于任务执行方面第一个要考虑的就是任务边界的划分,即把执行的程序分成合理的任务,理想的情况是这些任务的状态,结果不会影响到其它任务。以java最擅长的服务器端开发为例子,服务器端要做到两点:高并发(good throughput)、低延迟(good responsiveness)。高并发是服务提供者的需要,我们想让我们的程序承载更多的用户来分担服务器开销;低延迟是用户的需求,用户想尽快的看到服务器对请求的响应结果。同样服务器的任务划分也是比较清晰和明确的:我们可以把用户的一个请求,.转载 2022-04-02 15:37:57 · 459 阅读 · 0 评论 -
JAVA多线程之volatile 与 synchronized 的比较
一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出:①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作②对该变量操作完后,在某个时间再把变量刷新回主内存关于JAVA内存模型,更详细的可参考: 深入理解Java内存模型(一)——基础因此,就存在内存可见性问题,看一个示例程序:(摘自书上) 1 publi.转载 2022-04-01 09:50:26 · 154 阅读 · 0 评论 -
Parcelable接口的使用
Parcelable接口的使用什么是Parcelable ?Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为“可打包的”了。Parcelable 传递对象Android序列化对象主要有两种方法:1.实现Serializable接口,实现Serializable接口是JavaSE本身就支持的;2.实现Parcelable接口,Parcelable是Android特有的功转载 2022-02-08 10:10:44 · 1028 阅读 · 0 评论 -
华山论剑之JAVA三大代码生成工具:Lombok、AutoValue和Immutables
Coding together前言:开发时,总是需要写大量的Getter,Setter,hasCode等方法,浪费我们的时间,影响代码的整洁,干扰我们理解代码的核心逻辑,对于这些烦不胜烦却不得不写的代码,是时候交给自动生成代码工具去完成了!当前java语言最流行的自动代码生成工具当属Lombok、AutoValue和Immutables了,然三者各有千秋,因此,了解并会使用这三款工具对于开发者很有必要。本文将详细对比介绍这三款工具的使用方式,工具特点,适用场景,以及内部原理。背景实际开发中,一.转载 2022-02-08 10:07:05 · 2760 阅读 · 0 评论 -
@PostConstruct注解
@PostConstruct基本: @PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。 Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。 通常我...转载 2021-11-30 10:39:42 · 112 阅读 · 0 评论 -
atomikos 异常报错(java.lang.NoSuchMethodException)
atomikos 异常报错(java.lang.NoSuchMethodException) 报错信息 java.lang.NoSuchMethodException: com.mysql.cj.conf.PropertySet.getBooleanReadableProperty(java.lang.String) at java.base/java.lang.Class.getM...转载 2021-11-25 11:25:48 · 617 阅读 · 0 评论