![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
java基础
21-夜一
早上搬砖,晚上砌梦想
展开
-
ERR invalid expire time in setex
在存储生效时间时,对时间Long进行强制转换时 (int)seconds发生异常。通过有效期的截止时间减去当前时间获取缓存生效时间。原创 2023-03-02 16:42:36 · 1035 阅读 · 0 评论 -
javax.net.ssl.SSLHandshakeException
找到 安装目录 里面的lib\security 下面有个java.security。1、修改jdk配置文件 解决办法:找到jdk 1.8安装目录,转载 2023-02-24 11:08:21 · 1099 阅读 · 0 评论 -
javax.net.ssl.SSLException
库,所以官方在5.7版本加太了对隐私的促护HHW果000防止对数据库的随意修改,到了8.0版本,仍然保留了SSL,并且默认值为true,所以只要将“&usesSL= false”放在url表名后即可。jdk版本过高会引起这种错误:在MySQL5.7之前的版本,安全性较低,存在任何用户都可以连接上的 test。解决方案在mysql路径后边加上&usesSL=false问题即可解决。原创 2023-02-24 10:59:00 · 975 阅读 · 0 评论 -
用jackson的@JsonProperty注解属性名,序列化后会返回两个参数的解决办法
用jackson的@JsonProperty注解属性名,序列化后返回了两个参数。后来发现是因为属性名开头大写了,把首字母大写换成小写就好了。原创 2023-02-10 16:27:01 · 680 阅读 · 0 评论 -
java密码复杂度 正则校验
密码复杂度正则验证转载 2022-08-29 20:32:40 · 2214 阅读 · 0 评论 -
@PostConstruct让定时器一启动就运行一次
/** * @description: * @author: zmh * @date: 2021-10-08 14:07 */@Component@Async@Slf4jpublic class MonitorFingerprintSchedule { @PostConstruct public void execute() throws IOException { 内容 }}原创 2021-12-02 11:00:15 · 337 阅读 · 0 评论 -
Set中contains,对象内容相同,但是结果为false
问题:创建了一个dog对象,dog对象内容是一样的,使用contains方法结果为false, 而使用字符串,创建对象,使用contains方法结果为truepackage com.cmic.origin.safe;import com.cmic.origin.safe.entity.Dog;import java.util.HashSet;/** * @description: * @author: zmh * @date: 2021-09-15 13:56 */public.原创 2021-09-15 15:05:38 · 1265 阅读 · 0 评论 -
split()删除空字符串
package huanmingjie.fengmingmen.test;import org.springframework.util.StringUtils;import java.util.Arrays;public class test4 { public static void main(String[] args) { String str = ",1277131374393487362,1277131460854870018,"; Strin原创 2020-07-20 12:01:03 · 2779 阅读 · 1 评论 -
@TableField(strategy=FieldStrategy.IGNORED)字段允许为null
字段允许为null(例如时间,有时间要置空,实体类上可以加上这个注解)@TableField(strategy=FieldStrategy.IGNORED)原创 2020-07-02 11:36:20 · 31469 阅读 · 0 评论 -
long类型,比较关系不能用==,要用equals
两个相同的long类型id,用 != 做判断的时候,返回了true,黄色部分为对象地址,发现是不一样的,写个test直观看一下:返回false使用longValue()方法:返回true解决:查看equals源码,改为调用Long里面的Equals方法就可以了(equals就是让它们分别调用longValue())...原创 2020-04-26 15:12:58 · 2376 阅读 · 0 评论 -
byte[]类型在数据库中的存取
存储的时候使用 字符串.getBytes 然后set值进去数据库:mySql.setBytes("存入数据库".getBytes());mySql.save();取出来使用:mySql.getBytes();//[@xxxxx]String content = newString(mySql.getBytes());//存入数据库...原创 2020-03-19 10:52:26 · 4175 阅读 · 1 评论 -
乐观锁和悲观锁
乐观锁每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线程修改,则不进行数据更新,如果数据没有被其他线程修改,则进行数据更新。由于数据没有进行加锁,期间该数据可以被其他线程进行读写操作。一般使用version方式和CAS操作方式。Version方式:一般是在数据表中加上一个数据版本号ver...原创 2020-03-02 08:54:44 · 88 阅读 · 0 评论 -
关于基本数据类型long跟float默认转换问题
**问题提出:** float类型数字在计算机中用4个字节存储 long类型数字在计算机中用8个字节存储 作运算时,8个字节的long类型为什么会转换成4字节的 float?理论上4个字节的类型是放不下8个字节类型的数据的。**分析:**默认转换顺序byte(1字节)-short(2字节)-int(4字节)-long(8字节)-float(4字节)-doub...原创 2018-08-04 01:19:09 · 3873 阅读 · 0 评论 -
JDBCUtils工具类编写
1.固定字符串=常量(大写) 2.静态代码块 3.连接方法getConnection() 4.关闭连接close(ResultSet rs,Statemment st,Connection connection) 5.重写close(Statemment st,Connection connection)(声明:不重写,也可以将rs设为NULL); ...原创 2018-08-27 00:25:20 · 2354 阅读 · 1 评论 -
连接池(自定义连接池、C3P0、Druit),代理模式(动态代理、静态代理、CGLIB动态代理)
一、线程池为什需要线程池: 如果大雄每次需要使用法宝,多啦A梦都要去22世纪带过来,就会显得很麻烦,降低效率,浪费时间。所以多啦A梦需要百宝袋。 (获取数据库连接需要消耗比较多的资源,而每次操作都要重新获取新的连接对象,执行一次操作就把连接关闭,而数据库创建连接通常需要消耗相对较多的资源,创建时间也较长。这样数据库连接对象的使用率低。) 线程池是什么,有什么...原创 2018-09-12 09:22:23 · 1205 阅读 · 0 评论 -
JdbcTemplate
为什么需要JdbcTemplate:使用jdbc时,每次都需要自己获取PreparedStatement,输入sql语句参数,关闭连接等操作。造成操作冗余。影响我们打代码的效率。什么是JdbcTemplate:JdbcTemplate是Spring的一部分,是对数据库的操作在jdbc的封装,处理了资源的建立和释放(不需要我们管理连接了),我们只需要提供SQL语句(不需要我们设置参数了)...原创 2018-09-23 00:26:32 · 14989 阅读 · 2 评论 -
异常
一:异常:什么是异常在程序编译或运行过程中出现的问题则称为异常。异常分为编译时异常和运行时异常。编译时异常和运行时异常什么是编译时异常除了运行时异常以外的所有异常都是编译时异常。 什么是运行时异常只要是RuntimeException或其子类异常都属于运行时异常。 编译时异常的特点方法体中抛出的异常是编译时异常,则要求必须要处理。方法声明中声明的异常是编译时异常,则要求...原创 2018-10-06 22:56:25 · 243 阅读 · 0 评论 -
Java基础
本 Chat 主要包括以下内容:Java 核心基础:Java 异常分类及处理、Java 反射、Java 注解、Java 泛型、Java 序列化、Java 复制等。JVM 知识点:JVM 内存区域、JVM 运行时内存、垃圾回收与算法等。Java 多线程并发:Java 并发知识、Java 线程实现创建、线程锁等。Java 常用算法、数据结构。1 Java 的异常分类及处理1.1 异常分类Throwab...原创 2019-07-09 16:38:46 · 262 阅读 · 0 评论 -
Spring事务类型详解:
PROPAGATION_REQUIRED–支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS–支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY–支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW–新建事务,如果当前存在事务,把当前事务挂起。PROP...原创 2019-07-12 09:28:59 · 2135 阅读 · 0 评论 -
Java 获取前一天的24小时
//获取凌晨时间public static Date getTodayStartTime(){ Calendar todayEnd = Calendar.getInstance(); todayEnd.set(Calendar.HOUR_OF_DAY, 0); todayEnd.set(Calendar.MINUTE, 5); todayEnd.set(Calen...原创 2019-07-26 15:55:52 · 1240 阅读 · 0 评论 -
hosts修改
如下图:访问localhost 就是访问127.0.0.1 ,#为注释作用原创 2019-09-16 13:58:17 · 321 阅读 · 0 评论 -
+=符号运算时出现的问题
public static void main(String[] args){ short s = 1; s+=1; System.out.println(s); }分析: s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将取值范围大的类型赋值到取值范围小的类型。但是, s=s+1进行两...原创 2019-09-16 15:51:15 · 173 阅读 · 1 评论 -
数组获取最大值元素(数组反转)
public static void main(String[] args) { int[] arr = {5, 15, 2000, 10000, 100, 4000}; // 1.定义变量记录较大的值,先假定arr[0]是大值 int max = arr[0]; // 2.遍历拿到数组中的每个元素 for (int i = 0; ...原创 2019-09-16 17:26:53 · 404 阅读 · 0 评论 -
“==” “equals()” “hashCode()”
简介==对于基本数据类型 byte、short、char、int、long、float、double,boolean,== 比较的是它们的值;而对于引用类型,如:类、接口、数组等,== 比较的是他们在内存中的存放地址。equals()默认情况下,equals 方法是调用 Object 类的 equals 方法,Object 的 equals 方法是用于判断对象的内存地址引用是不是同一个...转载 2019-10-15 17:25:48 · 78 阅读 · 0 评论 -
绝对路径,相对路径,File类
绝对路径以盘符开始,比如:c:/aaa/a.txt在系统中具有唯一性。相对路径相对某个位置而言的比如:d:/bbb/ aaa.png比如:e:/ccc/ aaa.png在系统中不具有唯一性默认的相对位置是当前项目的根目录:xxx/yyy/aaa.png注意事项:只要不是以盘符开始的路径就是相对路径。默认的相对位置是当前项目的根目录。File类三种构造方法...原创 2019-10-30 22:24:23 · 975 阅读 · 0 评论 -
Java获取当前时间及String、datetime、date相互转化
一、获取当前系统时间和日期并格式化输出:import java.util.Date;import java.text.SimpleDateFormat; public class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateForm...原创 2019-11-04 16:03:05 · 641 阅读 · 0 评论