- 博客(53)
- 资源 (8)
- 收藏
- 关注
原创 Maven JAR Plugin 插件使用说明
如果打包成不可执行的jar包,只需不配置 mainClass 即可,如果打包成不可执行jar包,都可以不配置maven-jar-plugin插件,maven-jar-plugin 是maven 生命周期 package 阶段的默认打包插件。maven-assembly-plugin: maven 生命周期 package 阶段的默认打包插件,用于将 Maven 项目打包成jar(注意该插件不会将项目中引入的依赖打进最终的 Jar 文件)它可以从本地或远程存储库复制或解压构件到指定位置。
2025-08-18 22:44:46
534
原创 Maven Shade Plugin 插件使用说明
依赖冲突解决:在大型项目中,可能会有多个库包含相同版本的依赖,但由于不同的作用域(compile, provided, runtime 等)或不同的版本,这些依赖可能会冲突。maven-shade-plugin 在创建 uber-jar 时,会尝试解决这些冲突,并生成一个简化后的 POM 文件,该文件只包含实际需要的依赖版本。简化依赖结构:生成的 dependency-reduced-pom.xml 文件只包含最终项目中实际使用的依赖项和它们的版本,这对于确保构建的可重复性和清晰性非常有用。
2025-08-18 22:43:27
931
原创 Maven Assembly Plugin 插件使用说明
大数据项目中往往有很多shell脚本、SQL脚本、.properties及.xml配置项等,采用assembly插件可以让输出的结构清晰而标准化。-- 配置描述符文件 --> < descriptors > < descriptor > src/assembly/assembly.xml </ descriptor > </ descriptors > < archive > < manifest > < mainClass > com.yq.Main </ mainClass > <!
2025-08-18 22:42:30
684
原创 Maven 生命周期和插件
执行一个命令(如 mvn install)会触发一个生命周期(这里是 default),并执行从该生命周期开始直到你指定的阶段(这里是 install)之间的所有阶段。每个阶段执行时,会运行所有绑定到该阶段(及之前阶段)的插件目标。这就是 Maven 构建过程自动化的核心机制。Maven有三个标准生命周期:default、clean和site。每个生命周期包含多个阶段,阶段按顺序执行。当你执行 某个生命周期中的某个阶段(例如 mvn install)时,
2025-08-18 22:40:28
1082
原创 Maven依赖范围
Maven依赖范围(Scope)控制依赖在不同构建阶段的可用性,包括compile(默认)、provided、runtime、test、system和import六种类型。compile适用于全生命周期,test仅用于测试阶段,provided由容器提供,runtime在运行时必需,system依赖本地系统路径,import用于合并依赖配置。依赖传递时,最终范围由依赖链决定。合理使用依赖范围可优化构建过程,避免依赖冲突。
2025-08-17 22:07:47
1136
原创 Maven 依赖原则和依赖冲突
比如当我们项目中,引用了A的依赖,A的依赖通常又会引入B的 Jar 包,B可能还会引入C的 Jar 包。这样,当你在 pom.xml 文件中添加了A的依赖,Maven 会自动的帮你把所有相关的依赖都添加进来。就这样一层层的,Maven 会自动的帮你把所有相关的依赖都添加进来。传递性依赖会给项目引入很多依赖,简化项目依赖管理,但是也会带来问题。最明显的就是容易发生依赖冲突。
2025-07-14 21:50:03
963
原创 Maven 构建命令
这个命令实际上结合了三个 Maven 命令:clean、install 和 -U(更新快照)。作用:列出所有项目依赖,包括传递性依赖,帮助分析依赖冲突。作用:只运行指定的测试类,而不是运行所有测试。作用:构建时跳过单元测试,提高构建速度。
2025-07-13 19:57:05
1137
原创 Maven 安装
打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),阿里的镜像地址原来为http ,现在已经改为https,如果还是用原来的http ,将导致不能下载依赖的源代码。maven 依赖java环境,确保电脑那安装jdk ,并配置JAVA_HOME 环境变量。如果想使用其它代理仓库,可在节点中加入对应的仓库使用地址。下载后解压 如解压到 D:\Maven\apache-maven-3.8.6 目录。配置镜像仓库(这里使用阿里的)
2025-07-13 14:45:09
345
原创 Jvm工具
jmap -dump:format=b,file=outfile 3024可以将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)。采用jmap -histo pid>a.log日志将其保存,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。live子选项是可选的,假如指定live选项,那么只输出活的对象到文件。
2025-01-23 16:51:14
284
原创 Netty 实战
请思考,因为 pipeline 的存在,一般需要将 ByteBuf 传递给下一个 ChannelHandler,如果在 finally 中 release 了,就失去了传递性(当然,如果在这个 ChannelHandler 内这个 ByteBuf 已完成了它的使命,那么便无须再传递)负载,但是却造成了延时,而该参数的作用就是禁止使用Nagle算法,使用于小数据即时传输,于TCP_NODELAY相对应的是TCP_CORK,该选项是需要等到发送的数据量最大的时候,一次性发送数据,适用于文件传输。
2025-01-23 16:49:19
1092
原创 MyBatis 读取全局变量
在 MyBatis 中,你可以通过几种方式来读取全局变量。全局变量可以是在配置文件(如 mybatis-config.xml)中定义的,也可以是系统环境变量或 Java 中的全局静态变量。如果你的全局变量是系统环境变量,你可以直接在 MyBatis 的 SQL 映射文件中使用 ${} 语法来引用它们。你可以在 mybatis-config.xml 中定义全局变量,然后在 SQL 映射文件中引用这些变量。有的项目,根据甲方不同需要使用不同的数据库,这时候就可以通过全局变量的方式 适配不同的数据库。
2024-10-30 14:42:27
743
原创 Java NIO 实践
可以通过下面三种方法来监听是否有事件发生,方法的返回值代表有多少 channel 发生了事件。因为TCP的数据没有边界的,故需要接收方和发送方约定消息分割的协议。
2024-03-29 09:04:59
1338
1
原创 Dockfile
使用 exec 模式启动容器时,容器的 1 号进程就是 CMD/ENTRYPOINT 中指定的命令,而使用 shell模式启动容器时相当于我们把启动命令放在了 shell 进程中执行,等效于执行 /bin/sh -c “task command” 命令。因此,基于 Docker 构建时的缓存特性,我们可以把不轻易改变的指令放到 Dockerfile 前面(例如安装软件包),而可能经常发生改变的指令放在 Dockerfile 末尾(例如编译应用程序)。docker build -t 新镜像名字:TAG .
2024-01-20 17:40:38
1058
原创 Docker 容器数据卷
*docker run -v 宿主机路径:容器内路径[:读写权限] --privileged=true [其它参数] image。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。其实质就是: -v 父类容器ID的挂载规则 ,容器移动后 跟父容器除挂载目录一样外并无其它关系。3 docker容器stdp,主机修改,docker容器重启数据自动同步。1 docker修改挂载文件、目录,主机同步获得。
2024-01-07 15:39:25
1048
原创 Docker 镜像以及镜像分层
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统,即bootfs,这很像典型的Linu/Unix的引导文件系统。Docker 用户几乎永远不会和引导文件系统有什么交互。实际上,当一个容器启动后,它将会被移到内存中,而引导文件系统则会被卸载(ummount),以留出更多的内存供initrd 磁盘镜像使用。
2024-01-06 23:02:56
1802
原创 Java 泛型 通配符 及 ? extends T 和 ? super T 的理解
目录一、通配符 (? Wildcards)二、使用步骤1.引入库2.读入数据总结一、通配符 (? Wildcards)1、通配符不能用于泛型定义、不用创建泛型实例。只能用于泛型类的使用:声明变量、方法的参数。2、? 是万能通配符 ,表示未知类型,类型参数赋予不确定类型、任意类型list<?> list1 = new ArrayList<Integer>();//Okpublic void test(List<?> l..
2022-04-07 01:01:20
3568
原创 1 ClickHouse 安装部署(tgz)
1 下载离线安装包 到官网https://packages.clickhouse.com/tgz/stable/查看最新的安装包版本 ,https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-$LATEST_VERSION.tgzhttps://packages.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-$LATEST_VERSION.tg...
2022-03-20 10:18:34
2048
转载 Spring Boot 整合jackson
1 配置文件常用配置#jackson#日期格式化spring.jackson.date-format=yyyy-MM-dd HH:mm:ss#spring.jackson.date-format=yyyy-MM-dd#格式化输出 spring.jackson.serialization.indent_output=true#忽略无法转换的对象spring.jackson.serialization.fail_on_empty_beans=false#设置空如何序列化spring.
2020-08-08 16:49:33
3726
原创 Spring Boot 对多线程支持
Spring中实现多线程,其实非常简单,只需要在配置类中添加@EnableAsync就可以使用多线程。在希望执行的并发方法中使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。1.Spring Boot主类中定义一个线程池定义线程池有两种方法,两种方法效果一样,细节略有区别。1.1 方式一:实现AsyncConfigurer接口@EnableAsync@Configurationpublic class ..
2020-07-02 19:21:14
440
原创 Linux性能监控-内存-free命令
1 简介free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。2 free命令格式free [参数]参数说明-b:以Byte为单位显示内存使用情况;-k:以KB为单位显示内存使用情况;-m:以MB为单位显示内存使用情况;-h: 以合适的单位显示内存使用情况-o:不显示缓冲区调节列;-s<间隔秒数>:持续观察内存使用状...
2020-01-14 16:03:10
4026
原创 Linux性能监控-IO-iostat 命令详解
1 简介 Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。2 iostat命令格式iostat [参数] [时间周期...
2020-01-14 14:27:25
792
原创 FastDfs异常处理
1 receive conent error java.net.SocketTimeoutException: Read timed out/com.github.tobato.fastdfs.domain.conn.ConnectionManager - execute fdfs command errorcom.github.tobato.fastdfs.exception.FdfsIOE...
2020-01-10 17:42:08
8106
原创 MySql 连接管理
目录1 查看连接相关变量2 查看连接相关的状态变量3SHOW PROCESSLIST1 查看连接相关变量mysql> show global variables like '%connect%';+-----------------------------------------------+-------------------+| Variable_name ...
2019-06-21 13:44:18
489
原创 Mysql 错误 Errcode: 24 - Too many open files
对mysql 建立复合分区(按月建立一级分区,再按天建立二级分区 ),没有查询条件,查询表数据时,爆出如下错误:err Out of resources when opening file './viaresult1/fr_facerecogresult#P#p201906#SP#p201906sp11.MYD' (Errcode: 24 - Too many open files)。原因:打开文...
2019-05-27 19:01:40
3078
原创 FastDFS服务器搭建
目录一、FastDFS介绍1.1 简介1.2FastDFS架构1.2.1 Tracker 集群1.2.2Storage集群1.2.3 Storage状态收集1.2.4 FastDFS的上传过程1.2.5 FastDFS的文件同步1.2.6 FastDFS的文件下载二、安装FastDFS2.1 环境准备2.2 CentOS安装GCC...
2019-05-10 01:29:05
50417
20
原创 CentOS 7 安装 Nginx
目录前言一、Yum安装1.1 安装 Nginx1.2 配置 Nginx 服务二、源码包安装2.1 安装nginx所需环境 2.1.1 gcc 安装2.1.2PCRE pcre-devel 安装2.1.3zlib 安装2.1.4OpenSSL 安装2.2 安装Nginx2.2.1 下载nginx2.2.2 解压2.2.3配置、...
2019-05-09 14:35:36
4890
1
原创 Intellij IDEA快捷键
导航类(Navigate)名称 Name 说明 Default Key Eclipse Style Key Menu 类层级关系 Type Hierarchy Crtl+H F4 Navigate-Type Hierarchy 方法层级关系 Method Hierarchy 只能从父类看子类 Ctr...
2019-03-06 16:06:51
190
原创 MySql 用户管理
In MySql, the concept of "account" is tied to two things:a username and a hostname.That is,when you connect to the server,it checks not only the username that you specify,but also what host you're con...
2019-02-15 16:56:34
217
原创 MySql 日志
目录1 通用查询日志The General Query Log2 慢查询日志 Slow Query Log3 二进制日志 The Binary Log3.1 开启日志3.2 基本操作3.2.1 查看所有日志文件3.2.2 查看正在写入的日志文件:3.2.3 查看binlog文件内容3.2.4 手动启用新的日志文件,一般备份完数据库后执行3.2....
2019-02-15 15:08:27
219
原创 MySql 命令行使用
1客户端命令使用帮助#以下help 也可以用?代替 客户端mysql> helpFor information about MySQL products and services, visit: http://www.mysql.com/For developer information, including the MySQL Reference Manual,...
2019-01-23 18:18:57
679
原创 CentOS7 离线安装MySQL
1.删除原有的mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。#查询是否安装mariadb[root@l4 ~]# rpm -qa | grep mariadbmariadb-libs-5.5.56-2.el7...
2019-01-18 18:32:44
990
原创 Hadoop集群安装-02基于Zookeeper的HA安装
1 前言在 Hadoop 1.X版本中,NameNode是整个HDFS集群的单点故障(single point of failure,SPOF):每一个HDFS集群只能有一个NameNode节点,一旦NameNode所在服务器宕机或者出现故障将导致整个集群都不可用,除非重启或者开启一个新的Namenode集群才能够恢复可用。NameNode单点故障对HDFS集群的可用性产生影响主要表...
2018-12-06 18:35:14
257
NOSQL数据库入门
2016-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