自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis3.X原理分析

Mybatis3.X原理分析前言Mybatis整体架构图这里对Mybatis的主要包含两部分 一部分是对 mapper-config.xml 的解析一部分是Mybatis的运行过程。解析Mapper-config.xml通过XMLConfigBuilder解析主配置文件中配置的各种属性,插件private void parseConfiguration(XNode root) { try { //issue #117 read properties first //解析pr

2020-08-19 15:44:21 225

原创 Elasticserach使用总结

Elasticserach使用总结前言Elasticsearch官网dochttps://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.htmlSpring Data Elasticsearchhttps://docs.spring.io/spring-data/elasticsearch/docs/3.2.9.RELEASE/reference/html/#core.web.basic.domain-cla

2020-08-17 10:48:30 351 1

原创 Redisson使用

Redisson 使用概述Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish /

2020-08-17 10:26:14 1734

原创 ShardingSphere 事务

ShardingSphere 注意事项1:数据修改不可修改分区键2:在配置关联表的关联关系是数组不是字符串。ShardingSphere 事务本地事务完全支持非跨库事务,例如:仅分表,或分库但是路由的结果在单库中。完全支持因逻辑异常导致的跨库事务。例如:同一事务中,跨两个库更新。更新完毕后,抛出空指针,则两个库的内容都能回滚。不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提交之前,第一个库宕机,则只有第二个库数据提交。两阶段事务-XAJava通过定

2020-08-16 20:36:01 3434 1

原创 springcloud学习笔记(一)常用的五大组件

springcloud 与微服务微服务是一个小的、松耦合的分布式服务,微服务允许将一个大型的应用程序分解为具有严格职责定义的便于管理的组件,微服务通过将大型代码分解为小型的精确定义的部分,帮助解决大型代码库中传统的负载问题。springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建。这里将介绍springcloud中常用的组件。服务发现——Net...

2020-08-16 20:26:50 325

原创 springboot aop 使用记录

参考链接https://blog.csdn.net/lmb55/article/details/82470388https://www.jianshu.com/p/61f9d7348218https://www.cnblogs.com/onlymate/p/9630788.html相关概念1.方面(Aspect)定义切面@Aspect2.连接点(Joinpoint)3.通知(Advi...

2020-08-16 20:26:08 157

原创 Mysql引擎

Mysql引擎Mysql引擎有:MyISAM、InnoDB、 Archive、ASV、Memory、NDB集群MyISAM:对于读取操作较多的应用有较好的支持特点:1)不支持行级锁,也就是说任何操作都对整张表加锁。2)不支持事务,无法回滚,崩溃后无法安全恢复。3)支持全文索引、压缩、空间函数等MyISAM设计简单,数据以紧密格式存储,在某些场景下性能很好,但它最典型的问题还是表锁。InnoDB:InnoDB是MySQL使用率最高的存储引擎,目前市面上至少95%的MySQL采用该存储引擎,

2020-08-16 20:25:26 254

原创 nginx反向代理与动静分离实践

反向代理与正向代理的区别正向代理: 一般的访问流程是客户端直接向目标服务器发送请求并获取内容,使用正向代理后,客户端改为向代理服务器发送请求,并指定目标服务器(原始服务器),然后由代理服务器和原始服务器通信,转交请求并获得的内容,再返回给客户端。正向代理隐藏了真实的客户端,为客户端收发请求,使真实客户端对服务器不可见;举个具体的例子 ????,你的浏览器无法直接访问谷哥,这时候可以通过一个代理服务器来帮助你访问谷哥,那么这个服务器就叫正向代理。反向代理: 与一般访问流程相比,使用反向代理后,直接收到请

2020-08-16 20:24:21 138

原创 Volatile

