JAVA知识回顾
文章平均质量分 70
旨在对java知识的回顾和认知,帮助自己更好的认识java
烟火缠过客
差一个我们的距离
展开
-
自定义注解+hutool实现字段脱敏
import cn/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型* @return/*** 脱敏作用的类型。原创 2023-09-04 17:02:31 · 409 阅读 · 0 评论 -
@RequestBody,@RequestParam,@RequestPart应用场景和区别
使用此注解接收参数时,适用于请求体格式为 application/json,只能用。原创 2023-05-11 13:43:50 · 3054 阅读 · 2 评论 -
SpringBoot结合SpringCache操作Redis实现数据缓存
我们日常生活中,经常会接触听到缓存这个词,例如,浏览器清空缓存,处理器缓存大小,磁盘缓存等等。经过分类,可以将缓存分为:一般指的是机器上的 CPU、硬盘等等组件的缓存区间,一般是利用的内存作为一块中转区域,都通过内存交互信息,减少系统负载,提供传输效率。一般指的是某些应用,例如浏览器、手机App、视频缓冲等等,都是在加载一次数据后将数据临时存储到本地,当再次访问时候先检查本地缓存中是否存在,存在就不必去远程重新拉取,而是直接读取缓存数据,这样来减少远端服务器压力和加快载入速度。原创 2022-09-20 14:44:02 · 323 阅读 · 0 评论 -
SpringCache缓存初识
Spring的缓存不是一种具体的缓存实现方案,它底层需要依赖EhCache、Guava等具体的缓存工具。应用程序只要面向Spring缓存API编程,应用底层的缓存实现可以在不同的缓存之间自由切换,应用程序无须任何改变,只需要对配置略作修改即可。Spring允许我们在配置可缓存的方法时使用自定义的注解,前提是自定义的注解上必须使用对应的注解进行标注。如我们有如下这么一个使用@Cacheable进行标注的自定义注解。自定义注解@Target({}原创 2022-09-16 17:41:19 · 194 阅读 · 0 评论 -
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass
这是由于 JDK 8 中有关反射相关的功能自从 JDK 9 开始就已经被限制了,为了兼容原先的版本,需要在运行项目时添加 --add-opens java.base/java.lang=ALL-UNNAMED。选项来开启这种默认不被允许的行为。原创 2022-09-14 11:23:11 · 7225 阅读 · 2 评论 -
自定义注解+AOP解决重复提交的问题
防重提交方式token令牌方式ip+类+方法方式(方法参数)利用AOP来实现Aspect Oriented Program 面向切面编程, 在不改变原有逻辑上增加额外的功能AOP思想把功能分两个部分,分离系统中的各种关注点优点减少代码侵入,解耦可以统一处理横切逻辑,方便添加和删除横切逻辑/*** @Description 防止重复提交注解* @Motto 让营地比你来时更干净*/@Target(ElementType.METHOD) //应用在方法上。原创 2022-08-24 18:27:51 · 948 阅读 · 2 评论 -
JAVA传值和传引用的区别
基本类型(byte,short,int,long,double,float,char,boolean)为传值,传的是副本所以不会影响原有的值对象类型(Object,数组,容器)为传引用,会影响原来的值String、Integer、Double等immutable类型因为类的变量设为final属性,无法被修改,只能重新赋值或生成对象。当Integer作为方法参数传递时,对其赋值会导致原有的引用被指向了方法内的栈地址,失去原有的的地址指向,所以对赋值后的Integer做任何操作都不会影响原有值。...原创 2022-08-16 15:02:02 · 1422 阅读 · 0 评论 -
JAVA反射机制
我们可以发现 通过new创建类的实例和反射创建类的实例,都绕不开.class文件 和 Class类的。原创 2022-08-15 15:12:58 · 330 阅读 · 0 评论 -
SpringBoot整合redis的基本操作
在Redis里面,为了确保数据的安全性以及放便快速存储,任何类型的数据,在Redis内部都是采用可以看到StringRedisTemplate继承RedisTemplate其实他们的区别在于使用的序列化方式不一样,StringRedisTemplate使用的是序列化为String的序列化方式,RedisTemplate使用的是JDK的序列化方式,使用起来不太友好StringRedisTemplate:序列化为String的方式RedisTemplate:序列化方式是JDK的序列化方式。...原创 2022-08-11 16:09:13 · 654 阅读 · 0 评论 -
Bean生命周期管理的三种方式
1.实现InitializingBean,DisposableBean接口实体类实现InitializingBean,DisposableBean接口package com.kang.study_every_day.spring_01;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;/** * 用来验证一个类原创 2021-10-11 22:04:28 · 296 阅读 · 0 评论 -
将jar安装到本地maven仓库
1.执行安装命令 mvn install:install-file -Dfile=D:\workTools\mavenSetting\jar\cat-2.0.0.jar -DgroupId=org.unidal.cat -DartifactId=cat -Dversion=2.0.0 -Dpackaging=jar //jar包位置 //groupId原创 2021-01-20 21:02:13 · 210 阅读 · 0 评论 -
MD5工具类
package com.itmayiedu.utils;import java.security.MessageDigest;public class MD5Util { public final static String MD5(String s) { char hexDigits[]={'0','1','2','3','4','5','6',...原创 2020-03-19 17:06:34 · 7888 阅读 · 0 评论 -
IDEA配置gradle
1.gradle下载地址https://gradle.org/releases/2.win10配置gradle环境idea配置原创 2020-02-12 12:07:37 · 1161 阅读 · 0 评论 -
win10搭建ftp服务器并创建用户名和密码
1.启用IIS服务,打开控制面板勾选如下图所示到这里IIS服务已经启动2.开始搭建ftp服务搜索iisjieguo结果3.配置防火墙至此防火墙也已经好了4.添加新用户和密码登录...原创 2020-02-11 10:57:46 · 6751 阅读 · 1 评论 -
前端以form-data方式/raw方式发送post请求的区别
POST请求@RequestParam用来处理(前端)Content-Type: 为 application/x-www-form-urlencoded或者form-data编码的内容 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定;注意这里Headers里不能以application/json作为Co...原创 2020-01-10 16:00:07 · 4844 阅读 · 0 评论 -
第三方接口调用工具
引入依赖 <dependency> <groupId>com.ning</groupId> <artifactId>async-http-client</artifactId> <version>1.8.13</version&g...原创 2019-07-11 15:36:20 · 1468 阅读 · 0 评论 -
实现死锁的实例
package com.auth.test;/** * 死锁实例 * @author kang * @version 1.0 * @date 2019/12/6 13:21 */public class DeadLock implements Runnable { public int flag = 1; //静态对象是类的所有对象共享的 private ...原创 2019-12-11 11:38:33 · 564 阅读 · 0 评论 -
仿照trim()方法,写出去除首尾的特殊字符
例如**ab*.c* === ab*.cpackage com.auth.test;/** * @author kang * @version 1.0 * @date 2019/12/11 10:07 */public class demo2 { public static void main(String[] args) { getString("**a...原创 2019-12-11 11:12:14 · 571 阅读 · 0 评论 -
MD5加盐加密工具类
Md5Utilpackage com.leyou.utils;import org.springframework.security.crypto.codec.Hex;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;...原创 2019-12-05 14:32:54 · 1145 阅读 · 0 评论 -
idea创建java类时自动添加作者时间等注释信息
原创 2019-11-28 15:44:58 · 1281 阅读 · 0 评论 -
python项目实战
https://www.jb51.net/article/164829.htm原创 2019-11-18 09:49:59 · 287 阅读 · 0 评论 -
快速搭建微服务项目框架结构-父工程
1.创建Maven项目2.删除src文件夹原创 2019-11-07 14:58:42 · 375 阅读 · 0 评论 -
Restful中常见的响应状态码
GET200 (OK) 表示已在响应中发出204 (无内容) 资源有空表示301 (Moved Permanently) 资源的URI已被更新303 (See Other) 其他 304 (not modified) 资源未更改400 (bad request) 坏的请求404 (not found)资源不存在406 (not acceptable)服务端不支持所需请求表示5...原创 2019-11-07 14:05:37 · 724 阅读 · 0 评论 -
RSA非对称加密解密
生成公钥私钥对package com.etone.common.util;import sun.misc.BASE64Encoder;import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.security.*;/** * Copyright (C), 2011-2018 {...原创 2019-11-01 18:28:17 · 541 阅读 · 0 评论 -
maven命令
clean install -Dmaven.test.skip=true -P test.title{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap}原创 2019-10-25 09:26:43 · 307 阅读 · 0 评论 -
将本地项目上传到码云
将本地项目上传到码云,只需这几步,每个步骤都有图文22018.08.30 10:22:48字数 323阅读 260211,首先在码云上新建一个项目,如下图所示2,本地新建一个文件夹3,进入新建的文件夹,点击鼠标右键,选择git bash here然后在窗口输入 git init 这时候文件夹会多出一个.git文件夹,看不到文件夹的,点击鼠标右键选择“显示不显示隐...原创 2019-10-22 14:33:34 · 292 阅读 · 0 评论 -
session的生命周期
Session的生命周期session存储在服务器端,session在用户第一次访问时创建,访问jsp、servlet等程序时才会创建Session,只访问html、image等静态资源并不会创建,可调用request.getSession(true)强制生成Session。服务器会把长时间没有活动的Session从内存中清除,tomcat中session的默认失效时间为30分钟,可调用调...原创 2019-08-22 11:25:39 · 6631 阅读 · 2 评论 -
Cookie的生命周期
生命周期1.初始化,当我们打开浏览器访问服务时cookie便已经存在了2.活着,就是我们在进行着操作3.死亡 手动或者到时间自动就嗝屁了Java Cookie 示例你能用HttpServletResponse对象来设置cookie。Cookie cookie = new Cookie("myCookie", "myCookieValue");response.addC...原创 2019-08-22 11:04:36 · 593 阅读 · 0 评论 -
Session和Cookie的区别
1、存储位置不同cookie的数据信息存放在客户端浏览器上。session的数据信息存放在服务器上。2、存储容量不同单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制。3、存储方式不同cookie...原创 2019-08-22 10:48:00 · 462 阅读 · 0 评论 -
Session的二三事
简介除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态。Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力。Session机制除了使用Cookie,Web应用程序中还经常使用Session来记录客户端状态。Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相...原创 2019-08-22 10:34:12 · 262 阅读 · 0 评论 -
Cookie的二三事
cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态...原创 2019-08-22 10:13:05 · 389 阅读 · 0 评论 -
JAVA知识回顾day03
1.同步方法和同步代码块的区别是什么?同步方法默认用this或者当前类class对象作为锁同步代码块可以选择以什么来加锁,比同步方法更细颗粒度,我们可以选择只同步会发生同步问题的代码而不是整个方法2.什么是死锁?两个线程或两个以上线程都在等待对方执行 完毕才能继续往下执行的时候就发生了 死锁。结果就是这些线程都陷入了无线等待中3.sleep()和wait()的区别?slee...原创 2019-08-04 20:25:43 · 318 阅读 · 0 评论 -
Java知识回顾day02
8.接口和抽象类有关继承和实现的说法接口可以继承接口抽象类可以实现接口9.Java的基本数据类型跟引用数据类型分别有哪些Java的基本数据类型有8个分别是 整数型 byte、short、int 、long、 char 浮点型 float double 字符型 char布尔型 bollean byte:Java中最小的数据类型,在内存中占8位(bit),即1个字...原创 2019-08-01 22:56:40 · 303 阅读 · 0 评论 -
JAVA知识回顾day01
1.JDK和JRE的区别jdk:是Java开发人员开发过程中使用的软件开发包,它提供了Java的开发环境和运行环境jre:是Java runtime environment是指Java的运行环境2.path和classpath的区别Path是系统变量,与Java无关,里面存放的是各种可以执行的应用程序路径classpath是给Java使用的,字面上是类的路径,将类文件的路径配置...原创 2019-07-31 22:41:30 · 373 阅读 · 0 评论 -
服务端校验Hibernate Validator
官网1.添加依赖 <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </dependency>2...原创 2019-09-30 10:09:16 · 325 阅读 · 0 评论 -
HttpStatus
//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package org.springframework.http;import org.springframework.lang.Nullable;public enum Htt...原创 2019-09-30 11:13:40 · 994 阅读 · 0 评论 -
RestFul风格开发
使用RESTful风格开发Java Web42018.05.29 11:57:01字数 2326阅读 49507什么是RESTful风格?REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移),REST 是一种体系结构,而 HTTP 是一种包含了 REST 架构属性的协议,为了便于理解,我们把它的首字母拆分成不同的几个部分:...原创 2019-09-30 10:27:35 · 309 阅读 · 0 评论 -
session,cookie,token的区别
Cookiecookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,...原创 2019-08-28 11:18:11 · 319 阅读 · 0 评论 -
返回结果实体类的封装应用
1.定义返回结果的实体类package org.sang.bean;public class RespBean { private Integer status; //状态码 private String msg; //返回信息 private Object obj; //数据 private RespBean() { ...原创 2019-08-29 15:21:20 · 1458 阅读 · 0 评论 -
数组,对象,集合
首先,什么是对象数组?我们来看这样一段代码: 上述代码分别定义了一个字符串对象数组和一个Student对象数组,很显然,对象数组操作起来非常麻烦。对于Student对象数组,如果你想添加新的数据,那么就需要更改数组大小;如果你想在指定位置插入新的数据,那么该数据位置后面的数据都需要后移。 为了解决上面这个问题,Java内部给我们提供了集合类(Co...原创 2019-09-20 10:00:50 · 695 阅读 · 0 评论