自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(256)
  • 资源 (4)
  • 论坛 (1)
  • 收藏
  • 关注

原创 高并发解决方案相关面试题

什么是DNS解析域名DNS域名解析就是讲域名转化为不需要显示端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名.什么是NginxNginx是一个高级的轻量级的web服...

2020-04-15 10:17:14 25140 4

原创 windows下安装nacos

1、下载下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.0选择这个zip下载。下载完毕后我们可以看看目录结构:这里的bin目录里面有windows启动文件startup.cmd,我们双击就能启动了,和大多数windows进程类似。启动后会有一个cmd窗口去打印命令并启动。这里我们启动成功了,启动失败后窗口...

2019-10-15 17:37:37 26364 1

原创 IDEA maven project Dependencies 报错

之前是用的eclipse开发工具,最近转为IDEA开发工具了,感觉有点用的不是很习惯。特别是在更新maven的时候,各种红色错误报出来。1.我们在导入项目到IDEA后,首先第一步先要做的,就是更新maven,我们需要找到项目的pom.xml位子,然后右键点击,Add as Maven Project。这时候右侧会出现一栏,点击这里的第一个刷新按钮,IDEA就回自动去帮你配置一些项...

2016-10-28 10:48:50 33244 9

原创 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to

配置mybitis连接mysql的时候出现了bug,显示日志如下:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 看了半天原因是配置的jdbc连接驱动版本过低造成的,我们更换一下pom.xml的连接驱动的版本为高版本就可以了

2021-05-13 18:46:31 5

原创 MQ 如何避免消息堆积的问题

产生原因:1.生产者投递消息的速率与我们消费者消费的速率完全不匹配。2.生产者投递消息的速率>消费者消费的速率 导致我们消息会堆积在我们 mq 服务器端中,没有及时的被消费者消费 所以就会产生消息堆积的问题3.注意的是:rabbitmq 消费者我们的消息消费如果成功的话 消息会被立即删除。 kafka 或者 rocketmq 消息消费如果成功的话,消息是不会立即被删除。解决办法:1.提高消费者消费的速率;(对我们的消费者实现集群)2.消费者应该批量形式获取消息 减少网络传输的次

2021-05-12 10:06:47 11

原创 IDEA快捷键多行编辑

方法1:快捷键:shift+alt+insert可选择多行代码进行编辑。方法2:鼠标中间滑轮按住然后拖动选择多行代码

2021-05-11 09:21:13 6

原创 接口如何保证 API 的安全性

接口如何保证 API 的安全性的问题 1. 接口协议采用 Https 协议 SSL+证书 4432. 使用 MD5 对我们的接口实现验证签名 防止接口参数不能能篡改 移动 App 项目3. 对我们的数据实现加密 rsa 非对称加密 不能别人看到明文的数据4. 使用 nginx 或者网关、整合阿里巴巴 sentinel 对 api 接口实现限流、黑名单和白名单机制5. 使用网关对整个微服务参数的入口实现防止 xss、sql 注入的问题6. 定期对我们代码实现 bug 扫描、每周代码实现

2021-05-08 11:51:56 10

转载 Notepad++常用快捷方式

快捷键 说明 Ctrl + F 打开查找对话框 Ctrl + H 打开替换对话框 Ctrl + D 复制当前行 Ctrl + L 删除当前行 Ctrl + Shift + U 小写转大写 Ctrl + U 大写转小写 Ctrl + T 当前行和上一行交换位置 Alt +0 折叠全部 Alt + Shift +0 展开全部 ...

2021-05-07 11:29:40 10 3

转载 MySQL索引从基础到原理

索引是SQL优化中最重要的手段之一,本文从基础到原理,带你深度掌握索引。一、索引基础1、什么是索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。通俗来讲,索引类似文章的目录,用来提高查询的效率。2、索引分类常见的索引类型有:主键索引、唯一索引、普通索引、全文索引、组合索引

2021-04-29 20:25:47 7

原创 Oracle ORA-00904:“xxx”:invalid identifier 标识符无效

oracle查询语句的时候出现ORA-00904:“xxx”:invalid identifier 标识符无效,百度了好几篇文章看着懵逼,最后自己找出了错误位子,在这里简单的总结一下出现错误原因。简单来说就是where条件后面的查询字段在from的表里面没有这个xxx的字段。...

2021-04-28 10:39:57 26

原创 java8关键字之groupingBy分组

