07 HXCommon

前言

这个主要是一个基础的工具包, 不依赖于其他第三方依赖 

里面主要包含了一些 最基础的工具类

GitHub - 970655147/HXCommon: a personal tookit based on java language

DragMouseAdapter : 主要是 gui 拖拽相关支持 

FileTransferable : 主要是用于将文件复制到系统的粘贴板上面

ImageTransferable: 主要是用于将图片复制到系统的粘贴板上面

BitMap : 根据索引存取 整形数据, 数据的存储在 BitSet

SimpleFixedSizeHashMap : 一个固定容量的 LinkedHashMap

FileNameMatcher : 这个就是一个类似于 匹配Glob表达式 的一个自己的实现 

ProjectToJar : 把给定的项目路径下的类打成 jar 包 

TmpGetter : 一个临时文件路径的生成工具, 根据文件名, 后缀获取文件, 获取下一个临时文件等等 

NullOutputStream : 一个什么都不做的 OutputStream

Eval : 一个表达式的解析工具, 解析常用的基于 数字, 加减乘除, 括号 的表达式

GeometryUtils : 常用的几何工具, 计算两个点之间的距离, 计算两个点的中心点, 两个点的延长点, 两个点的垂直点, 一条线旋转N度

StringInterceptor : 字符串的一个简单的截取工具, 主要根据关键字, 或者起始字符串来获取中间的字符串

WordsSeprator : 根据分隔符, 跳过转义字符 来分割整个目标字符串, 以迭代的方式获取 字符串, 分隔符 

AssertUtils : 断言相关支持 

InnerTools : 一些常用的基础 api, 用于 HXCommon 内部使用 

OsUtils : 主要包含 复制字符串, 图片, 文件到剪切板, 从剪切板获取字符串, 图片, 文件 

ReflectUtils : 判断给定的类型是否有继承关系 

项目概览如下

.
├── main
│   ├── java
│   │   └── com
│   │       └── hx
│   │           └── common
│   │               ├── awt
│   │               │   ├── DragMouseAdapter.java
│   │               │   ├── FileTransferable.java
│   │               │   └── ImageTransferable.java
│   │               ├── bit
│   │               │   └── BitMap.java
│   │               ├── cache
│   │               │   └── CacheService.java
│   │               ├── collection
│   │               │   └── SimpleFixedSizeHashMap.java
│   │               ├── consumer
│   │               │   └── FileLineContext.java
│   │               ├── date
│   │               ├── file
│   │               │   ├── FileNameMatcher.java
│   │               │   ├── ProjectToJar.java
│   │               │   └── TmpGetter.java
│   │               ├── idx
│   │               ├── interf
│   │               │   ├── bloomFilter
│   │               │   │   └── BloomFilter.java
│   │               │   ├── cache
│   │               │   │   ├── Cache.java
│   │               │   │   ├── CacheContext.java
│   │               │   │   ├── CacheEntry.java
│   │               │   │   ├── CacheEntryFacade.java
│   │               │   │   ├── CacheEntryFactory.java
│   │               │   │   └── CacheListener.java
│   │               │   ├── common
│   │               │   │   ├── Code2Msg.java
│   │               │   │   ├── Page.java
│   │               │   │   └── Result.java
│   │               │   ├── consumer
│   │               │   │   ├── Consumer.java
│   │               │   │   ├── FileConsumer.java
│   │               │   │   ├── FileLineConsumer.java
│   │               │   │   └── StringConsumer.java
│   │               │   ├── hash
│   │               │   │   └── HashFunc.java
│   │               │   ├── idx
│   │               │   │   ├── IdxFilter.java
│   │               │   │   └── IdxIterator.java
│   │               │   ├── seprator
│   │               │   │   ├── Seprator.java
│   │               │   │   ├── StringInterceptor.java
│   │               │   │   └── StringSeprator.java
│   │               │   └── validator
│   │               │       ├── ValidateContext.java
│   │               │       ├── Validator.java
│   │               │       └── ValidatorRegister.java
│   │               ├── io
│   │               │   └── NullOutputStream.java
│   │               ├── math
│   │               │   ├── Eval.java
│   │               │   └── GeometryUtils.java
│   │               ├── result
│   │               │   ├── SimpleErrorCode.java
│   │               │   ├── SimplePage.java
│   │               │   └── SimpleResult.java
│   │               ├── str
│   │               │   ├── AntPathMatcher.java
│   │               │   ├── StringInterceptor.java
│   │               │   ├── WordsSeprator.java
│   │               │   └── interf
│   │               │       ├── PathMatcher.java
│   │               │       └── StrSeprator.java
│   │               └── util
│   │                   ├── AssertUtils.java
│   │                   ├── InnerTools.java
│   │                   ├── OsUtils.java
│   │                   ├── ReflectUtils.java
│   │                   └── ResultUtils.java
│   └── resources
└── test└── java└── com└── hx└── common└── test├── Test00HelloWorld.java└── Test01ToJarStream.java

