自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SuperstarSteven的博客

Java编程之道

  • 博客(276)
  • 资源 (8)
  • 收藏
  • 关注

原创 pagehelper 不分页几种情况的解决方法

近期做一个项目,用到了该插件,遇到了些问题,在这里分享一下解决方法问题一:pagehelper没有效果,一直不能分页问题解决方法-引用其他博主的博客的解决:http://blog.csdn.net/linxingliang/article/details/52566881问题二:pagehelper有的时候有效果,有时候没有效果我在项目中就遇到了这个问题,找了好长时间,解决方法为:pagehelper里面的PageHelper.startPage(1,10);只对该语句以后的第一个查询语句

2021-09-01 09:30:23 2660

原创 04 | 深入浅出索引(上)

1. 引言  索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。2. 索引的常见模型这里我先给你介绍三种常见、也比较简单的数据结构,它们分别是哈希表、有序数组和搜索树。哈希表  哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数

2021-07-12 17:12:17 151 2

原创 03 | 事务隔离:为什么你改了我还看不见

1. 简介  简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL中,事务支持是在引擎层实现的。你现在知道,MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是MyISAM 被 InnoDB 取代的重要原因之一。2. 隔离性与隔离级别  提到事务,你肯定会想到 ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天

2021-07-12 15:47:28 142

原创 10丨 Redis主从同步与故障切换,有哪些坑

1. 主从数据不一致  主从数据不一致,就是指客户端从从库中读取到的值和主库中的最新值并不一致。举个例子,假设主从库之前保存的用户年龄值是 19,但是主库接收到了修改命令,已经把这个数据更新为 20 了,但是,从库中的值仍然是 19。那么,如果客户端从从库中读取用户年龄值,就会读到旧值。  那为啥会出现这个坑呢?其实这是因为主从库间的命令复制是异步进行的。  具体来说,在主从库命令传播阶段,主库收到新的写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,再把结果返回给客户端,而是主库自己

2021-06-30 17:31:17 329 1

原创 09丨缓存异常:如何解决缓存和数据库的数据不一致问题

1.缓存和数据库的数据不一致是如何发生的?  首先,我们得清楚“数据的一致性”具体是啥意思。其实,这里的“一致性”包含了两种情况:缓存中有数据,那么,缓存的数据值需要和数据库中的值相同;缓存中本身没有数据,那么,数据库中的值必须是最新值。  对于读写缓存来说,如果要对数据进行增删改,就需要在缓存中进行,同时还要根据采取的写回策略,决定是否同步写回到数据库中。同步直写策略:写缓存时,也同步写数据库,缓存和数据库中的数据一致;异步写回策略:写缓存时不同步写数据库,等到数据从缓存中淘汰时,再写回

2021-06-30 14:33:27 385

原创 08 | 替换策略: 缓存满了怎么办?

1. 前言  为了保证较高的性价比,缓存的空间容量必然要小于后端数据库的数据总量。不过,内存大小毕竟有限,随着要缓存的数据量越来越大,有限的缓存空间不可避免地会被写满。此时,该怎么办呢?  解决这个问题就涉及到缓存系统的一个重要机制,即缓存数据的淘汰机制。简单来说,数据淘汰机制包括两步:第一,根据一定的策略,筛选出对应用访问来说“不重要”的数据;第二,将这些数据从缓存中删除,为新来的数据腾出空间,2. 设置的缓存容量  我们先看看蓝线。它表示的就是“八二原理”,有 20% 的数据贡献了 80% 的访

2021-06-25 16:21:33 157 1

原创 07丨切片集群:数据增多了,是该加内存还是加实例

1. RDB持久化造成Redis缓慢  在使用 RDB 进行持久化时,Redis 会 fork 子进程来完成,fork 操作的用时和 Redis 的数据量是正相关的,而 fork 在执行时会阻塞主线程。数据量越大,fork 操作造成的主线程阻塞的时间越长。所以,在使用 RDB 对 25GB 的数据进行持久化时,数据量较大,后台运行的子进程在 fork 创建时阻塞了主线程,于是就导致Redis 响应变慢了。  切片集群,也叫分片集群,就是指启动多个 Redis 实例组成一个集群,然后按照一定的规则,把收到

2021-06-24 15:05:24 102

原创 06 | 哨兵机制: 主库挂了, 如何不间断服务

哨兵模式主从数据同步1. 前言2.哨兵机制的基本流程3.如何选定新主库1. 前言  无论是写服务中断,还是从库无法进行数据同步,都是不能接受的。所以,如果主库挂了,我们就需要运行一个新主库,比如说把一个从库切换为主库,把它当成主库。这就涉及到三个问题:主库真的挂了吗?该选择哪个从库作为主库?怎么把新主库的相关信息通知给从库和客户端呢?  这就要提到哨兵机制了。在 Redis 主从集群中,哨兵机制是实现主从库自动切换的关键机制,它有效地解决了主从复制模式下故障转移的这三个问题。2.哨兵机制

2021-06-18 13:45:41 165 2

原创 05丨数据同步:主从库如何实现数据一致

