自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (8)
  • 收藏
  • 关注

转载 Eureka Server unavailable-replicas 问题排查分享

k8s迁移,eureka unavailable replicas问题排查

2022-07-01 15:34:46 470 1

原创 动态规划常见题型整理

一. 爬阶梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?public int climbStairs(int n) { if (n <= 3) { return n; } int f1 = 1, f2 = 2; for (int i = 3; i <= n; i++) { int f3 = f1 + f2; f1 = f2;

2022-05-02 14:09:16 278

原创 mvn(node,nvm,npm等命令)不是内部或外部命令,也不是可运行的程序 或批处理文件。

场景描述:在某次打包前端时,突然发现自己windows电脑上命令失效。网上常见以及正常的安装配置(以maven为例)1. 安装maven压缩包解压到一个没有中文,空格或其他特殊字符的文件夹内即可使用(避免出现奇怪的错误)2. 配置MAVEN_HOMEmaven 的使用是在jdk的基础上,所以电脑必须有jdk第一步:新增环境变量:MAVEN_HOME第二步:在path环境变量中添加:%MAVEN_HOME%\bin找到环境变量配置界面问题原因出现命令找不到.

2022-05-01 09:23:28 2680

原创 git reset回滚历史版本以及恢复

git reset 命令git reset --hard 目标时间点的哈希值(又叫版本号)示例首先通过IDEA查看git本地仓库的历史版本号,也可以通过git log命令查看,版本如上图。将本地仓库回滚到操作人为Rossen Stoyanchev的版本,可以在IDEA右键复制【版本号】,也可git log查看git reset --hard 6d01d49b76dccd637ca634be4d7fcf9f2e0ffe31成功回滚到操作人为Rossen Stoyanchev的版本。接

2022-03-02 11:43:59 935

原创 单点登录报错java.lang.IllegalArgumentException: No enum constant org.springframework.http.HttpStatus.500

目录报错信息报错代码报错原因解决方法报错信息Spring版本:spring-web-5.2.4.RELEASE.jar:5.2.4.RELEASEjava.lang.IllegalArgumentException: No enum constant org.springframework.http.HttpStatus.500 at java.base/java.lang.Enum.valueOf(Enum.java:2.4.0) ~[na:na] at org.springframewor

2022-02-14 16:07:14 1342

原创 后端接收时间参数后,时间发生变动:java.util.Date接收参数“2016-12-07T17:13:25.808Z”时为“2016-12-08 01:13:25.808”

场景:在一次按时间范围搜索的场景中,使用java.util.Date接收前端参数“2016-12-07T17:13:25.808Z”时,因为"Z"表示0时区,Date在转换时转换为东八区时接收到的数据是“2016-12-08 01:13:25.808”,导致搜索的范围出错。...

2022-01-12 12:45:41 372

原创 MyBatis使用Foreach批量插入数据

## MySQL批量插入(效率较低)<insert id="saveBatch"> <foreach collection="list" item="item" separator=";"> INSERT INTO student (name, age, id) VALUES (#{item.name},#{item.age},#{item.id}) </foreach></insert>## MySQL批量插入(效率较高)<

2022-01-08 17:24:18 2300

原创 格式为yyyy-MM的日期运算

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); Date date = simpleDateFormat.parse("2022-12"); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1); Str

2022-01-07 07:20:01 382

原创 二分查找法的几种题型

