自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dejunyang的博客

不积跬步,无以至千里; 不积小流,无以成江海.

  • 博客(145)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 中的流程控制语句

Java 中的流程控制语句 if-elif-else、switch、for、while、do-while、return、try-catch

2024-01-11 10:05:19 385

原创 Java面向对象

面向对象,封装、继承、多态、抽象、重写、重载,面向接口编程,面向对象设计七大原则

2024-01-10 09:54:01 377

原创 Java中的运算符

Java中的运算符(全)

2024-01-09 10:50:13 355

原创 Java中的关键字和保留字

Java中的关键字和保留字,包括 Java 17

2024-01-08 14:52:07 335

原创 SpringBoot 官方脚手架不再支持Java8和Java11

Spring官方脚手架不再支持初始化Java8和Java11的项目,阿里巴巴Spring脚手架支持Java8、Java11、Java17、Java19 的项目

2023-12-08 10:34:10 399

原创 yapi 私服禁用注册功能

yapi 禁用注册配置

2023-04-10 16:58:49 669

原创 yapi-import json 文件过大导致 413

yapi-import json 导入swagger文件过大导致413报错处理方法

2023-04-10 16:58:13 260 1

原创 内网部署 yapi

yapi 内网安装配置

2023-04-10 16:57:25 356

原创 prometheus jmx exporter + prometheus + grafana

prometheus jmx exporter + prometheus + grafana 实现Java应用可视化监控

2023-04-01 21:37:17 1463

原创 Java进程占用CPU过高问题分析

Java进程CPU占用过高问题排查

2023-03-28 21:50:56 180

原创 prometheus jmx-exporter 暴漏HTTP服务端口无法获取监控数据

prometheus jxm-exporter 暴露HTTP服务端口无法获取监控数据;prometheus-http 线程占用CPU 100%;sentinel-system 线程占用CPU 100%;prometheus jmx-exporter 请求大量 CLOSE_WAIT;

2023-03-26 11:30:43 628

原创 每小时进行一次FullGC

开启JMX后导致应用每小时进行一次FullGC,问题排查与解决。

2023-03-26 09:51:43 717

原创 Redis5.0集群搭建

Redis 5.0 三主三从集群搭建

2023-02-15 23:03:28 609

原创 JDK 自带监控和故障处理工具

JDK 自动改监控和故障处理工具,jps、jinfo、jstack、jstat、jmap、jhat

2023-02-13 22:10:10 855

原创 hashCode() 与 equals()

hashCode 与 equals 方法

2022-06-14 17:06:02 190

原创 Anolis OS 文档

Anolis OS 文档Anolis OS 生命周期Anolis OS 内核版本策略用户&管理员文档知识库常见问题Anolis OS 全部文档

2022-05-27 11:21:49 290

原创 Springboot 日志详解

Springboot 日志详解,Logback + SLF4J,Log4J2 + SLF4j

2022-05-13 15:14:34 495

原创 Linux 安装配置 ZooKeeper 集群

前提条件:安装配置了jdk1.8 或更高版本下载 ZooKeeper 例如:解压:tar zxvf ***.tgz假设假设我们要搭建一个三台服务器的ZooKeeper集群(最少3台,而且是)假设第一台服务器ip为:192.168.174.129假设第二台服务器ip为:192.168.174.130假设第三台服务器ip为:192.168.174.131第一台服务器配置:进入解压目录下边的conf目录cp zoo.sample.cfg zoo.cfgvim zoo.cfg修改内容如下.

2022-02-24 10:34:58 598

原创 强引用 软引用 弱引用 虚引用

强引用 > 软引用 > 弱引用 > 虚引用

2022-02-15 09:55:20 131

原创 static

Java 中static关键字

2022-02-04 11:12:09 756

原创 Java是编译性语言还是解释性语言

结论:Java 即使编译性语言也是解释性语言。编译:将 *.java 文件编译成 *.class 字节码文件。解释:JVM 加载 *.class 字节码文件,然后通过解释器逐行解释为机器码执行。JIT:解释器逐行解释并运行效率相对较低,JVM 可以将热点代码编译成机器码并保存下来,下次调用直接调用执行机器码,在一定程度上提高运行效率。注:常见的 HotSpot 采用惰性评估的方式,在某些代码在某段时间内达到一定的执行次数后才会及时编译为机器码。JVM 也会根据每次被执行的情况收集信息并做出一些优化,

2022-02-03 22:10:21 1148

原创 SpringBoot 启动后运行特定的代码

