自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oneTreeTallTall

。。。

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 多线程实现Excel批量快速导入

excel有十万条数据,要求快速导入到数据库并且与库中数据做对比处理,所以开启多个线程,每个线程读取一定的条数。Controller层@RequestMapping("/uploadAirportData.dc") public String uploadAirportData(HttpServletRequest request,HttpServletResponse respon...

2019-01-30 13:03:27 7407 10

原创 JAVA生成随机昵称

import java.util.concurrent.ThreadLocalRandom;public class NameUtil { // 头部 private static final String[] headerNameArray = new String[]{"快乐的", "冷静的", "醉熏的", "潇洒的", "糊涂的", "积极的", .

2022-05-18 16:12:33 4455

原创 数据结构-单链表

前言链表使用地方较多,多出源码中均有出现的地方,毕竟链表作为基础数据结构在申请内存时比数组唯一好处就是不用申请连续内存(数组在内存中必须是连续的),因此掌握链表很有必要代码下面以java代码为例 写了个简单的实现package com.chinanums.hh.study.base;/** * 单链表 * node -> node -> node * * @author hh * @since 2021-11-10 * Copyright (C), 2021, */

2021-11-10 16:13:21 750

原创 Linux下Jar包启动停止脚本

#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=rs.jarcd `dirname $0`#使用说明,用来提示输入参数usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]" exit 1}#检查程序是否在运行is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存.

2021-01-28 10:12:54 372 1

原创 spring项目中线程池的使用

配置类(spring对ThreadPoolExecutor的封装)@Configurationpublic class ExecutorConfig { private static final Logger logger = LoggerFactory.getLogger(ExecutorConfig.class); @Bean public ThreadPoolTaskExecutor defaultThreadPool() { //使用自

2021-01-26 10:14:33 512 1

原创 Kafka常用命令

1.kafka启动: ./kafka-server-start.sh ../config/server.properties &2.创建topic: ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic tes3.查看kafka的topic:./kafka-topics.sh --zookeeper master:2181 --list...

2021-01-25 14:26:50 188

原创 实现ApplicationContextAware接口获取在静态方法中获取bean

具体工具类如下注意:此类需要加Component注解需要被Spring扫描到/** * 获取springBean对象 */@Componentpublic class SpringContextUtil implements ApplicationContextAware { // spring上下文 public static ApplicationContext applicationContext; @Override public void.

2021-01-25 14:24:29 554 1

原创 根据子类创建父类泛型中的实体对象(模版方法和策略模式结合)

经常在模版方法中会遇见这种需求,例如父类/** * 解析抽象类 * @param <T> */public abstract class AbstractStrategy<T extends Feature> {// 方法骨架 public final void handleXml(Element element) { // 创建基础对象 T bean = createBean(); // 赋值基础数.

2021-01-25 14:14:47 529

原创 CPU负载过高排查过程

1 top 找出负载过高的进程2 top -H -p 1317 找到对应的线程3 printf “%x\n” 1352 转换为16进制4 jstack 1317|grep 548 -A90 ( jstack 进程号|grep 16进制异常线程号 -A90)

2021-01-25 14:01:31 152

原创 全局异常处理统一接口返回

创建统一返回结果类@Datapublic class Result implements Serializable { private Boolean success; private Integer code; private String msg; private Object data; // 构造器私有 private Result(){} // 通用返回成功 public static Result ok() {

2021-01-25 13:33:41 296

原创 springboot2.4.1自定义拦截器实现接口防刷

实现HandlerInterceptor接口@Componentpublic class BrushProofHandler implements HandlerInterceptor { @Autowired RedisService redisService; private static final String REDIS_KEY = "atm_ep::interface::ip"; @Override public boolean preHan

2021-01-25 13:28:04 361

原创 Java8处理list去重或者排序

ff是一个集合 集合中有重复的对象 现在要对此对象进行去重 且按照FltNum进行排序List<FlightAirline> ff = ff.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(FlightAirline::getFltNum))), ArrayList::new));根据对象..

2020-09-10 15:59:11 1124

原创 TCP/IP协议详解

TCP/IP协议一直困扰着我,特别后悔大学时期没有好好听计算机网络课程,上班之后只能狂补这些基础知识,最近把计算机网络基础知识啃了一遍,下面写出自己最近学习的知识吧。网络协议 TCP/IP翻译成中文就是传输控制协议/因特网互联协议,这个家族里面有很多知名协议例如HTTP,HTTPS,FTP,UDP,ARP等。TCP/IP是当前流行的网络传输协议框架,从严格意义上来说是一个协议族。因为TCP、IP是其中最为核心的协议,所以才把该协议族称为TCP/IP。在计算机网络技术一书中提到过ISO/OSI的七..

2020-06-03 23:17:23 442 1

原创 mongo常用命令操作笔记

1链接mongo 192.168.6.44:27017/test-uroot-p 1234562查看所有库show dbs3查看所有表show tables4运行js文件load("/root/test.js")

2020-03-02 14:35:57 269

原创 JUC编程:生产者消费者问题

1什么是生产者消费者问题举例:有一个盘子,你女朋友洗小番茄,他洗好一个放到盘子里,你从盘子里取拿来塞到自己嘴里,如果她不洗,那你就干巴巴的等着,这是一个很经典的问题,也是面试最经常问的也是最容易面试让手写的问题,接下里我们用传统的synchronized的写法和使用lock的写法进行实现,并且对比两种方式的差异。2使用synchronized实现使用实际工作中常用的方式书写...

2020-02-23 19:22:47 166

原创 线程池源码中retry的理解

线程池执行源码中有retry这个,本以为是关键字,查了一番发现和goto有点类似,这是个用法,用于标记跳出循环的。且这个标记名称可以随便起名字。只需要名字后面加上冒号就行测试:跳出两层循环 public static void main(String[] args) { con: for(int i=0;i<3;i++){ f...

2020-02-21 23:22:00 320 1

原创 JUC编程:线程池的深入

JUC,指的是javautil下concurrent包下面的这些类,通过运用这些类进行并发编程,其中工作中常常了解的就是线程池了1 什么是线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池...

2020-02-20 15:22:01 281

原创 Mysqls索引学习笔记

索引的出现为了查找提高查找速度,顺序查找速度过慢,所以索引的存储方式对与查询有很大的影响1二叉树使用二叉树作为数据结构,相对于数组这种顺序结构是快了很多,利用二叉树的特性右子节点比父节点大,左子节点比父节点小的远离进行查找,但是当索引数据出现顺序值,例如1,2,3,4,5,6这样的情况,就会造成二叉树失去了平衡,造成一侧节点大,所以是不合适的2红黑树红黑树相对比二叉树,就是对...

2019-09-15 18:27:40 282

原创 Excel导入导出以及导出压缩文件

项目中有大量的文件解析和文件导出的功能,所有弄了一堆工具类,总结一下1导出实体类package org.atm.dc.app.entry;import java.io.Serializable;import java.util.List;/** * 导入对象实体 * Created by Administrator on 2019/5/9. */public clas...

2019-09-05 12:45:40 1127

原创 基于JDK1.8的时间工具类

废话没有,看代码package org.atm.dc.app.util;import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.format.DateTimeFormatter;import java.util.Date;/** * 基于...

2019-07-30 19:04:36 423

原创 使用JSONPath快速读取和修改复杂JSON

这里使用的阿里巴巴的fastjson来进行实现先看JSONPath的APIpackage com.alibaba.fastjson;public class JSONPath { // 求值,静态方法 public static Object eval(Object rootObject, String path); // 计算S...

2019-07-25 16:55:55 5775 1

原创 JUC编程:自定义实现有界阻塞队列

最近学习阻塞队列,然后看了各种博文,觉得还是自己看看源码,理解完后自己实现一遍最好1:BlockingQueue继承关系java.util.concurrent 包里的BlockingQueue是一个接口,继承Queue接口,Queue接口继承CollectionBlockingQueue:不接受null元素。试图add、put或offer一个null元素时...

2019-07-18 12:05:21 515

原创 Java红黑树中左旋和右旋的实现

红黑树R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的特性:(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个叶子节点(NIL)是黑色。[注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!](4)如果一个节点是红色的,则它的...

2019-07-03 18:29:07 1150 2

原创 Java实现二叉树

二叉树的定义树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的树。二叉树是一种特殊的树,每个节点最多只能有两个子节点。(如图1.1)二叉搜索树要求:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的...

2019-07-03 12:52:27 27029 12

原创 mybatis大批量数据批量更新高效率解决办法

mybatis批量更新有两种方式1第一种就是普通的循环每条数据进行更新,这种方式最大的问题就是效率问题,逐条更新,每次都会连接数据库,然后更新,再释放连接资源(虽然通过连接池可以将频繁连接数据的效率大大提高,抗不住数据量大),这中损耗在数据量较大的时候便会体现出效率问题。这也是在满足业务需求的时候,通常会使用下面的这种批量更新进行实现(当然这种方式也有数据规模的限制,后面会提到)。2就...

2019-06-28 19:09:48 6687 9

原创 使用DOM4J解析xml

最近项目需要导入大量的xml文件,将xml解析为json对象,为此写了一个工具类应对。maven配置 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6</version&gt...

2019-06-28 18:35:51 175

原创 springboot整合mongodb实现增删改查

引入jar包 <!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artif...

2019-06-23 18:55:20 773 3

原创 springboot+kafka实现简单的消息推送

1springboot中文件配置#kafka服务所在IP 可以是多个,用逗号隔开spring.kafka.bootstrap-servers=192.168.1.26:9092#分组设置 需在本机hosts文件中映射spring.kafka.consumer.group-id=kafka-1spring.kafka.consumer.auto-offset-reset=earlie...

2019-04-19 14:09:07 3585

原创 Linux查询端口占用情况

1 lsof -i 显示所有已被占用端口情况,查询具体端口在后面加上端口号即可base@dcapp:/$ lsof -i:8067COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 5056 base 50u IPv6 43021 0t0 TCP *:8067 (LISTEN)2 netst...

2019-02-13 17:58:28 354

原创 Jenkins构建项目

1 登陆jenkins,选择新建一个maven项目,输入项目名称,选择“构建一个maven项目”(maven项目专用,其他项目选择其他选项),点击OK。2进入配置页面,如下图3 丢弃旧的构建配置,如下图。(这一点及后面的几点,用的已有的项目截图)4 源码管理配置,写上git地址或者svn地址,如下图。5 bulid最主要的就是上面的这段shell执行命令 ,命令...

2018-12-17 16:07:03 264

原创 Map根据value值排序

Map的key是机场名字,value 是流量。根据流量倒序排序/** * 使用 Map按value进行排序 * @param map * @return */ public static Map&lt;String, Integer&gt; sortMapByValue(Map&lt;String, Integer&gt; oriMap) {...

2018-11-30 13:20:39 10924 1

原创 fastjson排序问题

遇见过json对象里面放置了很多值 ,返回给前端的时候,顺序被打乱了,于是乎点开JSONObject源码,发现底层是map, public JSONObject(int initialCapacity, boolean ordered){ if (ordered) { map = new LinkedHashMap<String, Object&...

2018-11-09 17:49:45 1440 3

原创 Java获取屏幕快照生成png图片

代码如下:import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;...

2018-10-15 14:50:31 690

原创 GitLab的搭建详细过程(亲测)

Git的优点和缺点介绍优点 1、适合分布式开发,强调个体2、公共服务器压力和数据量都不会太大3、速度快、灵活4、任意两个开发者之间可以很容易的解决冲突5、离线可以正常提交代码和工作缺点 1、学习周期相对而言比较长2、不符合常规思维3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息1.准备环境Ubuntu16.04 serve...

2018-08-29 19:37:42 22710 1

原创 Mysql使用Blob数据类型存取图片

一般情况下图片的保存在hdfs上,数据库只保存图片的路径,特殊情况采用这个方案。 数据库方面: 实体方面采用byte数组进行存取: private byte[] img;我在本地磁盘放了一张图片,现在进行读取:public String save(){//创建实体DashboardBoard board = new DashboardBoard();...

2018-07-31 17:07:00 13277

原创 注解@RequestParam与@PathVariable的区别

看下这段代码,显示图片的@Controller@RequestMapping(value = "/imgs")public class ImgsController { @Autowired private HdfsFileService hdfsFileService; /** * 显示图片 * @return */ @Re...

2018-06-21 14:09:07 217

原创 读取properties配置文件中属性的值的工具类

自制读取properties配置文件的工具类项目中常用的一些配置的维护,例如redis的ip,数据库ip这些一点是用文件维护起来,方便项目开发时进行调试,为了方便以后使用,就直接封装了一个工具类以便使用,代码如下:/** * 读取properties配置文件中属性的值的工具类 * @author zzx */public class ReadPropertiesUtils {...

2018-05-31 13:35:06 666

原创 利用mina框架进行ssl双向认证链接

再上一篇中我已将创建好了证书,现在开始进行测试创建的证书有没有用,先创建一个maven项目目录结构如下 我们这里是进行的双向测试,如果想进行单项测试,也就是服务器端不验证客户端的身份(关于ssl的原理可以自行百度了解)等会再说,改一个配置就行. 先引入pom文件:&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs...

2018-03-08 16:56:16 2108

原创 利用工具openSSL生成证书

第一次借接触,好多不懂,查阅了各位大神的博客总结了一下,好多博客给的很模糊,哎,无奈,我来整理下吧那就首先下载工具 openSSL,下载好后安装成功后需要配置环境变量,OPENSSL_HOME=安装路径,Path=%OPENSSL_HOME%/bin,这样就配好喽.在安装的openssl的bin目录下面创建以下文件夹和文件: 创建文件夹 /demoCA/, /demoCA/newcerts...

2018-03-08 16:15:35 2011 4

原创 关于MYSQL进行insert操作时,存在则更新不存在则插入的解决办法

在项目开发中经常会遇到数据频发插入操作且需要进行判断,这样会业务层多一次判断的操作,多请求一次数据库,造成性能问题,所以采用以下办法解决了这个令人蓝瘦的问题。。。 这里是一个用户运动记录表,记录用户每天的运动时间,走的路程,消耗的能量和走的步数,前台是定时一分钟向后台发送一次用户的数据,在后天里进行数据保存,数据库中我们只需要根据用户ID和时间来多次更新这些数据就可以保存当前用户一天的数据

2018-01-17 20:19:44 1862

基于jsp的在线考试系统,可组卷,选题,考试

采用jsp技术,可组卷,选题,考试,分为三大模块,可供学习使用

2018-12-14

空空如也

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

TA关注的人

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