自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

转载 3 步完成 Spring Boot 的日志脱敏

一个项目在书写了很多打印日志的代码,但是后面有了脱敏需求,如果我们去手动改动代码,会花费大量时间。如果引入本组件,完成配置即可轻松完成脱敏。(仅需三步可轻松配置)1、引入Jar包依赖前提是你将Jar包打入本地仓库,Jar包地址见后文。2、替换日志文件配置类(logback.xml)日志打印方式都只需要替换成脱敏的类即可,如果你的业务不需要,则无需替换。①ConsoleAppender-控制台脱敏//原类//替换类②RollingFileAppender-滚动文件//原类//原类。...

2022-07-16 11:34:43 724 1

转载 Java | 平铺列表(List)互转树形(Tree)结构

至此,递归和非递归分别实现和已完成,实现比较仓促,有很多细节处未处理好,希望看到的小伙伴及时指出,不胜感激。httpshttps。

2022-07-16 11:20:25 2184

原创 这么卷吗?公司新来的00后工作没两年,跳槽到我们公司起薪18K,都快接近我了

最近和他聊了一次天,原来这位小老弟家里条件不太好,一大家子指望他一个人养活,所以他再大三的时候就已经开始自学Java了,大四获得了一个小公司的实习机会。在工作中不断的学习、实践,花的时间比别人多一倍,所以才能打下扎实的基础,现在工作也是得心应手。共206页包含分布式,中间件,大数据与高并发,数据库,设计模式与实践,数据结构与算法,HR面试题举例等一起分享出来给大家看看,也是给大家平时查漏补缺。后面我以部门培训为由,让他分享了他的学习笔记,据说是他在阿里10年大佬的一个学长总结出的《阿里内部面试笔记》。...

2022-07-15 13:27:21 485 1

转载 新一代HTAP数据库崛起,MySQL生态的最佳归宿?

数据库领域同样如此。过去五十余年,数据库经历OLTP和OLAP两种需求漫长的融合-分离-再融合的过程。究其原因,数据库的发展始终与用户场景需求变迁紧密相关。如今,随着云计算和大数据的兴起,业务场景正在经历前所未有的变革,数据库领域也掀起了一股HTAP浪潮。Gartner在多次报告中强调,HTAP是数据库领域最重要的发展趋势之一,也是用户数字化转型中重要的数据平台。业界甚至认为,HTAP的兴起代表着数据库大融合时代的开启。那么,为什么数据库大厂和云服务巨头们均纷纷押宝HTAP?...

2022-07-15 13:19:33 301

转载 面试官:完全背包都不会,是你自己走还是我送你?

分析问题设置dp数组并分析数组的含义。寻找动态转移方程,分析dp数组当中数据之间的依赖关系,我们在迭代的时候一定要遵循这个关系。初始化数组。进行数组dp求解。分析动态转移方程的含义和数据依赖关系,分析是否能够在不破坏数据依赖关系的条件下,优化数组空间。其实上面的套路对于大多数动态规划的题目都有用的,因为动态规划的流程基本一致,而动态规划最难的地方就是第一步了,通过分析问题寻找动态转移方程。httpshttps。...

2022-07-15 13:14:12 201

转载 面试被问MySQL 如何去重,还有谁不会?

在 MySQL 中通常是使用 distinct 或 group by子句,但在支持窗口函数的 sql(如Hive SQL、Oracle等等) 中还可以使用 row_number 窗口函数进行去重。举个栗子,现有这样一张表 task: 备注:我们需要求出任务的总数量,因为 task_id 并非唯一的,所以需要去重:distinct 通常效率较低。它不适合用来展示去重后具体的值,一般与 count 配合用来计算条数。distinct 使用中,放在 select 后边,对后面所有的字段的值统一进行去重。比如

2022-07-14 10:59:30 109

转载 RabbitMQ面试29连问,看完还过不了面试,我给你一Jio

目前已经更新了Nginx,感兴趣的朋友也可以去看一下废话不多说,开始今天的面试之旅RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。可靠性: RabbitMQ使用一些机制来保证可靠性, 如持久化、传输确认及发布确认等。灵活的路由 : 在消息进入队列之前,通过交换器来路由消息。对于典型的路由功能, RabbitMQ 己经提