完 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【测试基础】构造测试数据之 MySQL 篇

构造测试数据之 MySQL 篇 作为一名测试工程师,我们经常会构造测试数据进行一些功能验证。为了暴露更多的问题,在测试数据的构造上,我们应该尽可能的构造不同类型字段的数据,且一张表的字段最好不低于 10 10 10 个。 对于 MySQL …

揭秘HTTP与HTTPS:保障安全的网页传输协议之争

目录 1、前言 2、HTTP与HTTPS的概念及区别 2.1 HTTP的定义与特点 2.2 HTTPS的定义与特点 2.3 HTTP与HTTPS的区别 3、HTTP的工作原理及安全隐患 3.1 HTTP的工作流程 3.2 HTTP的安全隐患 4、HTTPS的工作原理及优势 4.1 HTTPS的工作流程 4.2 HTTPS的加密算法 4.3 HTTP…

k8s的二进制部署master 和 etcd

k8s的基本架构 k8smaster01: 20.0.0.70 kube-apiserver kube-controller-manager kube-scheduler etcd k8smaster02:20.0.0.71 kube-apiserver kube-controller-manager kube-scheduler node节点01:20.0.0.72 kubelet kube-proxy etcd no…

计算机网络技术概述 习题答案及解析

1-1 因特网的前身是 1969 年创建的第一个分组交换网( D )。 A. internet B. Internet C. NSFNET D. ARPANET 【答案】D 1-2 因特网上的数据交换方式是( C )。 A. 电路交换 B. 报文交换 C. 分组交换 D…

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络 深入理解孪生网络:架构、应用与未来展望小样本学习的诞生元学习小样本学习孪生网络的基本概念孪生网络的细节Triplet Loss架构特点关键组件训练过程主要应用领域未来展望示例图片结论 备注…

内网常规攻击路径

点击星标,即时接收最新推文 随着网络技术的发展,企业内部网络架构的变化,网络设备多样性的增加,面对内网攻击,防御体系逐渐阶梯化,通过不同维度的防御联动,将攻击拒之门外。对于突破网络边界后进…

java 方法

方法: 什么是方法,有什么用? 方法(英语单词:method)是可以完成某个特定功能的并且可以被重复利用的代码片段。 在 C 语言中,方法被称为“函数”。在 java 中不叫函数,叫做方法。 方法…

跨境电商:平台选择的艺术与科学

一、平台类型与特点 亚马逊:作为全球最大的电商平台之一,亚马逊拥有庞大的用户群体和完善的物流体系。它以优质的服务和高效的配送著称,但竞争也相对激烈。eBay:eBay是一个全球性的在线拍卖和购物网站,它的市场覆盖面…

十大排序算法归纳

目录 排序算法的分类 插入排序算法模板 选择排序算法模板 冒泡排序算法模板 希尔排序算法模板 快速排序算法模板 归并排序算法模板 堆排序算法模板 基数排序算法模板 计算排序算法模板 桶排序算法模板 排序算法的分类 插入:插入,折半插入&am…

【Vue2+3入门到实战】(18)VUE之Vuex状态管理器概述、VueX的安装、核心概念 State状态代码实现 详细讲解