volatile 关键字的主要作用就是保证变量的可见性然后还有一个作用是防止指令重排序。并发编程的特性:原子性 : 一个的操作或者多次操作,要么所有的操作全部都得到执行并且不会收到任何因素的干扰而中断,要么所有的操作都执行,要么都不执行。synchronized 可以保证代码片段的原子性。可见性 :当一个变量对共享变量进行了修改,那么另外的线程都是立即可以看到修改后的最新值。volatile 关键字可以保证共享变量的可见性。有序性 :代码在执行的过程中的先后顺序,Java 在编译器以及运行期间的优化

2020-08-16 20:23:26 121

原创 springboot2.2.X集成quartz并进行持久化

什么是quartzQuartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能:持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;quartz入门*参考网址:*https://www.w3cschool.cn/quartz_doc/quartz_doc-2put2clm.html添加quartz依赖

2020-08-16 20:22:54 751

原创 synchronized解析

synchronizedsynchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的切换时需要从用户态转换到内核态

2020-08-16 20:21:13 117

原创 ShardingSphere4.1 + seata1.2+Nacos + Mybatis+springboot.2.2.8.RELEASE

前言再进行使用seta前务必先看各个版本的参数差异http://seata.io/zh-cn/docs/user/configurations.html注意事项seta-server 版本1.0之前和之后略有不一样使用时需注意配置参数有所修改具体请看http://seata.io/zh-cn/docs/user/configurations.htmlseta版本和引入依赖版本必须一致否则可能会导致 no available service 'null' found, please make

2020-08-16 20:20:09 1375

原创 ConcurrentHashMap源码分析(jdk8)

前言​ 数组+链表+红黑树 CHM是一个线程安全的Map集合。这里主要分析以下内容。初始化Map插入元素扩容机制链表转红黑树元素统计读前​ 首先了解一下用到的几个ConcurrentHashMap几个内部类。Node链表节点TreeNode红黑树节点CounterCell用于计算元素个数ForwardingNode用于扩容时占位SIZECTLSIZECTL ==-1 表示有线程正在初始化MapSIZECTL < -1 表示有线程正在扩容

2020-08-15 11:03:52 177 1

原创 nginx安装以及nginx负载均衡配置

linux nginx 安装安装步骤1:安装nginx需要的安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2:下载nginx压缩包并进行解压cd /usr/localmkdir nginxcd nginx//下载tar包wget http://nginx.org/download/ng...

2019-08-14 20:21:24 145

原创 jvm学习笔记(1)

首先区分jdk和jre的区别jdk:jdk是用于java程序开发的最小环境,包含java程序设计语言,java虚拟机,javaAPI类库。JRE:jre是支持java程序运行的标准环境,包含java虚拟机以及javaAPI类库中的Java SE API子集第二章 运行时数据区域方法区:是各个线程共享,它用于存储已被虚拟机加载的类信息,常量,静态常量,即时编译器编译后的代码等数据。运行时常...

2019-05-04 15:00:02 130

原创 spring boot 自定义配置

Spring Boot自动配置自带了很多配置类,每一个都能运用在你的应用程序里。它们都使用了Spring 4.0的条件化配置,可以在运行时判断这个配置是该被运用,还是该被忽略。spring boot 自定义配置文件可以有多种途径:1:命令行参数2: java:comp/env里的JNDI属性3:JVM系统属性4: 操作系统环境变量5: 随机生成的带random.*前缀的属性(在设置其...

2019-04-09 20:20:40 213

原创 redis-5.0.4集群搭建

单机redis搭建1:环境描述     操作系统 :centos7 、     gcc版本 :gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)     redis版本:redis-5.0.42:redis搭建...

2019-04-09 20:16:58 1362

原创 js使用页面打印window.print() 记录,并进行缩放打印

//打印 print:function(){ //获取打印的页面内容 let subOutputRankPrint = document.getElementById('print-div'); let newContent = subOutputRankPrint.innerHTML; let oldContent = document.bod...

2018-11-04 18:07:13 18510 3

原创 有关java Collections工具类的使用中 Collections.sort的使用

sort 简介:Collections.sort 的排序默认是升序排序,采用的是快速排序的算法

2018-10-30 14:46:31 185

空空如也

空空如也

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

TA关注的人

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