
Java
文章平均质量分 82
陌北有棵树
AI世界探路者,量化小白成长中,公众号同名「陌北有棵树」
展开
-
【微服务】关于分布式链路追踪
本篇的主要思路在于从分布式链路的思想开始,接下来介绍应用较广泛的开源实现Zipkin,最后对Spring Cloud Sleuth这个具体的解决方案进行说明。追踪链的思想追踪链的思想起初来源于Google关于Dapper的论文。核心思想在于:当一个请求经过多个服务,收集每个服务处理的具体执行情况。目前有很多机遇Dapper的开源实现,例如Zipkin,HTrace,SkyWalking等。为...原创 2020-02-17 01:13:08 · 381 阅读 · 0 评论 -
【Java】JVM调优操作手册(实战篇)
在调优之前,首先要明确调优的目标,针对不同的应用场景,有不同的衡量指标:响应时间: 关注系统对请求的响应速度,比如To C的应用,用户体验比较重要,这类应用的重点要在短时间做出响应吞吐量: 关注特定时间段内最大化应用程序工作量,我们的JVM调优主要集中在两个方面:调整堆大小;调整垃圾收集器。常用的JVM参数JVM调优常规步骤分析当前问题:也就是你为什么要进行此次调优,比如启动...原创 2020-02-12 09:17:34 · 562 阅读 · 0 评论 -
【微服务】Dubbo的最佳实践
以下是Dubbo的一些最佳实践整理,可以当做一张Dubbo的使用说明书,具体的原理分析后续再详写,这里就言简意赅的说明用法,且大部分来自官方文档:【一】服务化最佳实践分包服务接口、服务模型、服务异常等均放在 API 包中,符合REP(重用发布原则),CRP(共同重用原则)粒度服务接口尽可能大粒度,避免分布式事务,因为Dubbo暂未提供分布式事务支持。服务接口建议以业务场景为...原创 2020-02-10 21:56:54 · 1998 阅读 · 0 评论 -
【Java】盘点框架常用底层技术 —— Java反射
【一】简介允许运行时的Java程序获取自身信息,同时操作类或对象的内部属性,最通俗易懂的解释,就是让你根据一个String来得到你要的实体对象功能:运行时判断对象所属类运行时构造类的对象运行时判断类的属性和方法运行时调用任意一个类的方法下面是相关的四个类,包含了我们定义一个类所能用到的所有属性和方法。ClassFieldMethodConstructor【二】...原创 2019-08-15 21:32:51 · 228 阅读 · 0 评论 -
【微服务】服务发现:Eureka源码分析(一)基本流程
【一】微服务之服务发现概述关于微服务,近年来可谓是大火,业界也吹刮着一种实践微服务的风潮。本人有幸在去年参与到一个向微服务过渡的产品,再结合自己所学的一些知识做一个总结,同时也是一个继续学习的过程。如果说在实施微服务的所有经验中,挑出最重要的一点,那么我觉得应该是:基础设施的建设决定微服务的实施效果后面可能会写一篇关于具体踩坑的总结,大多也是关于基础设施组件的。如果在实施微服务的过程中...原创 2019-08-15 12:53:13 · 281 阅读 · 0 评论 -
【设计模式】一次代码重构后对策略模式的思考
经常看到有人把软件开发和建筑行业类比,把架构师比作工程师,个人觉得还是有一定区别的,建筑行业的成品一旦落成,是不变的,而软件面向的是变化。但相同点是,如果内心有一种现在大力鼓吹的“匠人精神”,都会让作品更优美吧。建筑行业不太了解不做过多评论,作为码农一枚,如果能时常审视自己代码,反思设计的是不是美观,代码是不是流畅,相信是会写出好的作品的。而设计模式往往可以帮助我们写出更精致的作品。【一】需求引...原创 2019-08-09 22:07:17 · 236 阅读 · 0 评论 -
【SpringBoot】深入分析SpringBoot如何内嵌Tomcat容器
【一】总述SpringBoot的诞生,极大的简化了Spring框架的使用过程,提升了开发效率,可以把它理解为一个整合包,使用了SpringBoot,就可以不用自己去进行繁琐的配置,通过几个简单的注解,就可以构建一个基于REST的服务。同时,SpringBoot的快速构建部署的特性,为当下大热的微服务落地提供了极大的便利,可以说是构建微服务的理想框架。归纳来说SpringBoot的特性有如下几点...原创 2019-08-07 12:59:18 · 5825 阅读 · 2 评论 -
【盘点Java框架常用技术】 Java注解
当我们阅读框架源码时,会看到其中包含着大量的注解,注解被广泛使用的原因在于,可以生成一些通用的“模板化”代码,来避免重复性的工作。使用注解的工作模式是,通过注解来描述我们的意图,然后用注解解析工具对注解进行解析。【一】实验:自定义注解首先我们通过 @interface关键字定义一个注解@Tree,定义注解时,需要定义两个内容:元注解,注解属性。@Target(ElementType.METH...原创 2019-08-07 12:48:11 · 184 阅读 · 0 评论 -
【Java】盘点Java框架常用技术 —— JDK动态代理
书接上文,在分析注解的原理时说道:“通过getAnnotation()方法获取一个注解的时候,JDK会通过动态代理生成注解的代理类$Proxy1”,但没有继续分析JDK动态代理,动态代理在各种框架中也经常被使用,比较典型的是Spring AOP,其中有两种实现动态代理的方式,分别是基于JDK的动态代理和基于CGLib的动态代理,本篇先分析基于JDK的动态代理。【一】实验:实现基于JDK的动态代理...原创 2019-08-08 12:58:51 · 408 阅读 · 0 评论 -
【Kafka】优秀特性的底层原理分析
【Kafka】优秀特性的底层分析目前市面上各种中间件层出不穷,我们在做具体的选型时难免会纠结,在这里阐述点粗浅的看法,其实每个中间件在其设计上,都有其独有的特点或优化点,这些恰好应该是我们所关注的,这样才能做到物尽其用,将其特性发挥到最大;同时还要了解它们各自的劣势,这主要为了避坑。各种中间件就像是积木,我们能做的,就是选择合适形状的积木,搭出需要的房子。不得不说Kafka这块积木,既能做消息...原创 2019-07-29 06:37:59 · 213 阅读 · 0 评论