自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解幻读的加锁问题

深入理解幻读的问题文章目录深入理解幻读的问题这篇文章的主要重点是对RR隔离级别下如何加锁的分析参考博文【原创】惊!史上最全的select加锁分析MySQL加锁分析首先关于幻读,在RC的隔离级别下是没有问题的,因为对于每一个select语句都会生成一个新的视图。下面主要介绍先介绍一下在RC 隔离级别下,不同语句的加锁情况,方便后面对RR隔离级别的对比。pId(int)name(varchar)num(int)1aaa1002bbb2003bbb300

2020-08-14 14:59:48 371

原创 在可达性分析中存在的问题

我们知道在可达性分析中需要从GC ROOTS出发,遍历整个对象图找出垃圾并进行回收。但是比如说进行Minor GC的时候,你要从哪些地方寻找GC ROOTS?这个的范围并不是单单只扫描整个新生代就行了。因为跨代引用的存在,你还需要扫描老年代中指向新生代的GC ROOTS 。这就又会带来一个问题,老年代中的东西是十分多的,如果我们每一次Minor GC都要扫描整个老年代,那么时间开销会是很大的。所以为了减少这部分的时间,JVM采用了空间换取时间的办法。因为我们只需要知道某一非收集区域是否有指向收集区域的指针.

2020-08-12 14:16:43 618

原创 Cookie,Session,Token的区别和联系

Cookie,Session,Token的区别和联系文章目录Cookie,Session,Token的区别和联系CookieCookie的用途1) Session管理2) 个性化3) User TrackingXSS攻击Sessionsession和cookie的区别分布式session解决方案1)Session复制2)Session粘滞3)Session集中管理(推荐)4)基于Cookie管理TokenToken与Session的区别CookieCookie指某些网站为了辨别用户身份而储存在用户本地

2020-06-06 19:01:05 458

原创 Redis初步学习笔记

Redis学习笔记文章目录Redis学习笔记命名规范redis的常用命令DEL**EXISTS**EXPIREKEYSTTLTYPEString类型赋值语法取值语法自增/自减Hash类型赋值语法取值语法删除语法其它语法List类型赋值语法取值语法删除语法修改语法高级语法Set类型赋值语法取值语法删除语法差集语法交集语法并集语法ZSET类型HyperLogLogRedis 的订阅Redis 的数据库Redis的事务Redis数据淘汰策略Redis 的持久化RDBAOFRedis 和mysql同步方案缓存问题

2020-05-22 14:25:19 212

原创 Redis 安装遇到的坑

Redis 安装遇到的坑使用的服务器:华为云使用的是xhell远程连接服务器坑坑一服务器没有gcc环境yum -y install gcc-c++坑二没有tclyum install tcl坑三我的服务器使用最新版本6.0.3 有问题,make失败,换成低版本5.0.x 即成功安装过程wget http://download.redis.io/releases/redis-5.0.2.tar.gztar xzf redis-5.0.2.tar.gzcd redis-5.0.2

2020-05-19 11:59:34 306

原创 mybatis基本使用

文章目录导入的依赖构建 SqlSessionFactory通过SqlSessionFactory 中获取 SqlSession编写sql对应的xml配置文件SqlSessionFactoryBuilder和SqlSessionFactory和SqlSessionSqlSessionFactoryBuilderSqlSessionFactorySqlSessionCRUD操作mybatis的配置文件属性properties(属性)settings(设置)typeAliases(类型别名)environment

2020-05-13 16:13:42 172

原创 Netty的Http服务器的服务端初步实践

Netty的Http服务器的服务端实践文章目录Netty的Http服务器的服务端实践Server.java 服务端的启动HttpServerInitializer.java 用于初始化channelhandlerMyHttpHandler.java 简单处理了Get方法和Post方法的参数获取Server.java 服务端的启动package mynetty1;import com.su...

2020-04-26 13:39:11 162

原创 HTTP协议的Post请求的提交方式

HTTP协议的Post请求的提交方式文章目录HTTP协议的Post请求的提交方式Content-Type: application/x-www-form-urlencodedContent-Type: multipart/form-dataContent-Type: application/jsonContent-Type: text/xml今天在学习Netty的Http协议的时候,对Http...

2020-04-22 23:11:26 1571

原创 JVM中方法如何获得对应的地址

深入理解JVM的方法调用文章目录深入理解JVM的方法调用方法如何获得调用对应的地址参考内容要想调用一个方法,就需要知道调用方法的地址。在java中,获取方法的地址的方式不是统一的。在java中,字节码执行调用方法的指令总共有5种。invokestatic。用于调用静态方法。invokespecial。用于调用实例构造器<init>()方法、私有方法和父类中的方法。invoke...

2020-04-21 20:25:03 491

原创 关于StringDecoder和StringEncoder的作用