2022-07-13 10:43:32 126

转载 使用uuid做MySQL主键,被老板,爆怼一顿

1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度:注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的long值id自动生成表格: 用户uuid表 随机主键表: 技术框架:springboot

2022-07-13 09:58:04 201

转载 从零开始把 SpringBoot 搬到 K8s 上运行,我用了这几步!

大家好,我是网管。咱们的 K8s 入门和实践,在经历了三篇理论知识的后,相信各位都已经期待许久(可能的吧),就差私信我,你整着理论整半天有啥用,本大人写的程序怎么能放到 K8s 上运行。别急,今天这篇文章就带你从写第一行代码开始,一步步教你把程序放到 K8s 跑起来。这次咱们先用 Spring Boot开发的程序做个例子,后面再写一篇怎么把 Spring Boot 应用放到 K8s 上运行。本文的重点,不在于那种语言写的程序,而是先学会应用 上到 K8s 的步骤,所以编程部分的演示非常简单,恨不能写一行代码

2022-07-13 09:46:08 278

转载 服务器宕机了,Kafka 消息会丢失吗?

消息队列可谓是高并发下的必备中间件了,而 Kafka 作为其中的佼佼者,经常被我们使用到各种各样的场景下。随着 Kafka 而来得,还有三个问题:消息丢失、消息重复、消息顺序。今天,树哥带大家聊聊消息丢失的问题。回到标题提出的问题:我们是否真的能保证 Kafka 消息不丢失?答案是:我们无法保证 Kafka 消息不丢失,只能保证某种程度下,消息不丢失。这里所说的某些情况,从严重程度依次为:Kafka 宕机、服务器宕机、机房地震、城市毁灭、地球毁灭。不要觉得树哥在危言耸听,如果你的服务器部署在乌克兰的首都,那

2022-07-13 09:42:50 172

转载 面试官:应用上线后Cpu使用率飙升如何排查?

其实这是个很常见的问题,也非常简单,那既然如此我为什么还要写呢?因为上次回答的时候我忘记将线程PID转换成16进制的命令了。所以我决定再重温一遍这个问题,当然贴心的我还给大家准备好了测试代码,大家可以实际操作一下,这样下次就不会忘记了。在main方法中开启了一个线程,无限构建对象。准备好上面的代码,运行HighCpuTest,然后就可以开始一些列的操作来发现问题原因了。上一步用 命令找到了那个 Java 进程。那一个进程中有那么多线程,不可能所有线程都一直占着 CPU 不放,这一步要做的就

2022-07-13 09:37:25 446

原创 【双管齐下】BAT 面试Java岗经验汇总:面试重点+精选面试120题+6条面试经验

我发现一个奇怪的现象:那些跳槽的人,总是从一个坑,跳进令一个坑中。毕竟一段工作经历过去了,会的还是原来的知识,人的身价就摆在那里,无论怎么折腾,也不会拿到更好的offer。这样的跳槽其实没有意义,也许就有人问,现在都是互联网寒冬了,要怎样才能把握好机会,拿到跟好跟适合自己的offer呢?技术才是我们程序员的立身之本,在再好的机遇面前我们也要有这个实力去抓住它。561be3dbc077de015a81802fa888b0dc_v2-e792990d5021b2d6e4c0de23836bb654_1440w_

2022-07-12 09:48:09 208 1

转载 Redis 内存优化神技,小内存保存大数据

我们应该从 Redis 是如何保存数据的原理展开,分析键值对的存储结构和原理。从而继续延展出每种数据类型底层的数据结构,针对不同场景使用更恰当的数据结构和编码实现更少的内存占用。为了保存数据, Redis 需要先申请内存,数据过期或者内存淘汰需要回收内存,从而拓展出内存碎片优化。最后,说下 key、value 使用规范和技巧、 Bitmap 等高阶数据类型,运用这些技巧巧妙解决有限内存去存储更多数据难题……这一套组合拳下来直接封神。具体详情,且看「码哥」一一道来。主要优化神技如下:在优化之前,我们先掌握 R

2022-07-12 09:40:38 350

转载 分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

