自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 MVCC多版本并发控制

MVCC(Mutil-Version Concurrency Control),就是多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。在Mysql的InnoDB引擎中就是指在已提交读(READ COMMITTD)和可重复读(REPEATABLE READ)这两种隔离级别下的事务对于SELECT操作会访问版本链中的记录的过程。这就使得别的事务可以修改这条记录,反正每次修改都会在版本链中记录。SELECT可以去版本链中拿记录,这就实现了读-写,写-读的并发执

2021-06-03 11:01:57 116

原创 mysql全套笔记

https://blog.csdn.net/oneby1314/category_10278969.html 阳哥mysql高级 索引优化 锁 相关https://blog.csdn.net/m0_46153949/article/details/107116168 初级 基本语法等等

2021-03-10 16:37:37 137

原创 @RequestBody和@RequestParam区别

@RequestParam注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required表示是否必须,默认为true,必须。 defaultValue可设置请求参数的默认值。 value为接收url的参数名(相当于key值)。@RequestParam用来处理Content-Type为applicatio...

2021-02-10 12:34:33 239

转载 WebApplicationInitializer启动分析

WebApplicationInitializer启动分析从Servlet 3.0 开始Tomcat已经支持注解式的配置。了解下,在注解的配置方式下,Web是怎样启动起来的。通过注解配置一个Web应用下面是一个通过注解实现一个简单的Web应用public class SpringWebInitializer extend AbstractAnnotationConfigDispatcherServletInitializer { //这里可以配置servlet,filter,

2021-01-08 13:06:32 356

原创 Redis Cluster

Redis Cluster是Redis官方提供的Redis集群功能1.为什么要实现Redis Cluster1.主从复制不能实现高可用2.随着公司发展,用户数量增多,并发越来越多,业务需要更高的QPS,而主从复制中单机的QPS可能无法满足业务需求3.数据量的考虑,现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能达到要求,此时需要考虑分布式需求,把数据分布到不同服务器上4.网络流量需求:业务的流量已经超过服务器的网卡的上限值,可以考虑使用分布式来进行分流5.离线计算,需要中间

2020-11-17 16:01:47 102

原创 Redis 的主从同步,及两种高可用方式

一、Redis 介绍Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在.

2020-11-16 20:45:03 199

原创 redis详解

1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集合12.redis数据结构 – 哈希13.聊聊redis持久化 – 两种方式14.聊聊redis持久化 – RDB15.聊聊redis持久化 – AOF16.聊聊

2020-11-11 16:16:31 152

原创 spring 配置 使用 redis

第二步:使用 Redis 连接池跟数据库连接池相同,Java Redis也同样提供了类redis.clients.jedis.JedisPool来管理我们的Reids连接池对象,并且我们可以使用redis.clients.jedis.JedisPoolConfig来对连接池进行配置,代码如下:JedisPoolConfig poolConfig = new JedisPoolConfig();// 最大空闲数poolConfig.setMaxIdle(50);// 最大连接数pool.

2020-11-11 15:48:56 837

原创 LinkedHashMap

LRU实现LRU的原理使用双链表 + HashMap 来实现 LRU访问结点 get(key), 首先根据key 在map 中获取 结点的 引用, 然后把该结点由当前位置调整到链表尾部。插入结点 put(key,val) 首先尝试获取 key结点,若存在则修改节点值,且类似于访问,把结点调整到链表尾部。 若不存在该key, 则若LRU还有容量,则将该结点直接插在尾部,且插入到map中。 ...

2020-10-26 19:19:42 187

原创 PriorityQueue优先队列的使用

优先队列的本质就是一个堆。 本质是一个数组维护的堆结构。所以其继承自List.需要注意的是:publicPriorityQueue(intinitialCapacity) 中只是限制了他的初试容量。 但是,只要加入新的元素,该容器就可能会扩容。 所以 java中, 优先队列不能直接限制容量。比如: 我们要在n 个 数中找到 前k大的数。 若不加以其他限制,最终容器中会有n个元素,而不是K个。手动限制优先队列大小(无法通过某参数直接限制大小)找前 K 大 : 用小顶堆...

2020-09-07 18:44:09 215

原创 NFA实现正则表达式

正则表达式匹配算法总的来说,分为两种边 匹配边 和 episo边 。状态转移是, 从 一个状态集合, 转移到 另一个 状态集合。一个状态集合中的 存在 匹配边的所有 状态, 可以通向另状态集合, 该集合可以通过 episo边进行扩展,到此实现了状态的转移。例如下边的例子 起始状态集合为{0,1,2,3,4,6} 12346是通过episo扩展得到的。该集合中的 {2,4,6}存在匹配边, 若当前输入为A, 则{2,6}可以实现匹配,{2,6}转移到{3,7} ,而{3,7}再扩展...

2020-09-04 16:29:04 1923

原创 KMP的DFA 实现

目录前言朴素子字符串查找算法KMP 算法的基本思想基于 DFA 的 KMP 实现朴素子字符串查找算法KMP 算法是用来解决子字符串查找问题的算法,这个问题有一个很朴素(暴力)的解决方式,通常的写法是:def bf_search(txt: str, pat: str) -> int: i, j, txt_len, pat_len = 0, 0, len(txt), len(pat) while i < txt_len ...

2020-09-04 09:23:07 447 1

原创 KMP

KMP算法计算next值和nextVal值给定一个主串S及一个模式串P,判断模式串是否为主串的子串;若是,返回匹配的第一个元素的位置(序号从1开始),否则返回0;这里先不写算法,仅仅计算next和nextVal值那么计算时只用到子串,也就是模式串这里模式串为:abaabcac第一步将模式串写上序号,我们这里从1开始(有的从0开始,建议充1开始)maxL列出从第一个开始的子串,找出相等的前缀和后缀的个数next接下来将maxL复制一行,去掉最后一个数,在

2020-08-29 15:01:34 252

原创 同步异步阻塞非阻塞

一、什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多。以下是我个人的理解:  同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行;  异步就是:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。这就是同步和异步。举个简单的例子,假如有一个任务包括两个子任务A和B,对于同步来说,当A...

2020-08-26 09:47:19 114

原创 单例模式大全

饿汉式// 饿汉式单例public class Hungry { // 可能会浪费空间 private byte[] data1 = new byte[1024*1024]; private byte[] data2 = new byte[1024*1024]; private byte[] data3 = new byte[1024*1024]; private byte[] data4 = new byte[1024*1024]; private

2020-08-24 09:40:09 126

原创 JUC(2)

JMMJava内存模型,不存在的东西,概念!约定!关于JMM的一些同步的约定1、线程解锁前,必须把共享变量立刻刷回主存。2、线程加锁前,必须读取主存中的新值到工作内存中!3、加锁和解锁是同一把锁解释: 该锁是jvm 层面的同步机制。jvm内存交互8种操作内存交互操作有8种,虚拟机实现必须保证每一个操作都是原子的,不可在分的(对于double和long类 型的变量来说,load、store、read和write操作在某些平台上允许例外)lock (锁定)...

2020-08-23 18:07:36 170

原创 JUC

目录Lock1. 监视器实现精准唤醒2.公平锁3.synchronized 和 Lock 的区别4. 8锁问题集合类不安全1.HashSet的本质就是一个HashMap2.List 不安全的解决3. Set不安全解决注意:CopyOnWriteArraySet 内部由CopyOnWriteArrayList构成4.Map 不安全的解决Callable1.与Runnable差别同一个FutureTask 实例, 只能被线程执行一次...

2020-08-20 19:37:34 177

原创 多线程教程

https://www.cnblogs.com/skywang12345/p/java_threads_category.html多线程教程

2020-08-18 11:17:19 85

原创 cannot resolve reference to bean 'sqlSessionFactory' while setting bean

cannot resolve reference to bean 'sqlSessionFactory' while setting bean<build> <resources> <!-- &lt;!&ndash;编译后对xml进行资源拷贝&ndash;&gt;--> ...

2020-01-19 17:34:05 3383

转载 vsftpd配置

引用:https://www.cnblogs.com/yjken/p/3917942.html  :关于chroot_list的解释:限制目录的访问权限https://www.cnblogs.com/zjhblogs/p/5919584.html  全局配置https://blog.csdn.net/bluishglc/article/details/42273197   关于user_l...

2019-02-13 11:20:45 97

原创 ActiveMQ 启动报错问题

1.jdk版本问题,更换jdk 或则 mq2.端口号问题Address already: 修改端口号 616151.Transport Connector could not be registered in JMX: java.io.IOException: Failed to bind to server socket: stomp://0.0.0.0:61613?maximum...

2019-01-09 11:09:39 1875

转载 shiro

目录前言 前情回顾 SecurityManager SecurityManager类图 DefaultSecurityManager DefaultWebSecurityManager SessionManager SessionManager类图 DefaultSessionManager ServletContainerSessionManager Def...

2018-12-23 15:39:05 91

转载 idea 使用逆向工程

https://www.cnblogs.com/songjn/p/8547794.html 可以实现

2018-11-16 19:35:28 203

转载 SSH项目与SSM项目的进入首页的方法

SSH项目中:jsp页面一般都是存放在WEB-INF下面的目录下,这样我们就不能直接访问到这些jsp页面了,保证了页面的安全性。在struts的管理中,是利用action来实现页面的跳转,进入index.jsp即页面的首页,我们采用的方法是:(1)在WEB-INF的这样目录下面建立一个index.jsp页面,页面中加入一句话,用来中转到项目中的首页:&lt;jsp:forward ...

2018-11-13 21:27:45 2427

原创 shiro-springmvc

遇到的一些问题在提交账户密码时要使用post方法提交,只有post方法,Form***Filter才会对其执行登陆认证。     

2018-11-11 13:35:14 74

原创 事件队列

js运行流程1. 所有代码分类* 初始化执行代码(同步代码): 包含绑定dom事件监听, 设置定时器, 发送ajax请求的代码 * 回调执行代码(异步代码): 处理回调逻辑2. js引擎执行代码的基本流程:* 初始化代码===&gt;回调代码3. 模型的2个重要组成部分:* 事件(定时器/DOM事件/Ajax)管理模块 * 回调队列4. 模型的运转流程* 执行初始化代...

2018-11-09 16:36:02 327

原创 js 的初始化顺序执行上下文与闭包

1. 代码分类(位置)  全局代码  函数(局部)代码 2. 全局执行上下文  在执行全局代码前将window确定为全局执行上下文  对全局数据进行预处理  var定义的全局变量==&gt;undefined, 添加为window的属性  function声明的全局函数==&gt;赋值(fun), 添加为window的方法  this==&gt;赋值(window)  开始执行全...

2018-11-09 15:12:50 287

原创 js 原型与原型链

函数对象  实例对象  原型对象1. 函数的prototype属性(图) 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象)  原型对象中有一个属性constructor, 它指向函数对象 2. 给原型对象添加属性(一般都是方法) 作用: 函数的所有实例对象自动拥有原型中的属性(方法) // 每个函数都有一个prototype属性, ...