目录一维数组二维数组旋转数组一维数组统计一个数字在排序数组中出现的次数。public int search(int[] nums, int target) { // 判断数组是否为空,target是否存在nums数组中 if (0== nums.length || nums[nums.length - 1] < target || nums[0] > target) { return 0; } // 先使用折半查找法,查找target

2021-12-05 15:50:53 489

原创 SQL性能优化——让SQL飞起来

目录回顾索引失效的5种情况引言:本文内容总结于MICK的《SQL进阶教程》回顾索引失效的5种情况

2021-08-10 14:14:48 652 9

原创 Spring源码浅析——spring容器的启动流程与spring IOC的实现

目录简介SSM开发模式中容器启动流程调用流程图流程解析ContextLoaderListenerContextLoaderSpring IOC实现上述步骤二:obtainFreshBeanFactory()refreshBeanFactory()刷新BeanFactory查看上述步骤四:进行XML文件读取及解析loadBeanDefinitions(beanDefinitionReader)简介Spring是一个轻量级的AOP和IOC框架。主要用来简化Java应用程序的开发,降低组件和组件之间的耦合性

2021-08-01 11:34:58 166

原创 设计模式(Java版)——知识总结

目录设计原则(6个)单一职责原则里氏替换原则依赖倒置原则接口分离原则开放封闭原则迪米特法则创建型模式(5种)1.使用单例模式记录访问次数2.通过农场系统演示工厂方法模式3.演示抽象工厂模式4.使用建造者模式完成计算机的生产5.通过邮件克隆群发演示原型模式结构型(7种)1.通过游戏代练演示代理模式2.通过对裸车进行装饰演示装饰模式3.通过将水饺转换成馄饨演示适配器模式4.通过实现公司各部门员工层次关系演示组合模式5.通过实现使用多颜色多种图形的过程演示桥梁模式6.通过模拟秘书为老板安排工作的过程演示外观模式7

2021-07-16 14:49:00 165

转载 使用IDEA构建Spring源码spring-framework

目录环境安装gradle下载 spring-framework修改 spring-framework 项目中的配置文件预编译 spring-oxm导入IDEA感谢线上各种Spring源码构建的贡献者环境windows 10jdk 1.8idea 2019.3.3gradle 5.6.4springframework 5.1.x分支安装gradle下载bin版本即可,地址 https://gradle.org/releases/解压到 D:\gradle\gradle-5.6

2021-07-14 15:22:30 648

原创 Spring如何解决循环依赖

目录循环依赖问题BeanCurrentlyInCreationExcepiton解决方法循环依赖问题BeanCurrentlyInCreationExcepitonSpring容器将每个正在创建的bean标识放在一个“当前创建bean池”中,bean标识符在创建过程中一直保持在这个池中,如果在创建bean过程中,发现自己已经在“当前创建bean池”时,将抛出BeanCurrentlyInCreationExcepiton。而对于创建完毕的bean将从“当前创建池”中清除。解决方法Spring容

2021-07-14 14:08:05 63

原创 React+Node.js实现社区项目第二步——登陆注册(前端)

目录前端项目搭建1. 初始化项目2. 使用npm安装依赖并启动项目3. 简化通用布局,修改src/layouts/BasicLayout.jsx文件4. 注册与登录页面4.1新增src/utils/apiHost.js存放并暴露域名信息4.2在src/services/login.js定义接口4.3修改src/utils/request.js文件4.4新增所需模型,修改src/models/login.js4.5 新增相应页面组件,src/pages/Login/index.jsx修改config/conf

2021-07-12 10:02:12 571 1

原创 React+Node.js实现社区项目第一步——登陆注册(后端)

目录注册与登录后端项目搭建开发环境:node-15.4.0、npm-7.19.1、mongodb-4.2.2、create-react-app、egg.js、 window10、Visual Studio Code注册与登录后端项目搭建使用egg.js脚手架进行开发npm install -g eggnpm install -g egg-initmkdir website-server cd website-serveregg-init --type=simplenpm inst

2021-07-11 13:14:51 456 1

原创 React中的Props和State

目录Props与State简介PropsState引言:React作为状态驱动的前端框架,十分注重数据和状态的管理。React的状态管理和组件通信,主要包括:变与不变:不可变的属性(Props)和可变的状态(State)组件间通信:基于Props的父子组件间的数据传递上下文(Context),组件间不直接相互依赖的数据传递复杂状态管理解决方案:Redux及MobxProps与State简介Props在实际开发需求中,可以确定的只有Article组件的DOM结构和样式,其文字内容应该随数

2021-07-06 11:45:52 176

原创 JS(React)中的对象扩展运算符(...)

目录对象的扩展运算符(…)是ES6中对数组的一种拓展,用于取出参数对象的所有可遍历属性,并复制到当前对象中。如果需要为组件传入多个属性,可以使用对象扩展运算符(…),例如:const props={ text: 'nice to meet you', font: 'big', align: 'top', visible: true};const App = () => ( <div> <CustomText {...props}></Custo

2021-07-05 21:20:52 678

原创 你不知道的javaScript——this关键字

目录为什么要用this对this的错误认知1. 指向自身2. 它的作用域this到底是什么为什么要用this为什么要用thisfunction identify() { return this.name.toUpperCase();}function speak() { var greeting = "hello, I'm " + identify.call(this); console.log(greeting);}var me = { name: "Kyle"};va

2021-06-14 16:17:51 465 6

原创 你不知道的——JavaScript闭包

目录理解闭包引言:对于JavaScript来说,理解闭包可以看作是某种意义上的重生。JavaScript中闭包无处不在,并不是一个需要学习的新语法或模式才能使用的工具。我们总是在无意识中使用着闭包。理解闭包如下代码清晰地展示了闭包:function foo() { var a = 2; function bar() { console.log(a); } return bar;}var baz = foo();baz(); // 2 -- 这就是闭包的效果解释:

2021-06-14 09:42:39 277 2

原创 B+树 VS LSM树

目录B+树LSM树比较总结B+树简介:为了改善数据访问特性,文件系统或数据库系统通常会对数据排序后存储,加快数据检索速度。传统关系数据库的做法是使用B+树,保证数据在不断更新、插入、删除后依然有序。B+树结构如下图所示。B+树是一种专门针对磁盘存储而优化的N叉排序树,以树节点为单位存储在磁盘中,从根开始查找所需数据所在的节点编号和磁盘位置,将其加载到内存中然后继续查找,直到找到所需的数据。目前数据库多采用两级索引的B+树,树的层次最多三层,因此可能需要5次磁盘访问才能更新一条记录(3次磁盘访问获

2021-06-09 09:29:50 453

原创 理解数据结构Redis——跳跃表(跳表)

目录有序链表分层有序链表(一般默认3层)跳跃表跳跃表插入节点的4个步骤第一步:查找要插入的位置第二步:调整跳跃表高度第三步:插入节点第4步:调整backward有序链表每个节点都有指向下一个节点的next指针,每次查找元素都需要从头节点开始。如果next节点值大于要查找的值或next指向null,则从当前节点降下一层,继续向后查找,是否可以提升查找效率?分层有序链表(一般默认3层)分层有序链表如下图所示,假设我们查找值为51的节点,查找步骤如下。从第2层开始,1节点比51节点小,向后

2021-06-07 22:12:00 639 4

原创 一台服务器上启动多少线程合适?

目录多用户并发访问是网站的基本需求,大型网站的并发用户数会达到数万,单台服务器的并发用户也会达到数百。CGI编程时代,每个用户请求都会创建一个独立的系统进程去处理。由于线程比进程更轻量,更少占用系统资源,切换代价更小,因此网站开发天然就是多线程编程。那么一台服务器上启动多少线程合适呢?公式:启动线程数=【任务执行时间 / (任务执行时间-IO等待时间)】 * CPU内核数最佳启动线程数和CPU内核数量成正比,和IO阻塞时间成反比。如果任务都是CPU计算型任务,那么线程数最多不超过CPU内核数,因

2021-06-07 17:11:58 2407 1

原创 整合支付宝实现在线支付【沙箱环境】

目录第一步:配置沙箱应用环境1.1 信息配置(1.1.2至关重要)图一![在这里插入图片描述](https://img-blog.csdnimg.cn/202105111938170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDQ2MDE3MQ==,size_16,color_FFFFFF,t_70)图二图三最后一步【

2021-05-11 19:50:31 197 1

原创 如何避免form的submit后进行页面跳转

正常的form表单提交后需要进行页面跳转,如果我们不希望进行页面跳转,那么按以下两个步骤,通过一个iframe就可以解决这个问题:首先在页面中定义一个空的不可见的iframe<!-- 空iframe,用于协助处理form提交后不进行页面跳转的问题 --> <iframe id="iframeDisplay" name="iframe_display" style="display: none;"></iframe> 将form的target指向该i.

2021-05-08 15:58:15 3733 2

转载 layui form表单下的button按钮会自动提交表单的问题以及解决方案

layui表单自动提交问题最近使用layui的表单提交时,遇到了这个问题:在form内的按钮总是会自动提交。而按钮放在form外面就不会出现这种问题,很让人头痛。下面让我们来看看如何解决form内按钮自动提交问题的吧。<form class="layui-form"> <label class="layui-form-label">银行卡号</label> <input type="text" name="bankCard" lay-veri

2021-05-06 21:55:06 3955

原创 解决重定向后,URL中文乱码问题

目录原因1原因2原因3(问题解决)原因1服务端获取数据时,获取到的就是乱码(通过debugger排除了)原因2前后端字符编码不一致解决思路request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");在服务端方法中添加字符编码设置,在客户端页面设置字符编码(未能解决)原因3(问题解决)客户端获取中文乱码解决思路:服务端使用ModelAndView进行重定向时,发现URL中文未乱

2021-05-05 10:23:06 1970

原创 ajax的写法

<script type="text/javascript" src="${APP_PATH}/jquery/layer/layer.js"></script><script> function doLogin() { var floginacct = $("#floginacct"); var fuserpswd = $("#fuserpswd"); var ftype = $("#ftype");

2021-04-28 16:25:29 259

转载 分布式文件系统FastDFS的安装教程

目录1. 安装libfastcommon2. 安装FastDFS3. 配置Tracker服务4. 配置Storage服务5. 安装Nginx和fastdfs-nginx-module模块6. 配置Nginx和fastdfs-nginx-module模块7. FastDFS测试引言:虚拟机系统为CentOS7,原来虚拟机上已经安装了FastDFS,由于版本问题,无法运行,所以删掉原来的FastDFS系统后,重新安装。注意:由于一开始删除FastDFS删除不干净,以及cmake的版本不太对和各种小问题,

2021-04-19 18:58:58 577

转载 一致性Hash算法详解

目录hash算法普通的hash算法在分布式应用中的不足一致性hash算法虚拟节点hash算法哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。普通的hash算法在分布式应用中的不足比如,在分布式的存储系统中,要将数据存储到具体的节点上,如果我们采用普通的hash算法进行路由,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,

2021-03-05 09:55:43 289 1

原创 数据库事务的4个隔离级别

目录读未提交读已提交可重复读串行化读未提交表现:事务A可以读取到事务B未提交事务的数据问题:存在脏读问题,事务B可能多次修改数据,只有提交事务后的数据才是被需要的,而事务A读取到事务B未提交事务前的数据都是无效的。读已提交表现:事务A读取到的都是事务B提交事务后的数据问题:存在不可重复读问题。事务A多次读取某一条记录,在读取间隔中,事务B更新该条数据,导致事务A前一次读取和后一次读取的数据不一致。可重复读表现:无论事务B有没有修改数据,事务A读取到的都是自己视图的数据,不受其他事务

2021-03-01 22:13:37 113

原创 为什么float类型可以接收long类型?(为什么float比long范围大)

目录IEEE754浮点数标准指数位确定范围小数位确定精度总结转换原则(低精度向高精度转换):byte->(short,char)->int->long->float->doubleIEEE754浮点数标准IEEE754标准包含一组实数的二进制表示法。它有三部分组成:符号位, 指数位, 尾数位三种精度的浮点数各个部分位数如下:精度符号阶/指数尾数单精度1823第一部分用来存储符号位(sign),用来区分正负数,0正1负。第

2021-02-07 16:16:58 370

原创 【实战】SpringBoot+JSP实现权限管理

目录数据库表结构t_permissiont_role_permissiont_usert_user_rolet_role实现权限管理项目环境配置和搭建项目结构控制层controllerBaseControllerDispatcherControllerPermissionControllerRoleControllerUserController业务层PermissionServiceRoleServiceUserService业务实现层PermissionServiceImplRoleServiceImp

2021-01-15 15:38:03 865

原创 【实战】基于Netty实现WebSocket聊天室

目录1.目的2.Netty是什么2.1.Netty和Tomcat的区别2.2.Netty为什么流行2.2.1并发高2.2.2.传输快2.2.3.封装好基于Netty实现WebSocket聊天室创建simple_webchat项目编写代码结果1.目的学习和了解Netty的应用场景和使用方式2.Netty是什么Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。2.1.Netty和Tomcat的区别Netty和Tomca

2021-01-10 18:37:42 566 3

原创 【实战学习EleasticSearch】SpringBoot+ElasticSearch实现京东搜索

目录目的实现京东搜索ElasticSearch创建jd_goods索引IDEA创建elasticsearch_jd项目编写代码操作步骤总结目的传统的SQL模糊查询不能满足大数据下的搜索。ElasticSearch是一个实时分布式搜索和分析引擎,适用于大型企业,同时ElasticSearch也适用java开发并使用【目前最先进的开源搜索引擎】Lucence作为其核心来实现所有索引和搜索的功能,其通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文索引变得更简单。实现京东搜索使用

2021-01-08 17:18:28 368

原创 【实战】JAVA实现Tomcat--理解Tomcat运行原理

目录目的实现Tomcat创建JAVA项目创建Servlet接口创建AAServlet和BBServlet创建conf.properties配置文件编写TestServlet理解Tomcat步骤创建TestServlet类总结分析响应头分析Socket流程结果图目的通过手动实现Tomcat,我们可以发现运行在服务端的JAVA小程序AAServlet或BBServlet本质上还是一段JAVA小程序,只不过我们只需要按照约定实现Servlet这个接口,只需要做好对应的配置信息,之后我们就可以通过浏览器向服务

2021-01-07 10:39:04 807 3

原创 看Gradle官方文档windows安装和配置gradle

目录安装(Installation)安装Gradle的条件windows安装步骤第一步:下载 Gradle第二步:解压文件(Unpack the distribution)第三步:配置环境变量(Configure your system environment)第四步:验证是否安装成功(Verify your installation)引言:Gradle官网链接,配置步骤来自官网安装(Installation)当前Gradle版本是6.7.1。你可以从页面下载二进制文件并查看Gradle所有版本

2021-01-05 10:41:29 428

原创 Uncaught TypeError: antd_es_form__WEBPACK_IMPORTED_MODULE_9__.default.create(...) is not a function

报错信息login.jsx:111 Uncaught TypeError: antd_es_form__WEBPACK_IMPORTED_MODULE_9__.default.create(...) is not a function网上查到的解法一原因:由于antd的版本导致解决:package.json文件下的antd版本号修改为3.26.14我的版本【“antd”: “^4.9.4”,】网上查到的解法二Ant Design 4.0 对Form进行了修改,已经不使用 Form.c

2020-12-30 16:07:07 2753

原创 ValidationError: Invalid options object. Less Loader has been initialized usin...

在react项目开发时,配置less后,运行项目报如下错误:./node_modules/antd/es/button/style/index.less (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-8-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-8-3!./node_modules/less-loader

2020-12-30 11:15:41 1961

原创 完全分布式-centos虚拟机集群环境搭建

目录1.准备3台虚拟机创建一台虚拟机(关闭防火墙、静态ip、主机名称)克隆虚拟机配置ssh实现只用输入一次密码集群时间同步时间服务器配置(必须root用户)修改ntp配置文件修改/etc/sysconfig/ntpd文件在其他机器配置10分钟与时间服务器同步一次配置3台虚拟机这么久,有没有更好的方法呢?编写集群分发脚本xsyncxsync脚本实现修改脚本xsync具有执行权限调用xsync脚本方法工具:VMWare-15.5.0,CentOS-6.8-x86_64-bin-DVD.iso1.准备3台

2020-12-29 12:06:48 874

simple_rbac.zip

使用SSM(Spring+SpringMVC+MyBatis)+bootstrap实现简单登录和注册功能,密码使用MD5加密,使用layer弹层组件,登录注册均采用异步

2020-07-04

atcrowdfunding.zip

一个众筹网站,也叫尚筹网站,搭建好了初始化环境,实现了用户的增删改查、用户和角色的权限分配,仅供小白学习,大佬可以略过

2020-06-27

myssm2.zip

IDEA实现SSM(Spring+SpringMVC+MyBatis)整合,并实现简单注册功能,仅供小白学习,有需要的可以自行下载学习,欢迎指正

2020-06-20

atcrowdfunding.zip

搭建好初始化环境,并实现同步登陆功能阶段的工程,想跳过搭建环境阶段的或者有其他需要的可以自行下载,大佬可以略过环境IDEA2018+MySQL5.1.27+Java1.8

2020-06-18

simple_myBatis3Simple.zip

使用myBatis3Simple逆向工程生成代码还有对一小部分XMl配置的注释,仅供小白使用,大佬可以略过

2020-06-18

搭建Hadoop集群所需的tar包.zip

由于资源大小限制,本资源只包含hadoop+hbase+kafka+zookeeper+apache-flume,本资源用来实践尚硅谷教程的《电信客服》项目是够用的,个人实践有效

2020-06-17

JDK+Maven+Tomcat+MySQL.zip

JDK1.8+Tomcat8.5+Maven3.3.9+MySQL5.7,都是在Linux系统下搭建环境所需要的压缩包,需要的可以自行下载,配置详情,可以参看https://blog.csdn.net/weixin_40460171/article/details/106758629

2020-06-17

atcrowdfunding.zip

java项目开发实战--使用ssm框架开发众筹网站,个人搭建好的初始化环境,还有一份课程所需的资源,仅供小白学习使用,大佬可以略过

2020-06-16

空空如也

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

TA关注的人

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