曾几何时,“并发高就分库,数据大就分表”已经成了处理 MySQL 数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?在业务刚刚发展起来的时候,流量全部打到了一个 MySQL 上,用户信息全落到了 user 表。后来,user 表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的 user 表拆分成了新的 user 表和 user_details 表。这样一拆之后,用户的信息分散到两个表,user 表的数据量一下就变小了,u

2022-07-12 09:23:03 130

原创 【重磅】写了400多页的Java面试八股文PDF,面试必备

大家好呀,最近很多小伙伴,让我帮忙找找 Java 面试资料。于是我把以前的面试专栏的文章,整理成PDF啦!有MySQL、Redis、消息队列、计算机网络、Zookeeper、Java基础、以及各个大厂的面试真题,大家一起学习,卷起来!文末货曲面试专栏PDF 对上述资料有需要的朋友,可以点赞+关注小编后,见瓶轮驱~...

2022-07-11 12:01:29 3419 5

转载 mysql数据库查询好慢,除了索引,还能因为什么?

我熟练应用ctrl c和ctrl v 开发curd代码好多年了。mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?有哪些操作,可以提升mysql的查询能力呢?今天这篇文章,我们就来聊聊会导致数据库查询变慢的场景有哪些,并给出原因和解决方案。我们先来看下,一条查询语句下来,会经历哪些流程。比如我们有一张数据库表我们平常写的应用代码(go或C++之类的),这时候就叫客户端了。客

2022-07-11 09:41:55 229

转载 一文带你深入理解SpringBean生命周期之InitializingBean详解

Spring Bean的生命周期是一个比较复杂的过程,从创建到销毁,包含了一些列的过程,本章重点讲解下Spring Bean的。首先我们来回顾下Spring Bean整个生命周期。执行阶段: 其中标记黄色部分的就是我们本文的主角,它是在bean的属性被设置值之后,调用bean init-method属性指定的方法之前执行的。只有一个方法,见名知意,这个方法是在bean的属性值被设置以后执行。 Spring给我们提供了这么一个扩展点,可以用来做很多的事情, 比如可以修改默认设置的属性,添加补充额外的属性

2022-06-18 21:27:46 4327

原创 知乎万赞:什么样的程序员在35岁以后依然被公司抢着要?打破程序员“中年危机”

程序员圈子里一直流传着一个魔咒:35 岁的中年危机。这些“传说”令许多程序员每离 35 岁进一步,就更焦虑一分,并迫切寻找打破这一魔咒的方法。35 岁,真的是职场荣枯线吗?前段时间看到知乎上的这个帖子:35 岁似乎已成职场荣枯线,失业风险叠加中年危机加剧焦虑,你如何看待「 35 岁危机」?个人觉得的,其实 我们工作到了一定的年纪,有时候不用社会淘汰你,你自己就感觉体力跟不上了尤其是互联网公司,做开发的35岁甚至不到35岁,很多普遍转行或者是被动离职的。(PS:这里不卖焦虑)我们要以正确要以正确的眼光看待:如

2022-06-18 19:26:30 164 1

转载 在 Pisa-Proxy 中,如何利用 Rust 实现 MySQL 代理

背景在 Database Mesh 中,Pisanix 是一套以数据库为中心的治理框架,为用户提供了诸多治理能力,例如:数据库流量治理,SQL 防火墙,负载均衡和审计等。在 Pisanix 中,Pisa-Proxy 是作为整个 Database Mesh 实现中数据平面的核心组件。Pisa-Proxy 服务本身需要具备 MySQL 协议感知,理解 SQL 语句,能对后端代理的数据库做一些特定的策略,SQL 并发控制和断路等功能。在这诸多特性当中,能够理解 MySQL 协议就尤为重要,本篇将主要介绍 MySQ

2022-06-17 14:27:45 297

转载 Spring Cloud 如何统一异常处理?写得太好了!

在启动应用时会发现在控制台打印的日志中出现了两个路径为 {[/error]} 的访问地址,当系统中发送异常错误时,Spring Boot 会根据请求方式分别跳转到以 JSON 格式或以界面显示的 /error 地址中显示错误信息。Spring Boot 基础就不介绍了,推荐下这个实战教程:https://github.com/javastacks/spring-boot-best-practice默认异常处理使用 AJAX 方式请求时返回的 JSON 格式错误信息。使用浏览器请求时返

2022-06-17 14:23:26 621

