渐进式的成长
qq_21875331
软件开发
展开
-
使用Java8中Stream流轻松遍历树型结构
使用Java8中Stream流轻松遍历树型结构原创 2023-08-07 22:41:48 · 553 阅读 · 1 评论 -
Docker安装InfluxDB(1.8)以及SpringBoot整合使用
Docker安装InfluxDB(1.8)以及SpringBoot整合使用原创 2023-03-12 17:14:29 · 3722 阅读 · 2 评论 -
Effective Java学习记录
Effective Java学习记录原创 2023-02-25 23:12:57 · 364 阅读 · 0 评论 -
SpringIOC流程以及Mybatis架构
SpringIOC流程以及Mybatis架构原创 2022-12-27 16:48:25 · 480 阅读 · 4 评论 -
Centos7采用docker安装nacos2.x
docker安装nacos2.x原创 2022-06-21 17:36:45 · 557 阅读 · 0 评论 -
Http网路请求工具类
Http网络请求工具类原创 2022-06-09 15:48:48 · 326 阅读 · 0 评论 -
日期工具记录
根据输入日期统计周四到周三日期集合原创 2022-05-18 12:21:01 · 123 阅读 · 0 评论 -
stream流式操作
/** * 创建流 */ public static void createStream() { // 方式一:使用集合创建流 List<String> list = Arrays.asList("a","b","c"); // 创建一个顺序流 Stream<String> stream = list.stream(); // 创建一个并行流,数据和顺序无关 .原创 2022-05-05 21:10:01 · 408 阅读 · 0 评论 -
Centos7手动安装配置MongoDB
1、MongoDB官网下载安装包,并安装#上传安装包解压到安装目录tar -zxvf mongodb-linux-x86_64-rhel70-4.4.1.tgz -C /usr/local# 进入到安装目录cd /usr/local#修改安装文件夹名称为mongodbmv mongodb-linux-x86_64-rhel70-4.4.1 mongodb 2、创建必须文件夹# 创建存放数据的目录mkdir -p /usr/local/mongodb/data/db# 创建存放日志的目原创 2021-05-23 11:05:51 · 274 阅读 · 0 评论 -
记一次运算符间的小趣事
网上偶然看到一个这样的题目int i = 1;int j = ++i + i++ + ++i + ++i + i++;请问j最后等于多少?当时题目上说不用java编辑器运行,自己运算下,然后复制到编辑器运行看结果是否一致,出于好奇心,就自己算了下,然后和编辑器运行给的结果不一致,发现自己对于++这个运算符理解的还是不透彻分析根据结果分析 ++i 和 i++ 在参与运算时都是分为两步走的,一步时+号的运算本身,另外一部分是i++本身,自己运算结果错误的原因在于,++i + i++ 这一步,自己把原创 2021-03-22 10:55:24 · 96 阅读 · 0 评论 -
密码正则验证:大小写字母、数字、特殊字符至少8位
正则表达式:密码必须包含大写字母 、数字、 特殊字符(四种里至少三种,且至少8位)写法一:/((^(?=.*[a-z])(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[a-z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\da-zA-Z\W]{8,}$))/原创 2021-01-24 19:21:02 · 23868 阅读 · 1 评论 -
WSL基本使用配置
前提相信很多同学已经体验了wsl的强大,能让win电脑上少装一个虚拟机软件,但是原生的wsl操作窗口复制粘贴很不方便,对于使用习惯ssh的人来说用原生的确实有些难受,故需要配置下使用ssh进行连接操作。具体操作1、首先是卸载重装一遍ssh服务(不知道是不是自带ssh服务的问题)sudo apt-get remove openssh-serversudo apt-get install openssh-server2、编辑ssh_config,修改如下配置sudo vi /etc/ssh/ss原创 2020-12-11 15:24:14 · 1389 阅读 · 0 评论 -
Process的waitFor死锁问题以及解决方案
Process的waitFor死锁问题以及解决方案原创 2020-12-10 19:02:00 · 4207 阅读 · 3 评论 -
使用jconsole连接服务器
开启JConsole远程连接指令说明-Djava.rmi.server.hostname=127.0.0.1 #远程服务器ip,即本机ip-Dcom.sun.management.jmxremote #允许JMX远程调用-Dcom.sun.management.jmxremote.port=6969#自定义jmx 端口号(外部用)-Dcom.sun.management.jmxremote.ssl=false # 是否需要ssl 安全连接方式-Dcom.sun.management.jmxremo原创 2020-12-09 22:21:57 · 183 阅读 · 0 评论 -
抽象类和接口使用场景
1、抽象类有以下几个特性:1、抽象方法必须为public、protected(若为private,则不能给子类继承,子类无法实现该方法,所以无意义),缺省时为public;2、抽象类不能直接用来创建对象,必须由子类继承并实现其父类方法才能创建对象;3、抽象类可以继承抽象类,子类必须复制继承父类的抽象方法;4、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。2、接口特性1、接口可以包含变量,成员变量会被隐式地指定为public static final变量(并且只原创 2020-09-10 14:41:43 · 1421 阅读 · 0 评论 -
Springboot和Swagger使用入参显示踩的坑
1、使用实体作为入参,实体内存在List实体参数,参数显示不全的坑入参类型:@Data@ApiModel("测试参数")public class TestAo { @ApiModelProperty(value = "id", required = true, example = "1001") private String id; @ApiModelProperty(value = "请求具体参数", required = true) private List&原创 2020-09-02 10:00:20 · 2612 阅读 · 0 评论 -
URI和URL傻傻分不清
1、名词解释URI:Universal Resource Identifier 统一资源标志符URL:Universal Resource Locator 统一资源定位符URN:Universal Resource Name 统一资源名称虽然有了名词解释,但是脑袋里还是不知道具体的区分。看下关系区分图:URL 和 URN 都是 URI 的子集。也就是说如果一个东西是 URL 或者 URN ,那么它一定也是URI2、举例URI:http://www.sina.com.cnadmin@qq原创 2020-07-26 16:54:59 · 140 阅读 · 0 评论 -
浅析为什么开发中阿里禁用Select *查询
1、低效率原因首先看下阿里开发手册中关于Mysql的描述:4 - 1. 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明:增加查询分析器解析成本。增减字段容易与 resultMap 配置不一致。无用字段增加网络 消耗,尤其是 text 类型的字段。开发手册中比较概括的提到了几点原因,具体分析:对于无用的大字段,如 varchar、blob、text,会增加 io 操作准确说,字符字节长度超过 728 字节的时候,数据库会先把超出的数据序列化到另外原创 2020-07-01 22:38:57 · 703 阅读 · 0 评论 -
前后端分离,nginx负载配置
user root;#放开把nobody修改为rootworker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}http {include mime.types;default_ty原创 2020-06-29 11:54:16 · 254 阅读 · 0 评论 -
23种设计模式之适配器模式之学习
1、适配器模式使用场景手机想要投影到投影仪上,由于手机是Type-c接口,投影仪是VGA接口。不能直接投影,需要一个适配器,将视频信号从Type-c口转到VGA口,最后才能输出到大屏幕上。适配器的作用就是好比转换头一样的作用,将类转换成需要的类。2、适配器的三种类型实现一个适配器,适配器实现方式分三类:(1)、类的适配器模式(2)、对象的适配器模式(3)、接口的适配器模式3、适配器具体实现方式3.1 定义一个手机,它有typec,是视频源/** * @Description: 定义一个手原创 2020-06-13 16:31:43 · 215 阅读 · 0 评论 -
SVN上代码分支主干代码相互合并
1、代码从主干合并到分支首先更新下主干代码,避免合并的时候主干代码不全,不能把代码全部合并到分支上在/branches /project上右键,依次选择”TortoiseSVN” -> “Merge…”(合并),在弹出的窗口中选择第一项”Merge a range of revision”(汉化版:合并一个版本范围),这个类型的Merge适用于将某个分支或主线上提交的多个revision间的变化合并到另外一个分支上。点击next(下一步),进行下一步这里的”URL to merge f原创 2020-06-11 09:19:16 · 1362 阅读 · 0 评论 -
github上快速搜索合适项目技巧
实际工作中往往需要从github上找一些开源项目,进行使用和学习,下面是一些搜索项目的技巧1、从name中搜索,比如要根据name搜索spring boot的项目,可在输入框输入in name spring boot //根据名称搜索项目spring boot stars:>3000 forks:>10 //包含spring boot 并且star数大于3000,forks数大于10的项目2、在readme中搜索in readme spring boot3、在描述中搜..原创 2020-06-09 21:39:21 · 199 阅读 · 0 评论 -
线程池ThreadPoolExecutor的使用Demo
由于阿里开发手册提出禁用Executor创建线程池,主要原因是容易引起OOM,推荐使用ThreadPoolExecutor,自己手动创建线程池,根据实际情况设置核心线程数,防止OOMpublic class ThreadTest { /** * ThreadPoolExecutor使用 */ public static void main(String[] args) throws InterruptedException, IOException {原创 2020-05-18 18:17:20 · 468 阅读 · 0 评论 -
动态加载类的两种方式
一、需要一个辅助Student类public class Student { static{ System.out.println("静态代码块执行了"); } public void outAge(Integer num){ System.out.println(num+"有参方法执行了~~~~~~~~~~"); } public void outName(){ System.out.println("无参原创 2020-05-18 16:48:33 · 798 阅读 · 0 评论 -
OpenJdk环境使用EasyExcel导出excel报java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion()
记录一次在OpenJdk上使用EasyExcel错误的坑,开发的时候本地使用的是非OpenJdk环境,进行导出Excel文件执行一切顺利,代码完成后把代码部署到测试环境上就出现了问题,测试环境使用的是OpenJdk,具体报错信息如下:ERROR [,] org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler : java.lang.NullPointerException: null at sun.awt.F原创 2020-05-12 17:25:48 · 4382 阅读 · 0 评论 -
npm 设置网络代理以及淘宝镜像
设置npm网络代理(含用户名/密码)npm config set proxy http://username:password@server:portnpm config set https-proxy http://username:password@server:port设置npm网络代理(不含用户名/密码)npm config set proxy http://@serve...原创 2020-04-29 19:15:20 · 1594 阅读 · 0 评论 -
mybatis xml 中使用<if>标签判断字符相等方式
mybatis sql映射文件中,if标签判断字符相等两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串name变量是否是字符串jack的时候,可以使用下面两种方式:方式一:<if test="name=='jack'.toString()"></if>方式二: <if test ='name== "jack"...原创 2020-03-22 10:13:48 · 3554 阅读 · 0 评论 -
Linux环境下下载安装Nacos
nacos 的官方地址:https://nacos.io/zh-cn/index.html下载linux版本nacosnacos 安装把下载好的包上传到linux服务器:解压文件:进入解压文件的bin目录下nacos/bin启动nacos[root@localhost bin]# sh startup.sh -m standalone访问:浏览器输...原创 2020-03-07 11:13:02 · 1896 阅读 · 0 评论 -
Centos7离线安装MariaDB-10.3.21
一、卸载1、卸载linux上已安装的mysql或者mariadb数据库查看已安装mysql: rpm -qa|grep -i mysql 开始卸载:rpm -ev mysql-community-common-5.7.26-1.el7.x86_64 –nodeps执行结果如上图,其余包卸载同样这样操作删除其他相关文件或者文件夹查看相关文...原创 2019-12-29 14:03:34 · 4116 阅读 · 2 评论 -
VSCode配置vue开发环境
1、官网https://code.visualstudio.com/Download下载最新版下载zip,为免安装版本,直接解压即可,然后进入解压文件夹,点击Code.exe 双击即可运行。2、安装vue所需插件(1)、打开软件,使用快捷键,Shift+Ctrl+p 安装中文插件,选择Configure Display language,然后选择Install additi...原创 2019-12-10 10:07:40 · 8038 阅读 · 1 评论 -
Java对象值传递还是对象传递
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是「按值传递」还是「按引用传递」? 答:是按值传递。Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。public class Tes...原创 2019-10-14 16:02:13 · 446 阅读 · 0 评论 -
Centos7 安装nginx-1.9.9教程
安装所需环境Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用CentOS7 作为安装环境。# rpm -qa|grep gcc一. gcc 安装安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:yum install gcc-c++二. PCR...原创 2019-10-08 15:44:11 · 2140 阅读 · 0 评论 -
本地不安装Oracle,使用PLSQL远程连接Oracle数据库
本地不安装Oracle,使用PLSQL远程连接Oracle数据库一、首先安装好PLSQL客户端 二、在Oracle官网下载,远程连接需要的工具文件, 我这里用的是instantclient-basic-windows.x64-11.2.0.4.0.zip,可以根据自己需要下载相应的版...原创 2018-09-28 21:47:45 · 14354 阅读 · 7 评论 -
Jms消息中间件ActiveMQ简单实用(java)
JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS对象模型包含如下几个要素: 1)连接工厂。连接工厂(ConnectionFactor...原创 2018-08-12 18:51:50 · 321 阅读 · 0 评论 -
centos6.4 安装postgresql9.2.4教程
centos6.4 安装postgresql9.2.4教程1、登陆Centos使用root用户登陆首先卸载旧版的postgresql:yum remove postgresql*下载postgresql#:wgethttp://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.gz解压:#t...原创 2018-07-12 16:40:39 · 1114 阅读 · 0 评论 -
vue项目启动报错
vue启动报‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序或批处理文件"首先删除node_modules文件夹,然后执行npm install命令,再执行npm run build,最后执行npm run dev命令,观察项目是否启动成功!...原创 2018-06-19 10:17:26 · 2055 阅读 · 0 评论 -
ibatis批量插入和批量更新xml写法
一、insert单条实体动态xml<!-- insert数据SQL--> <insert id="cartype-insert"parameterClass="cartype"> insert into cartype(CarTypeId,CarTypeName,parking_id,Status,Update_time,State,SynID ) ...原创 2018-06-29 20:56:50 · 9744 阅读 · 2 评论 -
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener
Maven web项目启动时报:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoader...原创 2018-06-25 10:02:42 · 127 阅读 · 0 评论 -
创建MAVEN 项目,pom.xml文件报“Plugin execution not covered by lifecycle configuration”
解决“Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-resources-plugin:2.6:resources (execution: default-resources, phase: process-resources)”的问题方式一:打开pom.xml文件添加:...原创 2018-06-22 23:16:31 · 1689 阅读 · 1 评论 -
jsp页面中引用fn函数
jsp中fn函数的用法想要引用fn函数,首先要先引入fn标签,在jsp头部引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions " %>函数的使用方式:例如:${fn:contains(string, substring)}函数描述:fn:contains(string, substring) 如果参数...原创 2018-06-11 15:35:07 · 2027 阅读 · 2 评论