自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yellow_Star的博客

唯有热爱,能抵岁月漫长

  • 博客(241)
  • 问答 (3)
  • 收藏
  • 关注

原创 重铸安卓荣光——双向滑块增强

双向滑块RangeSlider的增强,具体绘制了刻度线以及百分比

2024-02-24 10:59:07 571 1

原创 重铸安卓荣光——复选框ButtonCheckBox

一个按钮样式的复选框

2024-02-21 09:46:58 529

原创 重铸安卓荣光——上传图片组件

上传图片小组件,可以添加、删除、限制数量

2024-02-20 16:18:34 905 3

原创 第一讲:BeanFactory和ApplicationContext

不会主动调用后置处理器不会主动调用Bean后置处理器不会主动初始化单例。

2023-12-30 16:18:59 1066

原创 DockerCompose部署RabbitMQ集群

使用DockerCompose部署RabbitMQ集群并且配置镜像队列

2023-12-14 15:42:20 379 2

原创 Java实现微信支付

小黄最在工作中对接需要对接微信支付,在此记录一下微信支付开发的相关流程,望能帮助到各位。

2023-10-05 13:34:52 1378 6

原创 线程阻塞和线程中断

Java线程中断机制是一种用于协作式线程终止的机制。它通过将一个特殊的中断标志设置为线程的状态来实现。当线程被中断时,它可以检查这个中断标志并采取相应的措施来停止线程的执行。首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己决定自己的命运其次在Java中没有办法立刻停止一条线程,中断也只是一种协商机制,Java并没有给中断增加任何语法,中断的过程需要程序员自己实现。是 Java 并发包中的一个工具类,提供了线程阻塞和唤醒的能力,说到线程阻塞和唤醒就不得不提到两种已经学过的方式。

2023-07-28 17:13:14 514

原创 Java多线程锁

本专栏学习内容又是来自有兴趣的小伙伴可以点击视频地址观看。

2023-07-26 14:38:24 430

原创 异步任务——CompletabelFuture

本专栏学习内容又是来自有兴趣的小伙伴可以点击视频地址观看在学习之前,必须要先了解一下Future。

2023-07-19 16:22:25 688

原创 Netty进阶

魔数,用来在第一时间判定是否是无效数据包版本号,可以支持协议的升级序列化算法,消息正文到底采用哪种序列化反序列化方式,可以由此扩展,例如:json、protobuf、hessian、jdk指令类型,是登录、注册、单聊、群聊… 跟业务相关请求序号,为了双工通信,提供异步能力正文长度消息正文。

2023-05-23 14:28:43 601 2

原创 Netty入门

一般来说,我们不需要手动进行释放,Netty有帮我们释放ByteBuf,例如现在是入站操作,从。

2023-05-18 17:15:51 764

原创 NIO基础

在学习Netty之前,我们需要先了解一下NIO,以便更好的学习NettyNIO是non-blocking io,也就是非阻塞IO。

2023-05-16 08:47:21 347

原创 Java实现自定义字段

小黄最近在工作中遇到一个比较有意思的需求,在此跟大家分享一下。

2023-05-15 09:24:00 1560

原创 SpringCloudAlibaba分布式事务——Seata

Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。官网地址。

2023-04-27 09:46:53 863

原创 SpringCloudAlibaba服务熔断、限流——Sentinel

Sentinel是Alibaba公司推出的一个熔断与限流工具,相当于我们之前学习的Hystrix,可以解决服务使用中的各种问题,例如:服务雪崩、服务降级、服务熔断、服务限流。中文文档和Hystrix类似,通过属性来定义处理方法兜底方法参数不可省略!系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。系统保护规则是应用整体维度的,而不是资源维度的,并且。

2023-04-25 13:06:18 792

原创 SpringCloudAlibaba服务注册与配置中心——Nacos

Nacos是阿里巴巴推出的服务注册和配置中心。等价于Eureka+Config+Bus,可以替代Eureka做服务注册中心,替代Config做服务配置中心。官方文档。