1. ApplicationRunner 或 CommandLineRunner如果你需要在 SpringApplication 启动后运行一些特定的代码,你可以实现 ApplicationRunner 或 CommandLineRunner 接口。这两个接口的工作方式相同,并提供一个单一的运行方法,该方法在 SpringApplication.run(…) 完成之前被调用。这种契约很适合那些应该在应用程序启动后但在其开始接受流量前运行的任务。CommandLineRunner 接口提供了对作为字符串

2021-12-08 21:00:57 535

原创 Spring Boot 自定义 banner

1. 自定义bannerSpring Boot 项目启动时打印的横幅可以通过在 classpath 中添加 banner.txt 文件或将 spring.banner.location 属性设置为此类文件的位置来更改默认的 banner。如果该文件的编码不是 UTF-8,你可以设置spring.banner.charset 属性。除了文本文件外,你还可以在 classpath 中添加 banner.gif、banner.jpg 或banner.png 图像文件,或者设置 spring.banner.ima

2021-12-07 23:13:06 515

原创 自定义 Starters

spring-boot 官方文档

2021-12-06 17:10:26 107

原创 MySQL连接到服务器和从服务器断开连接

1. 语法mysql [OPTIONS] [database]1.1 常用选项选项名说明-h指定要连接到的MySQL主机或域名-P指定要连接到MySQL Server 的端口-u指定使用哪个用户连接到 MySQL Server-p指定 -u 用户的密码,一般不明文输入,而是根据提示再输入2. 连接到服务器和断开连接2.1 连接到服务器shell> mysql -h 127.0.0.1 -P 3306 -u root -p从

2021-11-10 11:49:20 1085

原创 JVM 类加载

1. 编译源代码是成百上千个 “.java" 文件,并能被机器执行,需要编译为 ".class” 文件。常见的编译工具有 javac、maven、gradle 把 Java 工程或文件编译为 “*.java” 或 jar 包,war 包。然后,编译后的 *.class 文件在合适的时机加载到 JVM 字节码执行引擎,最后由 JVM 字节码执行引擎解释执行。2. JVM 类加载过程一个类从加载到使用,一般会经历下面的过程:加载 -> 验证 -> 准备 -> 解析 -> 初始

2021-09-28 20:26:59 234

原创 Java 面试系列 - 分布式缓存

1. 什么是分布式缓存 ?传统意义上的缓存是保存在应用本身的(JVM),只有应用本身可以对缓存进行读写。在分布式系统中,将缓存抽取出来做成了缓存中间件(数据库),分布式应用都可以对分布式缓存进行读写操作。并且分布式缓存具有高性能和高吞吐量的特性。2. 为什么使用分布式缓存 ?分布式缓存主要作用:高性能(提高系统性能);高并发(提高系统并发);减轻关系型数据库压力2.1 高性能和高并发随着系统的复杂性和用户量的增加,并发越来越大,我们会发现系统变得越来越慢。因为关系型数据库的 QPS 和

2021-09-04 21:18:30 304

原创 Java集合-ArrayList

Java 集合之 List

2021-08-30 11:17:31 1150

原创 Java 异常

Java 异常类层次结构Java 异常

2021-07-29 23:30:54 364

原创 Java 泛型

泛型     在任何重要的软件项目中,错误都是编程中的一个事实。详细的计划、编程和测试可以帮助减少错误,但不知何故,它们总会找到一种方法潜伏到你的代码中。随着新功能的引入以及你的代码库的大小和复杂性的增长,这一点变得尤为明显。     幸运的是,有些错误比其它错误更容易检测到。例如,可以在早期检测到编译时错误;你可以使用编译器的错误消息找出问题所在并立即修复。然后,运行时错误可能会带来更多问题。它们并不是立即浮出水面,当它

2021-07-21 11:41:23 216 2

原创 面向对象编程

1. 面向对象概念1.1 什么是对象对象是相关状态和行为的包装,软件对象通常用于对日常生活中找到真实对象进行建模。对象是理解面向对象技术的关键。看看周围,你会发现有许多真实世界的对象的例子:你的狗狗、笔记本、桌子、显示器、自行车。显示世界的对象有两个特征:状态和行为。狗有状态(名称,颜色,品种)和行为(吠叫,跑,摇尾巴)。识别真实对象的状态和行为是开始思考面向对象编程一种良好的方法。软件对象在概念上与真实对象相似:它们也由状态和行为组成。对象将其状态存储在字段中,并通过方法公开其行为。方法对对象的