2018-11-09 14:43:28 130

原创 JS高级基础

## 数据类型的分类和判断* 基本(值)类型* Number ----- 任意数值 -------- typeof* String ----- 任意字符串 ------ typeof* Boolean ---- true/false ----- typeof* undefined --- undefined ----- typeof/===* null -------- ...

2018-11-09 10:01:38 86

转载 用牛顿法求方程的根(重点是平方根)

(二)牛顿迭代法 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之...

2018-11-06 18:26:01 14269

原创 idea 设置修改jsp和html 不用重启项目

2018-11-06 16:10:24 4778 4

转载 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.Arr

 解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList的问题一、背景  最近闲来无事,想自己搭建一套Spring+SpringMVC+Mybatis+Mysql的环境(搭建步骤会在以后博客中给出),结果运行程序时,适用@Re...

2018-11-05 19:38:24 227

原创 Failed to load localhost:8080/initpage: Cross origin requests are only supported for protocol scheme

异常 加上  http 请求头就可以正常访问 建议使用一下方式,location 的方式,避免跨域

2018-11-05 19:38:11 875 3

原创 IDEA 添加jsp jstl标签支持

&lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; &lt;artifactId&gt;jstl&lt;/artifactId&gt; &lt;version&gt;1.2&lt;/version&gt; &lt;/dependency&gt;