目录 一、[Vuex](https://vuex.vuejs.org/zh/) 概述1.是什么2.使用场景3.优势4.注意: 二、需求: 多组件共享数据1.创建项目2.创建三个组件, 目录如下3.源代码如下 三、vuex 的使用 - 创建仓库1.安装 vuex2.新建 store/index.js 专门存放 vuex3.创建仓库 store/index…

万字盘点 Android 领域在 2023 年的重要技术:AI, 14, Compose, 鸿蒙...

AICore 2022 年底横空出世的 GPT-3.5 引发了全球的大模型 LLM 狂潮。作为在 AI 领域耕耘多年的巨头,Google 自然不会坐视不管,于 2023 年底之际发布了超越 GPT-4 的 Gemini 系列模型,其在多模态领域的表现令无数人震撼。 而对于 Android 开发…

路由器tcpdump抓包方法

背景 一些嵌入式设备无法修改固件或者配置,但又想分析其网络访问,就不得不在路由器上抓包。 本文已openwrt为例,配合pc端wireshark软件,说明抓包过程 1.路由器安装tcpdump opkg update opkg install libc opkg install libpcap …

nacos2.3.0配置中心问题处理

问题&#xff1a;Error to process server push response: {"headers":{},"abilityTable":{"supportPersistentInstanceByGrpc":true},"module":"internal"} 处理办法&#xff1a; 将pom.xml中 <!-- nacos服务注册/发…

我在Vscode学OpenCV 图像处理四(轮廓查找 cv2.findContours() cv2.drawContours())-- 待补充

图像处理四&#xff08;轮廓查找&#xff09; 一、前言1.1 边缘检测和轮廓查找的区别是什么1.1.1 边缘检测&#xff1a;1.1.2 轮廓查找&#xff1a; 1.2 边缘检测和轮廓查找在图像处理中的关系和流程 二、查找并绘制轮廓2.1 cv2.findContours()&#xff1a;2.1.1 详细介绍&…

Vue3的proxy

vue3.0中,使用proxy替换了原来遍历对象使用Object.defineProperty方法给属性添加set/get    vue的核心能力之一是监听用户定义的状态变化并响应式刷新DOM   vue2是通过替换状态对象属性的getter和setter来实现的,vue3则通过proxy进行   改为proxy后,可以突破vue当前的…

面向对象的五大基本原则

一、单一职责原则 一个类&#xff0c;最好只做一件事&#xff0c;只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申&#xff0c;将职责定义为引起变化的原因&#xff0c;以提高内聚性来减少引起变化的原因。 二、开放封闭原则 软件实体应…

2312d,d的10月会议

原文 拉兹万 Razvan从他最近在内联中遇见的一个问题开始,他不知道如何解决.一般,当A模块导入B模块并从B调用函数时,如果B的目标文件没有传递给链接器,则最终会出现链接器错误. 如,在命令行上使用A.d编译并省略B.d时.但是,当内联调用函数时,则不会触发链接器错误.他怀疑这是一…

LVS那点事

LVS 原理 IPVS LVS 的 IP 负载均衡技术是通过 IPVS 模块来实现的&#xff0c;IPVS 是 LVS 集群系统的核心软件&#xff0c;它的主要作用是&#xff1a;安装在 Director Server 上&#xff0c;同时在 Director Server 上虚拟出一个 IP 地址&#xff0c;用户必须通过这个虚拟的…

数据挖掘与知识发现:解析关键概念

目录 1. 引言 1.1 背景 1.2 意义与应用 2. 数据挖掘的基本概念 2.1 定义与范畴 2.1.1 数据挖掘的定义 2.1.2 数据挖掘的范畴 2.2 数据挖掘过程 2.2.1 问题定义 2.2.2 数据采集与清洗 2.2.3 特征选择 2.2.4 模型构建 2.2.5 模型评估与验证 2.2.6 模型部署 2.3 数…

【ROS2】MOMO的鱼香ROS2(二)ROS2入门篇——ROS2初体验

ROS2初体验 引言专业术语认识1 认识ROS21.1 ROS2版本对照表1.2 ROS与ROS2对比1.3 ROS2架构1.3.1 DDS实现层1.3.2 ROS中间件接口&#xff08;RMW&#xff09;1.3.3 ROS2客户端库 RCL 2 安装ROS22.1 ROS安装&#xff08;一键式&#xff09;2.2 手动安装ROS22.2.1 添加ROS软件源2.…