2021-07-13 23:00:04 1742 1

原创 Java 基本数据类型和封装类型

八种基本数据类型的封装数据类型如下表:基本数据类型封装数据类型类型描述字节数范围byteByte整型1[-128, 127]shortShort整型2[- 32768, 32767] or [-2^15, 2^15-1]intInteger整型4[-2^31, 2^31-1]longLong长整型8[-2^63, 2^63 -1]floatFloat单精度浮点型4-doubleDouble双精度浮点型8

2021-07-12 22:46:51 672 1

原创 MyBatis 占位符 # 和 $

1. MyBatis 占位符 # 和 $默认情况下,使用 #{} 参数语法时,MyBatis 会创建 PrepareStatement 参数占位符,并通过占位符安全地设置参数(就像使用 ? 一样)。这样做更安全,更迅速,通常也是首选做法。1.1 MyBatis 占位符之 ##{} 占位符,MyBatis 会创建 PrepareStatement 参数占位符,并通过占位符安全地设置参数(就像使用 ? 一样),可以有效防止 SQL 注入,更迅速;示例:<select id="selectBy

2021-06-06 23:33:07 285 2

原创 重载和重写

重载发生在同一个类中;方法名必须相同;参数类型不同、个数不同、顺序不同;方法返回值和访问修饰符可以不同。举个例子:public class Student { private Integer id; private String name; private Integer age; public Student() { } public Student(Integer id) { this.id = id; } public Student(Integer id, Str

2021-06-03 09:23:09 506

原创 CentOS 7 安装 Nginx

1. 准备# yum -y install wget# yum -y install gcc# yum -y install pcre-devel.x86_64# yum -y install zlib-devel.x86_642. 下载 Nginx# wget http://nginx.org/download/nginx-1.18.0.tar.gz -O /usr/local/nginx-1.18.0.tar.gz其它版本Nginx安装# mkdir /usr/local/ngin

2021-04-02 17:06:06 116

原创 volatile

并发编程的三个重要特性原子性: 一个或一组操作,一旦开始,不会被线程调度机制打断,直到结束,中间不会有任何线程切换。要么所有操作全部执行,要么所有操作都不执行。synchronize 可保证代码片段的原子性;可见性: 一个线程对共享变量进行了修改,其它线程都可以立刻看到修改后的值。volatile 关键字可以保证共享变量的可见性;有序性: JVM 执行代码过程是有先后顺序的,但并非是代码编写顺序,Java 编译器以及JIT可能在运行期间对代码指令优化,进行指令重排。volatile 关键字可以禁止指令

2020-12-25 15:55:44 108

原创 start() 和 run() 方法启动线程的区别 ?

结论:start() 方法会启动一个新的线程,以及线程的一些准备工作(状态检查,加入通知线程组),然后 Java 虚拟机调用此线程的 run() 方法;run() 方法是直接执行 Runnable 对象的 run() 方法,是 main 线程下的一个普通线程,并不是多线程执行;源码分析(Java8):/*** 使该线程开始执行;Java 虚拟机将调用此线程的 <code>run</code> 方法。* 结果是两个线程同时运行:当前线程(从调用返回到<code&g

2020-12-23 19:00:13 554

原创 String StringBuffer StringBuilder

Stringjava.lang.String 类表示字符串。java.lang.String 是 final 修饰的,所以不能够被继承;private final char value[] 变量用户存储字符串数组的,所以String对象是不可变的;因为String不可变性,所以是线程安全的。注意:在 Java 9 之后,java.lang.String 类的实现改用 byte 数组存储字符串的:private final byte[] value;StringBuilderjava.l

2020-12-22 14:08:18 93

原创 8种基本数据类型的封装类型和常量池

八种基本数据类型的封装数据类型如下表:基本数据类型封装数据类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanByte、Short、Integer、Long、Character、Boolean 实现了常量池技术。前四种常量值范围为[-128, 127],Character 范围为[0, 127],Boo

2020-12-16 22:28:16 658

原创 Java 基本数据类型

基本数据类型字节数位数默认值取值范围描述byte180[2^7-1, -2^7]整型short2160[2^15-1, -2^15]整型int4320[2^31-1, -2^31]整型long8640L[2^63-1, -2^63]长整型float4320f[2^31-1, -2^31]单精度浮点型double8640d[2^63-1, -2^63]双精度浮点型char216‘u...

2020-12-16 17:09:38 85

idea快捷键最终版(windows).doc

IDEA 快捷键(中文)

2021-11-19

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

TA关注的人

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