自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式系统如何保证高可用

服务高可用性(HA),指的是在发生故障时,服务任然能稳定的提供预期功能的能力。常用可用率来衡量系统的高可用性,计算公式为可用时间/总时间。高可用系统通常要求可用率高于99%。通常情况下,为了实现系统的高可用,我们需要从一下这些方面去考虑。包括冗余部署(如主备切换,集群部署),容错机制(如熔断,限流),故障转移,实时监控和预警等。这些技术可以确保系统在发生故障时能够迅速恢复服务,减少停工时间。

2024-07-14 21:57:44 649

原创 Kafka相关问题总结

因此,Kafka 的 leader 选举会在保证数据一致性的同时,尽量减小对生产和消费的影响。处理后,重新获取发送即可,如果数据是不可重复读,为了避免此种问题,我们可以数据先在某个其他位置保存(备份),当数据生产成功,删除对应的数据,生产不成功,,后续直接从保存的位置中获取生产即可。acks:1 在这种方案中,生产者发送数据到broker后,master副本接受到消息后,就会返回成功,这种方案是默认的ack方案,如果master ack后,但是挂掉了,副本还未同步,还是会有丢失数据的可能。

2024-01-07 16:10:51 356

原创 记一次大数据批量处理的优化

mysq亿级数据场景下,使用xxl-job批量处理数据优化。

2024-01-07 13:30:30 957

原创 Java多线程01

Java多线程基础

2023-08-02 23:17:13 75

原创 RocketMQ消息发送失败--RemotingTooMuchRequestException: sendDefaultImpl call timeout

rocketmq消息发送超时问题解决

2022-07-07 15:52:51 2546 1

原创 Redis实现分布式锁

redis实现分布式锁

2021-12-17 10:50:51 1671

原创 Spring Security

Spring Security一. Spring Security概述​ Spring Security 是一个高度自定义的安全框架。利用 Spring IoC/DI 和 AOP 功能,为系统提供了声明式安全访问控制功能,减少了为系 统安全而编写大量重复代码的工作。​ 使用 Spring Secruity 的原因有很多,但大部分都是发现了 javaEE 的 Servlet 规范或 EJB 规范中的安全功能缺乏典型企业应用场景。同时认识到他们在 WAR 或 EAR 级别无法移植。因此如果你更换服务器环境

2021-12-14 09:08:46 163

原创 LRU(Java实现)