原创 不会还有程序员不知道跳槽季靠这1700道java面试题就能平趟大厂吧

1700道Java面试题包含的知识点也是比较广比较多的:java基础、JVM、多线程、MySQL、spring、springboot、springcloud、dubbo、mybatis、redis、网络IO、Linux、MQ、zookeeper、netty、大数据、算法、项目、设计模式等等;刷完这一套高质量题集,下次面试妥妥的~限于文章篇幅原因,下面将以截图的形式展示这份面试题的目录部分,有需要完整面试题+答案的小伙伴 见文末~限于文章篇幅原因,就展示到这里了,有需要的小伙伴件瓶论驱获取~~......

2022-06-16 21:24:06 179 1

转载 SpringBoot 2.7 自定义 Starter 方法又变了

在 Spring 中也有一种类似 Java SPI 的加载机制。它在 META-INF/spring.factories 文件中配置接口的实现类名称,然后在程序中读取这些配置文件并实例化。这种自定义的 SPI 机制是 Spring Boot Starter 实现的基础。即当你依赖了某个 Starter,那么该 Starter 就提供相关的类供加载,这些配置类负责特定的功能。如果你没有依赖某个 Starter,就不会加载相关的类。 我们以 mybatis-plus-boot-starter 为例,如下图 sp

2022-06-16 17:17:27 818

转载 Gitee崩了?大量仓库被关闭!官方答复“迫于无奈”

5月18日,大量开发者反映自己Gitee上的开源项目,发现被关闭公开访问了。对此,Gitee的答复是:“此举也是迫于无奈,目前已经是Gitee团队能确保大家尽快正常使用的最优解,我们正在尽全力减少大家的不便,希望大家能够理解。”图片来源@知乎这一事件引发了广大开发者的讨论。有人认可Gitee的这种做法:有人对这种一刀切的做法表示不满:PART 02Gitee审核事件背后的“不得已”Gitee又名码云,是OSCHINA.NET(开源中国)推出的代码托管、协作开发平台,支持Git和SVN,提供免费的私有仓库托管

2022-06-16 16:55:24 1863 1

转载 Google搜索为什么不能无限分页?

当我用Google搜索MySQL这个关键词的时候,Google只提供了13页的搜索结果,我通过修改url的分页参数试图搜索第14页数据,结果出现了以下的错误提示: 百度搜索同样不提供无限分页,对于MySQL关键词,百度搜索提供了76页的搜索结果。强如Google搜索,为什么不支持无限分页?无非有两种可能:「做不到」是不可能的,唯一的理由就是「没必要」。首先,当第1页的搜索结果没有我们需要的内容的时候,我们通常会立即更换关键词,而不是翻第2页,更不用说翻到10页往后了。这是没必要的第一个理由——用户需求不强烈

2022-06-16 16:05:13 312

转载 Elasticsearch&Kibana从6.0升级到7.9的踩坑全过程

公司当前使用的elasticsearch&kibana是6.0.0版本,这已经是快三年前的古老版本了,最新的7.9.X,出于性能上的提升以及漏洞的修复(客户爸爸对于漏洞扫描的结果表示了深切的担忧-_-!),所以近期将elasticsearch&kibana升级提上日程,由于我们公司是elasticsearch&kibana的重度用户,而且绝大多数有价值的数据都存在elasticsearch中,所以就先在一个单机版本的elasticsearch上进行试验填坑,成功后再复制到集群上,这也就是本文的来源单机版本的

2022-06-15 21:39:33 1022

转载 事务、全局索引、透明分布式,再见,分区健!

1970 年代末,分区的概念首先在并行数据库系统中出现,用来代表一组记录的集合。在并行数据库中,表首先按照某种规则被切分为若干分区,每个分区存入数据库节点,每个数据库节点都有独立的 CPU 内存和存储节点,节点通过网络交换数据。由于没有共享应硬件资源,该结构也被称为 shared-nothing 架构。引入分区和 shared-nothing 架构,是为了通过增加节点的方式来提升存储和计算能力,也称为水平扩展。从水平扩展的角度出发,用户肯定希望尽可能均匀地将数据分散到各个分区中,比如随机分配。但这会导致查询

2022-06-14 13:44:42 210