2023-04-24 09:44:09 560

原创 SpringCloud分布式请求链路跟踪——Sleuth

本专栏学习内容来自有兴趣的小伙伴可以点击视频地址观看随着微服务越来越多,可能会出现A调B,B调C、D等多重调用的情况,出现问题不易排查。Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin。

2023-04-20 17:14:33 355

原创 SpringCloud消息驱动——Stream

本专栏学习内容来自有兴趣的小伙伴可以点击视频地址观看SpringCloud Stream是SpringCloud的消息驱动,之前的微服务学的好好的,为什么会突然冒出一个这么个东西来增加我们的学习量呢?一听到消息,那肯定就想到了MQ、Kafka,在日常工作中可能不止用到一种MQ,这时候需要对所有的MQ进行系统的学习,当然也不是所有人都有经历去学习。这时候Stream就应运而生,可以理解为Stream对RabbitMQ、Kafka进行的封装,使用者只需要了解Stream即可。

2023-04-20 14:22:13 510

原创 SpringCloud消息总线——Bus

在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于**该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。**在总线上的各个实例,都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息。

2023-04-19 17:04:41 465 2

原创 SpringCloud分布式配置中心——Config

本专栏学习内容来自有兴趣的小伙伴可以点击视频地址观看由于微服务越来越多,项目越来越庞大,每一个项目都至少有两三个不同环境的application.properties文件,不易管理,假设我们数据库迁移,那么所有配置文件中有关数据库的地址都需要更改,不仅工作量大,有时还可能会漏掉一些服务。SpringCloud Config分布式配置中心应运而生。

2023-04-19 15:11:42 520

原创 SpringCloud网关——GateWay

SpringCloud Gateway 是 Spring Cloud 的一个全新项目,基于 Spring 5.0+Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

2023-04-19 09:44:34 1395 2

原创 SpringCloud断路器——Hystrix

Hystrix是一个用于处理分布式系统的延迟和容错的一个开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的稳定性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的,可处理的备选响应。

2023-04-10 20:37:49 571

原创 SpringCloud服务接口调用——OpenFeign

Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。在学习Ribbon时,服务间调用使用的是RestTemplate+Ribbon实现,而Feign在此基础上继续进行了封装,使服务间调用变得更加方便。而OpenFeign可以理解为Feign的升级版。

2023-03-30 20:50:14 404

原创 SpringCloud负载均衡服务调用——Ribbon

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。

2023-03-21 21:59:41 752 2

原创 SpringCloud服务注册中心——ZooKeeper

之前学习了使用Eureka作为服务注册中心,然而Eureka已经停更,这时候我们就需要新的技术来支撑服务注册中心,ZooKeeper也可以作为服务注册中心来注册服务。

2023-03-14 16:45:56 294

原创 SpringCloud服务注册中心——Eureka

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka现已停更,但停更不停用。

2023-03-13 20:48:51 1338 1

原创 InnoDB数据存储结构

页a、页b、页c…这些页可以不在物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。

2023-01-11 22:24:34 362

原创 MySQL索引的数据结构

索引是帮助MySQL高校获取数据的数据结构。索引的本质:索引是数据结构,可以理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。

2023-01-05 20:45:11 365

原创 MySQL逻辑架构

本专栏学习内容来自有兴趣的小伙伴可以点击视频地址观看。

2022-12-21 19:21:41 178

原创 第八篇章——垃圾回收器

本专栏学习内容来自以及有兴趣的小伙伴可以点击视频地址观看,也可以点击下载电子书有了虚拟机,就一定需要收集垃圾的机制,这就是Garbage Collection(GC),对应的产品(垃圾收集器)称为Garbage Collector(GC)两个都称为GC,本文中的GC理解为垃圾收集器。...

2022-08-30 15:21:09 353

原创 第七篇章——垃圾回收概念及相关算法

本位介绍了垃圾回收的相关概念以及垃圾回收算法

2022-08-25 14:29:29 202

原创 第六篇章——字符串常量池

