自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java 在Excel中创建多级分组、折叠或展开分组

本文介绍通过Java程序在Excel创建分组的方法,可对行或列分组进行分组并设置明细数据是否展开或折叠。设置数据分组并展开或折叠时,可通过以下方法:方法一:通过方法sheet.groupByRows(int firstRow, int lastRow, boolean isCollapsed)设置行分组;通过方法sheet.groupByColumns(int firstColumnm, int lastColumn, boolean isCollapsed)设置列分组。方法二:通过方法sheet.

2020-05-29 14:38:28 3882

转载 由一次安全扫描引发的思考:如何保障 api 接口的安全性?

引言前段时间,公司对运行的系统进行了一次安全扫描,使用的工具是 IBM 公司提供的 AppScan 。这个正所谓不扫不要紧,一扫吓一跳,结果就扫出来这么个问题。我们的一个年老失修的内部系统,在登录的时候,被扫描出来安全隐患,具体学名是啥记不清了,大致就是我们在发送登录请求的时候,有个字段名是 password , AppScan 认为这个是不安全的,大概就是下面:我第一个反应是把这个字段名字改一下,毕竟能简单解决就简单解决嘛,结果当然是啪啪啪打脸。这个名字我不管是换成 aaa 还是 bbb ,再

2020-05-29 14:06:21 303

转载 实在!基于Springboot和WebScoket,写了一个在线聊天小程序

项目说明此项目为一个聊天的小demo,采用springboot+websocket+vue开发。其中有一个接口为添加好友接口,添加好友会判断是否已经是好友。聊天的时候:A给B发送消息如果B的聊天窗口不是A,则B处会提醒A发来一条消息。聊天内容的输入框采用layui的富文本编辑器,目前不支持回车发送内容。聊天可以发送图片,图片默认存储在D:/chat/目录下。点击聊天内容中的图片会弹出预览,这个预览弹出此条消息中的所有图片。在发送语音的时候,语音默认发送给当前聊天窗口的用户,所以录制语音的时候

2020-05-28 17:56:24 427

转载 Spring Cloud Gateway 怎样全局通用异常处理

