自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

demo小王子

first:清晰明了的入门demo;second:自己的理解;last:提升,完全拿捏

  • 博客(157)
  • 收藏
  • 关注

原创 数据结构yyds

数据结构yyds从今天2021年7.26日起每天坚持学习数据结构一个半小时数据结构

2021-07-26 20:05:13 265 7

原创 Windows安装docker踩坑、远程连接Docker

windows docker

2022-11-22 18:50:33 1473 1

原创 Alibaba Cloud Toollit插件-部署插件

快速部署

2022-10-28 17:37:12 714

原创 Idea翻译插件google翻译失败超时

idea翻译插件

2022-09-29 10:52:38 1272

原创 构建出自己的archetype-java脚手架

构架自己的java脚手架

2022-08-12 11:32:33 577

原创 GIt 迭代需求经验

开发中git坑点

2022-07-01 16:20:45 253

原创 elasticSearch大量数据查询导出报错解决es

问题1:使用easyExcel从es导出大量数据时报错错误原因elasticsearch的client包下的HeapBufferedAsyncResponseConsumer类中传入了bufferLimit,该值org.apache.http.nio.protocol.HttpAsyncResponseConsumer 的默认实现。在堆内存中缓冲整个响应内容,这意味着缓冲区的大小等于响应的内容长度。根据可配置的参数限制可以读取的响应的大小。如果实体长于配置的缓冲区限制,则引发异常。的大小决定了e

2022-04-15 16:41:05 5649

原创 mysql不同版本连接问题

帮学弟调试项目过程中发现的一个问题,Java程序在连接mysql时不同版本的mysql,连接信息的配置以及引入的驱动jar的不同带来的连接问题。他自己安装的mysql8.0,远程控制他时候没注意查看版本信息,导致一路从连接驱动版本再到c3p0jar排除,最终定位问题。有点想当然了,栽在了新手村的路上,特此记录问题描述:使用的是c3p0连接池org.apache.ibatis.session.defaults.DefaultSqlSession@xxxxxx] was not registere

2022-04-15 11:34:17 1538

转载 sql实战优化和误区

sql常见坑点+优化这8种常见的SQL错误用法,你中招了几个?阿里云 RDS 专家 一行Java 2022-02-28 09:09导读:阿里云 RDS 专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见 SQL 问题总结如下,供大家参考。MySQL 在近几年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在 MySQL 数据库之上,甚至是从 Oracle 迁移到 MySQL上来。但也存在部分客户在使用 MySQL 数据库的过程中遇到一些

2022-03-07 17:02:06 110

转载 项目启动时初始化代码的方式(转)

前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现,当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里整理一下,在这些位置执行的区别以及加载顺序。java自身的启动时加载方式static代码块static静态代码块,在类加

2022-02-28 14:06:02 280

原创 OOM问题解决-JProfiler使用

程序运行出现了oom错误,怎么快速定位oom错误?0. 出现oom问题先尝试更改堆大小,如果依旧出现oom则进行后续步骤搞出多线程下出现oom错误a、oom代码package oom;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author: yh * @description 堆内存溢出调试分析demo * @date: 2022/1/13 15:08

2022-01-13 16:25:32 1083

原创 mysql使用binlog恢复数据

今天误删了一个表的部分数据,是用来做权限校验的数据,会影响测试。慌的一批,最后通过binlog日志找回了删除的数据,上教程指令定位binlog文件位置# 查看binlog是否开启。必须开启show variables like 'log_%';# 查看当前正在使用的binlog文件show master status;# 查看binlog文件所在位置show variables like '%datadir%';# 上述两者的值组合起来即是binlog文件的位置利用navic

2021-12-13 15:32:53 732

原创 查询、排序优化点

sql优化第二谈仅仅做记录,笔记使用。关于实战部分后续工作遇到后分析后补充in和exists优化关于in慢查询时优化为exists,可以根据in得sql进行,因为exists相当于in得变种exists得sql:拿父查询得结果集得值和子查询做比对,比对上得取出来使用。当主查询数据集小于子查询(exists子查询只返回true和false,且子查询字段为常量)时,使用exists关键字得效率高于in。order by优化使用索引排序使用索引排序时得场景:无法使用索引排序当extra为

2021-11-30 16:08:30 139

原创 mysql慢查询日志分析

