自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dubbo系列之Dubbo 服务暴露

Dubbo服务暴露1、Dubbo配置解析1.1 配置解析1.1.1 基于schema设计解析1.1.2 基于XML配置原理解析1.1.3 基于注解配置原理解析1.1.3.1 @EnableDubbo2、Dubbo服务暴露原理配置承载初始化远程服务的暴露机制总体过程本地服务的暴露机制3、Dubbo服务消费原理单注册中心消费原理多注册中心消费原理直连服务消费原理4、Dubbo优雅停机解析1、Dubbo配置解析1.1 配置解析首先理解一个配置文件中元素的含义:<beans xmlns:xsi="ht

2020-09-21 22:28:44 614

原创 Dubbo系列之-Dubbo SPI机制

Dubbo SPI1、加载机制概述1.1 Java SPI1.2 扩展点加载机制的改进1.3 扩展点的配置规范1.4 扩展点的分类与缓存1.5 扩展点的特性1.5.1 自动包装1.5.2 自动加载1.5.3 自适应性1.5.4 自动激活2、扩展点注解2.1 @SPI2.2 @Adaptive2.3 @Activate3、ExtensionLoader的工作原理3.1 工作流程3.2 getExtension的实现原理3.3 getAdaptiveExtension的实现原理3.4 getActivateEx

2020-09-06 15:21:42 307

原创 基于源码分析HashMap