代码:package com.example;import java.util.*;import java.util.stream.Collectors;/** * @author XuYangWei * @Description: * @Date 2021/4/22 14:19 */public class Java8groupBy { public static void main(String[] args) { Map<String, Obje

2021-04-22 15:10:55 10

原创 mysql锁机制

mysql都分为那些锁?1.按锁粒度从大到小分类:表锁,页锁和行锁;以及特殊场景下使用的全局锁2.如果按锁级别分类则有:共享(读)锁、排他(写)锁、意向共享(读)锁、意向排他(写)锁;3.以及Innodb引擎为解决幻读等并发场景下事务存在的数据问题,引入的行记录锁、间隙锁、Next-key Lock等;4.还有就是我们面向编程的两种锁思想:悲观锁、乐观锁。你对表锁、行锁是怎么理解的?表锁:表级别的锁定是MySQL各存储引擎中最大颗粒度的锁定机制。该锁定机制最大的特点是实现逻辑.

2021-04-20 14:43:53 11

原创 java线程池实现模拟抢票

并发的知识点是面试的常问技术,比如线程池创建的参数有哪些?写一段模拟抢票的代码等等。这里我们来说说模拟抢票的代码。代码:package com.example;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @author XuYangWei * @Description: * @Date 2021/4/14 16:21 */public clas

2021-04-15 09:46:13 36

原创 Java8关键字之merge:合并两个map,key相同value相加

有时候我们有这样的需求,合计行的统计,可能就会用到这个方法,方便极了~代码:package com.example;import java.math.BigDecimal;import java.util.HashMap;import java.util.Map;/** * @author XuYangWei * @Description: * @Date 2021/4/14 8:39 */public class Java8Merge { public static

2021-04-14 09:01:53 62 1

原创 Java8新特性之Stream

什么是 Stream?Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 数据源流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。 聚合操作类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。package com.example;import org.junit.Test;impo..

2021-04-02 10:26:43 37

原创 java8新特性之获取自定义格式时间

旧的java获取时间的方法有诸多问题: 非线程安全− java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。 设计很差− Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将其纳入java.sql包并不合理。另外这两个类都有相同的名字,这本身就是一个非常糟..

2021-04-01 14:58:39 36 1

原创 java8新特性之Optional 

在java8之前,我们需要去写一个公共的判断是否参数为空的方法,然后每次判断是否为空的时候去调用,否则会经常出现空指针异常,对于空指针异常,很是烦恼,现在java8出来了OptionalOptional.orElse - 如果值存在,返回它,否则返回默认值这个方法特别实用,我们可以在项目中经常用~package com.example;import java.util.Optional;/** * @author XuYangWei * @Description: * @.

2021-03-29 14:49:30 42

转载 一步一步教你如何在GitHub上上传自己的项目

首先你得注册一个自己的GitHub账号,注册网址:https://github.com/join有了自己的账号以后,就可以进行登录,开始创建一个新的项目创建一个新的项目,填写项目名称,描述创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上传代码的时候需要使用接下来,我们需要先下载Git,这里最好下载最新版本的Git,这里附上我下载的Git2.6.2的网址:https://git-scm.com/downloads,安装时如果没有特殊需求,一直下一步就可以了,安装

2021-03-26 17:09:06 18

原创 MQ相关面试题

你们项目中哪些地方有使用到 MQ1. 使用 mq 异步发送优惠券;2. 使用 mq 异步发送短信;3. 使用 mq 异步扣库存 总之将执行比较耗时的代码操作,交给 mq 异步实现接口。为什么需要使用 MQ1.异步处理(多线程和 MQ)2.实现解耦3.流量削峰(MQ 可以实现抗高并发)MQ 与多线程实现异步的区别1.多线程方式实现异步可能会消耗到我们的 cpu 资源,可能会影响到我们业务线程执行 会发生 cpu 竞争的问题;2.MQ 方式实现异步是完全解耦,适合于大型互

2021-03-26 15:48:57 37

原创 java高级面试题

1、自我介绍,项目介绍,遇到的难点?产生原因?如何解决?2、HashMap1.8与1.7区别?ConcurrentHashMap实现原理 ?3、jvm类加载器,自定义类加载器,双亲委派机制,优缺点,tomcat类加载机制?4、tomcat热部署,怎么做到的热加载?5、cms收集器过程,g1收集器原理,怎么实现可预测停顿的,region的大小结构?6、内存溢出,内存泄漏遇到过吗?什么场景产生的,怎么解决的?7、volatile的原理?synchronized和重入锁实现原理以及区别?8、redi

2021-03-24 10:32:54 86 3

原创 java.lang.NumberFormatException:null

java.lang.MumberFormatException:null出现这个bug让我百度了很久,答案都答非所问,然后看自己的代码逻辑,慢慢看出了端倪。我的代码是先把判断参数是否为空,然后去toString,然后转换为BigDecimal类型,上面报错出现null,一直以为是Null转换为BigDecimal出现问题,但是我提前判断了不能为null,所以不可能出现预想null的bug,思索半天,终于找到答案。当我们的数据类型不是数字类型的字符串的时候,再去转换为BigDecimal类型,

2021-03-19 17:30:17 37

转载 oracle创建序列,并插入记录

Oracle序列创建和使用创建序列  语法CREATE SEQUENCE 序列名 [相关参数]  参数说明  INCREMENT BY : 序列变化的步进,负值表示递减。(默认1)  START WITH: 序列的初始值 。(默认1)  MAXvalue: 序列可生成的最大值。(默认不限制最大值,NOMAXVALUE)  MINVALUE: 序列可生成的最小值。(默认不限制最小值,NOMINVALUE)  CYCLE: 用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:...

2021-03-15 12:54:43 48 2

原创 IDEA创建mybatis的xml文件

1、File---->Settings2、Editor---->File And Code Templates —>中间选中Files ----->点击+号,添加模板 ----->输入模板名字:Name:XML File.xml (name可以自定义) ------>后缀名extension:xml —>在面板中间输入内容:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mappe.

2021-03-12 10:41:17 31 1

原创 list《Integer》快速排序

效果:代码:package com.example;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author XuYangWei * @Description: * @Date 2021/3/5 18:10 */public class Test4 { public static void main(String[] args) {

2021-03-10 09:36:52 24

原创 将List<Integer> 转换成以逗号分割的String字符串

import com.google.common.base.Joiner; import java.util.ArrayList;import java.util.List; public class Convert { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list..

2021-03-08 18:39:02 46

原创 获取List中存放的最后一个元素

public class ListUtil { /** * 获取list中存放的最后一个元素 * @param list * @param <T> * @return */ public static <T> T getLastElement(List<T> list) { return list.get(list.size() - 1); }}...

2021-03-05 18:20:24 240

原创 Non-terminating decimal expansion; no exact representable decimal result.

Non-terminating decimal expansion; no exact representable decimal result.报错原因是通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.解决办法:给BigDecimal的divide方法

2021-03-05 15:04:18 15

原创 tcp和http的区别

http属于应用层协议;tcp属于传输层协议

2021-03-04 11:02:37 130 1

转载 Oracle FIND_IN_SET函数

最近笔者遇到一个需求。在数据库中有下方表格所示类型的一个列,每个值都是由ID拼接的字符串,用户希望能针对这个列做到数据检索,要求数据值只要包含传入值,即视为满足检索条件。笔者的第一反应就是:简单!!!二话不说立马写SQLselect t.* from TABLE_T t where instr(t.ids, '8') > 01运行,这个时候发现结果如下:上述的查询结果其实是不满足条件的,因为我传入一个’8’,按照正常情况应该只查询出第4条数据才对,但是因为’6,88’也包含了’8

2021-03-02 15:48:56 43

原创 java中高级实战面试题

1.java8的新特性?List转Map会不会出现什么问题https://blog.csdn.net/weixin_39850167/article/details/1112680022.了解mysql的索引么?说下索引的分类?https://www.cnblogs.com/beyond-succeed/p/12573839.html3.说下最左匹配的原理?https://blog.csdn.net/weixin_43268933/article/details/1085056624

2021-02-26 10:08:54 95 2

原创 String类型常用的方法

indexOf():查询字符串首次出现的下标位置 lastIndexOf():查询字符串最后出现的下标位置 contains():查询字符串中是否包含另一个字符串 toLowerCase():把字符串全部转换成小写 toUpperCase():把字符串全部转换成大写 length():查询字符串的长度 trim():去掉字符串首尾空格 replace():替换字符串中的某些字符 split():把字符串分割并返回字符串数组..

2021-02-25 17:43:30 13

转载 一篇文章彻底理解Redis持久化:RDB和AOF

为什么需要持久化?Redis对数据的操作都是基于内存的,当遇到了进程退出、服务器宕机等意外情况,如果没有持久化机制,那么Redis中的数据将会丢失无法恢复。有了持久化机制,Redis在下次重启时可以利用之前持久化的文件进行数据恢复。理解和掌握Redis的持久机制,对于Redis的日常开发和运维都有很大帮助,也是在大厂面试经常被问到的知识点。Redis支持的两种持久化机制:RDB:把当前数据生成快照保存在硬盘上。 AOF:记录每次对数据的操作到硬盘上。接下来,我们详细了解一下这两种持久化机制。

2021-02-24 11:38:34 22

原创 java8 字符串转 map 输出

package com.example;import java.util.List;import java.util.Arrays;import java.util.Map;import java.util.HashMap;import java.util.stream.Collectors;/** * @author XuYangWei * @Date 2021/2/23 17:23 */public class NodeTest { public static voi.

2021-02-23 18:05:26 132

转载 HashMap底层实现原理详解

文章目录一、快速入门 1.HashMap的常用方法 2.HashMap的几个重要知识点 二、JDK7与JDK8的HashMap区别 三、HashMap的容量与扩容机制 1.HashMap的默认负载因子 2.HashMap的扩容机制 3.HashMap中散列表数组初始长度 四、HashMap的结构 五、HashMap存储原理与存储流程 1.HashMap存储原理 2.HashMap存储流程 六、jdk8中HashMap为什么要引入红黑树? 七、扩容后的新table数组,那老数组.

2021-02-22 18:31:10 38

原创 Springboot全局捕获异常

以往的ssm架构来说,我们需要在service层定义一个resultMap,如果发成异常去put异常的code和msg信息,没有异常就返回成功的code和msg,然后Controller层去接收resultMap。现在Springboot出来后我们就可以大大的简化异常处理。只因有这个注解:@ControllerAdvice他来了 他来了 他带着 礼物 走来了 他来了 他来了 他脚踏祥云进来了从此我们的代码处理异常随着他来了变得如此丝滑~首先我们去写一个code和msg的实体类

2021-02-04 14:32:44 143 2

原创 java删除指定目录下前N天的文件

业务需求:有时候我们在上传图片到指定目录后,长时间会造成有些图片已经没有任何作用了,我们就可以做一个定时删除指定目录下的文件,去删除那些图片代码:package com.example;import lombok.extern.slf4j.Slf4j;import java.io.File;import java.util.Calendar;import java.util.Date;@Slf4jpublic class DeleteFilesSimpe { public st

2021-02-02 09:02:14 167 1

原创 mybatis.xml传入list参数sql用in接收

代码开发中经常遇到这种需求,在这里记录一下,加深印象。首先我们在Mapper接口代码里要写传递的list参数名称和xml的参数名称对应然后我们在xml里面要去接收到list,sql语句关键字in后面去循环list,拼接sql。...

2021-02-01 10:43:56 148

原创 java的spring boot版本企业微信接入与自动回复消息

1、准备工作我们需要把我们自己的服务通过内网映射工具映射出去让外网能够访问到我们的服务。具体可参考我的这一篇文章:

2021-01-29 14:46:04 336

原创 java实现给图片加网格式文字水印(铺满)

效果:原图加水印后的图片废话不多说,直接上代码代码:package com.example.demo;import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.RenderingHints;import java.awt.image.Buffer

2021-01-28 09:25:43 432 4

原创 Java判断字符串是否为null的equals的正确用法

在业务需求中,我们经常会判断是否为null而去做一些业务处理,用到了equals方法,但是你想想之前真的没有用错吗?话不多说,这个经常用,直接上代码package com.example;import lombok.extern.slf4j.Slf4j;/** * @author XuYangWei * @Date 2021/1/23 9:06 */@Slf4jpublic class TestEquals { public static void main(Strin

2021-01-23 13:34:17 648

demoProject.zip

企业微信的对接,接收消息与自动回复消息,spring boot版本。

2021-01-29

natapp_windows_amd64_2_3_9.zip

能够把自己的本地的服务网站,通过工具生成域名链接,然后通过外网访问到。使用方法可百度

2019-09-03

HBuilderX.zip

用户vue语言开发或者其他前端语言开发的编程工具,支持预览、提示等,轻量级,打开快,占内存小。用起来特别方便

2019-09-07

Navicat Premium 12.rar

免安装,绿色版,解压即用,打开迅速,不需要注册码。

2019-10-17

空空如也

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

TA关注的人 TA的粉丝

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