java
非递归电饭煲
这个作者很懒,什么都没留下…
展开
-
SpringBoot时间格式化
Date类型java8推出了LocalDateTime 所以不太推荐使用Date了spring.jackson.date-format =yyyy-MM-dd HH:mm:ssspring.jackson.time-zone=GMT+8LocalDateTimespring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8package com.shoukailiang.commun原创 2021-08-13 17:13:18 · 278 阅读 · 0 评论 -
CyclicBarrier知识点提要
CyclicBarrier概念和CountDownLatch相反,需要集齐七颗龙珠,召唤神龙。也就是做加法,开始是0,加到某个值的时候就执行CyclicBarrier的字面意思就是可循环(cyclic)使用的屏障(Barrier)。它要求做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活,线程进入屏障通过CyclicBarrier的await方法案例集齐7个龙珠,召唤神龙的Demo,我们需要首先创建CyclicB原创 2021-08-13 15:15:52 · 101 阅读 · 0 评论 -
SpringBoot报警告WARNING: An illegal reflective access operation has occurred
错误详情由于我将8的项目升级到了11解决办法public static void disableWarning() { try { Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); theUnsafe.setAccessible(true); Unsafe u = (Unsafe) theUnsafe.get(null); Class cls = Cla原创 2021-08-04 13:30:29 · 605 阅读 · 0 评论 -
jdk11 发现不能用var
起因检查springBoot设置了还出错重新clean一遍原创 2021-08-04 13:29:08 · 1531 阅读 · 0 评论 -
openfeign bug记录
第二次遇到了…记录一下看了下目录结构将主类和edu同层此就好了…太僵硬了原创 2021-08-03 20:38:57 · 125 阅读 · 0 评论 -
idea中tomcat乱码
在springmvc中,idea中tomcat乱码-Dfile.encoding=utf-8HELP->Edit Custom VM OPtions中加 -Dfile.encoding=utf-8 重启idea把Tomcat中 server.xml:在 标签中添加 URIEncoding=“UTF-8”然后重启电脑,可以解决乱码问题...原创 2021-08-03 12:10:53 · 78 阅读 · 0 评论 -
springboot常见问题
Method annotated with @Bean is called directly. Use dependency injection instead.未添加@Configuration注解,导致@Bean之间相互调用出错因此把类名上面增加@Configuration注解即可解决。原创 2021-04-22 10:38:19 · 342 阅读 · 0 评论 -
idea 自用快捷键
ctrl+alt+b当前接口的实现类有哪些ctrl+h打开当前类的实现类窗口Ctrl+Alt+M选中代码抽取为一个方法Ctrl+单击方法或类,进入到父类中Ctrl+Alt+单击方法或类,进入到子类中双击Shift键,框中直接搜你想搜的类或者方法搜索本项目中的方法或者配置信息中的内容Ctrl+ Shift+ F(注意会和qq快捷键冲突)Ctrl+N输入要搜索的类,想搜索的类包括在jar里面,需要勾选“include non—project itms”选项,就可以搜索出来...原创 2021-04-21 10:06:08 · 204 阅读 · 2 评论 -
springboot集成swagger
使用国人写的com.spring4all的方式依赖 <dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.9.1.RELEASE</version> </dependency>在启动类上增加注解@Enab原创 2021-04-19 14:48:23 · 99 阅读 · 0 评论 -
spring-boot-configuration-processor
spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artif原创 2021-04-19 14:43:48 · 308 阅读 · 0 评论 -
解决远程调用不自动带上访问令牌的拦截器
/** * 解决远程调用不自动带上访问令牌的拦截器 * 使用 Feign进行远程调用时,先经过此拦截器,在此拦截器中将请求头带上访问令牌 */@Componentpublic class FeignRequestInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { // 通过RequestContextHol原创 2021-04-19 12:52:51 · 186 阅读 · 0 评论 -
logback日志
logback.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 彩色日志 --> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />原创 2021-04-16 17:35:50 · 75 阅读 · 0 评论 -
初始化springboot项目超时,解决https://start.spring.io连接不上的问题
发现https://start.spring.io很不稳定,可以替换成阿里云的原创 2021-04-04 23:51:39 · 940 阅读 · 0 评论 -
公钥和私钥的生成
非对称加密算法对称加密算法需要两个密钥:公开密钥( publickey简称公钥)和私有密钥( privatekey简称私钥)。公钥与私钥是一对,如果用私钥对数据进行加密,只有用对应的公钥才能解密。jwt令牌生成采用非对称加密生成密钥证书公私钥对可以使用jdk的命令 keytodl来生成,首先来看下这个命令下有哪些参数生成密钥证书文件,每个证书包含公钥和私钥执行以下命令keytool -genkeypair -alias oauth2 -keyalg RSA -keypass oauth2原创 2021-04-02 10:38:36 · 7586 阅读 · 1 评论 -
阻塞队列
概念队列队列就可以想成是一个数组,从一头进入,一头出去,排队买饭阻塞队列BlockingQueue 阻塞队列,排队拥堵,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素当阻塞队列是空时,从队列中获取元素的操作将会被阻塞当蛋糕店的柜子空的时候,无法从柜子里面获取蛋糕当阻塞队列是满时,从队列中添加元素的操作将会被阻塞当蛋糕店的柜子满的时候,无法继续向柜子里面添加蛋糕了也就是说 试图从空的阻塞队列.原创 2021-02-22 12:42:07 · 112 阅读 · 0 评论 -
Java锁之读写锁
学习自尚硅谷独占锁(写锁) / 共享锁(读锁) / 互斥锁概念独占锁:指该锁一次只能被一个线程所持有。对ReentrantLock和Synchronized而言都是独占锁共享锁:指该锁可以被多个线程锁持有对ReentrantReadWriteLock其读锁是共享,其写锁是独占写的时候只能一个人写,但是读的时候,可以多个人同时读为什么会有写锁和读锁原来我们使用ReentrantLock创建锁的时候,是独占锁,也就是说一次只能一个线程访问,但是有一个读写分离场景,读的时候想同时进行,因此原来.原创 2021-02-18 19:16:53 · 992 阅读 · 0 评论 -
Collection线程不安全的举例
学习自尚硅谷Collection线程不安全的举例前言1、当我们执行下面语句的时候,底层进行了什么操作new ArrayList<Integer>();底层创建了一个空的数组,伴随着初始值为10当执行add方法后,如果超过了10,那么会进行扩容,扩容的大小为原值的一半,也就是5个,使用下列方法扩容Arrays.copyOf(elementData, netCapacity)单线程环境下单线程环境的ArrayList是不会有问题的public class ArrayLis.原创 2021-02-17 21:10:36 · 100 阅读 · 0 评论 -
volatile的理解
学习自b站尚硅谷 https://www.bilibili.com/video/BV1zb411M7NQ?p=4&spm_id_from=pageDriver谈谈你对volatile关键字的理解。Volatile是Java虚拟机提供的轻量级的同步机制(三大特性)保证可见性不保证原子性禁止指令重排JMM是什么JMM是Java内存模型,也就是Java Memory Model,简称JMM,本身是一种抽象的概念,实际上并不存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变.原创 2021-02-17 14:13:58 · 63 阅读 · 0 评论 -
Java两种动态代理JDK动态代理和CGLIB动态代理笔记
代理模式学习自狂神b站视频为什么要学习代理模式,因为AOP的底层机制就是动态代理!代理模式又分为静态代理和动态代理。动态代理在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。相对来说,自己写代理类的方式就是静态代理。静态代理那我们先来写一个静态代理吧静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行原创 2021-02-16 14:47:16 · 218 阅读 · 0 评论 -
用Jsoup写个小爬虫玩玩
初始化获取请求返回的页面信息,筛选出我们想要的数据就可以了初始化项目导入依赖代码编写编写一个封装对象的实体类package com.shoukailiang;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Content { priv原创 2021-02-11 00:35:26 · 151 阅读 · 4 评论 -
java程序执行过程中内存分析(转)
title: java程序执行过程中内存分析(转)date: 2018-07-08 16:00:35tags:后端javacategories:后端内存分析Java程序运行在JVM上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。一个完整的Java程序运行过程会涉及以下内存区域:寄存器: JVM内部虚拟寄存器.转载 2021-02-06 17:55:42 · 269 阅读 · 0 评论 -
注解笔记
Java中的元注解有哪些?Java中提供了4个元注解,**@Target:**元注解的作用是负责注解其它注解。package com.company;import java.lang.annotation.ElementType;import java.lang.annotation.Target;@Target(value = {ElementType.METHOD,ElementType.TYPE})@interface MyZhujie{}@MyZhujieclas...原创 2021-02-03 17:52:40 · 91 阅读 · 0 评论