摘要: 阅读全文
posted @ 2021-01-21 09:35 FrankYou 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、可配置的5种垃圾收集器 SerialGC(Client模式默认使用) ParallelGC (Server模式默认使用,以实现更高的吞吐量为目标) ParNewGC (不推荐) ConcMarkSweepGC(并发标记清除,以实现更短的用户线程暂停时间) G1GC(Garbage First,在 阅读全文
posted @ 2021-01-05 12:19 FrankYou 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一、标记 初始标记。暂停应用程序线程(STW),根扫描,查找内存区域中和根直接引用的对象,查找到则标记,被查到到的对象如果有子对象,则子对象不会被标记;(标记:标记为存活的对象) 并发标记。GC线程和应用程序线程是并发执行的,不会STW;并发标记前会执行 SATB (Snapshot at begi 阅读全文
posted @ 2020-12-28 09:53 FrankYou 阅读(7) 评论(0) 推荐(0) 编辑
摘要:JCL SLF4J适配图 让Spring统一输出 这就是为了对slf4j的适配做一个例子说明。Spring是用JCL作为日志门面的,那我们的应用是slf4j + logback,怎么让Spring也用到logback作为日志输出呢?这样的好处就是我们可以统一项目内的其他模块、框架的日志输出(日志格式 阅读全文
posted @ 2020-12-18 09:48 FrankYou 阅读(10) 评论(0) 推荐(0) 编辑
摘要:深度剖析服务发现组件Netflix Eureka - 知乎 (zhihu.com) Home · Netflix/eureka Wiki · GitHub Why Eureka? 那么为什么我们在项目中使用了Eureka呢?我大致总结了一下,有以下几方面的原因: 1)它提供了完整的Service R 阅读全文
posted @ 2020-12-09 11:51 FrankYou 阅读(43) 评论(0) 推荐(0) 编辑
摘要:ArrayList<String> arrayList = new ArrayList<>(2); arrayList.add("1"); // minCapacity = 1, elementDataLength = 2, 不需要增加capacity; arrayList.add("2"); // 阅读全文
posted @ 2020-07-27 10:46 FrankYou 阅读(212) 评论(0) 推荐(0) 编辑
摘要:import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Func 阅读全文
posted @ 2020-07-16 09:49 FrankYou 阅读(281) 评论(0) 推荐(0) 编辑
摘要:private static class ParameterizedTypeTest<T extends Number> { private List<T> list = null; public static void main(String[] args) throws NoSuchFieldE 阅读全文
posted @ 2020-07-16 08:59 FrankYou 阅读(166) 评论(0) 推荐(0) 编辑
摘要:JMockit is a Java toolkit for automated developer testing.It contains APIs for the creation of the objects to be tested, for mocking dependencies, and 阅读全文
posted @ 2020-05-13 17:44 FrankYou 阅读(606) 评论(1) 推荐(0) 编辑
摘要:工作层次不同:交换机主要工作在数据链路层(第二层)路由器工作在网络层(第三层)。转发依据不同:交换机转发所依据的对象时:MAC地址。(物理地址)路由转发所依据的对象是:IP地址。(网络地址)主要功能不同:交换机主要用于组建局域网,而路由主要功能是将由交换机组好的局域网相互连接起来,或者接入Inter 阅读全文
posted @ 2020-05-11 12:28 FrankYou 阅读(139) 评论(0) 推荐(0) 编辑
摘要:一、事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。 ①编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: try { //TODO something transactionManager.c 阅读全文
posted @ 2020-04-13 15:05 FrankYou 阅读(1507) 评论(0) 推荐(0) 编辑
摘要:这篇文章介绍 Java 8 的 CompletionStage API和它的标准库的实现 CompletableFuture。API通过例子的方式演示了它的行为,每个例子演示一到两个行为。 既然CompletableFuture类实现了CompletionStage接口,首先我们需要理解这个接口的契 阅读全文
posted @ 2020-04-01 12:01 FrankYou 阅读(382) 评论(0) 推荐(0) 编辑
摘要:前言 本文将结合实例demo,阐述30条有关于优化SQL的建议,多数是实际开发中总结出来的,希望对大家有帮助。 1、查询SQL尽量不要使用select *,而是select具体字段。 反例子: select * from employee; 正例子: select id,name from empl 阅读全文
posted @ 2020-03-30 12:47 FrankYou 阅读(374) 评论(0) 推荐(1) 编辑
摘要:作者:crossoverJie链接:https://juejin.im/post/5b67902f6fb9a04fc67c1a24来源:掘金 前言 记得前段时间我们生产上的一个网关出现了故障。 这个网关逻辑非常简单,就是接收客户端的请求然后解析报文最后发送短信。 但这个请求并不是常见的 HTTP , 阅读全文
posted @ 2020-01-10 16:06 FrankYou 阅读(156) 评论(0) 推荐(0) 编辑
摘要:dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含: 集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交 阅读全文
posted @ 2020-01-10 10:13 FrankYou 阅读(591) 评论(0) 推荐(0) 编辑
摘要:package netty; import static io.netty.handler.codec.http.HttpHeaderNames.CONNECTION; import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH; import static io.netty.handler.codec.http 阅读全文
posted @ 2020-01-03 11:37 FrankYou 阅读(677) 评论(0) 推荐(0) 编辑
摘要:public abstract class AbstractUnSafeCas<T> { @SuppressWarnings("unused") private volatile Object value; private static final AtomicHelper ATOMIC_HELPER; private final CountDownLatch countDownLatch = n 阅读全文
posted @ 2019-12-16 12:06 FrankYou 阅读(169) 评论(0) 推荐(0) 编辑
摘要:import java.util.Arrays; import org.apache.commons.lang.ArrayUtils; public class Test { public static void main(String[] args) { int[] sortedArrays = quickSort(new int[]{3, 5, 1, 2}); S... 阅读全文
posted @ 2019-11-18 16:59 FrankYou 阅读(171) 评论(0) 推荐(0) 编辑
摘要:CGLIB代理类,用CGLIB来实现一个代理类。大致原理描述如下: 1、使用Enhancer类来生成一个继续于被代理类的子类,此子类会重写被代理类(父类)中所有的非final的public方法; 2、当调用代理类的某个方法时实际上通过一个MethodInterceptor委托来间接调用的; 3、Me 阅读全文
posted @ 2019-10-15 17:51 FrankYou 阅读(233) 评论(0) 推荐(0) 编辑
摘要:1、mysql中InnoDB引擎中页的概念 2、mysql索引详解--如何从磁盘中读取索引文件 阅读全文
posted @ 2019-10-12 15:41 FrankYou 阅读(91) 评论(0) 推荐(0) 编辑
摘要:一条SQL语句执行得很慢的原因有哪些 https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485185&idx=1&sn=66ef08b4ab6af5757792223a83fc0d45&chksm=cea248caf9d5c1dc72 阅读全文
posted @ 2019-10-12 12:12 FrankYou 阅读(641) 评论(0) 推荐(0) 编辑
摘要:1、对于阻塞模式下,调用connect()进行连接操作时,会一直阻塞到连接建立完成(无连接异常的情况下)。所以可以不用finishConnect来确认。 2、但在非阻塞模式下,connect()操作是调用后直接返回结果的,有可能是true(如本地连接),也可能是false(在部分情况下是false) 阅读全文
posted @ 2019-09-18 15:04 FrankYou 阅读(679) 评论(0) 推荐(0) 编辑
摘要:相关术语解释: RSA,参考: https://en.wikipedia.org/wiki/RSA_(cryptosystem) 非对称加密算法 ,参考:https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%8 阅读全文
posted @ 2019-09-12 15:11 FrankYou 阅读(1807) 评论(0) 推荐(0) 编辑
摘要:1 、写在前面 1.1 名词解释 consumer表示服务调用方 provider标示服务提供方,dubbo里面一般就这么讲。 下面的A调用B服务,一般是泛指调用B服务里面的一个接口。 1.2 拓扑图 大写字母表示不同的服务,后面的序号表示同一个服务部署在不同机器的实例。 2 、从微观角度思考 2. 阅读全文
posted @ 2019-09-11 11:26 FrankYou 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:关于一致性hash算法,可以参考这篇文章: https://zhuanlan.zhihu.com/p/34985026 1、类的Diagram 2、代码实现 2.1、Node类,每个Node代表集群里面的一个节点或者具体说是某一台物理机器; package consistencyhash; impo 阅读全文
posted @ 2019-09-02 17:33 FrankYou 阅读(339) 评论(0) 推荐(0) 编辑