朝阳博客

  • Article
  • Project
  • HTML+CSS
  • Bootstrap
  • JavaScript
  • jQuery
  • PHP
  • Java
  • Linux
  • MySQL
朝阳博客
一款专注于博客的响应式网站
Java

Spring Boot 启动扩展点

1.背景 Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口。当然了解了bean的各个生命周期也能促进…

2023年3月28日 0条评论 285点热度 0人点赞 aiyao 阅读全文
Java

SpringCloud Gateway使用

本文基于springboot+nacos+gateway实现,使用springboot作为基础工程,nacos作为注册中心及配置中心,gateway作为网关 项目整体使用版本号: springboot-2.6.8 springcloud-2021.0.3 spring-cloud-alibaba-2021.0.1.0 1. Gateway网关服务: 创建普通的springboot工程,网关服务中不要添加spring-boot-starter-web依赖: pom依赖 org.springframework.clou…

2023年3月28日 0条评论 276点热度 0人点赞 aiyao 阅读全文
Java

Java线上CPU内存冲高问题排查步骤

1 引言 作为一名从事Java开发快一年的程序员,在线上经常碰到某个模块的Pod发出CPU与内存告警的问题,而这些问题会导致系统响应缓慢甚至是服务不可用。一般情况下可以通过重启或者调高Pod的资源量或者增加Pod数量暂时解决问题,但这是治标不治本的,只有找到问题发生的原因才能从根本上解决问题。那么在该如何快速定位到导致告警的原因呢?下面将汇总一下大致的处理思路。 一般来说导致Java程序CPU与内存冲高的原因有两种: 代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致Full GC次数过多,系统缓慢。 代码中…

2023年3月28日 0条评论 242点热度 0人点赞 aiyao 阅读全文
Java

架构师图谱·微服务&消息队列篇

原文地址:https://blog.xstudio.mobi/a/230.html 1. 概述 “架构师图谱”是一个很宏大的命题,特别是优秀的架构师自身也是“由点到面再到图”,一点点成长积累起来。 尝试写这篇文章的目的更多的是结合自身的一些架构、研发、管理经验对现阶段做一个复盘总结,所以这里更偏向于后端图谱,依赖于开源技术、云原生或者其他第三方服务。 这里会重点介绍一些技术栈、设计理念以及适应场景,这些可以作为我们选型时的依据。所谓“架构即决策”,是在一个有约束的盒子中寻求最优解。 这个有约束的盒子是团队经验、成本…

2023年3月28日 0条评论 288点热度 0人点赞 aiyao 阅读全文
Java

这篇SpringCloud GateWay 详解,建议收藏

背景 在微服务架构中,通常一个系统会被拆分为多个微服务,面对这么多微服务客户端应该如何去调用呢?如果没有其他更优方法,我们只能记录每个微服务对应的地址,分别去调用,但是这样会有很多的问题和潜在因素。 客户端多次请求不同的微服务,会增加客户端代码和配置的复杂性,维护成本比价高。 认证复杂,每个微服务可能存在不同的认证方式,客户端去调用,要去适配不同的认证, 存在跨域的请求,调用链有一定的相对复杂性(防火墙 / 浏览器不友好的协议)。 难以重构,随着项目的迭代,可能需要重新划分微服务 为了解决上面的问题,微服务引入了 …

2023年3月28日 0条评论 216点热度 0人点赞 aiyao 阅读全文
Java

什么是语法糖,java中有哪些语法糖?

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解这些语法糖背后的原理 语法糖 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。 有意思的是,在编程领域,除了语法糖,还有语法盐和语法糖精的说法,篇幅…

2023年3月28日 0条评论 235点热度 0人点赞 aiyao 阅读全文
Java

十分钟掌握JVM垃圾回收核心知识点

垃圾回收 随着程序的运行,内存中的实例对象、变量等占据的内存越来越多,如果不及时进行回收,会降低程序运行效率,甚至引发系统异常,JVM会自动完成垃圾回收工作,主要包括: Minor GC/Young GC:针对新生代的垃圾收集; Major GC/Old GC:针对老年代的垃圾收集。 Full GC:针对整个Java堆以及方法区的垃圾收集 Java堆区可以划分为新生代和老年代,新生代又可以进一步划分为Eden区、Survivor 1区、Survivor 2区。具体比例参数的话,可以看一下这张图。 垃圾回收原理 一般…

2023年3月28日 0条评论 271点热度 0人点赞 aiyao 阅读全文
Linux

Redis 实现滑动窗口

1、前言 一般我们做在指定时间内只允许做 n 次都用,一个 key 设置过期时间 t 秒,然后在 key 过期时间内只需要做 n 次。然而这个思路有问题,最明显的就是跨时间段的问题。所以这个问题很显然用滑动窗口来做。 指定时间T内,只允许发生N次。我们可以将这个指定时间T,看成一个滑动时间窗口(定宽)。我们采用Redis的zset基本数据类型的score来圈出这个滑动时间窗口。在实际操作zset的过程中,我们只需要保留在这个滑动时间窗口以内的数据,其他的数据不处理即可。 每个用户的行为采用一个zset存储,scor…

2023年3月28日 0条评论 320点热度 0人点赞 aiyao 阅读全文
Java

这几种常见的 JVM 调优场景,你知道吗?

假定你已经了解了运行时的数据区域和常用的垃圾回收算法,也了解了Hotspot支持的垃圾回收器。 一、cpu占用过高 cpu占用过高要分情况讨论,是不是业务上在搞活动,突然有大批的流量进来,而且活动结束后cpu占用率就下降了,如果是这种情况其实可以不用太关心,因为请求越多,需要处理的线程数越多,这是正常的现象。 话说回来,如果你的服务器配置本身就差,cpu也只有一个核心,这种情况,稍微多一点流量就真的能够把你的cpu资源耗尽,这时应该考虑先把配置提升吧。 第二种情况,cpu占用率长期过高,这种情况下可能是你的程序有那…

2023年3月28日 0条评论 193点热度 0人点赞 aiyao 阅读全文
Java

Spring Cloud alibaba之Feign

JAVA项目中如何实现接口调用? Httpclient Httpclient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Http协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。HttpClient相比传统JDK自带的URL Connection,提升了易用性和灵活性,是客户端发送HTTP请求变得容易,提高了开发的效率。 Okhttp 一个处理网络请求的开源项目,是安卓端最火的轻量级框架,由Square公司贡献,用于代替HttpUrlConnection…

2023年3月28日 0条评论 208点热度 0人点赞 aiyao 阅读全文
1…34567
友联
朝阳云 文生个人博客
分类目录
  • Article / 6篇
  • HTML+CSS / 3篇
  • Java / 23篇
  • JavaScript / 1篇
  • Linux / 9篇
  • MySQL / 2篇
  • PHP / 1篇
  • Project / 2篇
  • Windows / 5篇
  • 未分类 / 25篇

COPYRIGHT © 2021 zhaoyangweb.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

冀ICP备2021020018号-1