本专栏学习内容来自以及有兴趣的小伙伴可以点击视频地址观看,也可以点击下载电子书。

2022-08-18 14:50:38 134

原创 ArrayList源码解析

在项目中大家肯定经常使用ArrayList,但是你对ArrayList了解多少呢?ArrayList有很多值得学习的地方,接下来我们更深入的了解ArrayList。

2022-08-15 23:10:45 135

原创 第五篇章——执行引擎

执行引擎是Java虚拟机核心的组成部分之一“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约的定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。...

2022-08-15 22:35:05 188

原创 第四篇章:运行时数据区——共享空间

本文介绍了运行时数据区中的线程共享区域:堆、方法区,以及一些运行时数据区的面试题

2022-07-20 11:07:30 180

原创 第三篇章:运行时数据区——独立空间

JVM所有的步骤其实可以理解为厨师炒菜JVM在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是以来用户线程的启动和结束而建立和销毁。JVM中的运行时数据区分为以下五块内容如下图所示,JVM支持多线程,在多线程的情况下,方法区和堆中的对象是共享的,程序计数器、本地方法栈和虚拟机栈是每个线程各拥有一份的。PC寄存器是一块很小的内存空间,几乎可以忽略不计,也是运行速度最快的存储区域在JVM规范中,

2022-07-13 09:22:31 148

原创 第二篇章:类加载子系统

如下图所示,类的加载过程分为三步,分别是加载——链接——初始化目的在于确保.class文件的字节流中包含信息符合当前虚拟机要求,保证被加载类的正确性,不会危害虚拟机自身安全。如下图所示,所有能够被JVM所识别的字节码文件的起始都是,可以亲切的称呼它为“咖啡宝贝”为类变量分配内存并且设置该类型的默认初始值,比如int类型为0,引用类型为null。需要注意的是这里不包含用final修饰的static,因为final在编译时就会分配了,准备阶段会显式初始化。不会为实例变量设置初始值,类变量会分配在方法区中,而实例

2022-07-05 11:23:29 330

原创 第一篇章:JVM与Java体系结构

从某些程度上来讲,Java虚拟机是比Java语言更成功的软件,这真正的让Java语言实现了一次编译,到处运行下图描述了JVM所处的位置,熟悉Java的小伙伴都知道,.java文件通过编译成,class文件,也就是我们所说的字节码文件,而JVM对字节码文件进行一些列的操作转换成各个操作系统所能看懂的汇编语言,从而执行命令。JVM是运行在操作系统上的,跟硬件没有直接的交互在面试中经常被问到JDK,JRE两者有什么区别如果单单想要运行Java程序,只需要安装JRE即可,而从事Java开发必须要安装JDK,JDK可

2022-07-01 16:34:01 394

原创 设计模式之访问者模式

表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。在访问者模式中国,数据结构与处理被分离开来。我们白那些一个表示“访问者”的类来访问数据结构中的元素,并把对个元素的处理交给访问者类。当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接收访问者的访问即可。在示例程序中我们模拟校园中有老师、学生两个被访问的对象,而校长、家长就是两个访问者。对于校长来说他只关心老师所在班级的升学率,对于家长来说他只关心学生的排名。关于这个案例的核心逻辑实现,有

2022-06-30 10:51:45 183

原创 设计模式之模版模式

模板模式的业务场景在平时开发中并不常见,这个设计模式的核心在于定义逻辑行为的执行顺序,他可以控制整套逻辑的执行顺序和统一的输入输出,而对于实现方只需要关心自己的业务逻辑即可。但在日常生活中我们经常接触到模板,比如写周报的时候,会有一个周报模板,我们只需要按照模板填写工作内容即可。例如以下是小黄的周报模板,可以把他看作四大块,标题、本周工作、下周工作、总结。每个人填写的内容是不一样的,但是模板制约了填写的内容。在示例程序中我们实现从不同的网站上爬虫的场景,在此场景中,我们按照顺序实现三个模块:模拟登录,爬取信

2022-06-29 22:02:07 252

空空如也

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

TA关注的人

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