摘要: 一、索引的数据结构 MySQL中索引是一种数据结构,可以理解为 像一本书的目录一样的结构。 B+Tree的理解 B+Tree说白了还是Tree,属于二叉树的高级变体 先了解二叉树 平衡二叉树,能对结构进行左旋、右旋,以达到左子树与右子树 高度差的绝对值不超过1,即高度差为0-1之间。 平衡二叉树的旋 阅读全文
posted @ 2024-06-14 22:49 vello 阅读(59) 评论(0) 推荐(0)
摘要: 事务特性 事务应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特 性。  原子性(atomicity)  一致性(consistency)  持久性(durability)  隔离性(isolation) 一个事务的执行不能被其他事务干扰。即一个事务内部的 阅读全文
posted @ 2024-06-14 22:39 vello 阅读(29) 评论(0) 推荐(0)
摘要: MySQL 5.7.22查询时候报错 argument out of range 报错代码 原因sql_mode模式导致 参考sql_mode默认配置 show variables like 'sql_mode'; ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ 阅读全文
posted @ 2024-06-14 22:27 vello 阅读(462) 评论(0) 推荐(0)
摘要: 一、 MySQL 中的锁  表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发 度最低。  行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发 度也最高。  页面锁(gap 锁,间隙锁):开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度 阅读全文
posted @ 2024-06-14 22:20 vello 阅读(23) 评论(0) 推荐(0)
摘要: 一、InnoDB 是一种事务型存储引擎,完全支持acid事务特性,redo log 和 undo log ,使用行级锁,并发程度最高。 二、MyISAM MyISAM 对整张表加锁,而不是针对行,并发程度低。读取时会对需要读到的所有表加共享锁,写入时则对表添加排它锁。但是在表有读取查询时, 也可以往 阅读全文
posted @ 2024-06-14 22:06 vello 阅读(18) 评论(0) 推荐(0)
摘要: 数据库SQL优化通常涉及以下方面: 1.查询优化:确保使用正确的索引来优化查询。 2.避免全表扫描:避免不必要的全表扫描,使用索引就是为了避免全表扫描。 3.使用EXPLAIN分析查询:检查SQL查询的执行计划,判断sql语句存在的问题。 4.使用JOIN代替子查询:适当情况下,使用JOIN来合并表 阅读全文
posted @ 2024-06-14 21:19 vello 阅读(44) 评论(0) 推荐(0)
摘要: 字符串类型 数字类型 日期类型 JSON类型 MySQL5.7之后支持json 数据类型 阅读全文
posted @ 2024-06-14 20:54 vello 阅读(16) 评论(0) 推荐(0)
摘要: SELECT INTO 语句 如:SELECT * INTO WebsitesBackup2016 FROM Websites; INSERT INTO语句 如:INSERT INTO Websites (name, country) SELECT app_name, country FROM ap 阅读全文
posted @ 2024-06-14 20:52 vello 阅读(15) 评论(0) 推荐(0)
摘要: GROUP BY 分组查询语句, 如:SELECT site_id, SUM(access_log.count) AS nums FROM access_log GROUP BY site_id; 组合函数: count(),min(),max(),sum(),avg(),first(),last( 阅读全文
posted @ 2024-06-14 20:39 vello 阅读(114) 评论(0) 推荐(0)
摘要: DISTINCT column_name 去除字段的重复 WHERE 条件筛选操作 AND、OR 用于where条件后的多条件连接 如果第一个条件和第二个条件都成立,则用 AND 运算符连接这两个条件。 如果第一个条件和第二个条件中只要有一个成立,则用 OR 运算符连接这两个条件。 如:SELECT 阅读全文
posted @ 2024-06-14 20:31 vello 阅读(53) 评论(0) 推荐(0)
摘要: 初识SQL 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理 关系数据库管理系统(Relational Database Management System:RDBMS)的语言, 阅读全文
posted @ 2024-06-14 19:47 vello 阅读(33) 评论(0) 推荐(0)
摘要: 介绍 BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码,BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。 这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记 阅读全文
posted @ 2024-06-14 17:58 vello 阅读(91) 评论(0) 推荐(0)
摘要: 由来 Java中有assert关键字,但是存在许多问题: assert关键字需要在运行时显式开启才能生效,否则你的断言就没有任何意义。 用assert代替if是陷阱之二。assert的判断和if语句差不多,但两者的作用有着本质的区别:assert关键字本意上是为测试调试程序时使用的,但如果不小心用a 阅读全文
posted @ 2024-06-14 17:54 vello 阅读(356) 评论(0) 推荐(0)
摘要: 为什么会有这个类 平常我们使用单例不外乎两种方式: 在对象里加个静态方法getInstance()来获取。此方式可以参考 【转】线程安全的单例模式 (opens new window)这篇博客,可分为饿汉和饱汉模式。 通过Spring这类容器统一管理对象,用的时候去对象池中拿。Spring也可以通过 阅读全文
posted @ 2024-06-14 17:54 vello 阅读(107) 评论(0) 推荐(0)
摘要: 由来 如果你了解Python,你一定知道Python有dict这一数据结构,也是一种KV(Key-Value)结构的数据结构,类似于Java中的Map,但是提供了更加灵活多样的使用。Hutool中的Dict对象旨在实现更加灵活的KV结构,针对强类型,提供丰富的getXXX操作,将HashMap扩展为 阅读全文
posted @ 2024-06-14 17:53 vello 阅读(154) 评论(0) 推荐(0)
摘要: 介绍 提供ClassLoader相关的工具类,例如类加载(Class.forName包装)等 方法 获取ClassLoader getContextClassLoader 获取当前线程的ClassLoader,本质上调用Thread.currentThread().getContextClassLo 阅读全文
posted @ 2024-06-14 17:52 vello 阅读(114) 评论(1) 推荐(0)
摘要: 介绍 CharsetUtil主要针对编码操作做了工具化封装,同时提供了一些常用编码常量。 常量 常量在需要编码的地方直接引用,可以很好的提高便利性。 字符串形式 ISO_8859_1 UTF_8 GBK Charset对象形式 CHARSET_ISO_8859_1 CHARSET_UTF_8 CHA 阅读全文
posted @ 2024-06-14 17:50 vello 阅读(388) 评论(0) 推荐(0)
摘要: 介绍 SPI(Service Provider Interface),是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。 更多介绍见:https://www.jianshu.com/p/3a3edbcd8f24 使用 定 阅读全文
posted @ 2024-06-14 17:49 vello 阅读(62) 评论(0) 推荐(0)
摘要: 介绍 法人和其他组织统一社会信用代码制度,相当于让法人和其他组织拥有了一个全国统一的“身份证号”。 规则如下: 第一部分:登记管理部门代码1位 (数字或大写英文字母) 第二部分:机构类别代码1位 (数字或大写英文字母) 第三部分:登记管理机关行政区划码6位 (数字) 第四部分:主体标识码(组织机构代 阅读全文
posted @ 2024-06-14 17:49 vello 阅读(296) 评论(0) 推荐(0)
摘要: 介绍 在数据处理或清洗中,可能涉及到很多隐私信息的脱敏工作,因此Hutool针对常用的信息封装了一些脱敏方法。 现阶段支持的脱敏数据类型包括: 用户id 中文姓名 身份证号 座机号 手机号 地址 电子邮件 密码 中国大陆车牌,包含普通车辆、新能源车辆 银行卡 整体来说,所谓脱敏就是隐藏掉信息中的一部 阅读全文
posted @ 2024-06-14 17:48 vello 阅读(472) 评论(0) 推荐(0)
摘要: 由来 在日常开发中,我们对身份证的验证主要是正则方式(位数,数字范围等),但是中国身份证,尤其18位身份证每一位都有严格规定,并且最后一位为校验位。而我们在实际应用中,针对身份证的验证理应严格至此。于是IdcardUtil应运而生。 IdcardUtil从3.0.4版本起加入Hutool工具家族,升 阅读全文
posted @ 2024-06-14 16:57 vello 阅读(929) 评论(0) 推荐(0)
摘要: 由来 在文本处理中,正则表达式几乎是全能的,但是Java的正则表达式有时候处理一些事情还是有些繁琐,所以我封装了部分常用功能。就比如说我要匹配一段文本中的某些部分,我们需要这样做: String content = "ZZZaaabbbccc中文1234"; Pattern pattern = Pa 阅读全文
posted @ 2024-06-14 16:56 vello 阅读(1214) 评论(0) 推荐(0)
摘要: 介绍 引用工具类,主要针对Reference 工具化封装 主要封装包括: SoftReference 软引用,在GC报告内存不足时会被GC回收 WeakReference 弱引用,在GC时发现弱引用会回收其对象 PhantomReference 虚引用,在GC时发现虚引用对象,会将PhantomRe 阅读全文
posted @ 2024-06-14 16:56 vello 阅读(66) 评论(0) 推荐(0)
摘要: 在Java中,对文件、文件夹打包,压缩是一件比较繁琐的事情,我们常常引入Zip4j (opens new window)进行此类操作。但是很多时候,JDK中的zip包就可满足我们大部分需求。ZipUtil就是针对java.util.zip做工具化封装,使压缩解压操作可以一个方法搞定,并且自动处理文件 阅读全文
posted @ 2024-06-14 16:51 vello 阅读(2598) 评论(0) 推荐(0)
摘要: 介绍 在分布式环境中,唯一ID生成应用十分广泛,生成方法也多种多样,Hutool针对一些常用生成策略做了简单封装。 唯一ID生成器的工具类,涵盖了: UUID ObjectId(MongoDB) Snowflake(Twitter) 使用 UUID UUID全称通用唯一识别码(universally 阅读全文
posted @ 2024-06-14 16:42 vello 阅读(791) 评论(0) 推荐(0)
摘要: 说明 RandomUtil主要针对JDK中Random对象做封装,严格来说,Java产生的随机数都是伪随机数,因此Hutool封装后产生的随机结果也是伪随机结果。不过这种随机结果对于大多数情况已经够用。 使用 RandomUtil.randomInt 获得指定范围内的随机数 例如我们想产生一个[10 阅读全文
posted @ 2024-06-14 16:39 vello 阅读(740) 评论(0) 推荐(0)
摘要: 介绍 数组工具中的方法在2.x版本中都在CollectionUtil中存在,3.x之后版本(包括4.x版本)中拆分出来作为ArrayUtil。数组工具类主要针对原始类型数组和泛型数组相关方法进行封装。 数组工具类主要是解决对象数组(包括包装类型数组)和原始类型数组使用方法不统一的问题。 方法 判空 阅读全文
posted @ 2024-06-14 16:38 vello 阅读(652) 评论(0) 推荐(0)
摘要: 在Java世界中,如果想与其它语言打交道,处理调用接口,或者JNI,就是通过本地命令方式调用了。Hutool封装了JDK的Process类,用于执行命令行命令(在Windows下是cmd,在Linux下是shell命令)。 方法 基础方法 exec 执行命令行命令,返回Process对象,Proce 阅读全文
posted @ 2024-06-14 16:29 vello 阅读(978) 评论(0) 推荐(0)
摘要: 枚举(enum)算一种“语法糖”,是指一个经过排序的、被打包成一个单一实体的项列表。一个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量。Java从JDK5开始,引入了对枚举的支持。 E 阅读全文
posted @ 2024-06-14 16:26 vello 阅读(698) 评论(0) 推荐(0)
摘要: 类处理工具 ClassUtil 这个工具主要是封装了一些反射的方法,使调用更加方便。而这个类中最有用的方法是scanPackage方法,这个方法会扫描classpath下所有类,这个在Spring中是特性之一,主要为Hulu (opens new window)框架中类扫描的一个基础。下面介绍下这个 阅读全文
posted @ 2024-06-14 16:22 vello 阅读(229) 评论(0) 推荐(0)
摘要: 在Hutool群友的强烈要求下,在3.2.0+ 中新增了ClipboardUtil这个类用于简化操作剪贴板(当然使用场景被局限)。 使用 ClipboardUtil 封装了几个常用的静态方法: 通用方法 getClipboard 获取系统剪贴板 set 设置内容到剪贴板 get 获取剪贴板内容 针对 阅读全文
posted @ 2024-06-14 16:21 vello 阅读(65) 评论(0) 推荐(0)
摘要: 由来 分页工具类并不是数据库分页的封装,而是分页方式的转换。在我们手动分页的时候,常常使用页码+每页个数的方式,但是有些数据库需要使用开始位置和结束位置来表示。很多时候这种转换容易出错(边界问题),于是封装了PageUtil工具类。 使用 transToStartEnd 将页数和每页条目数转换为开始 阅读全文
posted @ 2024-06-14 16:20 vello 阅读(1015) 评论(0) 推荐(0)
摘要: 针对 java.lang.reflect.Type 的工具类封装,最主要功能包括: 获取方法的参数和返回值类型(包括Type和Class) 获取泛型参数类型(包括对象的泛型参数或集合元素的泛型类型) 方法 首先我们定义一个类: public class TestClass { public List 阅读全文
posted @ 2024-06-14 16:13 vello 阅读(423) 评论(0) 推荐(0)
摘要: Java的反射机制,可以让语言变得更加灵活,对对象的操作也更加“动态”,因此在某些情况下,反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装,封装包括: 获取构造方法 获取字段 获取字段值 获取方法 执行方法(对象方法和静态方法) 使用 获取某个类的所有方法 Method[ 阅读全文
posted @ 2024-06-14 16:12 vello 阅读(383) 评论(0) 推荐(0)
摘要: 在我们的日常使用中,有些方法是针对Object通用的,这些方法不区分何种对象,针对这些方法,Hutool封装为ObjectUtil。 方法 默认值 借助于lambda表达式,ObjectUtil可以完成判断给定的值是否为null,不为null执行特定逻辑的功能。 final String dateS 阅读全文
posted @ 2024-06-14 16:07 vello 阅读(623) 评论(0) 推荐(0)
摘要: 由来 在日常编码中,我们接触最多的除了JSON外,就是XML格式了,一般而言,我们首先想到的是引入Dom4j包,却不知JDK已经封装有XML解析和构建工具:w3c dom。但是由于这个API操作比较繁琐,因此Hutool中提供了XmlUtil简化XML的创建、读和写的过程。 使用 读取XML 读取X 阅读全文
posted @ 2024-06-14 16:01 vello 阅读(1863) 评论(0) 推荐(0)
摘要: 介绍 URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示互联网上的资源,如网页或者FTP地址。在Java中,也可以使用URL表示Classpath中的资源(Resource)地址。 方法 获取URL对象 URLUtil.url 通过一个字符 阅读全文
posted @ 2024-06-14 15:53 vello 阅读(880) 评论(0) 推荐(0)
摘要: 介绍 HashUtil其实是一个hash算法的集合,此工具类中融合了各种hash算法。 方法 这些算法包括: additiveHash 加法hash rotatingHash 旋转hash oneByOneHash 一次一个hash bernstein Bernstein's hash univer 阅读全文
posted @ 2024-06-14 15:53 vello 阅读(570) 评论(0) 推荐(0)
摘要: 转义和反转义工具类Escape / Unescape。escape采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。 此类中的方法对应Javascript中 阅读全文
posted @ 2024-06-14 15:48 vello 阅读(364) 评论(0) 推荐(0)
摘要: 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:AF即1015)。例如十进制数57,在二进制写作111001,在16进制写作39。 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的 阅读全文
posted @ 2024-06-14 15:48 vello 阅读(949) 评论(0) 推荐(0)
摘要: 这个工具的用处类似于Apache Commons Lang (opens new window)中的StringUtil,之所以使用StrUtil而不是使用StringUtil是因为前者更短,而且Str这个简写我想已经深入人心了,大家都知道是字符串的意思。常用的方法例如isBlank、isNotBl 阅读全文
posted @ 2024-06-14 15:42 vello 阅读(448) 评论(0) 推荐(0)
摘要: 什么是ClassPath 简单说来ClassPath就是查找class文件的路径,在Tomcat等容器下,ClassPath一般是WEB-INF/classes,在普通java程序中,我们可以通过定义-cp或者-classpath参数来定义查找class文件的路径,这些路径就是ClassPath。 阅读全文
posted @ 2024-06-14 15:39 vello 阅读(162) 评论(0) 推荐(0)
摘要: ResourceUtil提供了资源快捷读取封装。 使用 ResourceUtil中最核心的方法是getResourceObj,此方法可以根据传入路径是否为绝对路径而返回不同的实现。比如路径是:file:/opt/test,或者/opt/test都会被当作绝对路径,此时调用FileResource来读 阅读全文
posted @ 2024-06-14 15:22 vello 阅读(417) 评论(0) 推荐(0)
摘要: 资源(Resource)在Hutool中是一个广泛的概念,凡是存储数据的地方都可以归类到资源,那为何要提供一个如此抽象的接口呢? 在实际编码当中,我们需要读取一些数据,比如配置文件、文本内容、图片甚至是任何二进制流,为此我们要加入很多的重载方法,比如: read(File file){...} re 阅读全文
posted @ 2024-06-14 15:18 vello 阅读(89) 评论(0) 推荐(0)
摘要: 文件名操作工具类,主要针对文件名获取主文件名、扩展名等操作,同时针对Windows平台,清理无效字符。 此工具类在5.4.1之前是FileUtil的一部分,后单独剥离为FileNameUtil工具。 使用 获取文件名 File file = FileUtil.file("/opt/test.txt" 阅读全文
posted @ 2024-06-14 15:17 vello 阅读(261) 评论(0) 推荐(0)
摘要: 有时候我们要启动一个线程实时“监控”文件的变化,比如有新内容写出到文件时,我们可以及时打印出来,这个功能非常类似于Linux下的tail -f命令。 使用 Tailer tailer = new Tailer(FileUtil.file("f:/test/test.log"), Tailer.CON 阅读全文
posted @ 2024-06-14 14:27 vello 阅读(65) 评论(0) 推荐(0)
摘要: 顾名思义,FileAppender类表示文件追加器。此对象持有一个文件,在内存中积累一定量的数据后统一追加到文件,此类只有在写入文件时打开文件,并在写入结束后关闭之。因此此类不需要关闭。 在调用append方法后会缓存于内存,只有超过容量后才会一次性写入文件,因此内存中随时有剩余未写入文件的内容,在 阅读全文
posted @ 2024-06-14 14:26 vello 阅读(157) 评论(0) 推荐(0)
摘要: 相应的,文件读取有了,自然有文件写入类,使用方式与FileReader也类似: FileWriter writer = new FileWriter("test.properties"); writer.write("test"); 写入文件分为追加模式和覆盖模式两类,追加模式可以用append方法 阅读全文
posted @ 2024-06-14 14:13 vello 阅读(203) 评论(0) 推荐(0)
摘要: 使用 在JDK中,同样有一个FileReader类,但是并不如想象中的那样好用,于是Hutool便提供了更加便捷的FileReader类。 //默认UTF-8编码,可以在构造中传入第二个参数做为编码 FileReader fileReader = new FileReader("test.prope 阅读全文
posted @ 2024-06-14 14:12 vello 阅读(115) 评论(0) 推荐(0)
摘要: 使用 这个工具类使用非常简单,通过调用FileTypeUtil.getType即可判断,这个方法同时提供众多的重载方法,用于读取不同的文件和流。 File file = FileUtil.file("d:/test.jpg"); String type = FileTypeUtil.getType( 阅读全文
posted @ 2024-06-14 14:12 vello 阅读(482) 评论(0) 推荐(0)
摘要: 很多时候我们需要监听一个文件的变化或者目录的变动,包括文件的创建、修改、删除,以及目录下文件的创建、修改和删除,在JDK7前我们只能靠轮询方式遍历目录或者定时检查文件的修改事件,这样效率非常低,性能也很差。因此在JDK7中引入了WatchService。不过考虑到其API并不友好,于是Hutool便 阅读全文
posted @ 2024-06-14 11:54 vello 阅读(324) 评论(0) 推荐(0)
摘要: 在IO操作中,文件的操作相对来说是比较复杂的,但也是使用频率最高的部分,我们几乎所有的项目中都躺着一个叫做FileUtil或者FileUtils的工具类,我想Hutool应该将这个工具类纳入其中,用来解决大部分的文件操作问题。 总体来说,FileUtil类包含以下几类操作工具: 文件操作:包括文件目 阅读全文
posted @ 2024-06-14 11:54 vello 阅读(291) 评论(0) 推荐(0)
摘要: 方法 拷贝 流的读写可以总结为从输入流读取,从输出流写出,这个过程我们定义为拷贝。这是一个基本过程,也是文件、流操作的基础。 以文件流拷贝为例: BufferedInputStream in = FileUtil.getInputStream("d:/test.txt"); BufferedOutp 阅读全文
posted @ 2024-06-14 11:44 vello 阅读(391) 评论(0) 推荐(0)
摘要: 由来 IO的操作包括读和写,应用场景包括网络操作和文件操作。IO操作在Java中是一个较为复杂的过程,我们在面对不同的场景时,要选择不同的InputStream和OutputStream实现来完成这些操作。而如果想读写字符流,还需要Reader和Writer的各种实现类。这些繁杂的实现类,一方面给我 阅读全文
posted @ 2024-06-14 11:43 vello 阅读(38) 评论(0) 推荐(0)
摘要: Hutool通过封装TimeInterval实现计时器功能,即可以计算方法或过程执行的时间。 TimeInterval支持分组计时,方便对比时间。 使用 TimeInterval timer = DateUtil.timer(); // // 这是执行过程 // timer.interval();/ 阅读全文
posted @ 2024-06-14 11:42 vello 阅读(297) 评论(0) 推荐(0)
摘要: 在Java开发中,我们经常需要处理与时间和日期相关的任务。多年来,java.util.Date类一直是处理日期和时间的主要工具。然而,随着Java 8的发布,我们有了更好的选择:java.time包中的LocalDateTime类。在本文中,我们将探讨为什么在现代Java开发中,推荐使用LocalD 阅读全文
posted @ 2024-06-14 11:40 vello 阅读(72) 评论(0) 推荐(0)
摘要: 介绍 从Hutool的5.4.x开始,Hutool加入了针对JDK8+日期API的封装,此工具类的功能包括LocalDateTime和LocalDate的解析、格式化、转换等操作。 使用 日期转换 String dateStr = "2020-01-23T12:23:56"; DateTime dt 阅读全文
posted @ 2024-06-14 11:36 vello 阅读(163) 评论(0) 推荐(0)
摘要: 介绍 农历日期,提供了生肖、天干地支、传统节日等方法。 使用 构建ChineseDate对象 ChineseDate表示了农历的对象,构建此对象既可以使用公历的日期,也可以使用农历的日期。 //通过农历构建 ChineseDate chineseDate = new ChineseDate(1992 阅读全文
posted @ 2024-06-14 11:35 vello 阅读(118) 评论(0) 推荐(0)
摘要: 考虑到Java本身对日期时间的支持有限,并且Date和Calendar对象的并存导致各种方法使用混乱和复杂,故使用此工具类做了封装。这其中的封装主要是日期和字符串之间的转换,以及提供对日期的定位(一个月前等等)。 对于Date对象,为了便捷,使用了一个DateTime类来代替之,继承自Date对象, 阅读全文
posted @ 2024-06-14 11:32 vello 阅读(259) 评论(0) 推荐(0)
摘要: 日期时间包是Hutool的核心包之一,提供针对JDK中Date和Calendar对象的封装,封装对象如下: 日期时间工具 DateUtil 针对日期时间操作提供一系列静态方法 DateTime 提供类似于Joda-Time中日期时间对象的封装,继承自Date类,并提供更加丰富的对象方法。 FastD 阅读全文
posted @ 2024-06-14 11:30 vello 阅读(168) 评论(0) 推荐(0)
摘要: 在Java开发中我们要面对各种各样的类型转换问题,尤其是从命令行获取的用户参数、从HttpRequest获取的Parameter等等,这些参数类型多种多样,我们怎么去转换他们呢?常用的办法是先整成String,然后调用XXX.parseXXX方法,还要承受转换失败的风险,不得不加一层try catc 阅读全文
posted @ 2024-06-14 11:07 vello 阅读(321) 评论(0) 推荐(0)
摘要: 解决什么问题 我们知道,JDK中的Cloneable接口只是一个空接口,并没有定义成员,它存在的意义仅仅是指明一个类的实例化对象支持位复制(就是对象克隆),如果不实现这个类,调用对象的clone()方法就会抛出CloneNotSupportedException异常。而且,因为clone()方法在O 阅读全文
posted @ 2024-06-14 11:01 vello 阅读(120) 评论(0) 推荐(0)