文章目录1. 主从库数据同步介绍2. 主从库间如何进行第一次同步3.主从级联模式分担全量复制时的主库压力4.主从库间网络断了怎么办?1. 主从库数据同步介绍  Redis 具有高可靠性有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是增加副本冗余量,将一份数据同时保存在多个实例上。即使有一个实例出现了故障,需要过一段时间才能恢复,其他实例也可以对外提供服务,不会影响业务使用。  实际上,Redis 提供了主从库模式,以保证数据副本的

2021-06-18 10:20:50 224

原创 itext7 html转pdf 英文或数字不自动换行的问题

【代码】itext7 html转pdf 英文或数字不自动换行的问题。

2023-08-22 09:54:10 944

原创 JMeter工具使用

Jmeter

2023-06-20 10:54:13 447

原创 SpringBoot整合rabbitmq

【代码】SpringBoot整合rabbitmq。

2023-06-12 11:09:25 504

原创 将本地项目推到gitee上

【代码】将本地项目推到gitee上。

2023-06-12 09:53:07 139

原创 SpringBoot整合MinIO上传下载文件

【代码】SpringBoot整合MinIO上传下载文件。

2023-06-08 17:24:17 1010

原创 SpringBoot整合阿里云OSS上传文件

【代码】SpringBoot整合阿里云OSS上传文件。

2023-06-08 16:52:10 144

原创 SpringBoot整合FTP上传文件

【代码】SpringBoot整合FTP上传文件。

2023-06-08 16:24:25 1221

原创 SpringBoot事件流程监听

SpringBoot事件流程监听

2022-11-07 15:11:58 156 1

原创 BathchData数据分批处理

数据分批处理

2022-08-05 09:08:23 152

原创 HashMap工具类

HashMap字符分割

2022-08-04 16:56:18 296

原创 Windows 杀死80端口进程

windows 杀进程

2022-07-28 14:53:13 2221

原创 Screw表结构数据文档生成

Screw表结构数据文档生成

2022-07-28 09:49:48 158

转载 解决Idea GitLab Clone failed: Authentication failed for的问题

解决Idea GitLab Clone failed: Authentication failed for的问题

2022-07-07 11:45:25 2412

原创 Guava工具

Guava工具

2022-06-30 13:05:16 166

原创 Java密码校验规则工具类

规则:1、长度大于8,且小于322、不能包含用户名3、不能包含连续3位及以上相同字母或数字4、不能包含3个及以上字典连续字符5、不能包含3个及以上键盘连续字符6、数字、小写字母、大写字母、特殊字符,至少包含三种...

2022-06-30 09:58:48 985

原创 vim操作

vim操作总结

2022-06-21 23:44:57 98

原创 svn更换新仓库地址

SVN更换仓库

2022-04-27 18:55:23 3923

原创 安装FTP服务

FTP登录慢

2022-04-14 17:25:49 4401

原创 lombok中的@Data注解与MyBatis的懒加载机制冲突解决

lombok中的@Data注解与MyBatis的懒加载机制冲突解决

2022-02-25 14:20:57 910

原创 SpringBoot接口参数校验

我们在做与前端交互的后天应用接口的过程中,会定义很多对应的接口及参数,而有些接口参数有一定的要求,比如最大值、最小值约束,涉及到手机号、身份证等规则校验,参数是否为空等等,刚进入java领域的小伙伴们大部分第一时间都是针对每个参数进行一一判别校验、当接口参数校验,判断逻辑代码就显得极其冗杂,不美观也不便于阅读。其实我们可以使用validation结合spring进行参数的校验,并且通过Controller增强器@ControllerAdvice来定义全局异常处理类,配合@ExceptionHandler可以

2022-02-14 14:45:46 1649 1

原创 notepad正则删除关键词所在行

查找:^.大师兄.$替换为:(空)如果不留空行:查找:^.大师兄.\r?\n替换为:(空)注意:Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到文首。注意:1,要替换全部要把光标放在文首2,严格按照上次选项,要选正则表达式,不选匹配新行...

2021-12-16 15:29:30 456

原创 windows 下 logstash 安装启动

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

2021-12-01 15:38:29 2742

原创 RocketMQ 错误:The broker does not support consumer to filter message by SQL92

1.出现问题Connected to the target VM, address: '127.0.0.1:56480', transport: 'socket'Exception in thread "main" org.apache.rocketmq.client.exception.MQClientException: CODE: 1 DESC: The broker does not support consumer to filter message by SQL92For more in

2021-11-23 16:46:45 1875

原创 docker部署rocketmq

1:Dokcer搜索RocketMqdocker search rocketmq2:查看某一个镜像里面的所有版本(如foxiswho/rocketmq)3:拷贝RocketMQ到宿主机### 1.创建目录mkdir -p /mydata/rocketmq/conf/### 2.将容器内配置文件复制到主机docker cp c30063de3cf4:etc/rocketmq/broker.conf /mydata/rocketmq/conf/### 3.修改rocketMQ配置文件bro

2021-11-22 17:10:52 881

原创 Shrio 自定义算法登录认证

