- 博客(21)
- 资源 (20)
- 收藏
- 关注
原创 tomcat 进阶
一、tomcat 目录结构bin: 执行目录 lib:依赖的jar包 conf: catalina.policy:权限相关permission,tomcat 是跑在jvm 上的所以有些默认的权限。 server.xml:server节点—>service—>executor(线程池)、connector连接器 connector 连接器 用线程池的话,connecto...
2019-04-25 11:46:17
1200
原创 mysql 执行计划、索引、性能优化
一、逻辑架构连接层:连接池、权限验证。服务器为每一个客户端请求创建一个线程或者分配一个空闲的线程(连接池),因此当多个请求(线程)共同操作同一个数据时可能会引起数据安全问题。服务层:sql优化、缓存、sql解析。引擎层:mysql5.5 以前默认使用的数据库引擎为MyISAM,5.5版本以后默认使用的搜索引擎为InnoDB.存储层:文件系统。二、事务事务:具有四个特性(...
2019-04-22 16:59:05
464
原创 mybatis 源码分析三、缓存模块
1、装饰器模式允许向现有的对象添加新的功能,是一种用于代替继承的技术,无需通过继承增加子类就能拓展对象的新功能。Component(组件):定义组件和装饰器实现的行为.Decorator(装饰器抽象类):实现Component 的抽象类,封装了一个Component 的引用,也就是被装饰的对象ConcreteComponent(组件实现类):实现Component 接口,组件实...
2019-04-09 16:20:25
313
原创 mybatis 源码分析二、数据源模块
源码中文注释:https://github.com/tuguangquan/mybatis,需结合下载的源码。mybatis 不但能集成第三方数据源组件,自身也提供了数据源的实现。先看一下mybatis源码的目录结构:从结构目录就可以知道mybatis 提供了集成第三方组件的类:JndiDataSourceFactory以及自身提供的数据源实现:池化的 “pooled” 和非池...
2019-04-08 14:48:11
248
原创 mybatis 源码分析一、日志模块
一、日志模块mybatis 本身没有提供日志的实现类,使用的是第三方组件。为了匹配上不同的第三方组件,mybatis 使用的是适配器模式解决第三方组件日志级别与mybatis 日志级别不同的问题。而在第三方组件的具体实现时,某些日志组件的实现又使用了代理模式。mybatis虽然没有提供日志的实现类,但是定义了Mybatis自己的日志级别:error,debug,trace,warn...
2019-04-04 14:28:58
696
原创 mybatis 逆向工程MBG
Mybatis Generator:mybatis 提供的一个很强大的代码生成器,可生成数据库表对应的实体类,Mapper 接口类,Mapper xml文件和Example 等,这些代码文件几乎包括了全部的表单操作方法。其核心配置文件:generatorConfig.xmlgeneratorConfiguration ——根节点 properties ——可引入外部属性文件 ...
2019-04-03 15:22:36
393
原创 mybatis 快速入门及配置文件详解
1、mybatis前身iBatis,优秀的持久层框架,支持定制化SQL、存储过程以及高级映射。本质是半自动的ORM框架,除和POJO的映射外,还需要自己编写sql。2、ORM对象关系映射Object Relational Mapping,ORM模型就是数据库的表和简单的Java对象(POJO)的映射模型。3、快速入门(maven 工程)一、pom.xml 中加入mybatis依...
2019-04-03 11:54:18
454
转载 springCloud(七)微服务常用设计模式(聚合方式)
微服务架构的设计理念便是:各个服务之间隔离、自治、独立部署、异步通信等等,而在开发过程中我们会遇到一些业务需要对这些独立的服务进行组合,下面介绍的是几种常用的聚合方式、使用路由网关zuul聚合服务的实现。微服务6种常用设计模式1、代理设计模式:根据业务的需要选择调用后端的某些服务,在返回客服端之前,代理可以对输出进行加工,这是最简单的一种服务组合模式。如图:这种模式的典型案...
2019-03-22 13:56:23
3880
原创 springCloud(六)分布式配置中心
在一个分布式系统中,springcloud config 提供了server和client,用以支持外部资源配置,用一个配置中心config Server管理程序所有环境的外部属性文件。server 和client 结合的这种思想和 Springenviroment 与 propertySource 完全相同,因此他们非常适合spring 程序。当一个应用程序从开发环境移动到测试环境,再到正式环...
2019-03-21 11:54:41
190
原创 springCloud(五)路由网关zuul
zuul的主要功能是路由转发和过滤器,默认整合了ribbon实现负载均衡,类似于nginx转发。微服务架构的几个关键组件:服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等。微服务架构:客户端请求经过负载均衡,再到达服务网关(zuul集群),然后再到具体的服务;服务统一注册到高可用的服务注册中心集群(eureka),服务的所有配置文件由配置服务管理,配置服务的配置文件放在gi...
2019-03-20 14:07:06
230
原创 springCloud(四)feign实现负载均衡
一、什么是feign声明式的web客户端,使得web服务端的写入更加方便;具有可插拔的注解特性,默认集成了ribbon,与eureka结合。采用的是基于接口的注解;实现feign,只需要创建一个接口并添加注解。二、使用feign实现负载均衡此节代码依赖前几节代码,全部代码——>git:https://github.com/aeolusway/aeolusway.git...
2019-03-19 17:28:35
352
原创 springCloud(三)ribbon实现负载均衡
本节代码:https://github.com/aeolusway/aeolusway.git如报错,把本地maven库清空,重新拉取资源。本节文末有操作方法:springCloud(一)eureka 注册中心一、什么是ribbon?一个基于http和tcp的客户端负载均衡工具。二、负载均衡在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会由他先接收,然后再根...
2019-03-19 15:36:57
287
原创 springCloud(二)服务提供和服务发现
服务提供者把自己注册到eureka(注册中心)上,服务消费者通过name从eureka上获取到真实的url,然后根据这个url 远程调用服务。一、服务提供(一)包结构(二)代码MemberServiceApppackage com.aeolusway;import org.springframework.boot.SpringApplication;import...
2019-03-19 13:34:57
245
原创 springCloud(一)eureka 注册中心
一、微服务各服务间隔离,自治、单一职责,异步通信、独立部署,基于http+restful+json传输。二、springCloud提供了快速构建分布式系统的一些工具,包括:配置管理,服务发现,短路器、路由,负载均衡,微代理,事件总线,全局锁,决策竞选,分布式会话等。springcloud是基于psringBoot的。三、eureka由两个组件组成:eureka服务器和eurek...
2019-03-18 17:05:50
216
原创 SpringBoot(五) springboot+EhCache缓存
一、目录接口二、实现代码1、EhCache.javapackage com.aeolusway;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfi...
2019-03-15 17:50:53
469
原创 SpringBoot(四) springboot整合多数据源
一、目录结构二、实现1、DataSourceApp.javapackage com.aeolusway;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootAp...
2019-03-15 16:36:35
298
原创 SpringBoot(三) springboot+mybatis整合
一、目录结构二、代码1、MybatisApp.javapackage com.aeolusway;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconf...
2019-03-14 18:20:27
197
原创 SpringBoot(二) springboot整合jdbc和jpa
一、springboot整合JdbcTemplate1、目录结构2、建立一个maven工程,在pom.xml中加入starter.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation...
2019-03-14 13:55:45
1611
原创 SpringBoot(一)、入门及使用
一、为什么要用SpringBoot?简化xml配置,提高开发效率。二、SpringBoot 的作用:1、创建独立的Spring 程序。2、嵌入Tomcat、Jetty 或Undertow,不需要部署war。3、提供starter依赖以简化构建配置。4、自动部署spring和第三方库。5、提供生产就绪特性6、无需xml配置默认集成springMvc三、第一个...
2019-03-13 17:00:44
196
原创 云服务器:ubuntu 部署Mysql
一、再ubuntu上安装Mysql1、更新源:sudo apt-get update.(如果实例中没有源包的话,通过wget +url命令下载即可)2、执行sudo apt-get install mysql-server进行安装二、外网访问设置1、 //通过ubuntu编辑工具vim 打开这个配置文件,vi /etc/mysql/mysql.conf.d/mysqld...
2019-03-01 15:44:56
336
原创 多线程安全性:手写CAS机制和Lock实现
一、线程常见的 i++ 问题:使得i++ 循环执行20000次,最后打印出20000;public class DemoCas { int i = 0; public void incr(){ i++; } public static void main(String[] args) { DemoCas demo = new DemoCas(); for(int i =...
2019-02-27 14:31:55
1261
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人