水下功夫做透,水上才能顺风顺水。
摘要: 一. RPC-远程过程调用,用于实现分布式环境下的远程调用,RPC 框架如下 负载均衡是在一次调用中进行的,而容错则是当调用发生异常之后,进行处理策略。比如,Failover Cluster - 失败自动切换 二. Dubbo 是阿里开源的一个极为出名的 RPC 框架,被广泛使用。协议和序列化框架都 阅读全文
posted @ 2020-05-24 22:52 北方寒士 阅读(1372) 评论(0) 推荐(0) 编辑
摘要: Spring是一个轻量级的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。◆控制反转——Spring通过Ioc促进了松耦合。控制反转(Ioc—Inversion of Control)是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。谁 阅读全文
posted @ 2020-05-24 21:04 北方寒士 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 1.ThreadLocal 是什么? 在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal并不是一个Thread,而是Thread的局部变 阅读全文
posted @ 2020-05-24 18:07 北方寒士 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 一. 标记清除法(Mark-Sweep)最基础的垃圾回收算法,分为标记和清除两步。将要清除的对象进行标记然后直接清除掉,这样就就大大节省了空间了。最大的问题:会导致内存碎片化严重,可能导致大对象找不到可以利用的空间。 当内存被耗尽的时候,GC线程会被触发,并将程序暂停 1.标记存活对象,2. 全部清 阅读全文
posted @ 2020-05-24 16:41 北方寒士 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 什么情况下会发生内存泄漏? 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄漏,尽管短生命周期对象已经不再需要,但是因为长生命周期持有它的引用而导致不能被回收,这就是Java中内存泄漏的发生场景。 1. 引用计数法 定义:每个对象有一个引用计数器,当对象被引用一次计数器加1,引用失效一次减 阅读全文
posted @ 2020-05-24 16:23 北方寒士 阅读(161) 评论(0) 推荐(0) 编辑
摘要: String 类——字符串常量String的值是不可变的,这就导致每次String的操作都要生成新的String对象,效率低下且浪费内存。 StringBuffer和StringBuild——变化字符串StringBuilder和StringBuffer 的对象能够被多次的修改,并且不产生新的未使用 阅读全文
posted @ 2020-05-24 11:55 北方寒士 阅读(185) 评论(0) 推荐(0) 编辑
摘要: final关键字用法(1) 修饰类,这个类是终类,不能被继承。a. final类中的成员变量,可以根据自己的实际需要设计为fianl。b. final类中的成员方法,都会被隐式的指定为final方法。(2)修饰方法,被final修饰的方法不能被重写(覆盖)。a. 一个类的private方法会隐式的被 阅读全文
posted @ 2020-05-24 11:37 北方寒士 阅读(177) 评论(0) 推荐(0) 编辑