摘要:添加plugin <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>2.4.0</version> <configuration> <!--指定输出
阅读全文
摘要:最近在学scala的时候,函数传参可以是传名参数,或者传值参数 1.Scala中的传名参数是什么意思?lazy关键字有什么作用? Scala官方文档的定义是:传名参数 仅在被使用时触发实际参数的求值运算。 它们与 传值参数 正好相反。 要将一个参数变为传名参数,只需在它的类型前加上 ⇒。 def c
阅读全文
摘要:今天在学scala的时候发现Option中有map和flatMap返回的都是Option,然后再java8中的Optional也存在这样两个函数,觉得有点多余。后来分析了一下,还是有存在的必要的。 1. map函数 map函数不用问,使用的很广泛,函数签名是public<U> Optional<U>
阅读全文
摘要:前一篇FilterPattern的范式,基本和Tomcat实现的filter chain是一样的; 这里介绍一下我看完dubbo关于Filter Pattern的实现思路,自己抽象出来的代码,以及理解 相关类的UML图: 可以从上图中看到这里的Invoker对应原来的Servlet,这里的Filte
阅读全文
摘要:1.什么是Filter Pattern? Filter Pattern 也可以叫Intercepting Filter Pattern(拦截过滤器模式),这个范式可以让你在执行原有逻辑(核心逻辑)之前和之后额外执行一系列逻辑,像这样: 2.这个范式能给我们的代码带来什么好处? Filter Patt
阅读全文
摘要:1. 背景:什么时候需要联锁(MultiLock)? 当我们需要对多个实例进行锁定,禁止别人同时修改任意一个锁定的实例,我们就需要一个联锁(MultiLock); 比如业务上,我需要同时操作1000条单据,处理过程是原子的,无法拆分;那么我们就必须使用上联锁(当然乐观锁也可以是一种选择); 2. 我
阅读全文
摘要:RateLimit目前这个工具类还在@Bate阶段,在官方wiki文档中,还找不到; 1.当我们使用rateLimiter,我们能够实现什么? RateLimiter rl = RateLimiter.create(double permitsPerSecod); 通过如上的方法我们可以知道,Rat
阅读全文
摘要:JDK1.0 1.1 1996年Java有了第一个正式版本的运行环境。代表技术包括:Java虚拟机,Applet,AWT;1997年,Jar格式,JDBC,JavaBeans,RMI诞生; JDK1.2 1998年,SUN将Java技术体系拆分成三个方向,桌面引用开发J2SE,企业级开发J2EE,手
阅读全文
摘要:1.现象: 当dubbo provider 抛出异常时,dubbo consumer 在输出异常栈信息时,展示的都是provider 侧的线程栈,这是因为,异常的stackTrace实在在new Throwable()的时候生成的。 /** * Constructs a new throwable
阅读全文
摘要:1.InterruptedException的由来 "Thread.sleep(long millis)", 以及"thread.wait()"方法,都会抛出InterruptedException,很多时候都不知道怎么处理这个异常;这个异常是由thread.interrupt()产生的,比如如果A
阅读全文
摘要:去年一直有想法将openTracing整合进自己的dubbo服务的想法。但是zipkin brave 对 dubbo的支持,没有更新到最新版本,所以一直没有行动。 目前zipkin支持的语言,以及框架如下图:具体可以参考官方网址 其中brave library 是一个java项目,提供了对主流web
阅读全文
摘要:1. 当我们执行Future future = executorService.submit(myCallable);代码时,我们执行了什么? 从类图可以看到,FutureTask实现了两个基类(Future,Runnable);这里实现Future的目的,很明确,因为Future就是代表一个异步任
阅读全文
摘要:参考: "Oracle Javase8 Doc" 关注Monitoring 1. "jps" 查询当前机器上当前用户的jvm进程的启动信息,包括pid,启动类,启动参数等相关信息 jps [ options ] [ hostid ] options: + q 只展示JVM的进程id + m 展示ma
阅读全文
摘要:什么是Dto,Entity,用来干什么? Dto data transfer object 数据传输实体,主要用于数据传输的实体模型; Entity 持久层的领域模型;
阅读全文