自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 netty

[

2021-10-29 14:35:54 140

原创 消息队列MQ

2021-10-18 21:14:03 131

原创 Spring

SpringSpring的两种依赖注入方式:setter方法注入与构造方法注入Spring生命周期Spring Bean 的生命周期BeanPostProcessor.postProcessBeforeInitialization,BeanPostProcessorpostProcessAfterInitialization相当于夹在InitializingBean,init_method两端使用BeanFactory级Bean生命周期接口与Bean级生命周期接口的区别在于BeanFacto

2021-09-06 10:10:46 190

原创 MongoDB

NoSQL随着数据日益增多,NoSQL通过降低数据的安全性、减少对事物的支持,减少对复杂事务查询的支持,获得性能上的提升。保证的是最终一致性。 NoSQL一般分为K-V型、文档型、列型、图型数据库。...

2021-08-23 19:11:12 94

原创 Mysql

DML DDLDML(Data Manipulation Language)数据操纵语言:适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.DDL(Data Definition Language)数据定义语言:适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.为什么Mysql官方推荐使用自增主键mysql底层数据结构是 B+ 树,索引对应一棵 B+ 树,mysql 中的数据都

2021-08-14 23:51:00 222

原创 SpringSecurity 笔记

整体概要与 shiro相比,spring security 功能更全面,同样重量级也越大。shiro相对比较轻量。spring security 本质就是过滤器链<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>松

2021-06-19 15:46:21 199

原创 Excel&pdf

2021-06-14 18:27:55 78

原创 Mybatis-plus

2021-06-07 16:11:56 51

原创 数据结构与算法

红黑树性质一:节点是红色或者是黑色;性质二:根节点是黑色;性质三:每个叶节点(NIL或空节点)是黑色;性质四:每个红色节点的两个子节点都是黑色的(也就是说不存在两个连续的红色节点);性质五:从任一节点到其每个叶节点的所有路径都包含相同数目的黑色节点;衍生性质:红色节点的父节点是黑色的,黑色节点的父节点可以是黑色红父黑叔的插入操作,一般来说是出现在红父红叔往上回溯的情况https://www.cs.usfca.edu/~galles/visualization/RedBlack.htm

2020-09-22 23:26:18 163

原创 消息队列 RabbitMQ + kafka

RabbitMQexchangerfanout:如果交换器收到消息,将会广播到所有绑定的队列上direct:如果路由键完全匹配,消息就被投递到相应的队列topic:可以使来自不同源头的消息能够到达同一个队列。 使用 topic 交换器时,可以使用通配符消息顺序消费我们遇到的大多数场景都不需要消息的有序的,如果对于消息顺序敏感,那么我们这里给出的方法是,消息体通过hash分派到队列里,每个队列对应一个消费者,多分拆队列。为什么要这么设计? 同一组的任务会被分配到同一个队列里,每个队列只能有一个

2020-09-22 23:24:56 300

原创 NIO与netty原理

计算机组成原理App是无法直接操作驱动等内核程序的,需要调用内核程序时,必须向内核进行系统调用。系统调用与函数调用不是同一个东西。由于保护模式的存在,我们的程序是无法直接函数调用内核程序,而是通过系统调用。系统调用,本质就是通过中断执行。程序中断的过程:程序中,仿佛函数调用似的调用内核程序,(本质上会产生中断)系统调用产生中断,中断将内核程序的中断向量(0~255)存入CPU的寄存器CPU同时会开启一个守护线程,守护我们的程序,以将中断的结果返回CPU根据中断向量,在

2020-08-30 00:18:00 510

原创 计算机网络知识总结

ICMP(Internet Control Message Protocol)ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它对于网络安全具有极其重要的意义。它属于网络层协议,**主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。**当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。...

2020-08-29 20:05:10 99

原创 java线程池传入Runnable也会有结果?

public class HelloWorld { public static void main(String[] args) { ExecutorService executor = Executors.newCachedThreadPool(); Task task = new Task(); Integer i=1; Future<Integer> result = executor.submit(task,i);.

2020-08-27 23:50:47 165

原创 Redis知识点总结

什么是关系型数据库NOSQL四大分类​ 图关系型数据库​ -不是用来存图的,而是用来存图的关系的,也就是数据结构里的图结构现在比较流行的:Redis,MongoDB,HBase,Neo4J四种分类的对比

2020-08-17 16:13:05 291

原创 JAVA知识点总结

<< >>运算符<<表示左移移,不分正负数,低位补0; 负数在机器中都是补码,因此左移右移都i是根据补码进行。负数:r = -20 << 2-20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100左移两位后的补码:1011 0000 (逻辑右移,低位补零)反码:1010 1111原码:1101 0000结果:r = -80>>表示右移,如果该数为正,则高

2020-08-12 10:27:21 258

原创 安全与编码知识点总结

BASE64编码Base64编码可以把任意长度的二进制数据变为纯文本。它的原理是把3字节的二进制数据按6bit一组,用4个int整数表示,然后查表,把int整数用索引对应到字符,得到编码后的字符串。Base64.getEncoder().encode(); public byte[] encode(byte[] src) { int len = outLength(src.length); // dst array size

2020-08-11 19:36:29 179

原创 Mysql知识点总结

next-key lockselect * from gap_table where num=6 for update如果提交读使用for update。那么就没有gap锁,只有行锁,会出现幻读。可重复读,不使用for update的情况下,永远读取的都是TRX_ID小于TRX_ID_MIN的快照,绝对不会出现幻读。但是可重复使用了for update的情况下,会读取最新提交的事务快照。那就有问题出现,这样子不是会出现不可重复读吗?因此for upadte需要加锁。同时加上行锁和gap锁,结合起来

2020-08-10 12:30:23 194

原创 java Singleton单例模式

简单手动实现单例模式时,如下,其实已经实现了延时加载,无需再引用双重检查而且实际上,如下的双重检查根本不成立,由于Java的内存模型,双重检查在这里不成立。要真正实现延迟加载,只能通过Java的ClassLoader机制完成。public static Singleton getInstance() { if (INSTANCE == null) { synchronized (Singleton.class) { if (INSTANCE == null

2020-08-06 15:27:49 120

原创 java BufferedReader与Scanner (注意有坑)

使用BufferedReader public static void main(String[] args) throws IOException { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in)); String n; while ((n=bufferedReader.readLine())!=null){

2020-08-05 20:29:23 619

原创 spring知识点总结

@JsonInclude(Include.NON_NULL) 作用:javabean为空的属性,不输出为Json,否则为空的字段也要输出{ "id": 54, "field": "清洗标记", "name": "清洗标记四", "code": "QXBJ004", "number": "QXBJ004", "operator": null, "updatetime": null, "postscript": "", "pinyinco

2020-08-04 16:30:48 141

原创 springboot resful api

大概有以下几种方法1 @RestController() 表明该类 RestFul 风格的Controller。2 @GetMapping() 用于生命在 Get方式访问的接口 该方式主要用于数据查询。3 @PostMapping() 用于声明在 Post方式访问的接口 该方式主要用于数据新增。4 @PutMapping() 用于声明在 Put方式访问的接口 该方式主要用于全部更新。5 @PatchMapping() 用于声明在 Patch方式访问的接口 该方式主要用于局部更新。6 @Dele

2020-08-04 12:19:53 135

原创 Dubbo+Zookeeper知识点总结

分布式与微服务**Dubbo是RPC通信框架,而不是微服务架构解决方案 **分布式锁​ 分布式协调技术,主要用来解决分布式环境中,多个线程的同步控制,让他们有序的访问临界资源,防止造成脏数据的后果。zookeeper就是一种分布式协调技术,本质上是利用**分布式锁**。分布式锁对象是进程可以利用redis或者zookeeper来实现分布式锁,但redis本质并不是拿来实现分布式锁的,仅仅是利用了他的单线程处理。redis分布式锁获得锁:某一个进程获得资源后,就会去redis

2020-08-04 11:32:24 1050

原创 springboot swagger2

引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency&

2020-08-01 16:23:37 157 1

原创 java list集合排序总结

listArrays.asList(new String[]{“beijing”, “shanghai”});返回的是Arrays.ArrayList该方法返回定长的 List,不支持 add 和 remove 操作Arrays.ArrayList将外部数组的引用直接通过“=”赋予内部的泛型数组,所以本质指向同一个数组。public class collotions { public static void main(String []args){ //mylist();

2020-07-31 21:24:16 284

原创 springboot2.3配置与使用elasticsearch7.x

网上很多都过时了,我总结了一下新版的。首先,springboot配置elasticsearch,不要再用下面这写了,jest完全过时了,别再用了现在spring官方推荐我们用**High Level REST Client**来配置具体配置如下@Configurationpublic class ElasticSearchConfig { @Bean public RestHighLevelClient restHighLevelClient(){ ClientC

2020-07-28 20:43:17 4056 2

原创 docker启动es(闪退及外部无法访问9200端口)

首先假如容器出现闪退,使用docker logs -f 容器ID 查看日志发现:如下错误ERROR: [1] bootstrap checks failed[1]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144][2]: the default discovery settings are unsuitable for production use; at

2020-07-28 09:35:12 1414 3

原创 java正则表达式Matcher.appendReplacement与appendTail

m.appendReplacement(sb, replacement)sb是为一个StringBuilder,replacement是等于替换进去sb的内容,并且将上次匹配到的内容到此次匹配到的内容之间的所有字符全部append到sb中,(假如是第一次匹配的内容,则是开头到此次匹配到的)m.appendTail(sb)作用将匹配到的内容之后所有的字符全部append到sb当中两个方法经常结合起来,将字符串中指定的内容替换 public static void fun3() {

2020-05-22 18:58:55 1017

原创 关于Java泛型的静态方法

个人观点而已,没有查资料考究过,有人说Java泛型无法写静态方法,也有说可以写,但是必须在static后加上< T >。而我认为泛型是完全可以写静态方法,并且static后加上< T >并不是必须的package helloworld;public class fanxing { public static void main() { pair<Integer> Sample=new pair<>(1,3); System.out.print

2020-05-19 18:48:03 667

原创 C++批量读取文件信息(包括子文件夹)

这里使用的结构体是_finddata_tstruct _finddata_t { unsigned attrib;//文件属性 time_t time_create; time_t time_access; time_t time_write; _fs...

2020-04-29 11:29:53 754

原创 C++ 数独解法

问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。输入:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出:完整的9X9盘面数组原题链接#include<iostream>#include<map>#include&...

2020-04-28 22:07:45 1179

原创 C++map 构建以一些方法的使用

map不是线性序列,map是关联容器,用于存储按特定顺序的key和value的组合形成的元素。在map中,key通常用于对元素进行排序和唯一标识,而value用于存储与该key关联的内容。键和映射值的类型可能有所不同,通常用pair组合在一起。key是唯一且不变的。pair<const Key, T> value_type;map中,按照key的大小进行排序,默认为key小的在前...

2020-04-28 17:53:23 707 1

原创 C++ cin与getline等输入函数的总结

大家可以将注释的代码分段运行测试一下#include<iostream>#include<string>#include<math.h>#include<vector>using namespace std;int main(){ string a; string b; string c; string test; //ci...

2020-04-27 13:11:26 253

原创 条纹图(四步相移)与时域解得包裹相位代码

条纹图(四步相移)与时域解得包裹相位代码clc;close all;clear;width =1240; height =1110;WaveLengthArr= [15];nStepPS=4;xArr = [1:height];%% Fringes generationStdFringeSet = GetFringeSet(height, width, nStepPS, ...

2020-04-22 22:51:45 4205 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除