
javase
syf_wfl
java
展开
-
采用LocalDateTime获取指定时间段
导包import java.time.LocalDateTime;import java.time.temporal.TemporalAdjusters;例如获取上一个月最后一天的最后一个时间点 dateTime.minusMonths(1) .with(TemporalAdjusters.lastDayOfMonth()) .withHour(23) .withMinute(59)原创 2022-03-22 15:04:01 · 2668 阅读 · 0 评论 -
在请求期间通过ThreadLocal单用户共享
在拦截器preHandle内,采用set赋值,postHandle后clear防止内存泄露。//创建一个类, ThreadLocal<AccountInfo> USER_HOLDER = new ThreadLocal() public static void setUser(AccountInfo user) { USER_HOLDER.set(user); } public static AccountInfo getUser() {原创 2022-01-19 08:33:49 · 344 阅读 · 0 评论 -
Jwts生成令牌案例(简单)
导入依赖 implementation 'io.jsonwebtoken:jjwt:0.9.1'生成Token static String generate(final String username, final String secret) { Instant instant = Instant.now(); return Jwts.builder() //注入参数 .claim(.原创 2022-01-10 18:45:56 · 709 阅读 · 0 评论 -
Gradle剔除依赖
在导入依赖的地方(注意:需要打括号将导入的依赖包住) implementation ('com.cqupt:transformer-energy-core-api:1.6.9'){ exclude group:'org.springframework.boot',module:'spring-boot-starter-data-mongodb' }原创 2022-01-10 18:20:07 · 1835 阅读 · 0 评论 -
java8(stream)从数组或集合中找到符合条件的就返回该对象
测试代码 public static void main(String[] args) { List<Integer> list =new ArrayList<>(); for (int i=0;i<10000;i++){ list.add(i); } Integer integer = list.stream() .filter(integer1 -> {原创 2022-01-09 18:26:29 · 11185 阅读 · 0 评论 -
加载sql表进sql数据库(有就不加,没有才加,flyway)与初始化mongo(mongock)
mysql导入gradle包 除sql驱动之外还需 implementation ‘org.flywaydb:flyway-core:5.2.4’在resources包下,创建db目录并在db下创建migration目录将sql表按命名规范放入2中的migration目录下启动项目即可成功。mongo除mongo所需的jar包外,还需implementation ‘com.github.cloudyrock.mongock:mongock-spring-v5:4.3.8’imple原创 2022-01-08 12:55:57 · 590 阅读 · 0 评论 -
前端ajax带token跨域问题,后端有拦截器
1、尝试了在controller上加了@CrossOrigin标签,也尝试加filter因为有拦截器先后顺序,单。2、尝试在后端加上请求响应头允许所有跨域,然后放行,还是没用,没意思到options被拦截。3、发现options被拦截,拦截器放行所有options请求,并加上允许跨域访问请求头后解决。...原创 2021-12-24 14:07:54 · 1199 阅读 · 0 评论 -
JAVA检测上传图片是否合法
1、将已知的图片类型写进内存,用list集合装起来,判断前端传递给我们的文件后缀是否被这些所包含。2、将前端上传图片的流转换成BufferImage,采用ImageIo输出的方式实现判断图片的内部结构是否为图片。如果不为图片会抛出异常,捕捉即可。 ImageIO.write( ImageIO.read(multipartFile.getInputStream()), 图片类型,原创 2021-12-17 17:10:23 · 1879 阅读 · 0 评论 -
JVM(学习记录)
因为跨平台的设计。java的指令集都是根据栈来设计的(栈可以0地址,不依赖硬件(跨平台)、指令集小、指令多;执行性能比寄存器差)。JIT寻找热点代码缓存,执行效率高。类的加载过程:1)加载。生成字节码文件,最后会生成代表这个类的java.lang.class对象,作为方法区内存这个类的各种数据的访问入口;2)链接:①验证:保证class文件的字节流中包含信息符合要求;②准备:为变量分配内存,为它分配该类型的默认初始值,不包含final修饰的static,不会为实例变量分配初始化;③解析:将符.原创 2021-10-26 14:44:52 · 87 阅读 · 0 评论 -
java采用WebSocket向前端传输rtp封装的h264码流,使用wfs.js接收h264流,并在前端页面播放
Maven依赖原创 2021-10-22 14:17:05 · 6568 阅读 · 23 评论 -
获取当前日期前n填的日期
Calendar calendar=Calendar.getInstance(); SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd"); calendar.add(Calendar.DATE,-n);//把日期往后增加一天.整数往后推,负数往前移动 Date date=calendar.getTime(); //这个时间就是日期往后推一天的结果...原创 2021-10-14 15:50:25 · 98 阅读 · 0 评论 -
使用资源绑定器时出现的错误以及switch,case不能使用资源绑定器中的值
1、资源绑定器:使用时不能加后缀properties,否则会报找不到的错误。例如:ResourceBundle bundle=ResourceBundle.getBundle("static/fixedresources/nodeIp"); return bundle.getString(key);2、java的case中必须是常量,不能将配置文件中的值获取之后放在case里,否则一样会报错。...原创 2021-07-01 10:26:33 · 150 阅读 · 0 评论 -
while死循环时,变量中的值不更新问题
1、可以通过在变量名定义时加上volatile关键字。例如:private volatile BufferedReader br;2、在循环中使用一下这个变量。例如打印一下;原创 2021-06-17 19:00:18 · 1405 阅读 · 0 评论 -
赫夫曼压缩以及解压(最后一位不补码导致的问题修补)
package syf.huffmantree;import java.util.*;public class ReviewHuffman { static Map<Byte,String> map=new HashMap<>(); public static void main(String[] args) { String s="i like like like java do you like a java"; byte[原创 2021-05-19 19:22:36 · 433 阅读 · 0 评论 -
Java字节转字符串
**1、**使用String str=new String(bytes, StandardCharsets.ISO_8859_1);bytes为字节数组,数组后面的0不用关心,转成字符串后由于它为0,会被舍去。**2、**由于字节转字符串时会有一些转义,导致字节转换成字符串后和之前的不一样,这是因为编码方式的问题。需将编码方式设置为StandardCharsets.ISO_8859_1。**3、**还要注意,如果使用io流时,用这种方法得到的字符串的getBytes方法,也需要设置编码方式。类似于这样b原创 2021-04-29 21:06:28 · 5701 阅读 · 0 评论 -
每天0点定时创建文件夹(命名规则为年-月-日)
public class CreateFolderRegularly { public static void SetTimer(){ System.out.println("=================每天定时创建文件夹=================="); Timer timer=new Timer(); Date date; //规定时间格式 年-月-日 Calendar calendar=Calenda原创 2021-04-25 09:02:36 · 630 阅读 · 0 评论