- 博客(6)
- 收藏
- 关注
原创 一步一步理解并手写RPC
RPC其全程为Remote Process Call,即为远程过程调用。RPC将传统的本地调用转换为调用远端的服务器的方法,给系统的处理能力和吞吐量带来了极大的提升。 随着项目的发展,业务越来越复杂,单个项目的话,会非常复杂,且不易维护,如果单个项目挂了就会导致整个系统都无法使用,但是把复杂的业务拆分为多个小业务就方便系统的维护与开发。这种情况下就会有系统之间的相互调用。当日调用量不大的时候我们可...
2018-05-04 13:04:48 257
转载 springcloud与dubbo深入对比
微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如 Dubbo 和 Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都与这二者相差不大。微服务主要的优势降低复...
2018-05-03 16:44:38 6146
原创 CyclicBarrier和CountDownLatch有什么区别
1.CyclicBarrier的某个线程运行到屏障点上之后,该线程立即停止运行,直到所有的线程都到达了这个屏障点,所有线程才依次按顺序被唤醒重新运行;CountDownLatch是某个线程运行到某个点上之后,只是给计数器数值减一,该线程扔继续运行;2.CyclicBarrier唤醒等待线程虽然是唤醒全部,但等待线程是按顺序依次执行的;CountDownLatch是唤醒多个任务,抢占式执行;3.Cy...
2018-03-27 17:06:14 1245 1
原创 java8用法
import org.junit.Test;import java.time.DayOfWeek;import java.time.LocalDateTime;import java.time.temporal.TemporalAdjusters;import java.util.*;import java.util.function.BiPredicate;import java....
2018-03-27 16:58:19 470
原创 springboot 打jar包瘦身,启动jar时从磁盘加载三方jar
1、先用传统的方式打出一个jar包,然后把里面lib文件夹中依赖的jar全部拷贝出来放置某一文件夹 如 thirdlib2、springboot maven插件打jar包时,排除依赖配置 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>sprin...
2018-03-13 20:46:52 758
原创 ThreadLocal用法详解及源码讲解
ThreadLocal的作用是为每一个使用该变量的线程提供单独的副本,每个线程可以单独修改属于变量副本而不影响其他线程的变量副本,这大概也就是ThreadLocal单词中“Local”所要表达的意思,个人理解这个ThreadLocal有点和volatile相反的意思,好了不多说了,直接上源码吧。。。。。。先来看set方法 java.lang.ThreadLocal类中代码段1 ...
2018-03-10 14:23:03 256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人