自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个苦苦挣扎的JAVA开发

JAVA开发,未秃顶

  • 博客(11)
  • 收藏
  • 关注

原创 Kubernetes-dashboard部署详解

容器化部署服务已经变成微服务时代的主流,在众多容器化技术之中,kubernetes又是属于相对火爆,社区活跃的一个产品。容器化部署给我们带来了便捷的同时,也给我们带来了运维方面的挑战。kubernetes官方给我们提供了一种图形化管理kubernetes的方式,即kubernetes-dashboard。说明:本篇为本人开发之余,为了熟悉学习kubernetes环境,搭建自己本地的一个案例记录。下面让我们进入正题部署思路通过nginx-ingress的方式来对外提供访问优点:主流,安全,方.

2020-10-18 15:58:42 2775

原创 Dubbo服务发布源码分析

Dubbo通过Springboot自动装配原理,将ServiceBean类注入到Spring容器中,并通过ServiceBean对象来发布服务。ServiceBean这里的泛型T指的是各个需要被暴露出的接口类。通过DubboAutoConfiguration自动装配类里的ServiceAnnotationBeanPostProcessor去扫描基础路径并构建成一个个待暴露的ServiceBean类。public class ServiceBean<T> extends Servic.

2020-08-30 12:34:11 290

原创 深入源码理解Dubbo SPI机制

什么是Dubbo SPI用Dubbo.apache.org官方的话概况就是SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。那么Dubbo SPI到底是怎么实现的呢?首先我们来看一下触发SPI的入口ExtensionLoader.getExtensionLoader(FrameworkExt.class).getSupport

2020-08-09 12:03:53 271

原创 IDEA在Java项目里编写Scala代码,并在本地调试Spark程序

下载IDEA插件下载Scala插件下载完成后重启IDEA设置SDK引入编译Scala对应的maven插件<build> <pluginManagement> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>sca

2020-06-30 20:38:03 1069

原创 谈谈ASM字节码框架在Spring源码的应用

什么是ASM?引用ASM官方的介绍:ASM是一个通用的Java字节码操作和分析框架。它可以直接以二进制形式用于修改现有类或动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建定制的复杂转换和代码分析工具。ASM提供了与其他Java字节码框架类似的功能,但主要关注性能。由于它的设计和实现尽可能小,速度尽可能快,因此非常适合在动态系统中使用(当然,也可以以静态方式使用,例如在编译...

2019-12-26 10:42:39 1317

原创 浅谈JAVA设计模式之观察者模式

观察者模式 也叫做订阅发布模式。观察者模式定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有依赖者都会收到通知并更新。简单理解观察者模式创建一个餐厅Kitchen.java(被观察类)public class Kitchen extends Observable { private String name="天天中餐厅"; ...

2019-12-11 16:56:54 169

原创 浅谈JAVA设计模式之装饰者模式

装饰者模式是指在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的替代方案。装饰者模式下面我们来用厨房作为例子,介绍装饰者模式。假设我们有一间老式厨房,里面只能做中餐。IKitchen.javapublic interface IKitchen { public void cook();}Kitchen.javapublic class Kitchen...

2019-12-08 11:53:49 179

原创 浅谈JAVA设计模式之适配器模式

适配器模式是指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一起工作。适配器的简单介绍假设我们现在已经写好了一个银联支付类并测试上线运行。代码如下:PaymentService.javapublic class PaymentService { public void doPay(Order order) { System.out.pri...

2019-12-05 14:32:26 184

原创 浅谈JAVA设计模式之模板模式

通常很多需求存在公共的逻辑处理,也存在有差异的部分。我们希望通过提取公共的逻辑部分,减少代码的重复性。下面通过一个印刷书本的需求来对模板模式进行简单的说明。简单了解模板模式BookPrintTemplate.java 模板类public abstract class BookPrintTemplate{ public void printBook() { //1...

2019-12-04 20:53:45 145

原创 浅谈JAVA设计模式之策略模式

我们现实开发中,有很多地方需要用到不同的算法或者说不同的处理逻辑去处理相同的需求。比方说支付,支付会有支付宝支付、微信支付以及京东支付等等。再比方说订单折扣,会有现金返现折扣、优惠折扣以及团购折扣等等。每当出现一个新的逻辑,就需要多一个一段if…else…片段处理。策略模式就是为了解决上述这种逻辑分支多的问题。策略模式的类结构图首先我们来看一下策略模式的简单处理方式public cla...

2019-12-03 22:03:32 158

原创 浅谈JAVA设计模式之代理模式

先来谈谈JDK动态代理​ 需求背景:​ 一电商项目的程序猿辛辛苦苦写完支付接口并测试成功且上线。这个时候项目经理跑过来提了一个需求,需要在客户支付之前记录客户支付日志,方便日后进行统计支付数据。使用JDK动态代理解决上面的需求为了不影响到之前写好的支付接口,不破坏接口的开闭原则。我们通过PayProxy绑定原先的支付接口,来解决这问题。pay.javapublic interface...

2019-12-02 20:11:30 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除