自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis的缓存延迟双删策略

Redis 的缓存延迟双删策略是用来解决缓存与数据库之间数据不一致问题的一种常见策略。这种策略主要用于在更新数据库时,确保缓存数据的同步更新。下面是对这种策略的详细介绍。

2024-08-10 11:19:13 462

原创 MySQL中的锁介绍

在MySQL中,锁是用来管理并发操作和保护数据一致性的机制。锁的使用可以防止多个事务对同一数据项进行冲突操作,从而避免数据不一致的问题。

2024-08-07 20:56:25 353

原创 IDEA实现Debug远程调试Linux中的系统

有朋友面试时被问到,怎么远程调试部署在Linux中的系统?听到这个问题,那位朋友直接懵了,第一反应是震惊,已经部署在Linux中的系统还能调试? 沉默了几秒,只好说没有远程调试过Linux中的系统,一般线上问题都是看日志解决的,本地运行才通过调试解决。 那么,真的能在本地远程调试Linux系统吗?

2024-08-07 16:06:00 526

原创 Windows全球大范围蓝屏! CrowdStrike 安全更新Bug问题

2024年7月18日,一次由CrowdStrike发布的内容更新导致了许多运行Windows操作系统的设备出现蓝屏(BSOD)问题。这次更新主要影响了安装了CrowdStrike Falcon传感器的Windows设备。更新内容中包含的一个无效格式的.sys文件引发了核心驱动程序的崩溃,导致设备无法正常启动。

2024-07-22 11:08:34 743

原创 JVM为什么要进行垃圾回收? 怎么设计合适的垃圾回收机制?

JVM 垃圾回收(Garbage Collection,GC)是管理堆内存的重要机制,其主要目的是自动回收不再使用的对象所占用的内存,防止内存泄漏和内存溢出,从而保持系统的稳定性和高效性。

2024-07-21 23:15:28 605

原创 JVM的内存空间划分

JVM(Java Virtual Machine,Java 虚拟机)在执行 Java 程序时,将其运行时内存划分为若干不同的区域,以便有效管理和分配内存。

2024-07-21 23:13:54 451

原创 JVM的 6 种垃圾回收算法

JVM的垃圾回收(Garbage Collection, GC)算法,在面试八股文时偶尔会被问到,了解一些常见的垃圾回收算法有利于面试时吊打面试官。

2024-07-20 21:10:30 736

原创 JVM 在什么情况下会触发垃圾回收?

垃圾回收的触发主要是为了管理和优化内存使用,避免内存耗尽。JVM有多个参数和策略来调优GC行为,根据应用的具体需求,可以选择和配置合适的GC策略,以优化性能和响应时间。例如,调整堆内存大小、设置年轻代和年老代的比例、选择合适的垃圾回收器(如G1、CMS)等,都是常见的调优手段。

2024-07-20 21:05:45 512

原创 Linux系统下 安装 Nginx

一、下载Nginx安装包。

2024-06-07 18:45:34 453

原创 @Scheduled注解创建定时任务的 3 种模式

Scheduleed注解的介绍在Spring Boot中,@Scheduled 注解用于创建定时任务,提供了三种常见的模式:Fixed Rate(固定速率)Fixed Delay(固定延迟)Cron Expression(Cron表达式)

2024-06-07 17:58:41 356

原创 【问题复盘】第三方接口变慢导致服务崩溃

为了进一步确认是否是代码造成的问题,将代码回滚到之前正常的版本,结果线程数同样剧增,直至设定的最大值。去网上找各种关于这个日志的博客,尝试了博客里的多种方法,也试过了GPT提供的方法,但始终无法确定日志产生的原因,这行。解决警告日志的问题,就应该先定位到,具体是哪一行代码产生的警告日志。6、突然,在网上看到一篇说明这个报警日志的博客,里面提到了一句,产生这个报警日志的原因在于调用了第三方接口,问题是出现在第三方平台。日志会反复出现,而且出现的同时伴随着不断增加的线程数,由此断定,这行日志就是问题的关键。

2024-06-06 20:40:27 646

原创 【Bug解决】Packet for query is too large (8808741 > 4194304). You can change this value on the server by

在使用 MySQL 进行查询或插入操作时,如果数据包的大小超过了服务器设置的最大限制,就会出现 "Packet for query is too large" 错误。默认情况下,MySQL 的最大数据包大小是 4MB(4194304 字节)。

2024-05-23 11:45:39 334