关于StringDecoder和StringEncoder的作用文章目录关于StringDecoder和StringEncoder的作用如果没有StringDecoder和StringEncoder配置在pipeline中,那么每次操作内容都需要下方这么麻烦public class MyChannelHandler extends SimpleChannelInboundHandler {...

2020-04-20 17:58:50 3208

原创 深入理解Java虚拟机读书笔记(四)

深入理解Java虚拟机读书笔记(四)文章目录深入理解Java虚拟机读书笔记(四)加载验证准备解析初始化类加载器方法调用类加载流程一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(...

2020-04-11 00:31:33 187

原创 深入理解Java虚拟机读书笔记(三)

深入理解Java虚拟机读书笔记(三)文章目录深入理解Java虚拟机读书笔记(三)对象分配的策略故障检测工具可视化故障处理工具JVM调优实例class文件字节码指令对象分配的策略对象优先在Eden分配大对象直接进入老年代-XX:PretenureSizeThreshold : 指定大于该设置值的对象直接在老年代分配长期存活的对象将进入老年代-XX: MaxTenuringT...

2020-04-09 22:54:24 180

原创 深入理解Java虚拟机读书笔记(二)

深入理解Java虚拟机读书笔记(二)文章目录深入理解Java虚拟机读书笔记(二)方法区的回收方法区的垃圾收集主要回收两部分内容:废弃的常量和不再使用的类型。满足卸载类的条件该类所有的实例都已经被回收,也就是Java堆中不存在该类及其任何派生子类的实例。加载该类的类加载器已经被回收,这个条件除非是经过精心设计的可替换类加载器的场景,如OSGi、JSP的重加载等,否则通常是很难达成的...

2020-04-09 10:34:29 215

原创 深入理解Java虚拟机读书笔记(一)

深入理解Java虚拟机读书笔记(一)文章目录深入理解Java虚拟机读书笔记(一)Java技术体系Java内存管理垃圾收集注:本文多数内容摘抄自《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明》Java技术体系Java程序设计语言、Java虚拟机、Java类库这三部分统称为JDK(Java Development Kit)把Java类库API中的Java SE API子集...

2020-04-07 22:26:51 182

原创 JAVA网络编程代码实例

JAVA网络编程代码实例文章目录JAVA网络编程代码实例BIO模型特点瓶颈NIO模型AIO模型BIO模型特点同步非阻塞,对于每一个客户端连接,由Acceptor线程负责监听客户端的连接,对于每一个客户端请求都会启用一个新的线程处理这个请求。传统的BIO模型的特点是在高并发情况下会创建许多线程来处理请求,但是创建过多的线程会影响服务器的性能。对于BIO的一个优化操作就是使用线程池来管理线...

2020-04-06 22:07:08 1011

原创 NIO三大核心组件入门学习笔记

NIO三大核心组件学习笔记文章目录NIO三大核心组件学习笔记BufferBuffer的基本使用填充的put方法获取的get方法切换读写模式的flip方法重新读取的rewind方法重置缓冲区的clear方法重置缓冲区的compact方法ChannelFileChannelFileChannel的读操作FileChannel的写操作SocketChannelServerSocketChannelDa...

2020-04-06 14:56:32 234

原创 sqlzoo练习题答案

sqlzoo练习题答案文章目录sqlzoo练习题答案从[SELECT from world](https://sqlzoo.net/wiki/SELECT_from_WORLD_Tutorial)的第5题开始,前面的答案没存[SELECT from nobel](https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial)[SELECT in SELEC...

2020-04-04 21:11:45 2166

原创 Java 如何去检测一个死锁

Java 如何去检测一个死锁文章目录Java 如何去检测一个死锁先要去构造一个死锁/** * Created by lirong5 on 2016/5/24. */public class SyncDeadLock{ private static Object locka = new Object(); private static Object lockb = n...

2020-04-03 13:54:13 469

原创 垃圾收集器学习

垃圾收集器学习文章目录垃圾收集器学习垃圾收集器介绍SerialParNewParallel ScavengeSerial OldParallel OldCMSG1低延迟垃圾处理器参考内容垃圾收集器介绍新生代收集器:SerialParNewParallel ScavengeParNewParallel Scavenge老年代收集器:Serial OldCMSParall...

2020-04-01 14:45:37 170

原创 面试中的洗牌算法和蓄水池抽样算法的证明

面试中的洗牌算法和蓄水池抽样算法的证明文章目录面试中的洗牌算法和蓄水池抽样算法的证明洗牌算法蓄水池抽样算法参考内容洗牌算法题目:有一副斗地主的扑克牌,设计一个洗牌算法。问题很简单,但问题的关键在于要设计一个公平的算法,使得每一个位置都能等概率地放置每个元素。由于之前没有研究过这个问题,面试被问到就很尴尬,所以这里记录一下优秀的洗牌算法。一个最简单的方法有n张牌,每次从中任意的取出一...

2020-03-31 18:59:09 412

原创 关于内存泄漏的问题

关于内存泄漏的问题文章目录关于内存泄漏的问题什么是内存泄漏关于OOM内存泄漏的原因静态集合类引起内存泄漏监听器各种连接内部类和外部模块的引用单例模式防止内存泄漏的发生检查内存泄漏的工具参考内容什么是内存泄漏内存泄漏:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着。在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在...

2020-03-31 14:41:41 454

原创 Fork/Join的入门学习笔记

Fork/Join的学习笔记文章目录Fork/Join的学习笔记Fork/Join的出现Fork/Join的介绍使用Fork/Join使用例子参考资料Fork/Join的出现在JDK5中出现了concurrent 包,这里面有Executors框架,增强普通的线程。但是并没有很好的利用现代计算机多核的优势。在JDK7中,为了利用计算机多核的优势,于是出现了Fork/Join框架。这是一个并行...

2020-03-30 15:52:45 174

原创 设计模式学习笔记

设计模式学习笔记文章目录设计模式学习笔记设计模式原则设计模式分类创建型模式简单工厂模式介绍代码实例工厂方法模式介绍代码实例抽象工厂模式介绍代码实例缺点单例模式介绍饿汉模式懒汉模式(非线程安全)使用synchronized保证线程安全的懒汉模式双重校验锁的懒汉模式内部类模式建造者模式介绍代码实例使用场景原型模式介绍代码实例结构型模式代理模式JDK和CGLIB动态代理区别适配器模式介绍代码实例使用场...

2020-03-29 17:57:15 177

原创 线程池学习笔记

文章目录线程池的好处线程池的创建线程池执行流程线程池的工作队列关于BlockingQueueBlockingQueue的方法ArrayBlockingQueue阻塞插入putenqueue方法阻塞取出takedequeue方法非阻塞插入offer非阻塞取出pollLinkedBlockingQueue阻塞取出take阻塞插入putDelayQueueoffer方法非阻塞取出poll阻塞取出take...

2020-03-27 16:52:47 176

原创 ReentrantLock学习(待更

ReentrantLock学习文章目录ReentrantLock学习公平锁和非公平锁的区别公平锁和非公平锁的区别前面在AQS学习一文中已经提到过了公平锁的整个流程,所以现在来看一下非公平锁首先是关于ReentrantLock的默认表现形式。总共有2个构造器,由下面的代码可知,默认实现的是非公平锁,但是也可以传入参数控制是公平锁还是非公平锁。public ReentrantLock() ...

2020-03-25 16:46:30 88

原创 AQS学习笔记

AQS 学习文章目录AQS 学习lock加锁过程acquire方法tryAcquire方法hasQueuedPredecessors方法enq方法compareAndSetTail方法addWaiter方法acquireQueued方法shouldParkAfterFailedAcquire方法parkAndCheckInterrupt方法关于加锁的流程图unlock解锁过程release方法t...

2020-03-22 14:49:57 534

原创 常见排序算法的整理

常见排序算法的整理文章目录常见排序算法的整理冒泡排序选择排序直接插入排序希尔排序归并排序快速排序堆排序计数排序桶排序基数排序冒泡排序原理​ 每次比较相邻的两个数,如果顺序错误,就交换最好时间复杂度:O(n)O(n)O(n),数组原本有序最坏时间复杂度:O(n2)O(n^2)O(n2),数组倒序平均时间复杂度:$O(n^2) $空间复杂度:O(1)O(1)O(1)稳定性:稳定 ...

2020-03-21 14:34:38 111

原创 凉经汇总

文章目录网商银行一面凉经网商银行一面凉经自我介绍介绍了一下项目JDK的集合源码,ArrayList和LinkList的区别,HashMap源码的介绍JVM的内存模型垃圾回收机制Spring的IOC和AOP原理AOP的应用范围事务的应用例子什么情况下要建立索引Mysql的底层实现死锁的原因几种排序的区别web项目攻击的解...

2020-03-20 19:20:09 326

原创 HashMap,HashTable,ConcurrentHashMap三者的联系与区别(有坑待填

HashMap,HashTable,ConcurrentHashMap三者的联系与区别文章目录区别一些面试问题如何实现HashMap的线程安全Collections.synchronizedMap(Map)的底层实现快速失败机制和安全失败机制Synchronized锁升级偏向锁的引入偏向锁的使用轻量级锁的引入轻量级锁的使用重量级锁ConcurrentHashMap的jdk1.7实现能够并发的原因...

2020-03-17 22:55:11 147

原创 Mysql的Explain关键字

Mysql的Explain关键字文章目录Mysql的Explain关键字idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra参考博客:https://segmentfault.com/a/1190000008131735MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执...

2020-03-16 13:32:46 125

原创 Mysql数据库学习汇总

文章目录事务的四大特性ACID并发事务产生的问题数据库事物的四种隔离级别存储引擎查看本地mysql的存储引擎InnoDB记录存储结构Compact行格式变长字段长度列表NULL值列表记录头信息记录的真实数据Redundant行格式Dynamic行格式关于行溢出Compressed行格式索引事务的四大特性ACID原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动...

2020-03-15 16:28:52 585

原创 JVM相关知识学习

JVM虚拟机相关文章目录JVM虚拟机相关JVM运行时数据区域常量池编译和加载的区别类加载流程类加载机制内存模型关于元空间和永久代之间的区别和联系为什么要将永久代替换为元空间如何保证内存分配的时候是线程安全的什么是TLAB注意事项TLAB带来的问题MinorGC和Full GC内存分配垃圾回收哪些地方会执行垃圾回收哪些对象需要被回收?什么是GCRoots垃圾回收算法标记-清除算法**复制算法**标...

2020-03-14 21:15:17 255

原创 计网学习汇总

计网学习汇总文章目录计网学习汇总运输层的两种协议TCPUDPTCP面向字节流和UDP面向报文的区别原因:为什么要随机选择初始序号ACK和ack以及seq的区别为什么需要3次握手为什么握手只要三次,而挥手要四次为什么挥手最后客户端需要等待2*MSL四次挥手出现大量TIME-WAIT的原因多个进程能否监听同一个端口号?RST服务端解决TIME_WAITTCP 协议如何保证可靠传输在浏览器中输入url...

2020-03-13 12:29:04 695

原创 HashMap的相关问题(长期更新)

HashMap的相关问题文章目录HashMap的相关问题解决哈希冲突的一些方法HashMap的简单介绍为什么不将链表全部换成红黑树为什么长度一定是2的幂次//HashMap中的一些类常量介绍代码问题,关于哈希算法//关于comparableClassFor的作用解释关于loadFactor 负载因子大小的调整tableSizeFor方法解析初始化threshold的地方核心方法putVal核心方...

2020-03-11 17:11:47 385

原创 Java 疑惑问题解答(长期更新)

Java 疑惑问题解答文章目录Java 疑惑问题解答一个类所实现的两个不同的接口中,有同名的方法,怎么知道实现的是哪个接口中的方法Java 数组==运算符的判断原理GC工作地点函数式接口的定义Java 1.8 新增的特性Function一个类所实现的两个不同的接口中,有同名的方法,怎么知道实现的是哪个接口中的方法答:如果这个类实现了这个同名方法,那么这个方法可以理解为属于这两个接口。**注意...

2020-03-09 13:35:12 293

原创 Java List相关集合问题(长期更新)

Java List相关集合问题文章目录Java List相关集合问题iterator的set和add的区别expectedModCount = modCount操作,关于快速失败和安全失败快速失败机制的一个漏洞lastRet变量作用迭代器模式的好处iterator的set和add的区别Set方法:用指定元素替换 next 或 previous 返回的最后一个元素add方法将指定的元素插入列...

2020-03-08 17:26:06 214

原创 关于AbstractCollection

关于AbstractCollection文章目录关于AbstractCollectionAbstractCollection的继承关系作用AbstractCollection的继承关系作用AbstractCollection是Collection的直接继承类,它实现了一些常见的操作,也就是将一些通用方法都抽象了出来。且AbstractList和AbstractSet都直接继承于这个类,用...

2020-03-07 20:13:00 128

原创 红黑树插入操作的初步理解

红黑树插入操作的初步理解文章目录红黑树插入操作的初步理解红黑树的特征红黑树的插入节点总是红色的红黑树的修正变色左旋右旋插入操作插入操作的代码实现红黑树和AVL树的对比参考链接红黑树的特征每个节点不是红色就是黑色的根节点总是黑色的如果节点是红色的,则它的子节点必须是黑色的从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)红黑树的插入节点总是红色的...

2020-03-07 14:31:28 857

原创 关于SpringMVC下,无法使用静态资源的问题及解决

文章目录原因顺带一提,关于为什么没有拦截掉jsp页面请求的原因解决方案原因在我们配置SpringMVC的时候,在web.xml中配置过一个DispatcherServlet,代码如下 <!--配置springmvc DispatcherServlet,前端控制器--> <servlet> <servlet-name>springmv...

2020-03-03 19:25:28 358

原创 Java框架学习过程中碰到过的坑

Java框架学习过程中碰到过的坑文章目录Java框架学习过程中碰到过的坑关于springmvc的form标签关于springmvc的form标签使用前需要添加配置<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>form标签每一个都有一个path属性,这个的好处在于对于...

2020-03-02 21:27:15 222

空空如也

空空如也

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

TA关注的人

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