转载 腾讯正式开源 Spring Cloud Tencent,打造一站式微服务解决方案

Spring Boot + Spring Cloud 仍是 Java 生态最主流的框架2014 年 4 月 Spring Boot 发布 1.0 版本,经过 8 年时间的发展,Spring Boot 已然成为 Java 开发框架的事实标准。在分布式微服务领域,2016 年 1 月 Spring Cloud 发布 Angel.SR5 版本。Spring Cloud 延承了 Spring Boot 最核心的组件化、低配置快速集成的核心思想,同时定义了一套标准的微服务 SPI。基于这套 SPI 出现了 Sprin

2022-06-14 13:39:15 322

转载 使用uuid做MySQL主键,被老板,爆怼一顿!

分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变。根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度:注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的long值技术框架:springboot+jdbcTemplate+junit+hutool,程序的原理就是连接自己的测试数据库,然后在

2022-06-14 13:34:01 1206

转载 Java 深入JVM分析String StringTable

1、字符串常量池Jdk1.7之前位于方法区,1.7开始位于堆2、字符串常量池中同样的数据只存储一份(固定大小HashTable存储数据)3、使用 -XX:StringTableSize 可设置大小,不会像HashMap一样动态扩容,值太小造型Hash冲突严重,调用String.interns时性能会大幅下降4、Jdk1.8中默认大小60013,1009是可设置最小值1、通过StringBuilder的append()方法拼接字符串,自始至终只会创建一个StringBuilder的对象2、使用String的字

2022-06-14 13:18:57 91

原创 太为难我了,阿里面试了7轮(拿下P7岗offer)

今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次阿里面试真的太难为我了,可以说是和面试官大战了7个回合,不过好在最后给了offer。第一轮:第二轮:主要是以查询为主,考察锁粒度、时间粒度上的细节点。(详细省略)第三轮:第四轮:第五轮:第六轮:第七轮:阿里7轮面试经历完整版(含答案和解析):毕业后,我的第一个5年按照计划进行了,那么拿到阿里offer后,下一个5年也有

2022-06-13 15:04:42 289 1

转载 走近科学之探秘 Spring Security 的核心组件

SecurityContextHolder 顾名思义,他是一个 holder,用于持有的是安全上下文(security context)的信息。SecurityContextHolder 记录如下信息:当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色或权限等等。在典型的 web 应用程序中,用户登录一次,然后由其会话 ID 标识。服务器缓存持续时间会话的主体信息。有人可能对 Tomcat 建立会话的流程还不熟悉,这里稍微整理一下。SecurityContext 对象实际存储于 Tomcat Http

2022-06-13 14:40:01 484

转载 Docker-Compose集成编排Redis、MySQL、微服务,服务容器化

docker-compose编排Redis,附有原生docker命令对比和docker编排指令的注释说明docker-compose编排MySQL,注明核心配置docker-compose编排SpringBoot微服务(这里以一个简单的SpringBoot集成Redis&MySQL服务代替)SpringBoot调用Redis、MySQL容器提供的服务,编排时的依赖关系处理需要掌握Docker的基本使用,文章不会对基础命令进行过多说明此处的服务使用SpringBoot,其他可以连接Redis和MySQL的服务

2022-06-13 14:28:25 1323

转载 彻底让你搞懂什么是Java字节码

因为JVM针对各种操作系统和平台都进行了定制,无论在什么平台,都可以通过javac命令将一个.java文件编译成固定格式的字节码(.class文件)供JVM使用。之所以被称为字节码,是因为 .class文件是由十六进制值组成的,JVM以两个十六进制值为一组,就是以字节为单位进行读取格式如下:JVM对字节码的规范是有要求的,要求每一个字节码文件都要有十部分固定的顺序组成,如下图: 1. 魔数所有的.class文件的前4个字节都是魔数,魔数以一个固定值:0xCAFEBABE,放在文件的开头,JVM就可以根据这

2022-06-13 14:21:12 98

转载 一文吃透Spring Boot扩展之BeanFactoryPostProcessor