1.实现shrio SimpleCredentialsMatcher的doCredentialsMatch算法package cn.steven.manager.security;import cn.sh.ideal.manager.util.AESUtils;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.AuthenticationToken;import org.apache.sh

2021-11-18 09:48:23 360

原创 解决springboot配置jackson.date-format不生效的问题

问题描述spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8但是不生效,返回的是依旧是时间戳格式原因添加拦截器并继承 WebMvcConfigurationSupport 后会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置!从而导致所有的Date返回都变成时间戳。https://www.cnblogs.com/sufferingStri

2021-11-11 15:50:29 3058

原创 HttpClient工具类

HttpClient工具类package cn.sh.steven.httpclient;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.http.*;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.config.RequestConfig;i

2021-11-08 10:49:37 426

原创 HttpClient在传参和返回结果的中文乱码问题

我将一个file中的json字符串取出,实例化一个StringEntiry,将json字符串写入请求体中。然后无论我以哪种编码方式输出StringEntity中的content,其中的中文均为乱码“???”。 这是怎么回事?entity = new StringEntity(data,"UTF-8");StringEntity stringEntity = new StringEntity(sendData,"UTF-8");stringEntity.setContentType("applicati

2021-11-08 10:45:06 385

原创 05 | REST消息通信:如何使用 OpenFeign 简化服务间通信

上一讲我们学习了 Ribbon 与 RestTemplate 两个组件。Ribbon 提供了客户端负载均衡,而 RestTemplate 则封装了 HTTP 的通讯,简化了发送请求的过程。两者相辅相成构建了服务间的高可用通信。不过在使用后,你也应该会发现 RestTemplate,它只是对 HTTP 的简单封装,像 URL、请求参数、请求头、请求体这些细节都需要我们自己处理,如此底层的操作都暴露出来这肯定不利于项目团队间协作,因此就需要一种封装度更高、使用更简单的技术屏蔽通信底层复杂度。好在 Spring

2021-09-27 07:50:47 312

原创 04 | 负载均衡:Ribbon 如何保证微服务的高可用

上一讲我们对 Nacos 的集群环境与实现原理进行了讲解,我们已经可以轻松将单个微服务接入到 Nacos 进行注册,但是微服务本不是孤岛,如何实现有效的服务间稳定通信是本文即将介绍的主要内容,本次我们将主要学习三方面知识:介绍 Ribbon 负载均衡器;讲解 Ribbon+RestTemplate 两种实现方式;讲解 Ribbon 的负载均衡策略。Ribbon 负载均衡器在介绍 Ribbon 之前,咱们先来认识下负载均衡以及它的两种实现方式。负载均衡顾名思义,是指通过软件或者硬件措施。它将来

2021-09-23 07:35:03 359

原创 03 | 高可用保证:Nacos 如何有效构建注册中心集群

如何在生产环境部署 Nacos 集群首先介绍下之前我们在国内某互联网金融机构在项目中落地的 Nacos 集群架构图。下面我们来解读下 Nacos 集群架构的设计要点:微服务并不是直接通过 IP 地址访问后端服务,而是采用域名访问。通过 DNS(域名解析服务)转换为具体的 IP 地址,通过域名方式屏蔽后端容易产生变化的 IP 地址。底层 Nacos 自带集群间节点与数据同步方案,因此需要 Nacos 节点对外暴露 8848 与 7848 端口。其中 8848 端口的作用是对外暴露 API 与集群间

2021-09-23 06:57:52 334

东南大学操作系统实验报告OS实验

东南大学操作系统实验报告,里面有同学关于自己做实验的过程及心得

2019-11-01

数据结构(浙江大学)

全书每章均以数据的逻辑结构、存储结构和相应的算法实现为主线,并对算法的运算效率进行分析。全书分为8章,涵盖了各种常见数据结构。第1章主要介绍数据结构和算法分析的基本概念,第2~6章主要介绍典型的线性结构、树型结构和图型结构,第7~8章分别介绍查找和排序操作。

2019-04-15

java进阶(华师大)

华师大陈良育老师为您讲解Java进阶课程中的多线程、网络、数据库等等

2019-04-12

spring官方文档

Spring官方文档,可以帮助大家有效学习Spring例如AOP、事务、控制反转、过滤器、

2018-10-31

redis参考手册

该手册总结了redis基础及常见的应用场景,是新手入门比较适合的参考资料

2018-03-12

Spring源码深度解析

《Spring源码深度解析》从核心实现和企业应用两个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring的设计理念和整体架构、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息服务等内容。 《Spring源码深度解析》不仅介绍了使用Spring框架开发项目必须掌握的核心概念,还指导读者如何使用Spring框架编写企业级应用,并针对在编写代码的过程中如何优化代码、如何使得代码高效给出切实可行的建议,从而帮助读者全面提升实战能力。 《Spring源码深度解析》语言简洁,示例丰富,可帮助读者迅速掌握使用Spring进行开发所需的各种技能。《Spring源码深度解析》适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员等。

2018-03-02

Java 8实战

本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。

2018-03-02

空空如也

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

TA关注的人

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