基于源码理解HashMapHashMap特性HashMap成员变量及其含义HashMap中的常量HashMap中的成员变量HashMap常用方法put方法核心get方法核心resize方法remove方法Java8中HashMap的新方法computeIfAbsentcomputeIfPresentcomputemerge(以下所有英文翻译为自己翻译,英语水平可能就这样,如果介意者可略过或者出门...

2019-05-01 21:45:50 189

原创 从源码角度理解ReentrantLock(java.util.concurrent.locks.ReentrantLock)

文章目录一、ReentrantLock介绍二、ReentrantLock继承关系三、Sync3.1 主要实现的方法四、FairSync(公平锁)4.1 加锁4.2 加锁失败,进入等待4.3 释放锁五、非公平锁5.1 加锁5.2 释放锁六、其他方法一、ReentrantLock介绍ReentrantLock重入锁,能够实现对同一个资源的重复加锁,即当前线程重复申请资源的时候,在已经拥有锁的前提下...

2019-04-19 10:22:31 739

原创 SpringBoot + Mybatis + Mysql整合

SpringBoot 整合Mybatis 纯注解1、创建项目2、配置数据源3、编写实体类4、编写mapper5、编写Service类6、编写Controller类7、程序入口8、运行结果1、创建项目此时在项目中已经引入了SpringBoot、mybatis和数据库驱动等相关的包。2、配置数据源在application.properties中配置spring.datasour...

2019-02-18 12:06:16 273

原创 Java并发

并发文章目录并发为什么需要并发并发的实现方式线程线程的生命周期线程池线程池的由来创建线程池的方式线程池的类型创建线程池的方式多线程带来的问题出现问题的原因解决方案Happens-Befores规则管程什么是管程管程的模型实现管程的方式**synchronized关键字**Lock和Condition并发推荐博客,和自我笔记为什么需要并发在以前计算机是单核CPU的时候,不会存在并发,因为每次只能执行一个任务。随着科技进步,CPU性能的提高,由之前的单核CPU进化成多核CPU。如果依旧同时只存在一个任务

2021-05-17 12:20:29 227

原创 Mysql-事务

事务事务是什么?在知道事务的相关信息之前,我们需要先理解:什么是事务?事务是一组不可再分的最小的执行单元,即事务内的数据,必须要么全部执行完成,要么不执行,即可为不可再分。Mysql中只有支持事务的存储引擎,才可以使用事务,例如InnoDB。事务的四个特性原子性事务的原子性要求事务内的一组操作是原子操作,不可中断的,如果发生了中断,则所有的修改都会被回滚。即只有所有的操作都是成功的,这个事务才会成功。例如一个转账的操作,分为了两个部分:从A账户扣除金额,B账户加上相应的金额。只有两个部

2021-05-16 17:06:00 160

原创 Mysql锁

锁Mysql提供了行锁、表锁和页面锁来解决数据之间的竞争的情况。在这三种锁的基础上,MySQL提供了不同的实现,具体使用的锁是需要根据存储引擎决定。锁的申请规则:申请读锁时,如果无锁可申请,如果只有读锁,可申请,如果有写锁,不可申请申请写锁时,如果无锁可申请,如果有读锁,不可申请,如果有写锁,不可申请行锁行锁:顾名思义是为一个数据行加锁,即当MySQL进行数据加锁的时候,加锁的粒度是针对一条记录,对于其他记录的访问是无影响的。在InnoDB中,行锁的实现主要有三类:读锁(共享锁)、意向

2021-05-16 17:04:23 231

原创 Mysql-数据处理

数据处理MySQL数据处理主要是数据的查询、删除、添加和修改。查询Mysql的查询是指给定一条指定的查询语句。递交给MySQL服务器,MySQL服务器接收到之后,会进行一系列的处理,然后调用存储引擎,查询出最终的数据,返回给客户端。MySQL服务器在接收到查询语句之后,主要做了四个事情:查询缓存调用解析器调用优化器调用存储引擎MysqL会先去查询缓存,判断缓存中是否存在,如果不存在,会调用解析器去解析SQL。解析器会解析SQL,初步判断SQL的预发是否正确,使用的查询信息是否正确

2021-05-16 17:03:15 735

原创 Mysql 索引

图片来源网络,侵删索引Mysql 的索引类型有很多种,Hash索引,B树索引,B+树索引和全文索引。Mysql有多种存储引擎,每个存储引擎对索引的支持可能会不同。WhatMysql 索引是能改善数据库表随机访问速度的一种数据结构。可以通过指定一个或者多个指定列的方式创建索引。所以索引是一种数据结构。Why当数据量达到一定程度的时候,如果根据顺序扫描全部的数据,会出现数据查询效果低,查询时间长,导致用户体验不佳。为了提高数据的访问的效率,引入了索引。How创建索引的时候,需要指定至少一列数据

2021-04-26 21:34:31 13352 5

原创 Mysql日志

日志日志是Mysql中的重要组成部分,提供了Mysql的运行情况的信息、数据处理的信息以及运行的其他日志。当系统出现意外宕机的时候,可以使用日志进行恢复和重启,保证数据的一致性。Mysql中的日志主要分为了以下几个部分:查询日志slowlog(慢查询日志)redolog(重做日志)undolog(undo日志)binlog(二进制日志)relayLog(中继日志)错误日志慢查询日志慢查询日志主要是为查询是提供。当一个语句的执行时间,超过了设定的慢查询的时间,则会记录该查询语句

2021-04-26 21:26:35 146

原创 Logrotate的使用(Mongo的日志切割)

logrotate是什么logrotate是Linux中实现对日志进行切割的工具。当日志的大小达到一定的程度,或者是日志的时间达到一定的程度,需要要对日志进行归纳整理,logrotate可以很好的实现对日志的管理。使用logrotate是由cron支持的定时执行任务,我们平时需要自定义对日志进行管理的时候,可以直接在/etc/logrotate.d中添加一个文件即可,执行时会自动执行该文件夹...

2019-10-24 12:24:40 1320 1

原创 HikariPool-1 - jdbcUrl is required with driverClassName.

关于在SpringBoot2.0中配置多数据源是出现HikariPool-1 - jdbcUrl is required with driverClassName.错误在解决办法。错误时的url配置:spring.datasource.test.url=jdbc:mysql://localhost:3306/test正确的url配置:spring.datasource.test.jdbc...

2019-02-18 14:12:25 3626

原创 SpringBoot配置多数据源

引言 如何在实际项目中区分多数据源当在项目使用多数据源时,会产生事务管理,数据源区分等问题,下面以test、test2作为两个数据源进行讲解。分包结构cn.impassive.test:访问test数据库;cn.impassive.test2:访问test2数据库;注解方式在方法上添加注解进行判断@DataSourcetest001(自定义注解)public void t...

2019-02-18 14:04:28 176

原创 设计模式1(全部以输出Hello Word为例子)

1. 工厂模式属于创建性模式。在创建时不会对客户端暴露创建逻辑,并且通过使用一个共同的接口来指向所创建的对象。关键代码:创建过程在其子类执行。程序入口:HelloWordFactory helloWordFactory = new HelloWordFactory();HelloWord hello = helloWordFactory.getFactory(&quot;Hello&quot;);he...

2019-02-07 12:59:53 354

原创 基于注解的SpringMVC验证框架的使用

基于注解的SpringMVC验证框架的使用博主以前写过一篇SpringMVC验证框架的常规使用方法,详情猛戳此处,但是在实际应用的开发中,比较常用的还是基于注解的使用方法。使用注解的SpringMVC验证框架的使用主要可以分为以下三个步骤:1:在JavaBean中配置校验类@NotBlank(message = &amp;quot;用户名不能为空&amp;quot;) private String username;...

2018-10-09 14:27:25 226

原创 关于Spring验证框架的使用过程

关于Spring验证框架Validator的使用在JavaEE的后端开发中,常常会涉及到数据的验证,使用Spring的验证框架可以很好的帮助我们完成需求。在整个验证框架的使用中,主要分为了两个部分:后端验证和前端显示。后端验证:第一步:需要建立一个进行验证的类,并实现Validator接口public class UserValidator implements Validator {...

2018-10-07 19:07:33 431

原创 从Maven安装到使用Maven创建WEB应用

一、Maven的安装从官网下载Maven 传送门 https://maven.apache.org/download.cgi将下载的Maven解压到只要你开心的位置,都是可以的(要记住这个位置,后面有用)配置Maven环境变量 1、打开控制面板-&gt;系统和安全-&gt;系统 ,点击左侧的高级系统设置(或者右键此电脑,打开属性) 2、点击环境变量,在系统变量中创建变量名为MAV...

2018-08-28 23:53:17 217

原创 在IDEA 中使用 Mybatis 出现Invalid bound statement (not found)问题的解决

今天在学习Mybatis的过程中出现了Invalid bound statement (not found)问题,在网上找了很多解决办法,综合有如下几点:1:检查XML文件是否和interface文件在同一个目录下;2:检查XML文件的namespace 是否和interface 的全类名相同,主义,如果此时主配置中也配置有mapper ,将他删掉,否则会出现Type interface ...

2018-08-23 19:24:08 371

原创 关于Hibernate 5.0创建SessionFactory

第一次初学Hibernate的时候,创建SessionFactory出现了问题,找了很久都没有找到解决方案,使用了一个远古的方式,终究解决了问题,今天在一次重温,解决了以前的问题,不说了,直接上代码!  简单两句话,轻松解决,以前是想的有多复杂(亲测有效) 如有不对,欢迎讨论!...

2018-07-21 17:03:42 240

原创 Hibernate 5.0创建SessionFactory 时出现UnknownEntityTypeException异常

 不知道有没有小伙伴和我一样是从Eclipse 换成IDEA的。我在Eclipse中可以完美运行的一个Hibernate程序添加到IDEA中却出现了UnknownEntityTypeException异常,我也是醉了。可是我的主配置文件中已经写了,不多说,上代码   最后楼主突发奇想,不知道是不是Configuration中没有加载进去(可能感觉有一点荒唐,但是已经无路可走了),于是使用了...

2018-07-19 11:14:27 282

空空如也

空空如也

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

TA关注的人

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