是Spring中一个相当重要的扩展点,扩展点就是能让我们在Spring容器以及Bean生命周期的各个阶段中可以进行修改扩展。, 翻译过来大致是Bean的工厂处理器,顾名思义,可以理解为它对Bean工厂中Bean定义()进行修改, 它的执行时机:BeanFactory标准初始化之后,所有的Bean定义已经被加载,但标准Bean的实例还没被创建(不包括类型)。该方法通常用于修改bean的定义,Bean的属性值等,甚至可以在此快速初始化Bean。而另外一个相关的扩展接口的,继承自,所有的Bean定义即将被加载,但

2022-06-13 13:46:02 704

转载 Redis 使用10个小技巧,请收下!

随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。下面我们将探索正确使用 Redis 的10个技巧。**1、停止使用 KEYS ***Okay,以挑战这个命令开始这篇文章,或许并不是一个好的方式,但其确实可能是最重要的一点。很多时候当我们关注一个redis实例的统计数据,我们会快速地输入”KEYS *”命令,这样key的信息会很明显地展示出来。平心而论,从程序化的角度出发往往倾向于写出下面这样的伪代码:\但是当你有1300万个key时,执行速度将会变慢。因为KEYS命令的时间复杂度是O

2022-06-13 13:39:07 177

原创 这份Java面试八股文让329人成功进入大厂,堪称2022最强

2022秋招即将来临,很多同学会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网IT行业的求职者太多了,如果考察的是清

2022-06-10 19:48:00 182 1

转载 老大一个接口加解密任务丢过来,我肝了3天,感觉可以收拾工位了

和产品、前端同学对外需求后,梳理了相关技术方案, 主要的需求点如下:需求解析:按本次需求来简单还原问题,定义两个对象,后面用得着,用户类:用户类型枚举类:构造一个简单的用户列表查询示例:调用:localhost:8080/user/list查询结果如下,没毛病:目前主要是利用ControllerAdvice来对请求和响应体进行拦截,主要定义SecretRequestAdvice对请求进行加密和SecretResponseAdvice对响应进行加密(实际情况会稍微复杂一点,项目中又GE

2022-06-10 17:24:56 85

转载 换掉 Postman + Swagger + JMeter,这4个 Java 项目绝了

来张图感受一下吧!今天推荐的 5 个项目,每一个都是精品,强烈推荐(用心推荐好项目,嘿嘿):链接这里放不了,源码和操作文档我都整理好放在文末了,需要的同学可以自取因为关注这个号的大部分都是 Java 程序员,因此后面分享的开源项目应该也都是和 Java 相关。当然了,不排除会分享其他语言的优质开源项目。好的项目实在太多了,每个人的精力都有限,选择自己感兴趣的了解学习即可。很多项目你只需要知道有这个东西就可以了好了,废话不多说了!正式开始项目推荐。MeterSphere 是一款基于 Spring Boot +

2022-06-10 14:29:28 222

转载 Java性能优化:Stream如何提高遍历集合效率?

现在很多大数据量系统中都存在分表分库的情况。例如,电商系统中的订单表,常常使用用户ID的Hash值来实现分表分库,这样是为了减少单个表的数据量,优化用户查询订单的速度。但在后台管理员审核订单时,他们需要将各个数据源的数据查询到应用层之后进行合并操作。例如,当我们需要查询出过滤条件下的所有订单,并按照订单的某个条件进行排序,单个数据源查询出来的数据是可以按照某个条件进行排序的,但多个数据源查询出来已经排序好的数据,并不代表合并后是正确的排序,所以我们需要在应用层对合并数据集合重新进行排序。在Java8之前,我

2022-06-10 14:03:03 237

转载 面试 OPPO,Java后端被问麻了

大家平时做的项目,如果很多知识点跟面试八股文相关的话,就可以相对条理清晰地写到简历去。还有平时你做的项目,有一些比较好的设计,都可以说一下哈,比如你是如何保证数据一致性的,怎么优化接口性能的。一般你讲述你做的项目时,面试官会根据你项目涉及的一些面试点,然后抽他感兴趣的一两个来问。所以大家对哪些知识点熟悉,讲述项目时,就说你用该知识点,解决了什么问题。聊到分布式事务,大家记得这两个理论哈:CAP理论 和 BASE 理论分布式事务的几种解决方案:2PC(二阶段提交)方案2PC,即两阶段提交,它将分布式事务的提交

2022-06-10 13:49:23 529

空空如也

空空如也

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

TA关注的人

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