自定义博客皮肤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)
  • 收藏
  • 关注

原创 深入理解Spring系列之四:BeanDefinition装载前奏曲

框架的源码分析,有些代码可以暂时忽略,如Spring如何进行XML模式校验的、XML解析的细节等,这些代码可以在了解了整体的原理之后,再做针对性的分析,关注重点内容即可,切记在一开始就去深挖每个细节,这样不仅会耗费很长时间,而且容易陷入某个坑里出不来。以《深入理解Spring系列之一》示例中的ApplicationContext applicationContext = new ClassPa...

2019-04-26 16:37:43 195

原创 深入理解Spring系列之三:BeanFactory解析

在Spring容器启动的过程中,会将类解析成Spring内部的BeanDefinition结构,并将BeanDefinition存储到一个叫DefaultListableBeanFactory中,本篇将深入分析BeanFactory首先,看一下DefaultListableBeanFactory的类图,可以看到 DefaultListableBeanFactory 间接实现了BeanFac...

2019-04-26 16:23:51 250

原创 深入理解Spring系列之二:BeanDefinition解析

Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构,本篇将深入分析这个BeanDefinition的内部结构。直接看BeanDefinition源码,public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /** *...

2019-04-26 16:14:28 281

原创 深入理解Spring系列(一)

首先,看一下 Spring 的最基本使用方式,直接看代码,public class LoginService { public void login() { System.out.println("execute LoginService"); }}public class LoginResource { private LoginService ...

2019-04-26 16:01:23 209

原创 将本地项目上传到码云

1.cd到你的本地项目路径下2.git init(初始化git容器,在内部会生成.git文件夹)3.将码云中新建好的空项目的路径拷贝,并执行git remote add origin + 你刚刚在码云复制的那行路径4.注意:git pull origin master --allow-unrelated-histories,将码云上的仓库pull到本地文件夹(首先需要pu...

2019-04-26 10:49:56 156

原创 SpringBoot配置Redis链接池

首先是redis各个参数的配置,在 application-dev.properties中配置如下:#redis配置redis.server.host=192.168.50.162redis.server.port=6379redis.server.password=passwordredis.server.timeOut=5000redis.server.maxIdle=50r...

2019-04-19 10:02:50 995

原创 SpringBoot+MyBatis+MySQL读写分离(实例)

1. 引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP。然...

2019-04-18 17:57:29 362

原创 深入研究 Java Synchronize 和 Lock 的区别与用法

一.synchronized的缺陷  synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?  在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线程执行完...

2019-04-16 16:03:17 522

原创 理解CAP

前言在学习Zookeeper相关知识的时候,了解到了CAP理论。即在分布式系统中,不可能同时满足以下三种一致性(C:Consistency)可用性(A:Available)分区容错性(P:Partition Tolerance)这三个基本需求,最多只能同时满足其中的两项,因为P是必须的,因此往往选择就在CP或者AP。相关术语解释一致性一致性是指从系统外部读取系统内部的数据...

2019-04-15 11:27:44 255

原创 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方...

2019-03-29 10:54:27 1374

原创 SpringMVC工作原理以及源码分析(基于spring3.1.0)

SpringMVC工作原理以及源码分析(基于spring3.1.0)springmvc是一个基于spring的web框架.本篇文章对它的工作原理以及源码进行深入分析.  一、springmvc请求处理流程  二、springmvc的工作机制  三、springmvc核心源码分析  四、谈谈springmvc的优化一、springmvc请求处理流程  引用spring i...

2019-03-22 15:01:48 208

原创 全文搜索引擎 Elasticsearch 入门教程

全文搜索引擎 Elasticsearch 入门教程http://www.ruanyifeng.com/blog/2017/08/elasticsearch.htmlJava中使用elasticsearch搜索引擎实现简单查询、修改等操作-已在项目中实际应用以下的操作环境为:jdk:1.8;elasticsearch:5.2.0maven架包下载坐标为:<dependen...

2019-03-15 17:32:53 276

原创 linux查找日志技巧

linux查找日志技巧 先必须了解两个最基本的命令:tail  -n  10  test.log   查询日志尾部最后10行的日志;tail -n +10 test.log    查询10行之后的所有日志;head -n 10  test.log   查询日志文件中的头10行日志;head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;...

2019-02-27 16:40:09 341

原创 SpringBoot多数据源配置

(1)首先配置application  spring:    datasource:        type: com.alibaba.druid.pool.DruidDataSource        druid:            first:  #数据源1                driverClassName: com.mysql.jdbc.Driver   ...

2019-02-25 18:42:24 357

原创 Kotlin对list的操作

涉及到的代码在KotlinForJava的Kotlin1项目中,针对集合List和MutableList的操作进行测试,参考的是Kotlin中文学习资料,前面给出的文章中能找到相应的资源链接。学习的同时通过编码练习是很有必要的,除了加深理解还可以发现资料中存在的问题,常见的如IDEA或API更新了而资料是旧的,花时间去学习已经废弃的方法就不值得了。所以,建议英文好的通过官网给出的资料来学习是最...

2018-11-15 14:32:49 17137

原创 java多线程处理同一批数据(目的:提前完事)

1、首先构造一个User对象来处理数据2、构造线程池来处理数据3、具体处理方式                    

2018-09-30 17:43:12 5221

原创 Java 多线程均匀处理同一个List中的数据

需求:使用多线程来处理同一个List中的数据,希望每个线程处理的数量是均匀的事例代码如下:public class Test { static class HandleThread extends Thread { private String threadName; private List&lt;String&gt; list; ...

2018-09-30 15:34:35 8409

原创 设计模式-代理模式

什么是代理模式?       代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,...

2018-09-21 11:23:30 162

转载 Linux安装kafka

三、安装kafka1、下载kafkacd /usr/local/srcwget http://archive.apache.org/dist/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz注意,kafka_2.11-0.8.2.1.tgz版本是已经编译好的版本,解压就能使用。tar -xzvf kafka_2.11-0.8.2.1.tgz #解压m...

2018-08-31 16:54:19 3968

转载 IDEA配置github并上传项目

IDEA配置github并上传项目1.在github中创建一个账号:https://github.com/join?source=header-home2.下载并安装git:https://git-scm.com/downloads3.安装成功后打开Git Bash,输入下列命令,设置git全局用户名和邮箱+ View Code4.在IDEA中设置Git,在File--&gt;Setting-&g...

2018-06-20 15:13:53 280

原创 Log4j的配置

log4j java项目中的配置第一步你需要 相关的jar包第二歩你需要一个关于log4j的配置文件第三歩 你需要一个检测用的java 文件导入这两个jar包进你的项目中 commons-logging.jar log4j-1.2.17.jar配置log4j.properties文件  这个文件放在src下  123456789101112131415161718192021222324### 设...

2018-06-07 11:39:47 129

原创 Mysql的7种join

MySQL 的七种 join建表在这里呢我们先来建立两张有外键关联的张表。CREATE DATABASE db0206;USE db0206;CREATE TABLE `db0206`.`tbl_dept`( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30), `locAdd` VARCHA...

2017-11-09 14:47:15 245

空空如也

空空如也

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

TA关注的人

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