public class LRU { final static int MAXSIZE = 5; public static void main(String[] args) { // 用来存储缓存 HashMap<Integer, String> cache = new HashMap<>(); Node<Integer , String> head = new Node<>(0,"0");

2021-11-10 11:22:05 385

原创 分布式-dubbo+zookeeper+springboot入门

分布式-dubbo+zookeeper+springboot入门分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个相关系统分布式系统是由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的,普通的机器完成单个计算机无法完成的计算,存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算,存储任务时,且硬件的提升高昂到得不偿失的时候,应用程

2021-07-18 21:23:38 98

原创 springboot整合redis

导入redis pom文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data- redis</artifactId> </dependency>编写redis配置spring: redis: passw

2021-07-13 20:58:32 84

原创 Java处理post请求中的csv文件(判断文件编码)

今天在工作中遇到了一个需求,需要用Java处理post请求中的csv文件,由于之前没处理过,遇到了很多问题,特此记录。由于具体的业务会有区别,本文主要介绍了处理逻辑的代码,如需要请结合具体业务与注释做出修改即可。pom坐标<!--GetByteEncode,用来判断二进制字节流的编码--> <dependency> <groupId>com.googlecode.juniversalchardet</groupId&gt

2021-07-11 10:25:14 1900

原创 java-juc

多线程线程状态//新生NEW, //运行 RUNNABLE,//阻塞BLOCKED,//阻塞 WAITING,//超时等待 TIMED_WAITING, //终止 TERMINATED;wait/sleep的区别1. 来自不同的类​ wait->object​ sleep->Thread2. 关于锁的释放​ wait 会释放锁​ sleep 抱着锁睡着了,不会释放3.使用的范围不同wait 必须在

2020-12-02 23:33:45 89

原创 Redis看这一篇就够了

Redis入门redis是什么?redis(Remote Dictionary Server),远程服务字典。是一个开源的使用c语言编写的,支持网络, 可基于内存也可以持久化的日志型,Key-Value数据库,并提供多种语言的API。Redistribution能干嘛内存存储,持久化(rdb,aof)效率高,可以用于高速缓存发布订阅系统地图信息分析计时器,计数器(浏览量)。。。特性多样的数据类型持久化集群事务…基础知识redis有16个数据库,默认使用的是第0个,

2020-11-24 18:28:24 340 1

原创 letcode 279 完全平方数(动态规划)

题目描述给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.class Solution { public int numSquares(int n) { int[] dp = new int[n + 1]; // 默认初始化值都为0

2020-09-24 22:12:58 87

原创 letcode 508 出现最多的子树元素和(递归)

题目描述给你一个二叉树的根结点,请你找出出现次数最多的子树元素和。一个结点的「子树元素和」定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。你需要返回出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的子树元素和(不限顺序)。示例 1:输入:返回 [2, -3, 4],所有的值均只出现一次,以任意顺序返回所有值。示例 2:输入:返回 [2],只有 2 出现两次,-5 只出现 1 次。解题思路:首先此题需要遍历二叉树,因此先考虑递归,然后在遍历过

2020-08-13 22:07:34 119

原创 letcode 257.二叉树的所有路径(递归)

题目描述:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3解题思路:首先此题需要遍历整个二叉树,所以我们考虑递归,递归的结束条件就是当前节点为空。其余情况下,我们都需要将当前节点的值加入到当前串中去,所以我们先判断是否为空节点,在不为空的条件下先加入到当前串中去,然后再判断当前节点是否为叶子节点

2020-08-12 12:44:33 183

原创 leetcode 283.移动零,双指针解法

题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。public void moveZeroes(int[] nums) { for(int i=0,j=0 ; i < nums.length ; i++){ //i在前j在后,i不为0往前换,把非0换到前面就等于把0换到后面

2020-08-12 09:22:29 165

原创 springboot与持久层

SpringBoot与数据访问1、JDBC<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <g

2020-08-09 09:05:43 125

原创 springboot配置

1、配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;YAML(YAML Ain’t Markup Language)​ YAML A Markup Language:是一个标记语言​ YAML isn’t Markup Language:不是一个标记语言;标记语言:​ 以前的配置文

2020-08-01 21:47:00 108

原创 spring常用注解

spring常用注解ioc相关的注解controller 用于表现层,将所注解得类加入到容器中service 用于业务层,将所注解得类加入到容器中repository 用于持久层,将所注解的类加入到容器中都等同于component依赖注入相关注解autowired 自动按照类型注入,只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配就可以注入成功,可以出现在变量或方法上resource 直接按照bean的id注入,可以独立使用​ 属性:name 用于指定bean的idv

2020-07-19 21:54:22 89

原创 mybatis入门

1.mybatis框架概述mybatis是一个Java持久层框架。它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建链接等繁杂过程。它使用了orm思想实现了结果集的封装。mybatis的环境搭建1.创建maven工程并导入坐标2.创建实体类和dao接口3.创建mybatis的主配置文件SqlMapConfig.xml4.创建映射配置文件IUserDao.xml注意:1.mybatis的映射配置文件位置必须和dao接口的包结构相同。2.映射配置

2020-05-17 10:27:57 205

原创 linux常用命令

命令格式与目录处理命令ls命令格式 命令 [-选项] [参数]例: ls -la /etc简化选项与完整选项-a 等于 --all文件处理命令ls:显示文件ls 选项[-ald] [文件或目录]-a:(all 显示所有)显示所有文件,包括隐藏文件-l:(long格式显示)显示文件相关属性(long格式显示)-d:(directory)显示当前目录本身,而不显示当前目录下的文件...

2020-04-12 22:15:36 1022

原创 解决jdk官网下载过慢问题

找了半天终于发现华为云可以完美解决,附上下载地址https://repo.huaweicloud.com/java/jdk/

2020-03-05 17:12:38 836

原创 JSP入门学习

jsp入门学习1.概念:Java Server Pages:Java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义HTML标签,又可以定义Java代码用于简化书写2.原理:jsp本质上就是一个servlet3.jsp的脚本:jsp声明Java代码的方式<%代码:在service方法中,service可以定义什么,该脚本就可以定义什么%>&...

2020-02-23 18:16:27 94

原创 Servlet

Servlet3.0:好处:支持注解配置,可以不用web.xml步骤:1.创建JavaEE项目,选择servlet的版本3.0以上,可以不创建web.xml2.定义一个类,实现servlet3.覆写方法4.在类上使用@webServlet注解进行配置,需要填写urlPatten属性(1) @WebServlet(“资源路径”)1.idea与tomcat的相关配置idea会为每个...

2020-02-19 21:24:09 210

原创 spring中基于xml的aop配置步骤

1.把通知bean也交给spring来管理 2.使用aop:config标签表明开始AOP的配置 3.使用aop:aspect标签表明配置切面 id属性:是给切面提供一个唯一标识 ref属性:是指定通知类bean的id 4.在aop:aspect标签的内部使用对应标签来配置通知的类型 我们现在的示例是让printlog...

2020-02-12 20:58:58 146

原创 html常用标签及属性

由于Markdown将文本转换为 HTML,因此在书写html标签时在标签前面加了空格为了正常显示。< !DOCTYPE html >文档声明标签,告诉浏览器这个页面采取html5版本显示页面< html lang=”zh=CN” >告诉浏览器页面采用中文显示< meta charset=”UTF-8” >必须写,采取UTF-8来保存文字,不写就会乱码1...

2020-02-12 20:43:03 479

原创 spring_anno_ioc

用于创建对象的注解他们的作用就和在xml文件中编写一个bean标签实现的功能是一样的@Component;作用:用于把当前类对象存入spring容器中属性:value:用于指定bean的id。当我们不写时,他的默认值是当前类名且首字母小写Controller:一般用在表现层Service:一般用在业务层Repository:一般用于持久层以上三个注解他们的作用和属性与Compon...

2020-02-05 20:33:40 174

原创 java spring

spring是什么分层的全栈式的开源框架ioc和aop为内核,面向切片编程,提供了展现层spring mvc和持久层spring jdbc以及业务层事物管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架sring的发展历程和优势方便解耦,简化开发Aop(面向切片编程)编程的支持声明式事务的支持方便程序的测试方便集成各...

2020-01-21 17:38:32 75

原创 idea创建maven工程常见问题

1.创建项目时显示一直加载类似于上图,项目一直加载不好。(1).首先检查maven的setting.xml配置文件,是否修改为国内镜像。如果没有,则在setting.xml文件中加上以下配置<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>h...

2019-12-23 18:59:13 227

原创 letcode 164求最大间距(鸽巢原理)

问题描述给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。解题思路我们知道如果是有序数...

2019-12-15 16:51:57 125

原创 验证栈序列(LeetCode 946)

一.问题描述给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。示例1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2)...

2019-12-03 20:46:50 152

原创 C语言数组与指针的关系

C语言指针与数组的关系1.什么是数组创建一个数组int a[10]; 此操作表示创建一个可以存10个int型变量的数组a,而变量a实际上就是一个指针,它指向的是数组a首元素的首地址(也就是指向a[0]的首地址),我们通过a[1],a[2]…去寻找相应元素,实际上就是通过加上它距离首元素的偏移量,去找到相应位置的元素,因此a[3]=a+3=[3]a;但是我们默认使用a[3]来表示。函数参...

2019-11-17 17:12:09 292

MySQL优化分享.pptx

MySQL优化,mysql架构分析,慢查询解决,索引分析

2021-12-10

空空如也

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

TA关注的人

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