笔记
爱吃辣椒炒肉
热爱技术的闷骚男
展开
-
Dubbo 找不到服务
倒大霉,我的老卑鄙如果你的service 有几个版本 记得再dubboReference上加上 version属性 操!原创 2021-09-15 16:41:06 · 186 阅读 · 0 评论 -
springboot自定义messageConverter
如果想自定义传输数据的类型 需要设置自己的messageConverterpublic class YanMessageConverter implements HttpMessageConverter { @Override public boolean canRead(Class clazz, MediaType mediaType) { return false; } @Override public boolean canWrite(Cl原创 2021-08-24 16:07:13 · 313 阅读 · 0 评论 -
一句话让spring-boot帮我开启浏览器参数内容协商策略
一句话:背后的原理:当我们开启参数协商以后在RequestResponseBodyMethodProcessor里 有个方法有个writeWithMessageConverter 这里包含消息的读和写操作 进入查看发现:里面有个获取request的可以接受的类型 继续进入调用了一个内容协商管理器的方法。进入方法此方法遍历所有的strategy 我们查看此时的策略发现此时存在两个策略一个是参数内容协商 另外是请求头内容协商。oh 原来当我们写下那句 spring.mvc.conte原创 2021-08-24 13:15:49 · 122 阅读 · 0 评论 -
HttpMessageConverter原理
1.判断当前响应是否有了确定的媒体类型。2.获取客户端支持的接受类型。(header accept 字段 )这里用postman故意设置为xml然后找到一个合适的converter进行write原创 2021-08-23 15:51:52 · 77 阅读 · 0 评论 -
spring-boot源码分析--响应json 返回值处理
1,spring-boot 引入web包后带有json的stater。只需在类方法上面responseBody就可以。2,有返回值解析器returnValueHandlers进行处理。3,执行完这个方法后,得到返回值,进行一些返回值安全判断后。4,使用返回值处理器进行处理。下面分析这个方法怎么处理:1.首先调用了这个方法:stepover --》stepinto2.来到真正的处理方法中:首先,选择一个对应的handler返回值处理器会判断返回值处理器是否支持处理该类型返回值,支原创 2021-08-23 14:27:36 · 363 阅读 · 0 评论 -
初学算法之---递归汉诺塔
package 蓝桥杯算法课.递归;/** * @ClassName 汉诺塔 * @Author ACER * @Description ToDo * @Date 2021/7/30 14:51 * @Version 1.0 **/public class 汉诺塔 { public static void main(String[] args) { //将前n-1个盘子 从a移到b c作为辅助。 //从上往下 盘子由大到小 //先假原创 2021-07-30 15:33:45 · 56 阅读 · 0 评论 -
初学算法之---递归的插入排序
如下:/** * @ClassName 排序 * @Author ACER * @Description 找重复,找到一种划分方法,找到递归公式等价转换。都是去划分子问题 * 找到出口。找变化的量,通常要作为参数。 * @Date 2021/7/26 21:04 * @Version 1.0 **/public class Main{ public static void main(String[] args) { int []arr={1原创 2021-07-26 21:31:01 · 98 阅读 · 0 评论 -
初学算法之---pta吉老师回归(简单题)
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;/*只做难题,那就保存难题。输出就行了。。。*/public class Main { public static void main(String[] args) throws IOException.原创 2021-07-22 15:26:20 · 343 阅读 · 0 评论 -
初学算法之---pta 福到了
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @ClassName 福到了 * @Author ACER * @Description ToDo * @Date 2021/7/19 21:14 * @Version 1.0 **/public class Main{ private static BufferedReader r.原创 2021-07-21 22:45:08 · 264 阅读 · 0 评论 -
初学算法之---pta fun with numbers
#include<stdio.h> #include<math.h> #include<string.h> int main(){ char a[21]; char b[21]={0}; scanf("%s",&a); int len=strlen(a); /* for(int i=0;i<len;i++){ array[i] } */ //统计数字出现次数 下标就是数字 int num1[10] = {0}; f.原创 2021-07-16 21:51:50 · 53 阅读 · 0 评论 -
初学算法之二叉树---求树的高度 pta
#include <stdio.h>#include <stdlib.h>#include <algorithm>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};BinTree CreatBinT原创 2021-07-15 22:07:52 · 132 阅读 · 0 评论 -
初学反射之---类的加载于classLoader的理解
意思就是:将class文件加载进内存,生成Class对象 将二进制代码合并到jvm中,由jvm分配static的内存。将常量名替换成地址。然后将所有的类变量赋值动作和静态代码块中的语句合并,执行clinit方法;...原创 2021-07-13 13:47:24 · 56 阅读 · 0 评论 -
初学算法之枚举---拨钟问题
分析:每次拨动钟顺时针转动90°的效果 就是将数值加一是0到3的循环,钟状态总共有四种:0 1 2 3 枚举四种状态 先枚举A B C的状态,确定A B C之后,D E F也可以确定因为只有 D E F才能改变A B C状态拨动次数:0次和4次是一样的效果package 枚举;import org.junit.Test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStre.原创 2021-07-12 22:43:16 · 194 阅读 · 0 评论 -
初学算法之动态规划---求最长公共子串
package 动态规划;/** * @ClassName 最长公共子串 * @Author ACER * @Description 例如asdb asd 最长公共子串是asd * @Date 2021/7/11 19:45 * @Version 1.0 **/public class 最长公共子串 { static char[] chars2 = "ssdf".toCharArray(); static char[] chars1 = "asd".toCharArray()原创 2021-07-11 20:19:45 · 66 阅读 · 0 评论 -
初学算法之动态规划---最长上升子序列
package 动态规划;import java.util.Arrays;/** * @ClassName 查找最长子序列 * @Author ACER * @Description 对于 1 2 3 6 5 最长子序列是 1 2 3 5 * @Date 2021/7/11 15:57 * 动态规划,将问题分解为子问题 :以ak为终点的最长子序列。 * @Version 1.0 **/public class 查找最长子序列 { public static void main原创 2021-07-11 17:04:26 · 52 阅读 · 0 评论 -
初学算法之分治---求逆序数
package 分治;/** * @ClassName 求排列的逆序数 * @Author ACER * @Description * 对于261数组,有逆序数(6,1) * 给定一个数组 求其 * 逆序数 * @Date 2021/7/11 10:25 * @Version 1.0 **/public class 求排列的逆序数 { public static void main(String[] args) { int array[]={2,6,3,4,5原创 2021-07-11 12:37:20 · 138 阅读 · 0 评论 -
初学算法之分治---快速排序
/** * @ClassName 快速排序 * @Author ACER * @Description * 第一遍遍历作用是先将k=array[start]放置于数组中间左右两 边 分别小于k和大于k *遍历方法:数组头尾放一个指针,当两个这个指针数据不同时判断两个数大小交换位置 * 如果符合大小顺序则移动指针 直到不同大小 * 一回合结束后 ,递归以k为中点,左右递归。 * @Date 2021/7/10 21:38 * @Version 1.0 **/pub原创 2021-07-10 22:28:44 · 56 阅读 · 0 评论 -
算法学习之分治---并归
/** * @ClassName 并归排序 * @Author ACER * @Description ToDo * @Date 2021/7/10 20:11 * @Version 1.0 **/public class 并归排序 { public static void main(String[] args) { int [] a={1,5,1,3}; int [] temp=new int[10]; mergeSort(a,0,a.原创 2021-07-10 21:09:51 · 54 阅读 · 0 评论 -
初学算法之递归---放苹果
/** * @ClassName 放苹果 * @Author ACER * @Description 把M多个同样的苹果放在n个同样的盘子里 * 允许有的盘子空着不放问共有多少不同的方法。 * * 分析:有两种情况:1.盘子数大于苹果数 f(m,m) * 2.盘子数小于苹果数 有两种情况: * 一,存在空盘子情况,二,不存在空盘子情况 * 存在:f(m,n-1)意思把m个苹果放在n-1个盘子里 空出.原创 2021-07-10 16:05:17 · 103 阅读 · 0 评论 -
报错 An error happened during template parsing (template: “ServletContext resource [/shiroTest.html]“)
使用thymeleaf视图解析器 这是因为模板解析器出现了错误刚上手thymeleaf不会用解决办法:在方法上面加上@ResponseBody原创 2021-06-06 17:17:30 · 1652 阅读 · 0 评论 -
shiro学习之错误 No realms have been configured! One or more realms must be present to execute an authori
看老师的配置文件,配置授权的时候忘记写如下配置:出现错误:No realms have been configured! One or more realms must be present to execute an authorization operation.要使用授权功能 必须在securityManager中 加入realms (多realm情况下)同时有以下配置:...原创 2021-06-04 10:14:52 · 270 阅读 · 0 评论 -
shiro加密
1.如何把一个字符串加密为MD52. 替换当前realm的credentialManager 属性直接使用hashedCredentialMatcher并设置属性 加密算法即可。配置如下:比较的步骤首先在getpassword打个断点下一步进入这个方法 设置credential为password接下来对token的credential进行加密。也就是对password下一步对token 加密后的值与info的credentials进行比较。可以看出调用了equals方法。...原创 2021-06-02 11:08:15 · 60 阅读 · 0 评论 -
shirospring配置文件细节(一)
在配置文件中, 必须和web.xml的shiroFilter的名字保持一致其中shiro-spring配置文件里的shiroFilter的property标签内,遵循第一个首先配置原则,例如:如果首先写了 /**=anon 则后面再写 /index.html=authc 被无效化。所有页面可以访问。...原创 2021-05-31 17:04:10 · 69 阅读 · 0 评论 -
spring web 整合shiro
话不多说直接上步骤:第一步,导入依赖。 <!--Shiro--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.1</version> <原创 2021-05-31 15:34:22 · 95 阅读 · 0 评论 -
shiro学习(一)
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。原创 2021-05-31 15:23:29 · 38 阅读 · 0 评论 -
服务器端验证码的生成
@RequestMapping("/user/checkCode") public void checkCode(HttpServletRequest request, HttpServletResponse response){ //服务器通知浏览器不要缓存 response.setHeader("pragma","no-cache"); response.setHeader("cache-control","no-cache"); .转载 2021-05-29 17:25:53 · 265 阅读 · 0 评论 -
多线程学习之lambda初体验
很多人对lambda表达式表示费解,很正常。一下是一些实例:lambda表达式 简化函数式接口实现的过程。函数式接口就是 该接口只有一个方法。就叫函数式接口1. 首先来看看匿名内部类的写法public class lambda { public static void main(String[] args) { runnable myrunnable=new runnable() { @Override public void原创 2021-05-28 16:02:39 · 55 阅读 · 0 评论 -
多线程学习之龟兔赛跑
龟兔赛跑问题 模拟龟兔竞争冠军 兔子睡觉过程。以下是代码:public class Race implements Runnable{ private static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) { if (Thread.currentThread().getName().equals("兔子")){原创 2021-05-28 10:09:18 · 69 阅读 · 0 评论 -
Spring 使用websocket的一些问题点
首先我被Spring版本坑惨了,在使用5.3.6版本时,在配置websocketconfiger对象时加上configeration注解时启动项目 报错 no class然后我把版本更换成了5.3.3 重启问题解决 。原创 2021-05-20 00:04:40 · 162 阅读 · 0 评论