- 博客(238)
- 资源 (25)
- 收藏
- 关注
原创 Thumbnails图片压缩处理工具
Thumbnails是google公司开源的图片压缩、处理的工具,可以对图片按大小或比例缩放、旋转、加水印、裁剪等。1、pom.xml引入 <!--图片压缩工具--> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.12<...
2020-12-21 23:41:48
36
原创 POI批量导入导出excel数据的工具封装
POI批量导入导出excel数据的工具封装一、工具类封装1、pom.xml中引入依赖 <!--poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency>
2020-12-21 23:15:42
47
原创 阿里云服务器数据云盘挂载
阿里云服务器数据云盘挂载fdisk -l ,发现有一块新的磁盘 /dev/vdb 没有被格式化挂载使用。fdisk /dev/vdb #开始进行分区操作, 接着按m 查看命令帮助按n开始新加分区,再按p 创建主分区输入扇区编号,默认1,直接回车即可输入起始扇区,默认大小2048,直接回车即可输入输入分配的分区空间大小,直接回车表示分配全部可用空间完成了按p,可查看分区结果最后按w,将修改写入分区表,保存退出。cd /devls -l | grep vdb #查...
2020-11-15 08:43:27
81
原创 springboot中自己封装jedisUtil
除了springboot官方提供的redis-starter连接池,有时候我们还需要连接另外一个独立的redis连接池,用来做一些特殊的中心化存储 。(如:用户的统一token信息)下面笔者介绍下,springboot中如果自己封装jedisUtil ,操作redis.1、pom.xml中引入<dependency> <groupId>redis.clients</groupId> <artifactId>jedis&l.
2020-11-15 08:25:38
174
原创 自己封装权限表达式(类似于shiro)用作鉴权
shiro是个不错的权限框架,其中笔者比较感兴趣的是shiro的权限表达式 。有时候我们并不想引入整个shiro框架(显得比较臃肿),而只想使用其中的权限表达式做权限判断。shiro的权限表达式,例如:user ( 等价于 user:*) 表示对user资源有全部操作权限user:add 表示对user资源有add的操作权限user:update 表示对user资源有update的操作权限user:delete 表示对user资源有delete的操作群星*:select 表示对所...
2020-11-04 23:22:49
101
原创 centos7安装vsfptd
Centos7安装vsftpd1、查看系统之前是否安装了vsftpdrpm -qa | grep vsftpd2、 yum安装vsftpdyum install vsftpd3、修改vsftpd配置文件cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #备份一个vi /etc/vsftpd/vsftpd.conf 修改以下内容:anonymous_enable=NO #禁止匿名账户登录chroo...
2020-10-10 22:20:30
131
1
原创 springboot中集成fastDFS
springboot中集成fastDFS分布式文件存储系统1、pom.xml中引入<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version> </dependency>2、ap...
2020-10-08 19:25:42
134
原创 centos7中安装fastDFS
centos7中安装fastDFSfastDFS是一款开源的分布式文件系统,由阿里巴巴工程师happyfish100在2008年提交开源。fastDFS架构图:更多介绍 ,请查阅官网https://github.com/happyfish100/fastdfs.git一、nginx的tar.gz源码安装yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel op...
2020-10-08 19:20:59
76
原创 springboot中整合JWT Token
springboot中整合JWT Token1、pom.xml中引入<!--jwt token--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version></dependency>2、application.yml中配置
2020-10-08 19:13:44
165
1
原创 centos7中安装mysql8
centos7安装mysql81、下载包官网下载https://dev.mysql.com/downloads/mysql/选择oracle linux7 x86_64 ,下载包:mysql-8.0.21-el7-x86_64.tar.gz2、卸载原mariadb软件包rpm -qa | grep mariadbrpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps #rpm卸载mariadb包3、创建mysql用户groupa...
2020-09-29 20:55:38
113
原创 JVM中i++和++i
问:如下java代码,最后a、b的值分别是多少?public class Demo3_2 { public static void main(String[] args) { int a=10; int b = a++ + ++a + a--; System.out.println(a);//? System.out.println(b);//? }}一些有经验的开发人员,可能立马就能得出答案: a最后的..
2020-09-17 07:25:34
142
原创 jvm内存结构基础
JVM内存结构程序计数器、虚拟机栈、本地方法栈、堆、方法区一、程序计数器(Program Counter Register) 程序计数器(pc register)是一块较小的空间(物理上采用cpu的寄存器实现),它可以看作当前线程所执行的字节码的行号指示器。在虚拟机的概览模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 由于java虚拟机的多线程是抢占式(获取cpu时间片)执行的,在任何一个确定的时刻,一个处理器(对于多核处理...
2020-09-12 00:26:40
117
原创 springboot中整合dubbo2.6(dubbo+hessian双协议支持)
springboot中整合dubbo2.6(dubbo+hessian双协议支持)dubbo官网 :http://dubbo.apache.org/en-us/dubbo文档:http://dubbo.apache.org/zh-cn/docs/user/new-features-in-a-glance.htmldubbo 目前的计划,维护两大版本:2.6.x和2.7.x 。2.6.x 主要以 bugfix 和少量 enhancements 为主,因此能完全保证稳定性。2.7.x..
2020-09-11 20:44:56
198
1
原创 springboot中使用logback将日志写入到ELK平台
ELK是由elasticsearch 、logstash、kibana三个单词的首字母组成elasticsearch:一款优秀的开源分布式搜索引擎系统logstash:开源的日志分析、过滤、收集工具kibana: ES的图形化用户界面这三款产品都是 ES家族的产物,官网:https://www.elastic.cospringboot中使用logback将日志写入到ELK平台1、pom.xml配置<!--集成 logstash 日志--> ...
2020-09-05 17:30:41
511
原创 springboot中logback日志文件异步写入
logback中的ch.qos.logback.classic.AsyncAppender通过阻塞队列方式,异步写入日志logback-spring.xml配置<?xml version="1.0" encoding="UTF-8"?> <configuration> <!--指定property属性变量--> <property name="log.path" value="/logs/logdemo"/> <!-- 日.
2020-09-05 17:25:16
244
原创 centos中安装ES6.8、ik分词器、eshead、kibana
一、安装ElasticSearch-6.8.101、解压安装tar -zxvf elasticsearch-6.8.10tar.gz #解压mv elasticsearch-6.8.10 elasticsearch #重命名mv elasticsearch /usr/local/ #移动目录2、修改ES配置文件cd /usr/local/elasticsearchcd configvi elasticsearch.yml #修改配置cluster.name: myE...
2020-09-05 13:49:53
131
原创 springboot中动态切换日志输出级别
springboot中动态切换log日志级别 (依靠actuator监控组件)1、pom.xml配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.1.7.RELEASE</version&..
2020-09-04 00:19:31
132
原创 springboot中集成logback日志配置
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。使用logback,需要引入依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId&g...
2020-09-03 23:23:18
1683
原创 springboot中集成druid的SQL监控
springboot中集成druid,并开启sql监控、weburl请求监控功能。1、pom.xml配置!-- jdbc starter引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>.
2020-09-03 23:15:03
62
原创 springboot2.x中使用hikariCP连接池
在springboot2.x,默认采用的是hikari连接池,相比druid,hikari具有更高的性能。springboot2.x中如何使用hikari连接池1、pom.xml中配置<!-- jdbc starter引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...
2020-09-03 23:10:22
212
原创 高并发下如何高效获取机器当前时间戳
高并发场景下System.currentTimeMillis()的性能问题的优化System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右)System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出时,线程自动回收思路:使用一个单例 SystemClock对象,对象中开启一个后台线程,每隔一毫秒更新一次clock时间.import java.util.
2020-08-31 21:28:24
327
原创 snowflake雪花算法生成唯一id
snowflake是Twitter开源的分布式ID生成算法snowflake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点),最后12位是毫秒内的计数(12位的计数顺序号支持每个节.
2020-08-31 21:23:43
56
原创 springboot中整合rocketmq
rocketmq是阿里开源的一款优秀消息中间件 (后捐献给了apache软件基金会),具有低延迟,高性能和可靠性,万亿级容量和灵活的可伸缩性。github项目地址:https://github.com/apache/rocketmq/官网地址:http://rocketmq.apache.org/项目中使用mq的应用场景1、将项目中方法的同步调用改为异步消息通知2、使用消息通知机制来使程序解耦合3、对于高并发请求,使用mq中间件将数据进行缓冲、暂存再交给低并发处理能力的程序进行处理
2020-08-26 16:34:37
239
原创 centos7中安装rocketmq
centos中安装rocketmq(相关资源下载:rocketmq-all-4.6.1-bin-release.zip链接:https://pan.baidu.com/s/1pGn8q1t-Hyvp_7zDAknVrQ提取码:kw65rocketmq-console-ng-1.0.0.jar链接:https://pan.baidu.com/s/1OrLF-9vU_SQMFgUqJ9_ffg提取码:o8ai)1、从官网rocketmq的二进制安装包 h...
2020-08-26 16:27:08
71
原创 数据结构:二叉查找树的api设计及其java代码实现
关于二叉树的一些基本概念二叉树:二叉树就是度不超过2的树(每个结点最多有两个子结点)满二叉树:一个二叉树,如果每一层的结点数都达到最大值,则这个二叉树就是满二叉树完全二叉树:叶结点只能出现在最下层和此下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树,即如果树不满则要求左满右不满,是为完全二叉树我们分析了二叉树结点的特性后,不难设计出二叉树的结点类 。 private class Node { private K key;//键 .
2020-08-09 07:35:30
110
原创 数据结构:顺序表、链表及其java代码实现
本篇我们介绍下数据结构中的顺序表、链表的基础概念,以及它们各自的java代码实现。一、顺序表1.1 什么是顺序表顺序表和链表都是属于线性表。顺序表,顾名思义所有元素物理上都是顺序存储,类似于数组。1.2 顺序表的api设计 (基于数组)类名:SequenceList构造方法:SequenceList(int capacity)//指定容量成员方法: public void clear(); 置空顺序表 public boolean isEmpty(); 判断表是否为空...
2020-08-09 06:43:47
117
原创 springboot中整合rabbitmq(direct队列和topic队列)
springboot中集成rabbitmq (direct队列、topic队列)direct队列,最简单的一种模式(也最常用),一边收一边发,直接通过路由key来接收。topic队列,使用发布/订阅模式,一个发布者可以对应多个订阅者。1、pom.xml中引入amp的依赖<!--引入mq 依赖--> <dependency> <groupId>org.springframework.boot</groupId&...
2020-08-08 22:45:36
123
原创 栈和队列的api设计及代码实现
栈和队列都是数据结构中最常见的结构,本篇我们使用java代码的方式实现栈和队列这两种数据结构。一、栈1、栈的特点栈的特点是先入后出,这是因为栈的存取数据入口只有一个(用一个头指针实现)。故先入栈的元素放入栈底部,后入栈的元素放到栈顶部。向栈中存入一个元素的操作叫做压栈(push),从栈顶中取出一个元素的操作叫做弹栈(pop)。2、栈的api设计类名:Stack<T> (物理上基于链表)构造方法: Stack()成员方法:public void push(T t) 向
2020-06-27 13:39:47
130
原创 希尔排序、快速排序、归并排序、堆排序
1、希尔排序package com.tingcream.alg.sort; /** * 希尔排序 : 分组+插入排序 */public class Shell { /** * 1、对整个数组按步长h进行分组 * h的值初始值可这样得出 * int h=1; * while(h<a.length/2){ * h=2*h+1; * } * 2、对每个分组进...
2020-06-27 12:01:34
142
原创 算法分析和常见的排序算法
算法分析:研究算法的最终目的就是如何花更少的时间,如何使用更少的内存去完成相同的需求。有关算法时间耗时分析,我们称之为时间复杂度分析,有关算法的空间耗时分析,我们称之为算法的空间复杂度分析算法的时间复杂度分析事情分析法1、算法采用的策略和方案2、编译产生的代码质量3、问题出入的规模4、机器的执行指令速度由此可见,抛开这些与硬件、软件有关的因素,一个程序的运行时间取决于算法和问题输入的规模。如果算法固定了,那么该算法执行的时间就只和问题输入的规模有关了。场景的算法时间复杂度函数:.
2020-06-27 11:06:24
92
原创 centos中添加磁盘、创建分区并挂载分区到目录
centos磁盘分区与挂载 :Tip:准备一个干净的centos虚拟机来做实验1、在VM机中手动添加一块scsi磁盘(10G)注:linux系统中,一般地,第一块磁盘名称为sda、第二块磁盘为sdb,如果添加了磁盘后 ls /dev/sdb显示不出来,则需要重启下系统2、创建两个数据目录,作为挂载目录mkdir /data1mkdir /data23、检查是否有新磁盘出现...
2020-04-26 17:38:36
646
原创 k8s集群中安装redis、mysql(使用helm)
k8s集群中安装redis、mysql(使用helm),两个简单的案例。1、k8s中安装redis服务 (4.0.8-r2)mkdir redisworkcd redisworkhelm search redishelm fetch stable/redis --version 1.1.15 #下载redis-1.1.15.tgz包到当前目录tar -...
2020-04-21 22:41:33
684
原创 k8s中安装nfs-client作为默认StorageClass
Kubernetes集群管理员通过提供不同的存储类,可以满足用户不同的服务质量级别、备份策略和任意策略要求的存储需求。动态存储卷供应使用StorageClass进行实现,其允许存储卷按需被创建。如果没有动态存储供应,Kubernetes集群的管理员将不得不通过手工的方式类创建新的存储卷。通过动态存储卷,Kubernetes将能够按照用户的需要,自动创建其需要的存储。比如,我们可能会在kuber...
2020-04-20 21:49:47
689
原创 vue的使用(安装vue-cli脚手架)
vue官方中文文档:https://cn.vuejs.org/v2/guide/1、安装vue-cli 脚手架工具cnpm install -g vue-cli@2.9.6vue -V #查看安装的版本2、初始化vue工程初始化一个基于webpack的vue的demo工程vue init webpack demo如果安装npm依赖较慢,可以ctrl+c终止掉,使用...
2020-04-19 13:04:02
86
原创 rancher中创建项目、名称空间、部署第一个pod(nginx)
rancher官方文档:https://docs.rancher.cn/rancher2x/quick-start.html注意:以下所有操作都是在mycluster集群中1、创建项目,名称例如:fc2、创建名称空间,例如:fc-ns3、找到mycluster中fc项目,部署第一个工作负载nginx,注意选择工作负载所在名称空间为:fc-ns4、部署...
2020-04-19 11:18:35
1431
原创 容器管理平台rancher的搭建
容器管理平台rancher的搭建:Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes...
2020-04-19 11:12:18
243
原创 vue中整合bootstrap、layer弹框、axios跨域请求
vue项目中整合bootstrap、layer弹框、axios跨域请求1、初始化vue项目vue init webpack vue_layer2、安装jquery依赖cnpm install jquery@3.2.1 --save3、安装axios和qs依赖cnpm install axios --savecnpm install qs --save4、安装vue-laye...
2020-04-16 22:13:47
144
原创 vue中整合bootstrap
vue整合bootstrap过程1、初始化项目vue init webpack vue_bootstrap2、main.js中引入jquery,bootstrap的css和jsimport './bootstrap-3.3.7/dist/jquery.min.js';import './bootstrap-3.3.7/dist/css/bootstrap.css';im...
2020-04-14 21:10:43
273
原创 vue中路由的简单使用
vue中路由(vue-router)的使用router.js中配置路由规则,项目中所有的路由规则通常都统一配置到同一个文件中,习惯将这个文件命名为router.js,router.js内容如下:import Vue from 'vue'import Router from 'vue-router'import Home from '../components/Home.v...
2020-04-13 22:10:06
81
原创 k8s中安装helm
k8s中安装helm步骤 (在master节点上)1、下载helm.tar.gz包wget https://storage.googleapis.com/kubernetes-helm/helm-v2.14.3-linux-amd64.tar.gz2、解压安装tar -zxvf helm-v2.14.1-linux-amd64.tar.gzcd linux-amd64cp he...
2020-02-21 12:56:35
1609
正则表达式工具(java版)
2015-09-14
captureScreen.jar
2020-04-13
支付宝RSA加解密工具
2015-11-29
java简易聊天程序
2016-10-07
hessian-4.0.38.jar
2017-03-24
JEncrypt.jar--java文件加解密图形化工具(3des)
2018-12-11
mybatis图形化代码生成器(纯手写)
2016-11-04
坦克大战2.8
2015-10-05
正则表达式工具3(java版)
2015-10-01
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