java
想养一只雪狐
心有猛虎,细嗅蔷薇
展开
-
让人一看就懂的spring boot拦截器实现
spring boot拦截器拦截器是AOP的一种方式,它的实现很简单,实现HandlerInterceptor接口,然后在继承WebMvcConfigurationSupport类配置一下拦截规则即可;一、HandlerInterceptor接口的实现实例:import org.springframework.lang.Nullable;import org.springframework.web.servlet.HandlerInterceptor;import org.springframe原创 2020-12-07 19:42:56 · 392 阅读 · 0 评论 -
lombok中注解@EqualsAndHashCode的坑
问题现象:使用了@EqualsAndHashCode注解的类,实例化出两个对象,这两个对象有多个属性,他们不完全相同,但这两个对象的hashcode却是一样的,equals方法也是表明两者相同,百思不得其解。示例如下://@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集//父类@Datapublic class Parent { private String id;原创 2020-11-27 19:06:52 · 1574 阅读 · 0 评论 -
彻底搞懂Java普通类以及集合List浅克隆和深克隆
一、两种克隆方式的区别浅克隆: 拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象**深克隆:**不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象1.1、浅克隆示例如下图,浅克隆仅仅拷贝了Teacher1中的基本变量,对于引用变量Student则没有拷贝,Teacher1和Teahcer2中的Student用的其实同一个,如果修改Teacher2中的Student的值,Teacher1中Student的值也会跟着改变代码如下:Student类impor原创 2020-10-20 12:53:02 · 1325 阅读 · 0 评论 -
fastjosn:String字符串json对象和java对象的相互转化
fastjson简单用法json字符串转java对象java对象转json字符串在处理前后端数据时经常需要将json转成java对象,或者将java对象转成json,下面简单介绍下如何使用fastjson进行两者间的转化。json字符串转java对象fastjson中定义了一个JSONObject对象,它有很多方法能实现json字符串和java对象的转化,如下:String str = "{\"name\":\"tom\",\"age\":\"12\"}";//json字符串转化成json对象J原创 2020-06-27 17:25:37 · 1936 阅读 · 0 评论 -
Java所有的类都继承Object为什么还能继承其它类
问题:我们都知道java是单继承模式,所有的类有且只能有一个父类,既然如此为什么继承了Object的类还能继承其它类呢?举例:Parent继承Object;Child继承Object;Child继承Parent;我们以为Child的继承关系是这样:其实它是这样的:也就是说Object其实变成了Child的爷爷类...原创 2020-05-21 10:57:38 · 2540 阅读 · 4 评论 -
Objects.equals方法的坑
1.使用Objects.equals的好处JDK1.7提供的Objects.equals方法,非常方便地实现了对象的比较,有效地避免了繁琐的空指针检查,例如:Objects.equals("1","1");//trueObjects.equals(null,"1");//falseObjects.equals("1",null);//falseObjects.equals(null,null);//true2.Objects.equals中的坑虽然它能有效的避免空指针问题,但是在处理基础数据原创 2020-05-20 16:22:47 · 17187 阅读 · 13 评论 -
MySQL中in加占位符只查出第一条数据
正常情况下,下面这段sql执行起来毫无问题select * from student where id in ('id1','id2')但是当在程序中拼接出这条sql时却出现了问题String sql = "select * from student where id in (?)"String ids = "id1,id2"发现它只把id=“id1”的数据查了出来,后面的数据没有查...原创 2020-04-08 15:20:23 · 1718 阅读 · 0 评论 -
Intellij IDEA运行前报错Command line is too long. Shorten command line....
报错内容:Error running ‘HelloWorld’: Command line is too long. Shorten command line for HelloWorld or also for Application default configuration.解决方法:修改项目下 .idea\workspace.xml,找到标签<component name="...原创 2019-10-26 15:46:10 · 22945 阅读 · 0 评论 -
MyBaits入门
下载与配置: 下载地址:https://github.com/mybaits/mybaits-3/releases 配置和导入普通的jar包一样,直接将解压后的jar包导入项目就行了,注意解压后lib文件夹中的jar包也要导入。 mybaits核心组件: SqlSessionFactoryBuilder:它根据你写的配置文件或者代码来生成SqlSessionFactory SqlSess...原创 2018-03-20 23:23:53 · 5046 阅读 · 0 评论 -
jdk的下载与安装
首先是下载,链接官方地址里面有各个版本各个平台的JDK。下载完后解压安装就可以了,这都很简单。然后就是配置环境变量,步骤如下: 1、选中我的电脑,右键,点击“属性”,然后点击“高级系统设置”,点击“环境变量” 2、在系统变量中新建变量名“JAVA_HOME”,变量值为JDK的安装路径,例如我的是:C:\Program Files\Java\jdk-9.0.4,如下图: 3、然后在“Pat...原创 2018-04-10 19:23:56 · 2018 阅读 · 0 评论 -
java垃圾回收浅析
垃圾回收(Garbage Collection),乍一看,垃圾收集应该处理顾名思义 - 查找并扔掉垃圾。事实上,它恰恰相反。垃圾收集正在追踪所有仍在使用的对象,并将其余标记为垃圾,然后释放垃圾占用的内存,当然了,java有垃圾自动回收机制,所以我们基本上不需要去关心内存分配和垃圾回收的问题,不过了解一下还是挺好的。 一、什么是垃圾? 如果一个对象没有任何引用与之关联那么它就会被认定为是垃圾。那...原创 2018-03-28 21:07:38 · 4459 阅读 · 0 评论 -
hashCode()方法和equal()方法的区别
重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么hashCode()既然效率这么高为什么还要equal()呢?因为hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会一样(生成hash值得公式可能存在的问题),所以hashCode()只能说是大部分时候可靠...原创 2018-11-21 21:13:21 · 1529 阅读 · 0 评论 -
eclipse中Ctrl+Alt+↑或Ctrl+Alt+↓冲突
当我们在eclipse中按Ctrl+Alt+↑或Ctrl+Alt+↓进行向上或向下复制时发现电脑屏幕到了过来,这是因为这两个快捷键和显卡控制面板中的快捷键发生了冲突。解决方法1、Ctrl+Alt+F12打开显卡控制面板,如下:2、打开“选项和支持”,如下:重新设置图中划红线部分的快捷键,然后点击“应用”即可...原创 2018-12-10 21:28:24 · 2538 阅读 · 0 评论 -
用Java实现MD5加盐
1、盐是什么一串随机数2、为什么要加盐只要明文相同,那么MD5加密后的密文就相同,于是攻击者就可以通过撞库的方式来破解出明文。加盐就是向明文中加入随机数,然后在生成MD5,这样一来即使明文相同,每次生成的MD5码也不同,如此就加大了暴力破解的难度。3、java实现package md5;import java.security.MessageDigest;import java.s...原创 2019-06-03 20:32:32 · 26720 阅读 · 7 评论 -
eclipse中Ctrl+shift+F快捷键失效解决方法
原因和输入法简繁切换快捷键冲突造成的,无论是搜狗、百度还是QQ输入法都会造成失效解决打开输入法的属性设置,找到简繁切换,取消或者修改该快捷方式即可,如下图:当然你也可以修改eclipse中的快捷键,Ctrl+shift+L打开快捷键管理面板,然后双击修改其中的Ctrl+shift+F...原创 2019-07-11 18:31:23 · 2866 阅读 · 0 评论 -
maven install时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.4.2:test
错误:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.4.2:test (default-test) on project解决方案:三种方法,看着用mvn clean package -Dmaven.test.skip=true在pom.xml中添加<plugin> ...原创 2019-09-02 17:00:31 · 1426 阅读 · 0 评论 -
ccf201712-2游戏(java版)
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。 游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该...原创 2018-03-07 19:57:00 · 1610 阅读 · 0 评论