原创 Java使用iText生成pdf文档

iText 是一个用于创建和处理 PDF 文档的开源 Java 库。iText 主要用于生成 PDF 文件,可以将文本、图像、表格、列表等内容添加到 PDF 中,同时支持对 PDF 进行编辑、合并、分割、加密、数字签名等操作。

2024-05-08 21:02:20 712

原创 Hutool工具对称加密的使用

从加密、解密使用的密钥是否相同的角度看,加密方式可以分为两种,对称加密(相同)和非对称加密(不同)。而根据加密后是否可逆,可分为可逆加密和不可逆加密,对称和非对称加密都属于可逆,摘要加密则是不可逆。

2024-05-07 18:28:24 578

原创 EMQX监听客户端上下线的 2 种方式

EMQX监听客户端上下线的方式有两种:订阅系统主题和开启WebHook插件。

2024-04-29 18:04:05 1398 2

原创 【设计模式】5种创建型模式详解

创建型模式提供创建对象的机制,能够提升已有代码的灵活性和复用性。

2024-02-26 12:01:51 1501

原创 SpringBoot整合Websocket

我们已经有了 HTTP 协议,为什么还需要Websocket协议?它能带来什么好处?

2024-02-24 23:03:30 599

原创 jackson、gson、fastjson和json-lib四种主流json解析框架对比

在Java中,Jackson、Gson、Fastjson和json-lib都是流行的JSON解析框架,它们各自有一些特点和优势。

2024-02-23 18:17:26 3086 1

原创 Java实现扫描二维码,跳转指定页面

二维码已经是随处可见,与二维码相关的功能也很多,常见的有扫码登录功能、扫码支付功能等等。那扫描二维码背后的原理是什么?

2024-02-23 12:02:55 3340

原创 MongoDB的介绍和使用

MongoDB是一种NoSQL数据库管理系统,采用面向文档的数据库模型。它以C++语言编写,旨在满足大规模数据存储和高性能读写操作的需求。

2024-02-22 22:41:06 1573

原创 六大设计原则 (SOLID)

设计模式中主要有六大设计原则,简称为SOLID ,是由于各个原则的首字母简称合并的来(两个L算一个,solid 稳定的),六大设计原则分别如下

2024-02-22 00:01:51 1601

原创 设计模式概述

学习设计模式,我们就必须搞清楚设计模式到底在我们的编程过程中起到了怎样的作用,在编程世界中它处在一个什么样的位置,它到底是一种抽象的设计思想,还是一套具体的落地方案。

2024-02-21 23:31:25 1334

原创 Cookie和Session的区别

Cookie和Session都是用于在Web应用程序中跟踪用户状态的机制,但它们在实现和使用方式上有一些区别。

2024-02-20 17:58:41 488

原创 [Bug解决] Invalid bound statement (not found)出现原因和解决方法

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

2024-02-20 17:55:01 2090

原创 8 大内部排序算法图文讲解

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。

2024-02-19 18:10:27 2065

原创 MySQL中Binlog日志的使用

MySQL 的二进制日志(Binary Log)是一种记录数据库更改操作的日志文件,它包含了所有对数据库执行的插入、更新、删除等操作的详细信息。

2024-02-19 18:07:45 1809

原创 MySQL的 4 种连接查询

在 MySQL 中,常见的连接查询有四种:内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN 和 FULL JOIN)、交叉连接(CROSS JOIN)和自连接。以下是对每种连接查询的详细介绍。

2024-02-18 23:24:11 1121

原创 索引失效的 12 种情况

索引失效是指数据库中的索引无法有效地加速查询操作,导致查询性能下降。索引失效的情况主要包括以下几种。

2024-02-18 23:22:38 3223

原创 SpringBoot的 8 个优点

SpringBoot 是一个基于 Spring 框架的快速开发框架,它通过提供一系列的自动配置、约定优于配置、快速集成等功能,简化了 Spring 应用的开发过程。

2024-02-18 23:21:23 6000

原创 Get请求和Post请求的 5 点区别

GET 和 POST 是 HTTP 协议中两种常用的请求方法,用于客户端与服务器之间进行数据交互。

2024-02-18 11:20:57 510

原创 数据库事务的 4 种隔离级别

数据库事务的隔离级别指的是多个事务并发执行时,数据库系统应该如何保证事务之间的隔离程度。不同的隔离级别具有不同的并发控制策略,从而影响了事务的隔离性、性能和并发度。常见的隔离级别有读未提交、读已提交、可重复读和串行化。

