![](/api/file/getImage?fileId=5e8415f216199b501c0071e5) ## 前言 系统环境: `Linux Manjaro 18.1.5` 软件版本: `Apache JMeter 5.2.1` Java版本: `OpenJDK 1.8.0_231` JMeter 下载: [https://jmeter.apache.org/download_jme
![](/api/file/getImage?fileId=5d6f667516199b044f000d59) ## 需求 通过java接口实现简单的linux系统实时监控,希望尽可能不增加系统算力和内存负担的基础上,获取到实时的系统信息,最后方便前端用图表来显示系统情况 ## 代码实现 说明:基本用java和linux原生语法,没用第三方依赖,代码中的唯一依赖的`StringUtils`,
![](/api/file/getImage?fileId=5d5f57b616199b2a52001b8b) ## 背景 建站以来,试过好多方法实现 `sitemap.xml` ,从最早的手动更新,到后来每次更新自动写入本地io文件。一方面感觉太零零散散,另外实时的程度不高,再加上好多ZZ引擎,sitemap的要求还能和别人不一样。。。总之最终决定写个动态的,通过springboot的GET接
![](/api/file/getImage?fileId=5d5f57ab16199b2a52001b8a) ## 前言 话说我刚学java的时候,就爱用新技术,当时jdk 1.8 , mysql 5.6算最新了。一眨眼3~4年了,还在用oracle jdk 1.8 & mysql 5.7。。。 最近打算在服务器上做3个重要的变更 1. 开发环境和生产环境 全部改用jdk 11,其中生产环境用openjdk 11.0.4 2. mysql升级到社区版本8.0.17,其实对Mariadb也挺有好感,但目前还是只作为研究先。 3. 迁移日志表,最近发现日志表放在mysql中频繁写入读取,会严重占用内存。打算的方案1是日志全部写在mongodb,方案2是学nginx全部写日志文件。 补充一下为什么用jdk11不用12,因为jdk 11是长期支持版本,理论上可以支持到java 17为止。用到生产环境可以减少折腾带来的不稳定性。 ## 折腾 windows下如何折腾就不赘述了,说下我另一台linux deepin下如何卸载旧版安装新版 ### Mysql #### 卸载5.7 ```shell # 卸载5.7 sudo apt-get autoremove --purge mysql-server sudo apt-get autoremove mysql-server sudo apt-get remove mysql-common sudo dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P ``` #### 安装8.0 先在这个页面https://dev.mysql.com/downloads/repo/apt/ 下载mysql-apt-config 安装命令 ```shell dpkg -i mysql-apt-config_0.8.13-1_all.deb ``` 后面的选择非常关键了,如果选错容易gg 必须按照系统来,可以停在选择页面去百度下,每个代号是什么意思。总之我是deepin 15.11,对应的选择是deebian的第二个 意思是deebian 9 下一步是 ```shell sudo apt update sudo apt install mysql-server ``` 如果这里出来的内容里有mariadb就废废了,如果是mysql-server-8.0就对了。 选错的解决方法就是彻底卸载mysql-apt-config ```shell dpkg -r mysql-apt-config_0.8.13-1_all.deb dpkg --purge mysql-apt-config_0.8.13-1_all.deb ``` 然后从头再过一遍 ## 填坑 ### navicat连mysql报错 错误信息: `Authentication plugin 'caching_sha2_password'` 参考资料: https://blog.csdn.net/qq_42006661/article/details/84074200 其实这个问题和linux下是一样的,首次安装必须要用命令行登录一次,并且修改一次密码。大致流程就是 ```cmd # 具体路径要根据实际安装情况 cd C:\Program Files\MySQL\MySQL Server 8.0\bin # 账号密码登录 mysql -u root -p # 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '这里输入新密码'; # 退出mysql exit ``` ### 项目启动报时区错误(错误示范,将导致时间快8小时) (写在前面,本条的解决
## 前言 关于RSA原理不多赘述,参考百度百科:https://baike.baidu.com/item/RSA%E7%AE%97%E6%B3%95/263310 本文代码并非远程,参考文章:https://blog.csdn.net/qy20115549/article/details/83105736 在其基础上,修改了base64依赖,改为java8自带的`java.util.Base6
![](/api/file/getImage?fileId=5d527c3e16199b2a52000afd) 、 ## 需求 项目中需要用到一些简单的定时任务,定时执行一些事先写好的java方法 但具体何时执行等,需要做到数据库,实现动态配置 最终选择采用Springboot自带的方案 `@Schedule` 或 `SchedulingConfigurer` 来实现 ## 参考 参考以下文章
![](/api/file/getImage?fileId=5d527c6716199b2a52000b0d) ## 前言 需求: 从零开始部署一台centos服务器,以centos7.4为例。 (先说下,后面的内容需要有一定的linux入门基础,例如如何上传文件到服务器和如何编辑配置文件的部分,不一一赘述,可自由发挥。 另外本文尽可能会采用rpm命令安装二进制安装包方法实现,来降低安装难度
## 需求 java 实现 AES/CBC/PKCS7Padding 加密 解密 由于java原生只支持到PKCS5Padding 需要引入第三方依赖支持 参考:[https://www.cnblogs.com/chen-lhx/p/6233954.html](https://www.cnblogs.com/chen-lhx/p/6233954.html) ## 实现 引入maven ```
![](/api/file/getImage?fileId=5d527c6016199b2a52000b0c) ## 前言 需求是自己搭一套空的后台项目API框架,并完成基本的配置,和基本的数据库表以及自动生成系统,为方便以后开发项目可以快速启动。 ### 基本 springboot 2.1.4 mybatisplus 3.4.0 ### 权限控制 shiro 1.4.0 jwt 3.8
#### 需求 java实现文件zip压缩,方便客户端下载。 方法1 单个或多个文件压缩成压缩包 方法2 整个文件夹按照原路径格式压缩成压缩包 #### 代码 参考:https://www.cnblogs.com/zeng1994/p/7862288.html ```java package com.zzzmh.util; import java.io.File; import java.
    Page 1 of 2