2020年8月22日

JVM工作原理--垃圾收集

摘要: 首先明确一点的是, JVM的垃圾回收针对的是JVM中运行时数据区中的方法区 和 堆区来讨论的,因为运行时数据区其他的 虚拟机栈,本地方法栈和程序计数器随着线程的创建和停止和创建的清除,不需要专门的机制来对其进行GC处理。 下面以 WWH 思维视角来考虑堆区及方法区的垃圾收集。 1 对象判活--收集什 阅读全文

posted @ 2020-08-22 18:16 John_nok 阅读(219) 评论(0) 推荐(0) 编辑

2019年7月21日

并发编程之单例模式

摘要: 线程安全的单例模式一般认为有三种实现方式: 懒汉模式,枚举方式,静态内部类方式; 下面逐个来看下他们的实现方式和实现原理。 (1) 懒汉模式: 对于线程安全的考虑,主要是在获取单例模式的实例时调用getInstance方法会存在线程安全问题;只所以线程安全的懒汉模式需要如上实现,需要我们做如下考虑: 阅读全文

posted @ 2019-07-21 19:00 John_nok 阅读(318) 评论(0) 推荐(0) 编辑

2019年6月18日

设计模式之动态代理

摘要: 在了解什么是动态代理模式,以及怎么实现动态代理模式之前,我们先明确一个场景,那就是当我们需要对一类实现类增加一些额外处理对其中的某些方法做一些增强时。譬如增加日志打印,参数校验,鉴权等。这些功能很重要,但是又具有一定的独立性(与业务代码不相关)。针对这种情况, 我们就可以采用动态代理模式来实现。 动 阅读全文

posted @ 2019-06-18 11:45 John_nok 阅读(273) 评论(0) 推荐(0) 编辑

2019年6月16日

UML类图基础

摘要: UML( Unified Modeling Language) 统一建模语言, 它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 UML类图分为三个部分,最上面部分是类的类名,中间部分是类属性的,最小面部分是类的方法,其中 阅读全文

posted @ 2019-06-16 09:21 John_nok 阅读(438) 评论(0) 推荐(0) 编辑

2019年6月14日

CAP理论的理解

摘要: CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性(Consistency) 可用性(Availability) 分区容错性(Partition tolerance) 最多满足其中的两个特性。也就是下图所描述的。分布式系统要么满足CA,要么CP,要么AP。无法同时 阅读全文

posted @ 2019-06-14 21:28 John_nok 阅读(44603) 评论(3) 推荐(11) 编辑

2019年6月12日

Dubbo RPC调用参数校验---错误message自动返回

摘要: Dubbo 的RPC调用中Consumer 和 Provider端都可以对调用的方法做传参验证,参数的验证可以通过JSR303规范 (Java Specification Requests) 提到的 Bean Validation 方式来验证,Dubbo官方也是这么推荐的。最佳实践中分包部分提到传参 阅读全文

posted @ 2019-06-12 22:10 John_nok 阅读(2124) 评论(0) 推荐(0) 编辑

2019年6月9日

ELK日志分析系统搭建

摘要: 之前一段时间由于版本迭代任务紧,组内代码质量不尽如人意。接二连三的被测试提醒后台错误之后, 我们决定搭建一个后台日志分析系统, 经过几个方案比较后,选择的相对更简单的ELK方案。 ELK 是Elasticsearch, Logstash,Kibana三个组件的首字母组合,这种方案最初的做法是:使用L 阅读全文

posted @ 2019-06-09 17:49 John_nok 阅读(1277) 评论(0) 推荐(0) 编辑

2019年3月16日

Kafka原理及应用(一)

摘要: 一. Kafka简介 (1) 消息中间件的两种实现模式 JMS (Java Message Service) 对消息的发送和接收定义了两种模式: 点对点模式:消息的生产和消费者均只有一个,消息由生产者将消息发送到消息队列(queue)中,然后消息消费者从队列中取出消息进行消费,消息被取出后,queu 阅读全文

posted @ 2019-03-16 20:27 John_nok 阅读(2285) 评论(0) 推荐(1) 编辑

2018年5月27日

HTTPS的原理

摘要: HTTPS的原理 1 https 与 http的区别 https 就是在安全的传输层上发送的http。https 将http报文发送给TCP 之前,先将其发送给了一个安全层(SSL/TLS),由安全层对其进行加密 (ISO模型结构参考图-1)。 如果客户端浏览器发现请求的URL是以 https开头, 阅读全文

posted @ 2018-05-27 17:30 John_nok 阅读(213) 评论(0) 推荐(0) 编辑

2018年5月5日

Maven 生命周期的概念(指令默认顺序执行)

摘要: 生命周期的概念 IDEA中使用maven构建项目都集中放到了窗口右侧"Maven Projects"中,点击该区域可以直观的看到,maven中几个常用指令都归类为LifeCycle,那么什么是生命周期呢? maven的生命周期指的是: 某一阶段的动作是需要在上一阶段的结果上进行的,这样执行任何一个操 阅读全文

posted @ 2018-05-05 17:46 John_nok 阅读(941) 评论(0) 推荐(0) 编辑

导航