Kaka Blog

追求自我价值的实现

Java对象介绍

对象的内存布局 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 在java中对象的内存布局分为两种情况,非数组对象和数组对象,数组对象和非数组对象的区别就是需要额外的空间存储数组的长度length。 对象头 对象头又分为MarkWord和Class Pointer两部分。 ...

Mockito简单入门

什么是Mockito Mockito 是一个强大的用于 Java 开发的模拟测试框架, 通过 Mockito 我们可以创建和配置 Mock 对象, 进而简化有外部依赖的类的测试。 Mockito基本使用(基于Spring Boot) Maven依赖 <dependency> <groupId>org.springframework.boot</g...

Spring Boot集成Apache Druid

Apache Druid简介 Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析(”OLAP”查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据。 数据查询 HTTP POST 在...

DDD应用架构

好的架构 一个好的架构应该需要实现以下几个目标: 独立于框架:架构不应该依赖某个外部的库或框架,不应该被框架的结构所束缚。 独立于UI:前台展示的样式可能会随时发生变化(今天可能是网页、明天可能变成console、后天是独立app),但是底层架构不应该随之而变化。 独立于底层数据源:无论今天你用MySQL、Oracle还是MongoDB、CouchDB,甚至使用文件系统,软...

股票入门知识

K线 反应股价的高低和变化趋向。 移动平均线 定义:投资公众的平均成本,就是在某一段时间内,投资者持筹股价的平均值。 短期移动平均线:5天、10天和20天的移动平均线 中期移动平均线:20天、30天和60天 长期移动平均线:60天、120天和240天 黄金交叉 上升行情初期,短期移动平均线从下向上突破中长期移动平均线,形成的交叉。 死亡交叉 当短期移动平均线向...

k8s部署SpringBoot docker镜像服务

之前已经将SpringBoot服务打包成docker镜像,并上传到阿里云docker镜像仓库,本文主要实现怎么通过k8s部署SpringBoot服务。 首先,生成密钥,因为拉取docker镜像需要登录,不然会提示docker login: kubectl create secret docker-registry regcred --docker-server=registry.cn-s...

巧用策略模式、工厂模式,替换if-else

策略模式 首先定义一个接口: public interface PayService { BigDecimal quote(BigDecimal price); } 定义几个策略类: @Service public class VipPayService implements PayService, InitializingBean { @Override ...

自定义Spring Security Starter组件

前言 认证授权功能几乎是每个系统必备功能,本文实现基于Spring Security安全认证开发Maven组件,方便以后项目添加依赖即可使用。 创建Maven项目 环境 Spring Boot:2.1.17 Spring Cloud:Finchley.RELEASE pom.xml文件 <groupId>com.fang</groupId> &...

Spring Cloud Gateway入门

前言 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/指标,和...

kubernetes介绍

概述 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用。 核心组件 etcd保存了整个集群的状态; apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler负责资源的调度,按照预定的调度策略...