自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

prcyang的专栏

默认皮肤

  • 博客(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

原创 Protobuf编码规则详解

Protobuf 编码

2025-01-10 18:30:26 1392

原创 MyBatis 读取全局变量

在 MyBatis 中,你可以通过几种方式来读取全局变量。全局变量可以是在配置文件(如 mybatis-config.xml)中定义的,也可以是系统环境变量或 Java 中的全局静态变量。如果你的全局变量是系统环境变量,你可以直接在 MyBatis 的 SQL 映射文件中使用 ${} 语法来引用它们。你可以在 mybatis-config.xml 中定义全局变量,然后在 SQL 映射文件中引用这些变量。有的项目,根据甲方不同需要使用不同的数据库,这时候就可以通过全局变量的方式 适配不同的数据库。

2024-10-30 14:42:27 743

原创 Docker Compose

如果主机时区和docker 需要不一致 ,则修改为。

2024-09-12 18:15:12 673

原创 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 网络

2024-01-14 01:20:46 1666

原创 Docker 容器数据卷

*docker run -v 宿主机路径:容器内路径[:读写权限] --privileged=true [其它参数] image。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。其实质就是: -v 父类容器ID的挂载规则 ,容器移动后 跟父容器除挂载目录一样外并无其它关系。3 docker容器stdp,主机修改,docker容器重启数据自动同步。1 docker修改挂载文件、目录,主机同步获得。

2024-01-07 15:39:25 1048

原创 镜像分层理解实践&docker commit 实操

镜像分层理解实践&docker commit 实操

2024-01-07 00:19:58 699

原创 Docker 镜像以及镜像分层

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件Docker镜像是由文件系统叠加而成。最底端是一个引导文件系统,即bootfs,这很像典型的Linu/Unix的引导文件系统。Docker 用户几乎永远不会和引导文件系统有什么交互。实际上,当一个容器启动后,它将会被移到内存中,而引导文件系统则会被卸载(ummount),以留出更多的内存供initrd 磁盘镜像使用。

2024-01-06 23:02:56 1802

原创 Docker 常用命令

docker 常用命令

2024-01-06 21:51:57 1243

原创 Docker 安装

docker 安装

2023-12-27 23:19:34 1170

原创 ByteBuffer 使用

ByteBuffer

2023-08-17 22:46:30 1934

原创 国内常用地图坐标系总结

国内地图坐标系

2022-05-12 14:42:36 21894 2

原创 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

Hadoop实战中文版

Hadoop实战中文版

2016-03-18

activiti5.21中文手册

activiti5.21中文手册 activiti5.21中文手册 activiti5.21中文手册

2017-10-10

Java并发编程实战.中文完整版

Java并发编程实战.中文完整版.文件虽小 却是完整版的,清晰

2016-03-18

移动电话呼叫流程

移动通信中,移动电话 呼叫建立的过程,30秒就能看明白

2014-11-03

NOSQL数据库入门

2016-03-18

Redis_入门指南中文

Redis_入门指南Redis_入门指南Redis_入门指南Redis_入门指南

2017-10-10

空空如也

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

TA关注的人

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