sql优化开启关闭慢查询日志记录查看是否开启,默认关闭show variables like '%slow_query_log%';设置为开启,只在当前数据库生效,mysql重启后失效。set global slow_query_log=1;如果需要长期生效则需要再mysql得配置文件中进行添加参数进行配置,包括两部份(开启、关闭;存储慢查询日志文件得位置不指定的话自动为主机名-slow.log文件来存储慢查询日志)。一般不会一直开启,因为开启后会影响mysql服务器的性能。如何判定一个

2021-11-30 16:08:19 450

原创 sql优化实战

SQL优化单表优化#表结构:文章表CREATE TABLE `explain`.`Untitled` ( `id` int(11) NOT NULL, `author_id` int(10) NOT NULL, `category_id` int(10) NOT NULL, `views` int(10) NOT NULL, `comments` int(10) NOT NULL, `title` varchar(255) CHARACTER SET latin1 COLLA

2021-11-24 17:24:45 323

原创 Redis其他数据类型

Redis三种数据类型介绍得这三种数据类型常用于特定得业务场景。现做简单记录,日后实际用到补充细节Hyperloglog基数统计操作:redisTemplate模板调用opsForHyperloglog方法即可获取操作对象进行操作场景:适用于对有相同数据进行计数得统计。如统计出软件得下载数,要区分开用户一个用户可能会下载多次。使用该数据类型便可以进行去重统计得效果。数据结构:优点在于其占用内存少。量级为2^64元素占用内存12k即可。上述统计下载量通常做法为存储set将用户id作为标志进行判断,

2021-11-22 16:27:03 710

原创 MybatisPlus工作刚需操作

MybatisPlus学习了基本操作以后,发现工作中都不用!!人家都是写高质量、高可读性的代码。遂在学习了一波操作后来补充一下工作中常用的操作1. 操作方式基本操作中是通过mapper中extends BaseMapper<T>来操作数据库补充如下:通过Service操作mp中定义了一个接口Iservice< T >接口中有crud方法,其实现类ServiceImpl<M extends BaseMapper< T >, T>借助M对接口方法进行

2021-10-25 11:54:39 367

原创 Collectors-Stream流终止集合构造

关于Collectors,用于筛选数据。我更倾向于替换sql中的一些操作,如分组、聚合等。适合用于数据分析统计注意Collectors了很多方法的传入都是函数式接口,而具体传的东西是使用的Lambda表达式中方法引用此处拿https://blog.csdn.net/qq_31635851/article/details/117672658的例子来记录,时间原因。实体类和初始集合数据如下@Data@AllArgsConstructorpublic class Student{ /** 姓名

2021-10-15 15:01:28 132

原创 GateWay网关异常处理

使用网关异常处理类来返回给前端错误信息的json数据,可处理的类别如全局过滤器、局部过滤器中校验失败的信息。如token信息的校验,没有token时的错误信息的返回,供前端进行相应处理!

2021-10-14 18:30:34 4955 1

原创 SpringBoot自动配置原理,Get