为什么需要全局异常处理推荐阅读:999页阿里P7Java学习笔记在互联网上火了,完整版开放下载在传统 Spring Boot 应用中, 我们 @ControllerAdvice 来处理全局的异常,进行统一包装返回/* 摘至 spring cloud alibaba console 模块处理 */@ControllerAdvicepublic class ConsoleExceptionHandler { @ExceptionHandler( AccessException.class ) p

2020-05-28 17:17:13 755 1

转载 到底什么是 IoC 和 AOP,区别是什么?一文搞懂

这篇文章会从下面从以下几个问题展开对 IoC & AOP 的解释什么是 IoC?IoC 解决了什么问题?IoC 和 DI 的区别?什么是 AOP?AOP 解决了什么问题?AOP 为什么叫做切面编程?首先声明:IoC & AOP 不是 Spring 提出来的,它们在 Spring 之前其实已经存在了,只不过当时更加偏向于理论。Spring 在技术层次将这两个思想进行了很好的实现。推荐阅读:999页阿里P7Java学习笔记在互联网上火了,完整版开放下载什么是 IoCI

2020-05-28 16:31:33 19665 2

转载 Java14 真的太香了,NullPointerException的处理新方式

在Java语言中,处理空指针往往是一件很头疼的事情,一不小心,说不定就搞出个线上Bug,让你的绩效考核拿到3.25。最近新出的Java14,相信大家都有所耳闻,那么今天就来看看,面对NullPointerException,Java14有哪些更好的处理方式呢?1.传统的 NullPointerException我们编码过程中呢,经常会使用链式调用的方式来写代码,这样写起来很方便,也很清晰,但是,一旦出现NullPointerException,那就头大了,因为你很难知道异常是在什么时候开始发生的。举

2020-05-28 16:19:20 121

原创 闭关修炼30天,“啃透”这658页PDF,成功定级阿里P7

今年的开端有些特殊,疫情的缘故对我们的生活造成了很大的影响,这对于一名求职者来说,更是添上了一堵“难墙”,虽然金三银四已经过去,但我们决不能够再错过秋招的机会,该抓住的就要抓住。现在很多互联网公司都已经采取线上面试的方式,所以提前做好准备,投简历、顺利面试,定会拿下心仪的offer,而我在前几个月在家闭关修炼30天后,也总算取得自己想要的成功,成功定级了阿里P7。以下主要分享包含15个互联网大厂Java高级工程师核心面试问题整理,均可以免费分享,点这里获得领取方式Java 集合 22 题及答案解析

2020-05-28 15:10:37 566 1

转载 从原理上理解MySQL的优化建议

概述自从学习 MySQL 以来,我们一直听到或者看到很多优化建议,比如说不要用 select * 查询,用什么字段就查什么字段;建议用自增主键来作为表的主键,等等。这些建议听得很多感觉都成了 MySQL 开发的常识了,但是对于这些优化建议,我们有没有想过为什么要这么做呢?这篇博文我们从 MySQL 的原理出发,来解释下为什么有这些优化建议?预备知识B+ 树索引MySQL 的默认存储引擎 InnoDB 使用 B+ 树来存储数据的,所以在分析优化建议之前,我们有必要了解 B+ 树索引的基本原理。[外链

2020-05-27 18:02:28 86

转载 收藏啦~ Github上 10 个开源免费且优秀的后台控制面板

Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集了一些优秀的后台控制面板,并总结得出 Top 10。一、AdminLTEGithub Star 数 24969 ,Github 地址:https://github.com/almasaeed2010/AdminLTE。非常流行的基于 Bootstrap 3.x 的免费的后台 UI 框架。二、vue-

2020-05-26 21:02:07 145

原创 码云最新出炉:亿万流量网站高性能框架设计方案,优化度达到100%

大型网站的设计主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手,例如双十一大型秒杀活动、B2B商城项目实战都会产生一系列的问题,比如:图片服务器分离数据库集群与库表散列缓存网站镜像负载均衡存储问题随着网络理念和WEB技术的断深入人心,各种B2B、B2C、C2C等电子商务模式很可能以立体交叉方式整合到各种大型商务网站中来。因此,作为公司的技术人员,作为临危救驾的“格子衫骑士”,该如何应对这些海量存储、海量访问问题,海

2020-05-26 14:46:57 132

转载 高频Redis面试题解析:Redis 事务是否具备原子性?

一、Redis 事务的实现原理一个事务从开始到结束通常会经历以下三个阶段:1、事务开始客户端发送 MULTI 命令,服务器执行 MULTI 命令逻辑。服务器会在客户端状态(redisClient)的 flags 属性打开 REDIS_MULTI 标识,将客户端从非事务状态切换到事务状态。void multiCommand(redisClient *c) { // 不能在事务中嵌套事务 if (c->flags & REDIS_MULTI) { addR

2020-05-25 20:40:06 103

原创 肝了3个月!在GitHub上撸了个Java面试「神仙笔记」,限时免费下载

最近睡眠严重不足,黑眼圈都出来了。别问,问就是给大家肝面试题去了。这不,肝了2个月,终于把今年大厂的高频面试题给肝出来了。我在这份面试题上倾注了大量心血和宝贵的睡眠时间,只求各位看官老爷看完能点个赞,拜托拜托。以下是部分截图,请过目。内容结构图:由于整个面试文档比较全面,内容比较多,篇幅不允许,只能以截图形式展示部分资料。如有需要获取全部资料文档的朋友 可以关注+转发后点击下方链接获得领取方式https://shimo.im/docs/xT3w8H9dTykH69p9/JAVA基础J

2020-05-24 21:27:14 838 1

转载 一次关于 Mysql 索引优化的思考

查看系统性能监控,发现有十多条慢查询,决定将其优化。挑选其中一条典型Sql记录其优化历程。1.概述在下文的查询优化中,主要围绕的问题:Mysql为何会选错索引?2.优化历程2.1,定位问题为了便于描述,贴出建表语句(表中数据约有400万行):<pre language="typescript" code_block="true">MySQL > show create table demo_table\G ***************************

2020-05-23 21:43:56 88

转载 java中组合模式详解和使用方法

组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。介绍意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。主要解决:它在

2020-05-22 20:14:14 268

原创 Java面试必刷真题200+,让你“过五关,斩六将”,轻松入大厂

这份面试清单是我从 2015 年做 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。虽然我从 2009 年就开始参加编程工作了,但依旧觉得还有很多东西要学,当然学习的过程也给我带来了很多成就感,这些成就感也推动我学习更多的技术知识。聊回面试题这件事,这份面试清单原本是我们公司内部使用的,可到后来有很多朋友在微信上联系到我,让我帮他们找一些面试方面的资料,而且这些关系也不太好拒绝,一呢,是因为这

2020-05-21 15:12:24 271

转载 MySQL中order by语句的实现原理以及优化手段

相信很多人在面试过程中,总被问到有没有 SQL 调优经验,对于工作经验年限较少的求职者,通常都是在面试之前从网上百度一些答案,提前背熟,然后面试的时候直接将提前背好的答案说出来。笔者作为一名菜鸟,在刚满一年工作经验的时候,出去面试,就是这么干的。记得去某家公司面试的时候,被面试官问到 order by 在排序的时候执行较慢,这个时候该如何优化?我当初想都没想,就回答说给 order by 子句中的字段加上索引(当然这答案也是我提前从网上百度来的),接着面试官问为什么加索引就能提高 order by 的执行效

2020-05-15 19:00:18 918 1

转载 分布式系统高可用实战之限流器(Go 版本实现)

限流器,顾名思义用来对高并发的请求进行流量限制的组件。限流包括 Nginx 层面的限流以及业务代码逻辑上的限流。流量的限制在众多微服务和 service mesh 中多有应用。限流主要有三种算法:信号量、漏桶算法和令牌桶算法。下面依次介绍这三种算法。笔者在本文的程序示例均以 Go 语言实现。1. 问题描述用户增长过快、热门业务或者爬虫等恶意攻击行为致使请求量突然增大,比如学校的教务系统,到了查分之日,请求量涨到之前的 100 倍都不止,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应

2020-05-13 16:07:11 769

转载 微服务架构下的分布式限流方案你有这样思考过吗

1.微服务限流随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。缓存的目的是提升系统访问速度和增大系统能处理的容量,而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开,而有些场景并不能用缓存和降级来解决,比如稀缺资源、数据库的写操作、频繁的复杂查询,因此需有一种手段来限制这些场景的请求量,即限流。比如当我们设计了一个函数,准备上线,这时候这个函数会消耗一些资源,处理上限是1秒服务3000个QPS,但如果实

2020-05-12 17:06:37 156

原创 面试官:ThreadLocal为什么会发生内存泄漏?

前言ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用 ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕三个方面来分析 ThreadLocal 内存泄漏的问题ThreadLocal 实现原理ThreadLocal为什么会内存泄漏ThreadLocal 最佳实践ThreadLocal 实现原理ThreadLocal的实现是这样的:每个Thread 维护一个 Thre

2020-05-12 16:53:11 747

原创 跨域问题是怎样造成的?

跨域问题的由来相信很多人都或多或少了解过跨域问题,尤其在现如今前后端分离大行其道的时候。你在本地开发一个前端项目,这个项目是通过 node 运行的,端口是9528,而服务端是通过 spring boot 提供的,端口号是7001。当你调用一个服务端接口时,很可能得到类似下面这样的一个错误:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gi6zOBkM-1589015502774)(https://upload-images.jianshu.io/upload_imag

2020-05-09 17:14:22 722

原创 通过一个实际案例,彻底搞懂 HashMap!

我知道大家都很熟悉hashmap,并且有事没事都会new一个,但是hashmap的一些特性大家都是看了忘,忘了再记,今天这个例子可以帮助大家很好的记住。场景用户提交一张试卷答案到服务端,post报文可精简为[{ "question\_id" : "100001", "answer" : "A" }, { "question\_id" : "100002", "answer" : "A" }...

2020-05-07 14:05:09 546

原创 硬核!啃完666页Java面试高频宝典,4月成功定级腾讯T3-2

四月份,我不自量力的面试了某大厂的 Java 开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的 Mac。他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然后示意我坐下,说:“我们开始吧,看了你的简历,觉得你对 Redis 应该掌握的不错,我们今天就来讨论下 Redis……”。我想:“来就来,兵来将挡水来土掩”。Redis 是什么**面试官:**你先来说下 Redis 是...

2020-05-07 13:58:04 917

空空如也

空空如也

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

TA关注的人

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