自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

踏雪江南的博客

相互学习相互探讨

  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 个人linux 命令总结

以下命令是在自己在工作中用到的linux 汇总1跨服务器复制1.1 从 本地 复制到 远程(都是Linux系统时)scp -r local_file remote_username@remote_ip:remote_folder1.2 从远程复制到本地scp -r remote_username@remote_ip:remote_folder2. 查看关键字上下多少行并高亮显示cat filename | grep -C lineNumber --color=auto 'keyWord'

2021-01-30 14:45:42 2254 6

原创 【无标题】Delayed延迟队列不工作

项目中使用java 自带的延迟队列Delayed,只有添加进队列的消息,并没有被消费到。上一个消费队列出现异常并且没有捕获,下一个队列就没有进行消费。写TestController 测试正常的添加进入延迟队列。在take中捕获Exception ,可以继续消费。

2023-10-08 20:02:15 307 2

原创 springboot项目配置文件加密

springboot 加密配置文件

2023-02-13 21:18:09 4351

原创 fastjson2.0.0 JSONObject.parseObject导致jvm宕机

fastjson2.0.0 parseObject导致jvm宕机

2023-01-08 22:35:29 1657

原创 将第三方私有jar包存放在项目中

将私有jar包放在项目代码中

2022-12-04 17:54:53 389

原创 图片压缩工具

图片压缩工具

2022-10-17 21:04:00 127

原创 java坐标系直接转化工具类

坐标系转化

2022-10-17 20:46:22 241

原创 java 实现pdf 转word去除水印和去除页数限制

pdf转word

2022-10-14 17:48:31 1145 1

原创 linux 配置sudo用户

linux添加sudo 用户

2022-01-13 18:40:06 1495

原创 linux服务器根目录容量满了,但是其他磁盘仍有内存

1项目背景:服务经常宕机,服务经常假死。原因分析:根目录磁盘下空间不够2.解决方案1.停掉服务器2.查看磁盘占用情况3.将大文件移动到大容量的目录下4.建立软连接至原来的目录3.命令及截图1 现状截图通过截图我们可以看见root目录下的文件已经被占用完了。很多命令执行需要空间来执行。同时我们发现 /data01目录其实空间利用率不够只利用了32%2.解决方案:可以换一台高内存的服务器,但是那个是治标不治本。建议使用方法,查看根目录下的磁盘。有用的东西迁移至大的磁盘上去,无用

2021-11-03 20:02:55 3607

原创 datax 自定义钩子实现类

文章背景:项目中使用datax 作为交换中间件,发现统计有异常,发现datax 统计异常,查看datax源码 发现datax 提供一个钩子函数 this.invokeHooks();涉及技术点spijava 调用datax 实现步骤1.实现hook接口package com.bonc.hamal.swapnode.datax;import com.alibaba.datax.common.spi.Hook;import com.alibaba.datax.common.util.Co

2021-07-28 15:43:54 817 3

原创 java spi机制初探