之前有一篇文章提及了自动装配的原理但是晦涩难懂,时间长了自己都看不懂了自动配置Bean原理需要有上文的知识基础[https://blog.csdn.net/weixin_45466462/article/details/120655719](https://blog.csdn.net/weixin_45466462/article/details/120655719)直接一步一步梳理,在idea中使用代码追踪即可根据步骤,以及使用Debug进行结果验证@SpringBootApplication

2021-10-11 18:06:42 104

原创 项目打包运行坑点

Springboot项目打包有父项目则必须在父项目内打包,并且每个子模块pom依赖必须添加maven打包插件自己指定程序运行的主类将SpringBoot项目(具有父项目的)打成jar包运行有很多坑点1. 单独打包某服务失败问题描述:在拥有父项目的项目中打包需要对父项目进行打包。如图所示yingxue_admin即为父项目,用来做版本控制。应当对有root权限的父项目打包注意:2. 运行单独打包的服务失败问题描述:XXX.jar没有主清单属性。解决:在pom依赖中添加maven插件即

2021-10-11 09:34:29 178

原创 Java接口默认实现、接口和抽象类区别

Java8新特性Java8接口可添加默认实现接口和抽象类的区别设计模式:缺省适配模式Java8接口可添加默认实现java8新增了接口默认实现功能,每个接口可以有默认实现,实现类可以根据其需要进行定制化得实现抽象方法前面添加default关键字即可,代表该方法有默认实现。public interface UserService { String say(); default void Hello(){ System.out.println("this is interfac

2021-10-09 16:57:21 2600

原创 Bean组件的装配、XML文件引入、绑定配置文件

容器功能Bean的装配方式1. @Configuration2. @Bean、@Component、@Controller、@Service、@Repository3.@ComponentScan、@Import4. @Conditional原生配置文件的引入@ImportResource配置绑定该文章是为了后边理解SpringBoot的自动配置原理平时开发中经常用到@Autowired注解注入Bean,以及学习Spring框架(这里指的是微观上的Spring Framework)中提到的IOC控制反转

2021-10-08 19:10:08 346

原创 linux分区扩容

最近在使用虚拟机搞RocketMQ时候,因为虚拟机存储空间满了导致RocketMQ报错上篇博客修改过关于rocketmq自身的解决。地址如下https://blog.csdn.net/weixin_45466462/article/details/120334540接下来则修改linux分区,为分区进行扩容键入df -h查看当前分区的占用率。我的已经到99%了。这是改完之后的查看当前系统分区fdisk -l傻瓜式新建分区fdisk /dev/sda依次键入m,n,p,回车,回车,回车,w

2021-09-28 15:04:19 58

原创 注册中心迁移Eureka到Nacos

注册中心迁移双注册双订阅中心注册中心迁移Eureka到Nacos1. 初始阶段:Eureka单注册中心环境2.双注册中心阶段3.最终状态双注册双订阅中心注册中心迁移Eureka到Nacos场景:业务升级,需要将注册中心从eureka转到Nacos。nacos功能更强大,响应更快!要求:需要在不影响业务的情况下完成注册中心的转换。即不影响代码调用的情况下完成注册中心的替换!!!!是不是听着都很高大上!!!先用文字描述一下整个过程然后开始实操!!初始阶段。eureka作为注册中心,

2021-09-27 13:57:54 692

转载 nodejs用npm卡住

问题描述:运行npm install 时,卡在sill install loadAllDepsIntoIdealTree不动命令设置为淘宝的镜像源:npm config set registry https://registry.npm.taobao.org 使用如下命令检验是否成功:npm config get registry 重新执行nmp install XX命令即可转载至https://www.cnblogs.com/alanso/p/14127506.html.

2021-09-26 11:34:37 437

原创 Nodejs使用npm报错

该情况出现在刚安装完nodejs时候指令:npm install express -g问题描述:安装nodejs后报npm ERR! errno -4048npm ERR! Error: EPERM: operation not permitted, mkdir解决:操作该目录权限不足更改这俩文件夹的操作权限右键打开属性–安全保存即可。发现对nodejs整体安装目录更改权限失败。所以选择修改这俩全模块所在路径和缓存路径文件的权限。希望可以帮到大家...

2021-09-26 11:19:53 733

原创 秒杀系统思路

只提供一种思路,可用作面试。需要自己结合代码去实践商品秒杀秒杀服务一般单独部署秒杀商品存入缓存。利用redis原子性操作防止超卖以及高并发。秒杀异步下单实现将秒杀商品放入对应时间段的redis中。进行预处理。–防止超卖原子性操作异步下单:预扣减缓存中的库存再异步(mq)扣除mysql数据保证生产者发送的消息mq中不丢失:mq开启交换机、队列、消息的持久化(将mq的数据写入磁盘防止宕机)。开启mq数据保护机制的confirm异步机制进行异步的消息确认(防止写入失败情况出现。生产者收到失

2021-09-24 16:21:59 50

原创 更换java的jdk版本-最简单!

需求:将jdk11更换为jdk8because安装jdk配置好环境变量后会拷贝几个文件到系统目录中导致更换jdk版本失败!!!最简单的解决方案:安装jdk8更改jdk8的环境变量到jdk8的安装目录JAVA_HOME 环境变量名称D:\SoftWare-YH\Environment\jdk-8 对应的安装目录找到path环境变量里的值C:\Program Files\Common Files\Oracle\Java\javapath访问该目录将目录下的所有文件剪贴到一个

2021-09-17 10:51:15 1050

原创 RocketMQ报maybe your broker machine memory too small

磁盘不足,更改进入该容器内部docker exec -it 36ab2f6c0500 使用cd命令到conf目录下vi broker.conf文件最后一行添加diskMaxUsedSpaceRatio=99//(所有节点的配置文件都加一下),表示剩余磁盘比例不足99才报错停止该服务docker stop 36ab2f6c0500```重新启动```docker start36ab2f6c0500```ok...

2021-09-16 18:05:49 1832 4

原创 CloudAlibaba-Sentinel

服务间调用解决方案:负载均衡使用RestTemplate来发起服务调用面太窄,当一个服务有多个实例时候不能满足实例的选择。因此有了负载均衡。SpringCloud使用RestTemplate的getForObject注意该bean不会自动装zai需要手动配置该Bean。@Beanpublic RestTemplate restTemplate(){ return new RestTemplate();}当一个微服务有多个实例时候,就需要使用算法给不同实例安排合适的请求数量。即负载均衡。

2021-09-16 11:53:00 100

原创 sentinel高版本额外配置

com.alibaba.csp sentinel-core 1.7.1 com.alibaba.csp sentinel-web-servlet 1.7.1 com.alibaba.csp sentinel-transport-simple-http 1.7.1

2021-09-16 11:43:57 94

原创 CloudAlibaba-Nacos

Spring Cloud Alibaba关系如下:SpringBoot–》SpringCloud–》SpringCloudAlibabaSpring Cloud的又一套解决方案。在此之前常用Spring Cloud Netflix(部分组件已停止维护)。github官网查看和SpringBoot、SpringCloud 之间的版本关系对比Netflix:netflx很多组件需要自己搭建服务端。而alibab组件都是直接下载使用,客户端连接即可。且提供了直观的图形化界面。整合:使用idea的Spr

2021-09-16 11:36:38 113

原创 Maven高级

* 分模块开发分模块开发时,引用别的模块资源时需要将别的模块资源install至本地maven仓库中

2021-09-14 18:06:16 52

原创 为什么要用SpringDataJPA

Why use JPA工作中接触项目情况一般都是数据库表建好后码猿进行业务开发。也会出现既有JPA又有MybatisPlus的情况。为什么会这样呢?If:让你从头到脚丫子去负责一个项目你怎么快速构建项目架构以及数据库表呢?这个时候JPA就派上用场了。作用:1. ORM映射+自动建表2. 作为持久化层的框架使用。类似MybatisPlus一样这个地方主要强调的就是他建表的功能那么怎么操作呢?先搞定JPA的依赖和配置.本猿使用SpringBoot构建的项目。 <!--版本

2021-09-14 11:00:14 219 2

原创 RedisTemplate

is Spring Data提供的用于操作redis数据库的模板对象!!!StringHash:即java中的MapSet:java中的set无重复元素List:有下标,可重复ZSet:有分数可据此排序实操redisTemplate。结合redis的RMD图形化管理工具来实践创建SpringBoot项目引入SpringDataRedis依赖<dependency> <groupId>org.springframework.boot</gro.

2021-09-13 17:11:52 176

原创 多线程理解

学了忘忘了学系列线程和进程具体实现**线程同步:**锁:Lock。synchronized的升级线程协作:线程间通信项目地址适合有一些概念认知,区分不清楚的群体线程和进程进程:没有微服务之前,一个进程就是一个应用程序。如飞秋。idea等。当有了微服务架构后业务划分后一个微服务模块就是一个进程线程:没有微服务之前,一个线程就是进程的一个功能划分。例如电脑管家里的病毒查杀、垃圾清理就是两个线程。有微服务后线程即为一个微服务进程里的一个功能模块。联系现实世界做理解:进程:一个团队,有很多人

2021-09-10 13:26:34 61

原创 数据同步canal

数据同步当项目中跨服务器或者使用缓存时,当数据库数据发生变更以后需要进行数据的同步变更。canal阿里开源的数据监控监控框架。原理相对比较简单:canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议mysql master收到dump请求,开始推送binary log给slave(也就是canal)canal解析binary log对象(原始为byte流)下载安装以及数据集监控微服务的搭建转载黑马的课件,按

2021-09-07 11:15:46 126

转载 连接mysql通信异常

问题描述:No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

2021-08-20 09:33:29 138

原创 explain和sql优化原则

Explainexplain:模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句使用:explain+查询的sql语句;解释上述表格中字段的作用:id:表示sql语句中操作表的顺序,常搭配table一起分析。规则:id越大越先执行。id相同则从上到下依次执行。table:表示操作的是拿张表。??表示为临时表数字表示从id为数字的表中查询的结果集当作临时表。select_type:sql语句查询的类型。用于区别普通查询、联合查询、子查询等复杂的查询。取值:si

2021-08-18 14:12:33 189

空空如也

空空如也

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

TA关注的人

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