- 博客(229)
- 资源 (4)
- 收藏
- 关注
原创 高并发解决方案相关面试题
什么是DNS解析域名DNS域名解析就是讲域名转化为不需要显示端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名.什么是NginxNginx是一个高级的轻量级的web服...
2020-04-15 10:17:14 33097 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 53041 6
原创 IDEA maven project Dependencies 报错
之前是用的eclipse开发工具,最近转为IDEA开发工具了,感觉有点用的不是很习惯。特别是在更新maven的时候,各种红色错误报出来。1.我们在导入项目到IDEA后,首先第一步先要做的,就是更新maven,我们需要找到项目的pom.xml位子,然后右键点击,Add as Maven Project。这时候右侧会出现一栏,点击这里的第一个刷新按钮,IDEA就回自动去帮你配置一些项...
2016-10-28 10:48:50 36970 9
原创 Spring 框架中都用到了哪些设计模式?
依赖于它的对象都会得到通知被制动更新,如Spring中listener的实现ApplicationListener。4.模板方法:用来解决代码重复的问题。比如,RestTemplate, JmsTemplate,3.代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;1.工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;5.观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有。2.单例模式:Bean默认为单例模式。
2023-10-24 10:25:48 181
转载 java中的 BigDecimal 和 String 的相互转换
转载:java中的 BigDecimal 和 String 的相互转换_huayang183的博客-CSDN博客_javabigdecimal转string
2022-07-06 11:52:42 13146
原创 IDEA驼峰式命名插件CamelCase
我们平时在开发的时候写mybatis的sql的时候,一般都要求写驼峰式命名后传参,但是数据库里面的字段都是下划线的,有些表字非常多,一个一个来手动驼峰很不愉快,这个时候我们的插件就来了,让你快速一键搞定,畅快淋漓~我们先安装插件,这里有两种安装方式,一种是你的桌面有网络环境的情况下的安装方式,一种是无网络环境下的安装方式。①有网络环境直接idea的插件库安装:首先,我们点击左上角的File->Settings...然后点击Plugins这个选项。然后我们在点击到Mark
2022-01-18 10:36:59 7715 1
转载 IDEA三种注释快捷键
三种注释方式 行注释、块注释、方法或类说明注释。一、快捷键:Ctrl + / 使用Ctrl+ /, 添加行注释,再次使用,去掉行注释二、演示代码if (hallSites != null && hallSites.size() > 0) { //行注释 //最大行号 int maxRow = 0; //最大列数 int maxCol = 0;}块注释一、快捷键:Ctrl +Shift+/ 使用Ctr..
2021-12-10 16:18:00 10858
转载 如何解决maven冲突
Jar包冲突产生的原因上面讲了Maven维护Jar包的三个原则,其实每个原则会发生什么样的Jar包冲突,已经大概了解了。这里再来一个综合示例。举例说明:依赖链路一:A -> B -> C -> G21(guava 21.0)依赖链路二:D -> F -> G20(guava 20.0)假设项目中同时引入了A和D的依赖,按照依赖传递机制和默认依赖调节机制(第一:路径最近者优先;第二:第一声明优先),默认会引入G20版本的Jar包,而G21的Jar包不会被引用。
2021-10-14 14:52:08 2335
原创 redis实现“附近的人”
最近在做一款交友软件的APP,现在有一个功能需要实现搜索附近的人。后来发现用redis 的GEO功能实现非常简单。先说一下设计思路,每个用户在登陆的时候都会添加一下经纬度,这个是APP端获取的,然后设置一下这个经纬度到mysql数据库中,最后把经纬度同步到redis数据库中。我们先来了解一下 redis GEO功能。我们在用到redis的geo功能时候一定要把版本设置到3.2版本以上,3.2版本以上才有这些方法。核心的用到的pom配置<dependency> ...
2021-07-21 15:25:38 1119 1
转载 Java线程池七个参数详解
java多线程开发时,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。下面会对这7个参数一一解释。一、corePoolSize 线程池核心线程大小线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁,除非设置了allowCoreThr
2021-07-14 11:06:31 1733
转载 java工具类 文件zip压缩 base64 加密,base64解密 zip解压
代码:package com.cfam.utils;import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;
2021-05-26 15:18:12 2919
原创 java把list集合数据写入到txt中
代码:package com.example;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.List;/** * @author XuYangWei * @Description: 把集合数据写入到txt * @Date 2021/5/17 17:03 */public
2021-05-21 17:25:31 8709
转载 Spring中Bean是线程安全的吗
Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但是具体还是要结合具体scope的Bean去研究。Spring 的 bean 作用域(scope)类型1、singleton:单例,默认作用域。2、prototype:原型,每次创建一个新对象。3、request:请求,每次Http请求创建一个新对象,适用于WebApplicationContext环境下。4、session:会话,同一个会话共
2021-05-20 11:11:30 492
原创 java把mysql大数据量表每个文件最多10MB分批次写入到txt文件中
需求描述:现在利率报备系统需要把数据上传到第三方系统,表中的数据量非常大,我们需要把表中的数据生成txt文件,然后上传到第三方系统,并且,上传的txt有大小限制,不能超过10MB,后面还需要压缩成zip,把zip转为base64并且写入到xml中,然后传入第三方,这里就限制10KB是个麻烦的地方,我记录一下。实现思路:当时拿到这个需求的时候也是懵逼着摸索着,慢慢搞出来了我们可以先去写一个临时txt文件,去限制它的大小为10MB,写满了10MB的时候我们正好也去统计行数,看看10MB它的数据量
2021-05-19 17:01:16 1756 3
原创 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 4802
原创 接口如何保证 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 5280
转载 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 1629 3
原创 Oracle ORA-00904:“xxx”:invalid identifier 标识符无效
oracle查询语句的时候出现ORA-00904:“xxx”:invalid identifier 标识符无效,百度了好几篇文章看着懵逼,最后自己找出了错误位子,在这里简单的总结一下出现错误原因。简单来说就是where条件后面的查询字段在from的表里面没有这个xxx的字段。...
2021-04-28 10:39:57 1870
原创 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 574
原创 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 879 1
原创 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 5423 1
原创 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 606
原创 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 235 3
转载 oracle创建序列,并插入记录
Oracle序列创建和使用创建序列 语法CREATE SEQUENCE 序列名 [相关参数] 参数说明 INCREMENT BY : 序列变化的步进,负值表示递减。(默认1) START WITH: 序列的初始值 。(默认1) MAXvalue: 序列可生成的最大值。(默认不限制最大值,NOMAXVALUE) MINVALUE: 序列可生成的最小值。(默认不限制最小值,NOMINVALUE) CYCLE: 用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:...
2021-03-15 12:54:43 519 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 9876 3
原创 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 2886
原创 将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 1729
原创 获取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 9676
转载 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 221
转载 一篇文章彻底理解Redis持久化:RDB和AOF
为什么需要持久化?Redis对数据的操作都是基于内存的,当遇到了进程退出、服务器宕机等意外情况,如果没有持久化机制,那么Redis中的数据将会丢失无法恢复。有了持久化机制,Redis在下次重启时可以利用之前持久化的文件进行数据恢复。理解和掌握Redis的持久机制,对于Redis的日常开发和运维都有很大帮助,也是在大厂面试经常被问到的知识点。Redis支持的两种持久化机制:RDB:把当前数据生成快照保存在硬盘上。 AOF:记录每次对数据的操作到硬盘上。接下来,我们详细了解一下这两种持久化机制。
2021-02-24 11:38:34 605
原创 Springboot全局捕获异常
以往的ssm架构来说,我们需要在service层定义一个resultMap,如果发成异常去put异常的code和msg信息,没有异常就返回成功的code和msg,然后Controller层去接收resultMap。现在Springboot出来后我们就可以大大的简化异常处理。只因有这个注解:@ControllerAdvice他来了 他来了 他带着 礼物 走来了 他来了 他来了 他脚踏祥云进来了从此我们的代码处理异常随着他来了变得如此丝滑~首先我们去写一个code和msg的实体类
2021-02-04 14:32:44 448 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 1663 1
原创 mybatis.xml传入list参数sql用in接收
代码开发中经常遇到这种需求,在这里记录一下,加深印象。首先我们在Mapper接口代码里要写传递的list参数名称和xml的参数名称对应然后我们在xml里面要去接收到list,sql语句关键字in后面去循环list,拼接sql。...
2021-02-01 10:43:56 2986
原创 java的spring boot版本企业微信接入与自动回复消息
1、准备工作我们需要把我们自己的服务通过内网映射工具映射出去让外网能够访问到我们的服务。具体可参考我的这一篇文章:
2021-01-29 14:46:04 3938 10
原创 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 1283 5
原创 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 11066
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人