2024-02-18 11:06:39 3631 2

原创 数据库事务的4个特性(ACID)

数据库事务具有四个重要的特性,通常称为ACID特性,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。下面分别对四种特性进行介绍。

2024-02-17 12:03:10 1848

原创 JDK1.8 的 8 种新特性(附代码示例)

Java 8是一个重要的版本,引入了许多新特性和改进,本文是一些显著的新特性和改进的介绍。

2024-02-14 18:23:13 3185

原创 Java创建线程的5种方式(附代码示例)

在Java中,线程(Thread)是程序执行的最小单元,它允许程序在同一时间执行多个任务。Java中的线程可以由Thread类创建,也可以通过实现Runnable接口或Callable接口创建。

2024-02-14 18:16:09 3617 1

原创 Java中,List、Map和Set的区别是什么?

在Java中,List、Map和Set是三种常用的集合类型,它们之间有以下区别。

2024-02-13 22:34:48 383

原创 Java中,接口和抽象类的区别是什么?

在Java中,接口(Interface)和抽象类(Abstract Class)的区别主要包括以下几点。

2024-02-13 22:33:49 586

原创 String、StringBuffer 和 StringBuilder三者之间的区别

在Java中,String、StringBuffer和StringBuilder都用于处理字符串,但它们之间有几个重要的区别

2024-02-12 23:09:08 494

原创 Java中==和equals的区别

在Java中,==运算符和equals()方法是用于比较对象的两种不同方式,它们有不同的作用和用法

2024-02-12 22:56:38 585

原创 Spring事务的 7 种传播行为

Spring 框架中的事务传播行为定义了在多个事务操作嵌套执行时,如何处理事务的传播和管理。Spring 提供了多种事务传播行为,以满足不同的业务需求。

2024-02-11 19:53:24 3457

原创 系统中的登录功能

登录功能的实现:前端发送验证码、用户名和密码;后端校验。

2024-02-11 13:30:45 893

后端java开发 - 大厂面试题 - 面试必胜宝典

面试题覆盖内容 1、基础知识 Java基础语法 面向对象编程(OOP) 常用数据结构(如数组、链表、栈、队列等) 2、高级特性 多线程与并发编程 JVM原理与性能优化 反射与动态代理 3、框架与工具 Spring、Spring Boot MyBatis、Hibernate Maven、Gradle 4、数据库 SQL基础与高级查询 数据库优化 NoSQL数据库(如MongoDB、Redis) 5、分布式系统 微服务架构 分布式缓存 RPC与消息队列 6、设计模式 常用设计模式及其应用场景 代码重构与最佳实践 7、项目管理与开发流程 版本控制(Git) 持续集成与持续部署(CI/CD) 敏捷开发与Scrum 8、推荐使用方式 查漏补缺:使用这份面试题合集检查自己的知识盲点,针对性地进行复习和提升。 模拟面试:邀请朋友或同事一起,进行模拟面试,提升自己的答题能力和临场应对技巧。 深入学习:对于不熟悉或模糊的知识点,深入研究相关书籍和资料,确保理解透彻。

2024-07-30

阿里巴巴java开发手册1.4版本(Alibaba Java Coding Guidelines)

阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)是由阿里巴巴集团技术团队编写的一套编码规范,旨在帮助开发者提高代码质量,减少代码缺陷,提升团队协作效率。以下是1.4版本的一些关键内容: 1. 命名规范 类名:使用大驼峰命名法(如 CamelCase),避免使用拼音。 方法名、变量名:使用小驼峰命名法(如 camelCase),做到见名知意。 常量名:全大写,单词间用下划线分隔(如 MAX_SIZE)。 2. 代码格式 缩进:使用4个空格,禁止使用Tab。 大括号:左大括号不单独占一行。 空行:合理使用空行分隔代码,提高可读性。 3. 注释规范 类、方法注释:必须使用Javadoc规范,包括简要描述、参数、返回值及异常信息。 单行注释:尽量避免使用,推荐使用块注释。 4. 控制语句 if/else/for/while:所有语句必须使用大括号,即使只有一行代码。 switch:必须包含default分支,且每个分支都要有break或return。 5. 异常处理 捕获异常:尽量捕获具体的异常类型,避免使用catch(Exception e)。 ……

2024-07-30

Java开发工程师30道高频面试题及答案

Java开发工程师30道高频面试题及答案

2022-08-10

空空如也

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

TA关注的人

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