-
Eureka服务治理
Eureka治理概念spring cloud Eureka 实现了netflix Eureka 的标准, spring 对其进行了封装形成了spring cloud Eureka.Eureka服务端: 服务的注册中心Eureka客户端: 客户端向服务端注册自身提供的服务并且周期性的发起心跳来更新服务租约,与此同时, 该服务也从服务端查询当前注册的服务的信息,并且把他们缓存到本地并且周期性的刷新服务的状态。所以当服务A --> 服务B 的时候 , 如果发生了服务B宕机了, 那么服务端...…
-
LCN源代码分析
lcn源代码分析首先从@TxTransaction 开始分析更具以往的经验, @TxTransaction 一定是一个标记下的注解, 让后通过某个aop进行了拦截,执行切面,实现事物的代码lcn执行的代码分析如下1.TransactionAspect 创建一个切面 对所有的方法上面的 @TxTransaction 进行扫描 ,然后执行环绕方法2.调用AspectBeforeServiceImpl-->around 1.创建事物的服务器TransactionServerFactoryS...…
-
LCN分布式事物
什么是分布式事物分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。(来自百度百科)分布式事物的使用场景上面介绍了什么是分布式事物, 我可以了解到分布式的事物一般使用在分布式系统中, 一个业务发起方A调用了其他节点B服务,然后B有调用了C服务A--->B---C 形成一个链式的调用在这个过程中需要有一个业务的发起者A 事物的参与者B, C然后其实还有一个事物的协调或者管理者 事物的管理器(实现分布事物的核心功能)LCN实现微服...…
-
SpringBoot初步了解
springboot 是什么spring boot 能够快速构建和运行基于spring 的应用。spring boot为我们已经封装好了搭建spring框架lib版本, spring boot 只需要我们采用最少的配置即可运行起来spring 的应用,为懒人提供了一种开发的便利。spring boot 官网介绍:https://spring.io/projects/spring-bootspring boot 特点 创建独立的spring应用 内置的tomcat jetty 可以让打...…
-
SpringCloud初步了解
什么是微服务 微服务是系统架构上的一种设计风格,主旨是讲一个原本独立的系统差分为多个小型的服务, 这些服务之间通过http 的restFull api 进行通信协作。为什么选择spring cloud在目前有这个和spring-cloud功能一样的其他的开源框架,例如dubbo, dubbox , 结合zookeeper 实现服务的发现与注册, 服务的分布式但是随着spring cloud 不断的更新迭代 , 形成了一个完成的微服务的开发体系, 完全可以和dubbo媲美 spr...…
-
jmeter测试并发
jemter 启动1,在TestPlan 上右键创建一个Thread Group 路径: add->Threads->Thread Group2,双击Thread Group 修改并发的一些参数; Number of Threads : 100Ramp-up period :10loop count : 13.创建一个http请求,thread group 上右键 路径: add->sampler->Http Request填写protocal ip por...…
-
站点统计
站点统计计数采用仆算子博客地址:https://www.jianshu.com/p/e3d9f6777fb8js加入<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>html页面为:<span id="busuanzi_container_page_pv"> | 阅读:<span id="busuanzi_value_page...…
-
jvm内存结构
java的内存结构jvm内存结构主要分为三个部分: 堆内存, 方法区, 栈。 1.堆中最大的一块是年轻代,老年代。 年轻代: 分为是三个部分: Eden, from survivor, to survivor默认的比例为 8:1:1 老年代2.方法区存储类信息, 常量, 静态常量, 是线程共享的区域。 控制参数-Xms设置堆的最小空间大小。-Xmx设置堆的最大空间大小。-XX:NewSize设置新生代最小空间大小。-XX:MaxNewSize设置新生代最...…
-
docer部署springboot项目
配置项目配置参考https://gitee.com/ninuxGithub/tomcat-nginx-balance.gitdocker发布项目:https://www.cnblogs.com/ityouknow/p/8599093.html https://www.jianshu.com/p/efd70ad53602安装docker,maven,jdk,git maven仓库配置为阿里云的仓库比较快开始发布mvn package docker:builddocker images: 显示...…
-
centos6.5升级内核
1.centos升级1.查看内核uname -r 2.导入公钥数字证书rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 3.安装elreporpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm另外需要安装一个探索最快镜像的包yum --enablerepo=elrepo-kernel install kernel-lt -y4.安装...…
-
值转递vs址传递
直接上代码———————————/** * <pre> * * 总结: * 1.基本数据类型是传递值的 * 2.引用数据类型是传递地址 * 3.String 是传递值的 * 4.StringBuffer 对象是传递址 * </pre> */public class TransferValue { public static void main(String[] args) { Transfe...…
-
任务切分采用多线程执行
直接上代码:任务进行切分采用多线程执行//任务切分的数量public static final int taskSize = 4; //线程池public final static ExecutorService pool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); public void multiThread2SaveJson(String methodName,Object...…
-
ReentrantLock vs Synchronized
可重入锁的ReentrantLock vs Synchronized实现原理Synchronized: jdk 的关键字, 锁的功能是jdk对改关键字实现了特殊的功能. ReentrantLock: 出自jdk , 作者doug lea . 是代码的业务逻辑实现的锁的功能, 底层是基于AQS.区别:Synchronized是编译器去保证加锁和释放锁, 而ReentrantLock 需要调用者手动加锁释放锁, 一般需要在fianllly 代码块加入释放锁。从锁的颗粒度来说: 后者优于前者Re...…
-
乐观锁vs悲观锁
<h2>乐观锁vs悲观锁</h2>悲观锁(pessimistic lock)每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。乐观锁(optismistic lock)每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线...…
-
js apply和call的区别
js apply 和call 的却别, 两个的功能其实是一样的,只是用法上面有点区别, 观测代码如下apply:传递的参数需要是数组call:传递的参数是逗号隔开的 function add(c,d){ return this.a + this.b + c + d; } var s = {a:1, b:2}; console.log(add.call(s,3,4)); // 1+2+3+4 = 10 console.log(add.apply(s...…
-
Guava的集合使用
guava个人感觉主要是提供了一下比较优秀的集合框架,例如MultiMap , MultiSet , Table, BiMap 等..直接上代码:package com.example.demo.guava;import com.google.common.collect.*;import java.util.Collection;import java.util.Map;import java.util.Set;public class GuavaSet { public sta...…
-
jdk1.8 lambda 的使用
直接上代码:package com.example.demo.lambda;import java.util.*;import java.util.function.Function;import java.util.stream.Collectors;public class TestLambda { public static void main(String[] args) { List<Student> list = new ArrayList<...…
-
搭建Jekylly博客
今天第一次尝试搭建一个github博客页面,大概的步骤如下1.选择一个你喜欢的jekyll模板并且clone到本地。2.安装ruby(我是windows版本的),下载安装包直接安装, 检查: ruby -v 出现版本则为成功。3.安装jekyll: gem install jekyll; jekyll -v: 出现版本则为成功;4.可能需要安装bundler: gem install bundler 5.本地启动项目: jekyll server 如果没有报错则启动成功; --&...…