一、什么是SPISPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。我们先通过一个很简单的例子来看下它是怎么用的。二、SPI示例一个接口 两个不同的实现类 通过配置获取不同的实现类package com.bonc;/** * @author * @date

2021-07-17 16:30:58 140 2

原创 安装docker 迁移imager并启动

docker 迁移应用业务背景:迁移步骤:1.在宿主机中安装docker1.1 检查是否已经安装了docker1.2 如果安装 则跳过 没有则执行2.启动docker3.将源docker image文件存储3.1 查找需要复制的应用的image3.2 将image 导出为压缩文件4跨网传输image 存储文件5.宿主机load image存储文件6.启动image业务背景:应用部署到docker中需要迁移到另外一台机器中。迁移步骤:1.在宿主机中安装docker1.1 检查是否已经安装了docke

2021-07-06 17:53:23 230

转载 Spring Boot 注解原理,自动装配原理

https://mp.weixin.qq.com/s/KklNK0RuA0dY1yolsseUrA

2021-04-28 16:59:49 91

转载 SpringCloud概览

1.什么是springcloudSpring Cloud 作为 Java 言的微服务框架,它依赖于 Spring Boot ,有快速开发、持续交付和容易部署等特点。Spring Cloud 的组件非常多,涉及微服务的方方面面,井在开源社区 Spring、Netflix Pivotal 两大公司的推动下越来越完善。Spring Cloud是一系列组件的有机集合。2.springcloud 架构图3. springcloud 组件和起组件的作用3.1 EurekaNetflix Eureka 是

2021-04-25 19:53:54 79

原创 gradle环境配置及仓库配置

1.什么是gradleGradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写2.gradle有哪些功能gradle对多工程的构建支持很出色,工程依赖是gradle的第一功能。gradle支持局部构建。支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirsgradle

2021-04-17 18:30:12 7286

原创 linux mysql 启动失败问题问题汇总

1. 背景介绍mysql 启动不了2. 解决问题思路2.1 查看配置文件linux的mysql 默认配置文件位置在/etc/my.cnf2.2 查看错误日志的文件## 2.3 打印错误日志tail -200f /var/log/mysqld.log3.具体问题解决方案3.1 Can’t start server: can’t check PID filepath: No such file or directory3.1.1 问题原因pid文件夹不存在,丢失3.1.2 解决方案

2021-04-07 19:41:27 1146

原创 springboot 瘦身优化技巧

1 背景介绍随着Spring Boot的流行,大家体验到只需构建输出一个jar文件,然后只需一个java -jar命令就能部署运行应用的爽快。常见一些单体应用随着项目规模的扩展单个jar文件的大小越来越大,动辄两三百MB。如果再引入微服务架构,动辄一二十个微服务,所有模块jar加起来整个系统光部署文件就一两个GB。一个系统一旦上线运行,无论新需求迭代还是Bug修复,免不了需要做部署更新,尤其对于一些交付类型项目,首次部署或异地更新, 动不动就需要传输几百MB或几个GB的部署文件,确实是一个让人头疼的问题

2021-04-01 19:58:37 291 2

原创 maven本地仓库有jar包却无法引用和导入

1现象: maven本地仓库有jar包却无法引用和导入2 原因_remote.repositories 的缓存问题3 解决方案3.1.打开本地仓库目录3.2 在右上角输入 _remote.repositories 进行搜索3.3 将搜素后的结果删除3.4 刷新maven 即可解决问题...

2021-03-28 23:10:36 13563 2

原创 如何判断领导的行为风格

序言在职场中,和领导相处是一门十分有艺术的课程。你只有根据领导的喜好,和他相处,才能在职场中发挥出自己的价值。有的人会遇到一个相处起来特别开心的领导,有的人则遇到一个恶魔般的领导。其实领导本身并没有好坏之分,只是他们的行为风格和你的行为风格是否相匹配。匹配了就可以一起很好的合作。不匹配则会让人有做恶梦的感觉1.D类领导有一种领导雷厉风行,做事要求速度和效率,不关心细节,也很少关注员工的情绪。小明每次汇报工作的时候,都试图仔仔细细,认认真真的将所有的工作内容汇报给领导。但是每次领导都不听他说完,总是表现出

2021-03-21 22:28:42 499 2

原创 swagger-ui升级为knife的过程记录

1.什么是knife4jknife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍! 官方网址入口knife4j码云地址,knife4j的git地址2.knife4j的优点简洁基于左右菜单式的布局方式,是更符合国人的操作习惯吧.文档更清晰…个性化配置个性化配置项,支持接口地址、接口descript

2021-03-14 19:14:34 597 2

原创 java中级面试要求

01.前言最近在负责本部门的java实习生,应届毕业生,初中级java的面试工作。面试了十几个,觉得很多人存在各种各样的问题。下面作为一个面试官大概的说一下自己的一些看法 本篇仅从中级生来说明02.面试前2.1 约定好时间其实只要在本部门招聘名额招完之前,之前大部分时间都可以商量着来。所以约定好自己合适的时间就可以。合适的时间指:自己做好面试的准备了。具体指:提前准备好了一些面试要点 具体看2.2线上面试通话质量可以得到保证线下面试保证自己着装得体,不要求西装革履2.2面试前的准备2.

2021-03-06 18:40:34 900

原创 java实习生/应届毕业生面试大纲

01.前言最近在负责本部门的java实习生,应届毕业生,初中级java的面试工作。面试了十几个,觉得很多人存在各种各样的问题。下面作为一个面试官大概的说一下自己的一些看法 本篇仅从实习生和应届毕业生来说明02.面试前2.1 约定好时间其实只要在本部门招聘名额招完之前,之前大部分时间都可以商量着来。所以约定好自己合适的时间就可以。合适的时间指:自己做好面试的准备了。具体指:提前准备好了一些面试要点 具体看2.2线上面试通话质量可以得到保证线下面试保证自己着装得体,不要求西装革履2.2面试

2021-02-27 17:55:10 568

原创 java 新人的学习路线

1. 为什么写这篇博客作为牛年的第一篇博客,我不想分享具体某个技术细节点,但是又想写点什么。而且去年带了一个刚毕业的徒弟,和一个来实习的大学生。他们有时候不知道该如何持续的学习,我也在思考了一段时间才有写这篇博客的念头2.这篇博客的适合人群已经掌握了java基础,并且能进行curd的java 从业者。 一切的基础都是先完成手头的工作。3.学习路线在完成自己的工作后有多余的时间研究一下其他方面的知识点,来完善自己3.1 linuxlinux 这个系统是完全与java 无关的独立技术。我们很

2021-02-21 15:41:21 220

原创 学习的方法

作为牛年的第一篇博客我觉得应该写的干货,而不是讲具体的知识点。1 基础理论知识要理解透基础的理论,哪怕再枯燥也得硬着头皮学,而且还得理解透。最好是能结合场景给人讲明白2.循序渐进的学习学习是进阶式的,不是跳跃式的。不要基础不懂,又要想着搞提高的,没用的,到时候时间浪费了,学无所成3 多动手动手比动口要多一点,光说不操作假把式;思考比提问要多一点,不动脑思考永远学不会;笔记比记忆要多一点,好记性不如烂笔头4、建立自己的知识体系库如何建立自己的知识体系呢,从以下这几个角度出发4.1 为

2021-02-14 23:04:07 136

原创 Java配置日志切面

什么是切面面向切面编程(Aspect-oriented Programming 简称AOPAOP) ,是相对面向对象编程(Object-oriented Programming 简称OOP)的框架,作为OOP的一种功能补充. OOP主要的模块单元是类(class)。而AOP则是切面(aspect)。切面会将诸如事务管理这样跨越多个类型和对象的关注点模块化(在AOP的语义中,这类关注点被称为横切关注点(crosscutting))切面能干什么事务管理、权限控制、缓存控制、日志打印使用切面的好处集中

2021-02-06 15:49:13 1909 2

原创 nginx配置https模块

1.问题复现配置https时出现nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_modul2.问题原因nginx 缺少https模块执行./nginx -V从上述nginx 版本信息中能查看到缺少https模块3.解决问题3.1 找到nginx下的包含configure目录find / -name 'configure' | grep nginx3.2 进入到上面查询到的目录cd /home/hhdev/nginx-

2021-01-23 12:01:43 508 1

原创 centos 安装python3 并运行简单的py代码

安装python1.更新yum源 必须使用root用户yum update -y2.安装Python 3.5 所需的依赖否则安装后没有pip3包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make3.下载源码进行编译3.1 下载3.5.10源码进行编译wget https://www.python.or

2021-01-19 20:12:02 1310

原创 linux 服务器每天自动备份mysql数据库

1.为什么要备份数据库我们可以利用备份的数据库数据来还原数据。对于线上的数据库可以迁移到测试数据库中2.备份数据库的方式2.1 按照一定周期备份整体数据库2.2 开启binlog日志记录操作下面着重介绍如何在linux上备份mysql 数据库3.备份数据库3.1 执行df -h 查找一个磁盘容量较大的目录来存储备份文件 从执行结果来看/data 目录还有不少容量3.2 创建备份sql的文件夹cd /data; mkdir mysqlbackup3.3 创建导sql的脚步3.3.

2021-01-16 16:27:39 220

原创 spring框架入门之使用maven搭建spring框架

spring框架简介Spring 使创建 Java 企业应用程序变得更加容易。它提供了在企业环境中接受 Java 语言所需的一切,,并支持 Groovy 和 Kotlin 作为 JVM 上的替代语言,并可根据应用程序的需要灵活地创建多种体系结构。 从 Spring Framework 5.0 开始,Spring 需要 JDK 8(Java SE 8+),并且已经为 JDK 9 提供了现成的支持。Spring支持各种应用场景, 在大型企业中, 应用程序通常需要运行很长时间,而且必须运行在 jdk 和应用服

2021-01-10 23:07:14 833

原创 datax 通用的关系数据库读写插件

快速介绍组成介绍读写插件由RDBMSWriter和RDBMSReader两部分组成实现功能实现关系型数据库的读写实现原理RDBMSReader通过JDBC连接器连接到远程的RDBMS数据库,并根据用户配置的信息生成查询SELECT SQL语句并发送到远程RDBMS数据库,并将该SQL执行返回结果使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游RDBMSWriter处理。RDBMSWriter 插件实现了写入数据到 RDBMS 主库的目的表的功能。在底层实现上, RDBMSWrit

2021-01-03 16:43:30 2077

原创 java调用使用datax

#简介DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。使用说明1下载源码从git上拉取datax代码下载到本地 dataxgit地址\2本地将代码编译cd {DataX_source_code_home}mvn -U clean package ass

2020-12-23 00:37:42 2986 5

原创 使用idea解决maven依赖冲突

前言:我们进行用maven 开发组件的时候,经常会遇到一种情况,我们添加一些maven依赖后,经常会出现本地原本正常的代码编译不过去下面我们就将这种问题的解决思路和解决方案逐步讲解记录报错的那几个类将刚才添加的maven依赖都还原找到刚才报错的类的jar包的版本号 例如我们的文件fastjson-1.2.58还原刚才加入的maven依赖在刚才编译报错的maven 模块上构建maven依赖体系结果如下图所示6.在构建结果中按ctrl+F7.输入报错的jar包的名字8.选中

2020-12-19 20:29:31 2532 2

原创 nacos动态切换数据源

在上一篇博客中介绍到可以使用nacos作为分布式配置中心,在这边博客中将介绍nacos 实现数据源的热更新 1.准备工作:在两个不同的数据库中执行同样的建表语句,并且插入不同的数据 库1中执行下面的语句DROP TABLE IF EXISTS `actor`;CREATE TABLE `actor` ( `id` INT ( 11 ) NOT NULL, `name` VARCHAR ( 45 ) DEFAULT NULL, `update_time` datetime DEFAULT .

2020-12-13 18:43:50 3020 4

原创 springcloud Alibaba--nacos作为服务注册中心

在上一篇博客中介绍了nacos作为分配配置中心传送门。本篇将nacos作为服务注册中进行介绍前提条件是你可以连上nacos服务。操作步骤建nacos官方入门手册服务发现1.添加maven依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery&l

2020-12-06 13:58:33 653 1

原创 从阿里云上申请ssl证书,配置https

Linux服务器http升级成为https的详细过程第一:为什么要配置https1.1 https是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。1.2 微信小程序中业务域名必须是https第二:配置前提2.1你有一个对应的域名xxx.xxx.com.cn2.2 域名对应的公网ip地址 xxx.xxx.xxx.xxx.开了80和443端口2.3 Nginx配置了https 模块 如果没有,请nginx配置https模块传送门第三:配置过程3.1.申

2020-11-28 13:51:50 3004 2

原创 分布式配置中心nacos配置入门

分布式配置中心nacos配置入门nacos作为配置中心可以实现不停机更新系统中的配置文件.- 关于 **Mermaid** 语法,参考 [这儿][3],## FLowchart流程图我们依旧会支持flowchart的流程图:```mermaidflowchatst=>start: 开始e=>end: 结束op=>operation: 我的操作cond=>condition: 确认?st->op->condcond(yes)->eco

2020-11-28 13:02:21 294

原创 java修改第三方源码方法

修改源码的业务场景在java代码编写的时候,引入各种开发现成的开发包。由于源码中出现各种不满足我们当前业务的逻辑,但是我们并不想整体架构进行变更,这个时候就可以通过修改源码来实现修改部分功能来实现代码的修改。修改源码方法:找到报错的核心的类找到class类反编译为java文件并修改报错的地方在工程中创建为相同全类名的java文件将错误的地方改为自己想改的内容运行项目举例说明我们项目中用到了阿里开源的datax插件来进行数据交换,mysqlwrite 只要求insert权限即可但是我

2020-11-14 16:24:42 2200

原创 mysql 5.7索引优化之Explain工具介绍

Explain工具介绍 mysql5.7 explain官方文档使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈.在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中初始化数据示例表:DROP TABLE IF EXISTS `actor`; CREATE TABLE `actor` ( `i

2020-11-01 22:32:02 303

原创 通过arthas 反编译线上包内的class文件

前景:java开发人员经常会怀疑自己线上代码和本地代码不一致。以前常用做法是把包拉下来,逐级打开自己的包内位置,然后进行反编译。总体而言太过于繁琐。现在推荐一款非常实用的软件arthasarthas代码地址。arthas安装方法:一.获取arthas包wget https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.1.4/arthas-packaging-3.1.4-bin.zip二安

2020-10-30 16:07:52 12246 1

图解DataX执行流程.pdf

datax执行流程,比较详细的解读datax的扭转过程.相关的githup地址https://github.com/alibaba/DataX

2020-08-17

交通部808,809文件.rar

交通部808,809官方文档. 用于车辆定位,位置信息交换.搭建车辆监控系统

2020-06-20

00-JVM指令手册.pdf

JVM指令手册.java代码经过javap-v可以查看java指令,配合指令手册可以查看详细操作过程

2020-06-20

java 主平台jt809报文解析.doc

交通部809协议解析,开发语言版本为java版本.本次代码作为上级平台开发,主要是接入下级平台车辆定位数据

2020-05-10

空空如也

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

TA关注的人

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