2018-11-04 19:21:14 722

原创 AIO实现异步通信

Asynchronous  ---&gt; Channel重点 AsynchronousSocketChannel 和 AsynchronousServerSocketChannel 支持TCP的异步Channel AsynchronousSocketChannel   负责监听的Channel  创建方法:调用AsynchronousServerSocketChannel...

2018-10-30 12:34:42 573

原创 同步与阻塞,异步与非阻塞的区别

2018-10-29 17:45:40 58

转载 同步与阻塞,异步与非阻塞的区别转载

同步与阻塞,异步与非阻塞的区别同步与异步是对应的,它们是线程之间的关系,两个线程之间要么是同步的,要么是异步的。阻塞与非阻塞是对同一个线程来说的,在某个时刻,线程要么处于阻塞,要么处于非阻塞。阻塞是使用同步机制的结果,非阻塞则是使用异步机制的结果。处理大并发之一 对异步非阻塞的理解    在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用ep...

2018-10-29 17:31:59 165

原创 NIO实现非阻塞式Socket通信

Selector 非阻塞通信核心Selector负责监控所有已经注册的Channel Selector通过SelectionKey来关联Channel 群聊服务器nio非阻塞式public class NServer{ // 用于检测所有Channel状态的Selector private Selector selector = null; static final int...

2018-10-29 14:26:05 168

原创 NIO

 NIOchannel:可以理解为一个通道。channel把文件中数据映射到Buffer中。然后channel操作Buffer进行读写操作 Buffer: 就是一个容器,channel进行读写的容器工具,另外,Buffer本身也可以完成读写操作使用Buffer从0开始就有数据 capacity:容量。 limit:第一个不应该被操作的缓冲区索引位置。limit之后不可读写 p...

2018-10-28 15:20:41 97

原创 IO印象笔记

File File 对象 * * //可以将一个已存在的,或者不存在的文件或者目录封装成file对象。 * 是对文件和目录本身和其包含文件和目录基本信息的描述。 创建对象只是在内存中,需要中creatnewfile 方法在外存中创建。 * * * File f1 = new File("c:\\a.txt"); * File...

2018-10-27 15:25:32 129

设计模式模板

设计模式模板大全,资源来自疯狂java讲义赠送的

2018-10-22

空空如也

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

TA关注的人

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