- 博客(51)
- 问答 (2)
- 收藏
- 关注
原创 【Netty源码系列(一)】SpringBoot整合Netty实现多端口绑定
spring boot整合Netty实现多端口绑定,进行TCP、HTTP通信
2022-11-08 17:01:57
4531
1
原创 java实现文件断点续传、秒传
最近领导让做个文件断点续传的功能,解决某些用户因网络问题导致文件上传失败的问题。之前就了解过只是一直没有真正使用,正好借这个机会,学习记录一下。断点续传是什么?老生常谈,不了解的去百度一下,这里不做赘述。...
2022-07-29 17:12:27
1327
转载 【FormData对象使用汇总】
FormData类型是XMLHttpRequest2级定义的,它是为序列化表以及创建与表单格式相同的数据提供便利。1.利用一些键值对来模拟一系列表单控件即将form中的所有表单元素的name和value组装成一个queryString;2.异步上传二进制文件。与普通Ajax相比,使用FormData的最大优点可以异步上传二进制文件。...
2022-07-28 17:17:23
1264
原创 Spring源码学习---Bean对象扫描
SpringBean对象扫描过程,如下图。结合上图的流程和源码,简要分析一下Bean扫描的源码。1 Bean对象的扫描入口// Invoke factory processors registered as beans in the context.// 调用在上下文中注册为 bean 的工厂处理器invokeBeanFactoryPostProcessors(beanFactory);@ComponentScan,提到spring扫描,离不开这个接口,那么它是如何工作的呢?这里就讲到Spr
2022-05-25 22:19:17
575
原创 Kettle下载与安装教程【保姆版】
Kettle简介Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。主要功能Pentaho D
2022-03-19 16:18:45
121649
29
原创 ElasticSearch安装(Windows环境)及基本命令操作
1. ES简介Elasticsearch(简称ES)是一个分布式的搜索和分析引擎,具有分布式、高性能、检索快等特点,内部使用Lucene全文搜索框架进行索引和搜索。ES为所有类型的数据提供实时的搜索和分析,无论是结构化或非结构化文本、数字数据,还是地理空间数据等其他类型数据,ES都可将其存储和索引并支持快速搜索。ES支持弹性扩容。我们可以根据数据和访问量的实际情况,对ES集群规模动态调整。按照官方描述,ES集群规模支持“上百”个节点。Lucene是Java语言编写的一个全文搜索引擎工
2022-03-14 00:40:05
4280
原创 Command line is too long.--bug解决
Command line is too long. Shorten command line for KocaAdminApplication or also for Spring Boot default configuration.
2022-02-28 10:35:14
316
原创 java读取.html文件并获取数据
jar包导入 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.3</version> </dependency>代码实现 String filePath = "D:\\工作文档\\国民经济行
2022-02-21 12:59:56
15550
原创 java实现读取.mdb文件数据
1 背景最近公司要求将Access数据库中导出的.mdb文件数据转储到Sqlserver数据库中,想着用命令去实现,奈何查找相关资料没有什么进展,于是就想着先将.mdb文件中的数据读取出来,再保存到Sqlserver中。2 Access介绍提到.mdb文件就要先说一下Access,它是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。3 代码实现3.1 引入jar包依赖
2021-12-27 11:24:45
6639
8
原创 设计模式之代理模式
基本介绍为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象去访问目标对象,优点:可以在目标对象的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象,创建开销大的对象或需要安全控制的对象。代理模式主要包括三种:静态代理、动态代理(JDK代理、接口代理)和Cglib代理(可以在内存中动态的创建对象,而不需要实现接口,属于动态代理)静态代理静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者继承相同的父类代码实现创
2021-12-06 23:28:13
490
原创 字符串匹配---KMP算法
https://blog.youkuaiyun.com/c99463904/article/details/77622933项目中经常用到字符串模糊匹配,这里就用到了字符串的匹配算法,例如,我们有字符串A=“abcdefg”,B=“cd”,求字符串B在字符串A中的位置,这种子串的定位操作通常称作串的匹配模式。我们把字符串A称为主串,子串B称为模式串。朴素模式匹配算法KMP算法介绍KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫
2021-11-08 23:36:07
3755
原创 java实现从远程Linux服务器下载文件输出到浏览器
方式一:利用文件的url地址建立URL连接,获取文件流,输出到浏览器;但是这种方式无法进行用户名、密码校验,如果远程服务器需要用户登录则无法实现。String urlPath ="http://10.54.22.114:8088/download/resultdir/bufferdir/2021-09-28/bufferDir/xxx.csv"; File file = null; try{ URL url = new URL(urlPath);
2021-11-04 16:11:51
4015
5
原创 bug解决【java.io.IOException: 您的主机中的软件中止了一个已建立的连接。】
https://www.cnblogs.com/poterliu/p/9804822.htmlhttps://blog.youkuaiyun.com/zy_crazy_code/article/details/81038131?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_
2021-10-25 23:42:52
84057
8
原创 springboot项目在静态方法中注入bean对象
方法1:利用set方法。首先声明一个静态属性(redisTemplate);再写一个set方法,并添加Autowired注解,将传入的参数赋值静态属性。当前类要加上注解@Componentprivate static RedisTemplate redisTemplate;@Autowiredpublic void setRedisTemplate(RedisTemplate redisTemplate) { UserUtils.redisTemplate = redisTemplat
2021-09-06 10:20:10
3132
原创 Spring Boot实现参数校验
前言在项目开发中,后端对于传参进行校验不可缺少,如何实现呢?除了在代码里面使用if…else…外,本文列举了三种对不同形式的传参进行校验方式。本文项目是基于spring boot开发,版本是2.3.7,pom文件中要先引入validation’依赖,如下:RequestBody实体对象形式...
2021-07-05 18:06:11
1345
转载 一文读懂Spring Boot启动原理
概述开发过Spring Boot项目的小伙伴都知道spring boot项目搭建简单,一个启动类就能运行起来项目,那么它是如何运行的?通过什么方式去实现自动装配呢,今天就一起看看spring boot启动时都做了哪些事情。如果你已经使用 Spring Boot 很久了,那么你可能知道我们需要在 Application 类或 Main 类中注解相当多的注解才能开始使用,比如说@Configuration,启用基于Java的配置。@ComponentScan 来启用组件扫描。@EnableAutoCo
2021-06-30 17:58:22
1394
原创 java实现本地数据缓存
/**@Classname IECItemCacheUtil@Description 模版条目列表缓存@Date 2021/4/13 16:14@Author lichengshuai*/public class IECItemCacheUtil {private static ConcurrentMap<String, List> IEC_ITEM_DATA = Maps.newConcurrentMap();public static synchronized
2021-05-06 17:21:01
2715
原创 spring boot利用quartz实现定时任务动态配置
https://www.cnblogs.com/zxfei/p/11726717.htmlhttps://blog.youkuaiyun.com/lixiaxin200319/article/details/86599201https://blog.youkuaiyun.com/xcc_2269861428/article/details/99996185?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.bai
2021-03-25 13:39:31
1354
1
原创 Mysql 使用通配符(%,_,[ ],[^])进行多条件模糊查询(like,regexp)
(一)SQL通配符:通配符说明%与包含0个或多个字符串匹配_与任意单个字符匹配[ ]与特定范围(例如[a-d]或特定集例如[abcdef])中的任意字符串匹配[^]与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。举例:%:1、查找字段“db_name”中以“Ch”结尾的所有数据。select * from monitor_db_conf WHERE db_name LIKE "%Ch" 2、查找字段“d
2021-03-11 18:41:03
4041
2
原创 数据结构之BTree、B+Tree的含义及区别
1.引言前面学习索引时,了解到MySQL索引的数据类型有B+Tree索引和哈希索引,本文将详细介绍一下BTree和B+Tree的含义和他们的区别。2.BTree2.1 概念B树是一种自平衡树数据结构,它维护有序数据并允许以对数时间进行搜索,顺序访问,插入和删除。B树是二叉搜索树的一般化,因为节点可以有两个以上的子节点。与其他自平衡二进制搜索树不同,B树非常适合读取和写入相对较大的数据块(如光盘)的存储系统。它通常用于数据库和文件系统。定义:B树是一种平衡的多分树,通常我们说m阶的B树,它必须满足
2021-02-28 23:13:57
10384
原创 MySQL索引类型及创建、删除索引
索引概述https://www.jianshu.com/p/f49ee80c4956https://www.jianshu.com/p/d95d6d692e2chttps://blog.youkuaiyun.com/xluren/article/details/32746183https://www.jianshu.com/p/0d6c828d3c70https://www.jianshu.com/p/f588c41f1cb5https://www.jianshu.com/p/f49ee80c4956ht
2021-02-19 18:23:04
183
原创 Java利用Zxing生成二维码及解析二维码内容
前言Java 操作二维码的开源项目很多,如 SwetakeQRCode、BarCode4j、Zxing 等等本篇文章是介绍利用Zxing来生成二维码图片在web网页上展示,同时解析二维码图片。Zxing概述ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing库的主要部分支持以下几个功能:核心代码的使用、适用于J2SE客户端的版本、适用于Android客户端的版本(即BarcodeScanner)、Android的集成(通
2021-02-07 11:52:47
5207
6
转载 分布式任务调度平台XXL-JOB搭建
1、源码下载地址①、GitHub:https://github.com/xuxueli/xxl-job②、码云:https://gitee.com/xuxueli0323/xxl-job2、文档地址①、中文文档:http://www.xuxueli.com/xxl-job/#/②、英文文档:http://www.xuxueli.com/xxl-job/en/#/3、源码结构通过上面给出的源码下载地址,我们将源码clone到IDEA中,如下:4、初始化数据库初始化脚本在上面源码目录的 /
2021-01-12 18:09:54
705
1
原创 Linux编辑文件命令汇总
创建文件命令1.vi + fileName eg: vi demo.txt 这种方式创建后会直接进入当前文件中;2.touch + fileName eg: touch demo2.txt3.cat>>fileName eg: cat>>catDemo.txt 使用cat创建文件时,以系统默认的文件属性作为新文件的属性,并接受键盘输入作为文件的内容,输入结束时按Ctrl+d退出并保存文件,使用 cat + fileName命令查看文件内容。secmanager@g
2021-01-08 10:45:32
11824
原创 WebSocket实践--spring boot实现WebSocket数据发送
什么是WebSocketWebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。简单来说,websocket是类似于http的一种通讯协议,它可以实现浏览器与服务器之间互相发送数据。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个
2020-11-24 18:21:38
1493
转载 java监控Linux磁盘空间的使用情况
jar包引入:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>1.3.2</version></dependency><dependency> <groupId>com.alibaba</groupId&
2020-11-20 18:23:58
1609
原创 springboot项目部署时,配置文件与jar包分离可配置
今天项目部署时,需要将配置文件外置,这样方便后期运维人员进行修改配置项。Springboot读取核心配置文件(application.properties/yml)的优先级:Jar包同级目录的config目录Jar包同级目录classPath(即resources目录)的config目录classpath目录上面是springboot默认去拿自己的核心配置文件的优先级,还有一种最高优先级的方式是项目启动时通过命令的方式指定项目加载核心配置文件,命令如下java –jar -Dspring.co
2020-11-18 18:21:14
2485
原创 JDK1.8之后Stream流操作学习
1.对List进行排序List<Object> sortStringList = new ArrayList<>(); sortStringList.add("F001"); sortStringList.add("F040"); sortStringList.add("F047"); sortStringList.add("F005"); sortStringList.add("F056");
2020-09-27 23:22:29
620
转载 spring boot + jdk1.8实现Excel导入、导出
转载1.jar包导入 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.13</version> </dependency> <dependency>
2020-09-26 20:14:04
648
转载 java解决时区8小时问题
相差8个小时原因spring中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。解决方案1 如果你的项目是 spring-boot在application.properties添加配置 配置spring的时区 这条语句能解决你时间多8个小时问题,若少
2020-09-17 17:27:45
3436
原创 java实现mongoDB高级查询
新开发的项目数据库是使用MongoDB,关于MongoDB的查询网上也有很多,在这里做一个学习、记录,后续会持续更新。欢迎留言交流~1. 多表联合查询SQL实现db.AA_Student.aggregate([ { "$lookup":{ "from":"AA_Score", // 从表表名 "localField":"code", // 查询主表的关联字段 "foreignField":"studentCode",
2020-08-30 12:28:37
1445
原创 java连接mongoDB数据库
大家在工作中经常会使用mongoDB,接下来给大家带来两种Java连接mongoDB数据库的方式,以springboot项目为例。引入jar包<!--mongodb依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb<
2020-07-29 22:31:07
2986
原创 将java程序打jar包并部署到服务器上运行
第一步:java程序打包有两种方式,一种是利用idea的工具打jar包,具体步骤网上有很多,可以自行查找第二种是命令行的方式,mvn clean install -Dmaven.test.skip输入命令后点击回车按钮,如果打包成功则会出现如下页面,图中标注的红线则是jar包的位置。第二步:将jar包放到服务器上,切换到jar包所在的文件夹,运行命令:java -jar test.jar这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务nohup java
2020-07-27 22:17:10
6888
原创 java分别实现SCP、FTP协议进行服务器间文件传输
最近在做一个文件分发功能,将一台服务器上的文件传输到另外的三台服务器,还要求利用SCP协议进行传输,之前都是使用FTP传输,于是特意到网上了解一下。FTP 基于TCP来传输文件,明文传输用户信息和数据。SFTP 基于SSH来加密传输文件,可靠性高,可断点续传。SCP 是基于SSH来加密拷贝文件,但要知道详细目录,不可断点续传。具体参考:文件传输协议1.SCP协议传输利用SCPClient的put()和get()方法,将本地文件上传至服务器和下载服务器文件。代码参照这里根据jar包ganyme
2020-07-26 20:41:23
1333
原创 mysql行转列查询函数group_concat(....)与oracle行转列函数用法
oracle中行转列函数有两种:(1) to_char(wm_concat(…))(2) listagg(…) within group (order by …)WM_CONCAT函数在oracle12c的版本里无法识别,需要更换成 listagg(…) within group(order by…)函数,(1)select user_name,to_char(wm_concat(course)) from WL_SOURCE_T group by user_name(2)select s.use
2020-06-20 20:50:06
1833
原创 java获取文件路径,文件内容等实用操作类
1.获取文件夹下对应后缀的文件路径/*** 获取当前文件夹下所有符合后缀的文件绝对路径/@Overridepublic ArrayList readFilesUnderFolder(String filepath, String suffix) {ArrayList filePathList = new ArrayList();File file = new File(filepat...
2020-02-01 15:24:17
291
转载 Java对象与map相互转化
/** * 将对象装换为map * * @param bean * @return */ public static <T> Map<String, Object> beanToMap(T bean) { Map<String, Object> map = Maps.newHashMap(...
2020-01-08 23:01:41
384
空空如也
PL/SQL连接oracle数据库后,数据正常显示,但是查看字段注释乱码
2022-01-10
java将.mdb文件导入到sqlserver数据库
2021-11-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人