技术分享
文章平均质量分 64
JohnGene
从事Java软件开发
展开
-
MySQL 批量修改表的列名为小写
【代码】MySQL 批量修改表的列名为小写。原创 2023-11-09 16:50:18 · 309 阅读 · 0 评论 -
SpringBoot使用Freemarker导出word模板(OpenXML)
在线 XML 格式化 | 菜鸟工具 (runoob.com)原创 2023-04-12 09:24:58 · 2303 阅读 · 6 评论 -
Oracle数据表ID自增操作
序列名称、触发器名称、表名、字段名等都得带引号,否则会自动被Orale转化成大写,因为Oracle大小写敏感会导致找不到。原创 2022-12-07 15:18:24 · 8688 阅读 · 0 评论 -
Centos7挂载磁盘(笔记)
命令: fdisk -l(磁盘分为sda、sdb、sdc)假设sdb未被挂载命令:fdisk /dev/sdb一次输入:n->p->1->回车->回车->wn:添加一个分区p:主分区两个回车指是开始和结束的磁盘扇区大小;w:写入磁盘命令:fdisk -l命令:mkfs.xfs -f /dev/sdb1 (可以使用其他格式命令:mkfs.ext2 mkfs.ext3 mkfs.ext4 -f代表覆盖格式化)新建文件夹/opt1:mkdir /opt1挂载命令【将sdb1挂载到opt1文原创 2022-12-03 17:14:02 · 3324 阅读 · 0 评论 -
进制转换【二进制、八进制、十进制、十六进制】
在采用进位计数的数字系统中,如果只用r个基本符号表示数值,则其称为r进制,r称为该数制的基数(Radix)。计算机中常用的进位数制有二进制、八进制、十进制、十六进制。原创 2022-08-16 15:47:29 · 2074 阅读 · 0 评论 -
Docker构建jar包镜像并运行容器
开发工作中有需求将打的jar包传到Docker镜像中用容器运行,参考这里直接几步搞定!原创 2022-08-03 18:14:56 · 1565 阅读 · 2 评论 -
Java导出导入Excel方法
Java代码导出导入Excel方法原创 2022-07-18 11:12:42 · 752 阅读 · 0 评论 -
Windows编译Nginx源码
支持rtmp的nginx版本nginx-1.7.11.3 Gryphon无法支持http2,无奈只能自己编译源码构建一个自己需要的版本,生成nginx.exe后才如愿把ssl http2加入到配置里面去...原创 2022-06-15 22:41:33 · 1419 阅读 · 0 评论 -
Nginx搭建视频流媒体服务(直播&点播)
流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放——百度百科。........................原创 2022-06-14 21:44:34 · 10028 阅读 · 4 评论 -
Mysql小技巧
mysql技巧--生成随机的手机号码 、查询表结构及字段备注、脚本代码原创 2022-06-09 09:43:38 · 1297 阅读 · 0 评论 -
写一个Centos启动jar包的脚本start.sh
jar包名称myservice.jar注:日志使用SpringBoot自带的logback日志,所以需要创建logs/info.log(根据logback-spring.xml配置来创建的)#!/bin/bashNAME='myservice'echo $NAMEPID=`ps -ef | grep "$NAME" | grep java | grep -v grep | awk '{print $2}'`echo "当前进程号为:$PID"echo "---------------"原创 2022-05-26 14:47:57 · 766 阅读 · 0 评论 -
FRP服务端和客户端的基本配置
1、frps[common]bind_addr = 0.0.0.0#绑定端口(默认7000)bind_port = 10000#配置http端口(默认80)vhost_http_port = 8080#配置tokentoken = 1234562、frpc[common]#服务器的IP地址或者域名server_addr = 1.2.3.4server_port = 10000token=123456#注册一个PC1电脑,作为被访问者提供其他电脑访问[PC1]ty原创 2022-04-20 11:51:51 · 747 阅读 · 0 评论 -
Win10注册.bat或.exe成为系统服务(NSSM)
1、下载NSSM:链接: https://pan.baidu.com/s/1pkmSW8FEUS2w2Zie-BrKjw 提取码: t5u3或者官网下载:http://www.nssm.cc/download2、解压后打开win32或win643、直接在地址栏中输入cmd打开黑色框后直接会自动进入目录或者使用win+R输入cmd后打开黑色框,用cd命令进入该目录4、输入nssm install 服务名称5、在Path中选择bat文件或者exe文件后点击Install serv原创 2022-04-20 11:34:39 · 2634 阅读 · 0 评论 -
CentOS7 修改Swap大小
有时在使用centos的时候,发现内存不太够用,于是想到给系统价格Swap来缓解一下内存问题,先查看free -m 发现Swap根本没开,内存也快用完了,于是.....【注:如已存在Swap附上关闭方法】关闭Swap:sudo swapoff /var/swapfile开通1024M的Swap:dd if=/dev/zero of=/var/swapfile bs=1M count=1024重新指定Swap文件:mkswap /var/swapfile重新打开Swap文件:原创 2022-03-29 11:31:45 · 1172 阅读 · 0 评论 -
log4j2日志输出分组分片
介绍目的:实现SpringBoot+log4j2的日志分片操作。问题:大多数项目启动方式是:nohup java -Xms512m -Xmx512m -Dspring.profiles.active=test -jar xxx.jar --SERVER_NAME=$NAME >> log.log &缺点是只能通过tail -f 命令实时查看,而无法打开超过100M的日志文件,或者说打开的非常慢,这时候就需要将日志按照大小或者时间段进行分割存储。原来的nohub日志可原创 2022-01-29 14:41:32 · 1763 阅读 · 0 评论 -
Maven配置解读
1. settings.xml的作用它是用来设置Maven参数的配置文件。并且,settings.xml是Maven的全局配置文件。settings.xml中包含类似本地仓库、远程仓库和联网使用的代理信息等配置。2. maven/conf/settings.xml & 用户目录/.m2/settings.xmlMaven目录的conf中的settings.xml和用户目录的.m2子目录下面的settings.xml的同时存在的时候,用户目录下面的settings.xml中的定义会覆盖Ma原创 2022-01-24 10:55:06 · 1571 阅读 · 0 评论 -
Mybatis-Plus缓存
Mybatis-Plus是一个Mybatis框架的增强插件,根据官方描述,MP只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑.并且只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间.代码生成,分页,性能分析等功能一应俱全,3.X系列官方建议在service使用缓存,但是Service一般不用它,而是直接用@Cacheable, Mybatis-Plus缓存有一级缓存、二级缓存。原创 2022-01-21 14:52:52 · 10151 阅读 · 5 评论 -
正则表达式-JavaScript
创建一个正则表达式你可以使用以下两种方法构建一个正则表达式:使用一个正则表达式字面量,其由包含在斜杠之间的模式组成,如下所示:var re = /ab+c/;脚本加载后,正则表达式字面量就会被编译。当正则表达式保持不变时,使用此方法可获得更好的性能。或者调用RegExp对象的构造函数,如下所示:var re = new RegExp("ab+c");在脚本运行过程中,用构造函数创建的正则表达式会被编译。如果正则表达式将会改变,或者它将会从用户输入等来源中动态地产生,就需要使用构造原创 2022-01-12 10:29:34 · 355 阅读 · 0 评论 -
Kafka简单集群搭建
四台机器:os1、os2、os3、os4注:需要提前准备zookeepercd /opttar -zxvf kafka_2.13-3.0.0.tgzmv kafka_2.13-3.0.0 kafkacd kafkamkdir logs修改config/server.properties#broker.id每个机器不一样,且只能是int类型broker.id=1log.dirs=/opt/kafka/logszookeeper.connect=os1:2181,os2:218原创 2022-01-12 13:46:52 · 197 阅读 · 0 评论 -
Zookeeper简单集群搭建与操作
官网:https://zookeeper.apache.org/下载方式1、从Documentation中选一个版本2、选择Getting Started菜单中的Download3、任意选择一个版本下载即可集群安装准备四台机器:分别配置/etc/hosts192.168.31.111 os1192.168.31.112 os2192.168.31.113 os3192.168.31.114 os4上传到服务器后解压并分别加入身份证id#创建目录mk原创 2022-01-12 13:47:20 · 111 阅读 · 0 评论 -
Nginx正则匹配规则
序号 符号 说明 普通常见规则匹配 1 ^ 匹配字符串的开始位置 2 $ 匹配字符串的结束位置 3 .* .匹配任意字符,*匹配数量0到正无穷 4 \. 斜杠用来转义,\.匹配 . (点) 5 (值1|值2|值3|值4) 或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp 6 i 不区分大小写 正则表达式匹配 7 ~ 为区分大小写匹配 ..原创 2022-01-12 13:47:38 · 1609 阅读 · 0 评论 -
Vue构建项目
很久没摸Vue了,更新了很多东西。Vue官网:https://v3.cn.vuejs.org/Vue-cli官网:https://cli.vuejs.org/zh/在这里记录一下:安装Vue2.x脚手架npminstall-gvue-cli卸载Vue2.x脚手架npm uninstallvue-cli-g安装Vue3.x+脚手架npminstall-g@vue/cli卸载Vue3.x+脚手架npmuninstall@vue/cli-gV...原创 2022-01-12 13:48:16 · 93 阅读 · 0 评论 -
Centos之Cron表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素分别如下:① 秒(0-59)② 分钟(0-59)③ 小时(0-23)④ 日(月的第几天)(0-31,但是你需要考虑你月的天数)⑤ 月(0-11)⑥ 周(星期几)(1-7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)⑦ 年份(1970-2099)说明:每个元素可以是1.一个具体的值(如6)2.一个连续区间(9-12)3.一个间隔时间(0/5)(表示从0开始每隔5,写到哪个元原创 2022-01-12 13:49:00 · 547 阅读 · 0 评论 -
Centos7安装Nginx
先安装依赖:(PCRE 作用是让 Nginx 支持 Rewrite 功能)yum -y install make zlib zlib-devel gcc gcc-c++ libtool openssl openssl-devel pcre pcre-devel下载源码包:cd /optwget http://nginx.org/download/nginx-1.9.9.tar.gz解压:tar -zxvf nginx-1.9.9.tar.gzcd nginx-1.9.9配置...原创 2022-01-12 13:48:45 · 499 阅读 · 0 评论 -
Cento7安装Redis5.0.7(一键安装脚本)
单机模式-主从复制-哨兵模式安装依赖:cd /optyum install -y gcc下载源码包:wget http://download.redis.io/releases/redis-5.0.7.tar.gz解压: tar -zxvf redis-5.0.7.tar.gz编译:make安装到指定目录:make install PREFIX=/usr/local/redis从源码中复制配置文件cp /opt/redis-5.0.7/redis.conf ...原创 2022-01-13 09:03:47 · 1154 阅读 · 0 评论 -
Centos7安装Mysql8.0.27
下载rpm包:cd /optwget http://repo.mysql.com/mysql80-community-release-el7.rpm安装:rpm -Uvh mysql80-community-release-el7.rpmyum install -y mysql-community-server初始化:mysqld --initialize授权:chown mysql:mysql /var/lib/mysql -R启动:systemctl star原创 2022-01-12 13:50:02 · 656 阅读 · 0 评论 -
Centos7升级内核
查看内核版本uname -runame -acat /etc/redhat-release更新yum源仓库yum -y update启用ELRepo 仓库ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等..原创 2022-01-12 13:48:31 · 316 阅读 · 0 评论 -
Centos7操作Docker
安装Docker安装Docker官方源:yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo更新源:yum makecache fast安装:yum install docker-ce启动并设为开机自启:systemctl enable docker #设为开机自启systemctl start docker #开启dockersystemc...原创 2022-01-12 13:48:02 · 447 阅读 · 0 评论 -
组网[ZeroTier]+自建Moon服务
ZeroTier几个专用名词·PLANET 行星服务器,Zerotier 根服务器·MOON 卫星服务器,用户自建的私有根服务器,起到代理加速的作用·LEAF 网络客户端,就是每台连接到网络节点。搭建组网1、官网注册个账号:ZeroTier Central2、新建个NetWork3、下载客户端并安装 Download – ZeroTier4、Windows系统屏幕右下角出现黄色小图标,右击Join Network,填入网站中新建的NetWork ID,Linux系统直接...原创 2022-01-11 10:56:52 · 5290 阅读 · 0 评论 -
SQL语句性能优化策略
优化策略转自大牛:SimpleWu,SQL语句性能优化 - 日落西风又在吹 - 博客园本文会提到52 条 SQL 语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在WHERE子句中对字段进行NULL值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在WHERE子句中使用 != 或 <>...转载 2022-01-13 09:10:00 · 105 阅读 · 0 评论 -
Vue全家桶
1、框架1、VueJS - JavaScript框架官网简介:Vue (读音 /vjuː/,类似于view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。官网地址:Vue.js2、iView - PC端后台框架iView是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品。从2019 年 10 月起正式更名为 View U..原创 2022-01-11 10:56:29 · 948 阅读 · 0 评论 -
视频图片音乐音效工具等素材网汇总
推荐网址优设网(免费工具、字体、图片等):优设导航 - 学设计从这里开始!地图选择器(精确的地图模型下载):http://datav.aliyun.com/tools/atlas/#&lat=31.769817845138945&lng=104.29901249999999&zoom=4格式工厂(转化视频图片格式免费工具):格式工厂 官方主页 - 免费多功能的多媒体文件转换工具桌面尺子:http://8dx.pc6.com/xjq6/DianNaoPingMuChi.原创 2022-01-11 10:55:48 · 394 阅读 · 0 评论 -
Java开发微信支付实践
前提条件1、认证的微信公众号和微信小程序号(http://mp.weixin.qq.com/)2、微信商户号(http://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F)3、带有公网ip的VPS 【端口映射用】,也可以使用其他方式映射4、解析到公网ip的域名(公众号里面用到JS接口安全域名和网页授权域名)5、映射知识参考这里:利用VPS服务器搭建一个FRP内网穿透服务和Web服务穿透开发工具:微信开发者工具、I.原创 2022-01-11 10:55:22 · 6250 阅读 · 2 评论 -
Java归并排序原理
1.原理原数组:先分组第一次分组第二次分组第三次依次类推,直到每一个部分就只有一个元素……再归并分到一定细度的时候,每一个部分就只有一个元素了,那么我们此时不用排序,对他们进行一次简单的归并就好了:即: 3,6 4,1 5,7 2,8这个例子用的数组个数是双数,对于数组个数是单数的情况,则第一次分组就以右侧比左侧多一个或者左侧比右侧多一个的方式。即int left=n/2; int right=n-left;(n代...原创 2022-01-11 10:54:26 · 145 阅读 · 0 评论 -
Java插入排序原理
1.原理将一个记录插入到已排好序的序列中,从而得到一个新的有序序列(将序列的第一个数据看成是一个有序的子序列,然后从第二个记录逐个向该有序的子序列进行有序的插入,直至整个序列有序)2.Java代码import java.util.Arrays;/* * 插入排序 */public class InsertSort { public static void main(String[] args) { int arr[] = {2,1,5,...原创 2022-01-11 10:54:50 · 388 阅读 · 0 评论 -
Java快速排序原理
1.原理1.先从数列中取出一个数作为基准数2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边3.再对左右区间重复第二步,直到各区间只有一个数下面举例来进行说明,主要有三个参数,i为区间的开始地址,j为区间的结束地址,X为当前的开始的值原创 2022-01-11 10:54:10 · 427 阅读 · 0 评论 -
Java冒泡排序原理
1.原理1.比较相邻的元素,如果前一个比后一个大,交换之。2.第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移动到最后一位。3.第二趟将第二大的数移动至倒数第二位……4.因此需要n-1趟参考动图:2.Java代码import java.util.Arrays;/* * 冒泡排序 */public class BubbleSort { public static void...原创 2022-01-11 10:54:38 · 977 阅读 · 0 评论 -
JS对Float型数字加减乘除bug
问题0.3*23=6.9用JS算了一个结果为:6.8999999999999995怎么会这样,两个只有一位小数的数字相乘,怎么可能多出这么小数点出来。比如:24*0.6 JavaScript算出来就是:14.399999999999999原创 2022-01-11 10:53:49 · 565 阅读 · 0 评论 -
Intellj Idea中在提交代码时如何忽略iml文件
1.Settings→Editor→File Types2.在下方的忽略文件和目录(Ignore files and folders)中添加自己需要过滤的内容,末尾添加内容,如:*.iml。*.classpath;*.gitgnore;*.hprof;*.idea;*.iml;*.project;*.pyc;*.pyo;*.rbc;*.settings;*.yarb;*~;.DS_Store;.git;.gitignore;.hg;.svn;CVS;__pycache__;_s...原创 2022-01-11 10:53:23 · 4522 阅读 · 0 评论 -
在CentOS系统中增、删交换分区
Swap介绍:Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。Swap即:交换分区,类似于Windows的虚拟内存,但物理内存不足时,把部分硬盘空间当成虚拟内存使用,从而解决了物理内存容量不足。原创 2022-01-10 15:08:46 · 2230 阅读 · 0 评论