- 博客(86)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 [java]从spring cloud 1.x 升级到 2.0的简单示例教程
原 spring cloud 1.x 的示例项目地址: https://github.com/14251104246/spring-cloud-1.x-to-2.0-demo/tree/cloud1.x 升级到 spring cloud 2.x 的示例项目地址: https://github.com/14251104246/spring-cloud-1.x-to-2.0-demo/...
2018-07-09 15:49:08
481
原创 `spring boot`高并发秒杀测试
spring boot高并发秒杀测试 测试项目: https://github.com/14251104246/redis-demo.git准备使用docker-compose命令启动redis服务器(可以用其他方式启动)idea启动测试项目jmeter测试脚本 高并发秒杀-重现超卖问题.jmx高并发秒杀-有事务方式减少库存.jmx重现秒杀时出现的超卖问题...
2018-06-26 12:19:10
16107
7
原创 flyway教程
示例项目地址: https://github.com/14251104246/flyway-demo [flyway工作原理](https://flywaydb.org/getstarted/how)简单使用(集成 spring boot 直接看下面)配置添加依赖<dependency> <groupId>org.f...
2018-06-22 10:08:01
3100
1
转载 [java][事务]tcc事务实战学习过程
学习项目:https://github.com/14251104246/spring-cloud-rest-tcc下载源码,进入源码目录运行:mvn clean packageDocker Compose运行 docker-compose -f infrastructure-compose.yml up -ddocker-compose -f basic-ms-compose.yml u...
2018-06-19 17:45:37
1507
转载 redisson-分布式锁与同步器学习
简单使用基本// 1. 创建配置对象Config = ...// 2. 创建redisson实例RedissonClient redisson = Redisson.create(config);// 3. 获得锁对象RLock lock = redisson.getLock("myLock");// 4. 上锁lock.lock();// 做你想做的。。。...
2018-06-11 10:33:29
2648
原创 持续构建ci全流程(jenkins+git+maven+docker+sonar+gatling)
概述以测试项目为例:https://github.com/14251104246/spring-boot-ci-demo 第一个红框里是加特林(gatling)脚本的存放目录位置与结构第二个红框的Dockerfile也是必须的项目必须为maven项目前提用docker-compose构建服务器,步骤如下创建宿主机挂载目录:mkdir -p /data/docker...
2018-06-07 17:27:06
810
原创 mycat集成HAProxy实现高可用
启动HAProxy:docker run -p 3306:3306 -p 48800:48800 --name haproxy -e LANG=en_US.UTF-8 -v /etc/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg --restart=always --net host haproxy:latest注意:即使docker没映...
2018-04-12 14:14:25
414
原创 【Java】mycat学习
分布式数据库基础(原理)分布式数据库的目录管理数据分片分布式查询处理分布式并发控制mycat核心概念逻辑库逻辑表(table)分片表非分片表er表(表分组)全局表(字典表)分片节点(dataNode)主机节点(dataHost)mycat配置详解本地xml配置方式schema.xml:管理逻辑库、分片表、分片节点和分片主机 schema标签(定义逻辑库)...
2018-04-10 16:29:36
271
原创 [未完成]elasticsearch学习
入门集群 集群透明集群健康,3状态,查询命令:curl -XGET 'localhost:9200/_cluster/health?pretty'索引 索引是保存相关数据的地方分片 底层工作单元,本质就是一个完整的搜索引擎一个Lucene的实例数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均...
2018-03-30 11:20:20
199
原创 [运维]cAdvisor 使用教程
cAdvisor 使用教程cAdivisor 作用:分析docker中正在运行的容器的资源使用情况和性能特征。简单使用docker运行命令sudo docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=...
2018-03-30 11:17:31
3001
原创 [Java]从spring(spring boot)的启动分析注解定义方式的bean的加载
spring boot启动的时候会创建一个注解配置嵌入式web应用上下文AnnotationConfigEmbeddedWebApplicationContext,在实例化这个ApplicationContext时,首先会先实例化它的父类GenericApplicationContext(在父类的构造方法中初始化一个BeanFactory),然后回到子类的构造方法中初始化注解bean定义阅读器An...
2018-03-13 15:47:43
1708
1
原创 「java」从websocket服务器的启动分析netty3.10源码
**1.首先是创建bootstrap对象** // Configure the server. ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCached...
2018-03-01 15:42:59
279
原创 linux(ubuntu)下使用印象笔记+少量源码解析(nixnote2)
首先evernote官方是没有linux版客户端的,所以我使用的是nixnote2(一个开源的第三方客户端)。 代码地址:https://github.com/baumgarr/nixnote2 可惜的是这个第三方客户端默认只能登录evernote的国际版(和中国版数据不互通)。对此,在nixnote2的作者之一在github上提出了如下两个解决方式:baumgarr commented ...
2018-02-27 13:57:03
3584
3
原创 【Java】mybatis用AbstractRoutingDataSource实现动态数据源时的事务管理
第一阶段最近遇到一个用到多数据源的项目,它是通过实现AbstractRoutingDataSource类来动态切换数据源的。而当我想为这个项目加入事务时,发现程序报错。就是数据源切换失败。 经过探索后发现原因是spring默认的事务管理器DataSourceTransactionManager在开启事务时会缓存连接。如图 恰好我当时对分布式事务有点兴趣,所有我首先想到的是尝试通过改用
2018-01-21 18:13:46
2144
转载 【java】Proactor模式
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步IO,
2017-11-22 22:08:04
566
转载 【java】Reactor模式详解
Reactor模式详解原文 前记第一次听到Reactor模式是三年前的某个晚上,一个室友突然跑过来问我什么是Reactor模式?我上网查了一下,很多人都是给出NIO中的Selector的例子,而且就是NIO里Selector多路复用模型,只是给它起了一个比较fancy的名字而已,虽然它引入了EventLoop概念,这对我来说是新的概念,但是代码实现却是一样的,因而我并没有很
2017-11-22 19:38:30
1094
原创 【java】【开源代码分析】java并发编程与junit4
看完《java并发编程实战》这本书之后,我想在这里把书上的知识与一些开源代码浅显地联系起来,以巩固自己的知识。junit4本身虽然还没有支持多线程的注解(我在网上没找到),要多线程的测试功能的话大多数都是用自己或第三方实现的runner,但junit4也提供了一个并行运行runner和suites的策略。实现这个功能的主要类位于org.junit.experimental包中(感觉包名暗示这个功能是
2017-11-19 21:47:18
325
原创 [mybatis]自动扫描整个项目的mapper(并解决接口冲突)
mybatis的注解使用非常简便(因为不用编写一大堆xml语句)。 网上给出的使用教程简化如下 1.在spring配置文件添加以下bean <!-- 配置数据源,使用dbcp --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
2017-11-10 16:55:28
10606
1
转载 【java】多态性实现机制——静态分派与动态分派
转载请注明出处:http://blog.youkuaiyun.com/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连
2017-09-19 19:21:57
412
转载 【java】【并发编程】线程封闭
线程封闭当访问共享的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭。栈封闭局部变量的固有属性之一就是封闭在线程中。它们位于执行线程的栈中,其他线程无法访问这个栈。public int loadTheArk(Collection<Animal> candidates){ SortedSet<Animal
2017-09-04 17:01:31
251
转载 【java】【spring】spring cron表达式
spring cron表达式 Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year 或 Seconds Minutes Hours DayofMonth Month DayofWee
2017-09-01 15:32:49
534
原创 [java][源码分析]paoding-rose-jade框架源码分析(2)
在分析动态代理回调的invoke 方法之前,我们先看下factory.create(UserDAO.class) 里面做了什么。1.JadeFactory工厂分析JadeFactory类的代码如下:public class JadeFactory { private RowMapperFactory rowMapperFactory = new DefaultRowMapperFactory(
2017-08-24 16:18:23
4766
原创 [java][源码分析]paoding-rose-jade框架源码分析(1)
在实习期间遇到最多的两个框架就是spring和paoding-rose了,所以看完spring源码分析的书,我就迫不及待的开始找paoding-rose的书了。可惜没找到,所以就自己动手分析吧。 spring源码分析的书可以在这里下载: http://download.youkuaiyun.com/download/qq523786283/99465521.正文paoding-rose框架包含很多子框架,而
2017-08-24 11:48:14
4896
转载 [java][spring]PropertyEditor
http://www.iteye.com/topic/1123628在Spring配置文件里,我们往往通过字面值为Bean各种类型的属性提供设置值:不管是double类型还是int类型,在配置文件中都对应字符串类型的字面值。BeanWrapper填充Bean属性时如何将这个字面值转换为对应的double或int等内部类型呢?我们可以隐约地感觉到一定有一个转换器在其中起作用,这个转换器就是属性编辑器。
2017-08-14 11:49:01
252
转载 [java]Java Se:Java Security(java.security包)
Java Sandbox转自[](http://www.cnblogs.com/f1194361820/p/4189269.html)提到Java Security,就不得不说Java Sandbox模型。Java2 Security Model: Java2平台上,加载类时,会形成不同的sandbox,同时也会根据相关的security policy,为这些sandbox生成不同的安全
2017-08-14 10:03:41
1155
原创 【工具】在这里你能看到intellj(idea)的源码
https://github.com/JetBrains/intellij-community源码编译说明:IntelliJ IDEA Community EditionBuilding and Running from the IDETo develop IntelliJ IDEA, you can use either IntelliJ IDEA Community Edition or Int
2017-08-09 18:23:20
816
原创 [java][junit4][源码分析]JUnitCore-入口分析
1.从官网上了解它的运行过程https://github.com/junit-team/junit4/wiki/Getting-started 官网Getting-started教程总结: 1.创建一个单元测试类 CalculatorTest.java 2.编译CalculatorTest.java //javac -cp 指明了.java文件里import的类的位置//比如(';'指定多
2017-07-28 14:55:32
786
转载 【工具】【idea】无法识别java文件(can't Resolve)
Intellij Idea 中Java文件太长导致无法识别问题 需要配置一下idea的配置文件即可 首先找到idea的安装目录 然后找到bin目录中的idea.properties文件 修改文件中这一行后面的值为9999idea.max.intellisense.filesize=9999
2017-07-20 21:40:33
4055
转载 【java】枚举学习2
在编写Java程序时经常会用到枚举(后面统一用enum描述)类型,今天我们就来看一下enum中常用到的values()方法。首先,我们在Eclipse中编写一个简单的类:public class EnumTest { private enum Directions { NORTH, SOUTH, EAST, WEST }}在这里,我们定义了一个名叫Direction
2017-07-17 15:16:21
209
转载 [java]枚举学习
测试代码[java] view plain copy print?package com.lxk.enumTest; /** * Java枚举用法测试 * <p> * Created by lxk on 2016/12/15 */ public class EnumTest { public static void main(String[] args) {
2017-07-17 15:03:26
208
转载 [mysql]创建函数失败(1418错误)
mysql开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you might want to
2017-07-14 11:25:46
1574
1
转载 JAVA自定义注解(Target,Retention,Documented,Inherit)
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。 注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。1、元注解元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。1.1、@Retention: 定义注解的保留策略@Re
2017-06-28 20:52:12
1005
转载 【java】jdbc重点总结
什么是JDBC,在什么时候会用到它?JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。有哪些不同类
2017-06-13 15:05:50
1113
转载 【java】J2EE的13个规范
什么是J2EE?在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等.既然很多企业级应用都需要这些模块,一些大公司便开发了自己的通用模块服务,即中间件.这样一来,就避免了重复开发,开发周期长和代码可靠性差等问题.但是,各公司的中间件不兼容的问题就出现了,用户无法将它们组装在一起为自己服务.于是,”标准”就应运而生了.J2EE就是基于Java技术的一系列标准.J2EE是Java
2017-06-13 14:10:30
468
1
转载 【java】 HashMap与ConcurrentHashMap的区别
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap
2017-06-12 19:22:32
291
原创 【html-css】杂记
1.CSS 样式边距的单位em的值并不是固定的, 会继承父级元素的字体大小。px为固定单位。 pt 绝对长度单位 , pt的效果是不随浏览器分辨率的变化而发生视觉的变化。 2.html标签<img>标签不用成对出现 <blockquote> 标签定义摘自另一个源的块引用。<blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进,而
2017-06-09 13:19:34
814
转载 【web开发-协议】HTTP协议
HTTP协议 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP基于TCP/IP通信协议来传递数据。 HTTP基于客户端/服务端(C/S)架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。 2.
2017-06-08 18:53:41
373
原创 【spring】杂记
1.[spring aop]AOP核心概念1、横切关注点对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点2、切面(aspect)类是对物体特征的抽象,切面就是对横切关注点的抽象3、连接点(joinpoint)被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器4、切入点(pointcut)对连接点进
2017-06-04 20:45:45
428
原创 【MySql】杂记
1.mysqldump常用于MySQL数据库逻辑备份。 二进制日志文件 中提供了执行mysqldump之后对数据库的更改进行复制所需要的信息。2.要显示存储过程传出的值,需要使用show关键字3.MySQL数据类型-decimal 对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numer
2017-06-01 21:50:03
471
原创 【javascript】杂记
1.settimeout函数是指定毫秒数后调用函数或者是计算表达式的,而settimeout设置为0s,他被js放在队列中,要等别人执行完,他才会执行。console.log('1');setTimeout(function(){console.log('2');},0);console.log('3');1 3 22 . null和undefined是不同的,但它们都表示“值的空缺”,判断
2017-05-30 12:31:43
635
FileStore store:stores是什么意思,“:”号在其中扮演什么角色?
2015-05-12
开发一个网页的app端的过程及所需的知识点。
2015-05-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人