![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 85
Java系列文章
书语时
公众号:茶语流书(chayuliushu)
展开
-
Java开发为什么选择ORM框架而不用JDBC呢(通常来说)?
在使用Java开发中,大概率会与数据库交互,在很早时候,我们使用JDBC(Java Database Connectivity)来执行SQL语句和访问数据库。后来,随着ORM(Object-Relational Mapping)框架的出现,我们就没有直接使用JDBC了,而是用封装了JDBC的ORM框架,并提供了更高级别的抽象,以简化数据库操作。那两者有什么区别,以及为什么在企业开发中基本都使用ORM框架而不是直接使用JDBC呢?接下我我们一起看看。维基百科是这样说的。原创 2024-04-19 13:01:48 · 626 阅读 · 0 评论 -
记录一次StackOverflowError解决思路
我们看一下维基百科是怎么解释的呢?(在软件中,如果调用堆栈指针超出堆栈界限,就会发生堆栈溢出。调用堆栈可能包含有限数量的地址空间,通常在程序开始时确定。调用堆栈的大小取决于许多因素,包括编程语言、机器体系结构、多线程和可用内存量。当程序尝试使用比调用堆栈上的可用空间更多的空间时(即,当它尝试访问超出调用堆栈边界的内存时,这本质上是缓冲区溢出),则称堆栈溢出,通常会导致程序崩溃。简单了解一下之后,看看我遇到的问题。原创 2024-04-01 16:14:01 · 273 阅读 · 0 评论 -
Java开发中常用到的各种时间转换
获取当天的最大时间:比如:2024-04-01 23:59:59。获取当天的开始时间(也就是最小时间)原创 2024-04-01 15:11:44 · 302 阅读 · 0 评论 -
Open Swagger & Java 规范
从SpringFox迁移到SpringDoc,从Swagger3开始,SpringFox更新进度缓慢,SpringDoc相较于SpringFox具有更明显的优势,相较 SpringFox来说,SpringDoc的支撑时间更长,无疑是更好的选择。开发人员参照本规范文档进行配置前,请引入以下依赖,目前最新版本为1.5.12,后续会根据版本更新进行改动。依赖引入配置文件和配置类依赖引入完毕后,需进行相关配置,配置分为配置文件和配置类两种,下面将分别进行说明配置项是否必需作用配置值这里只列举一些常用配置,原创 2023-05-31 17:31:15 · 2750 阅读 · 0 评论 -
ThreadLocal:解析简单易懂的多线程局部变量
在实际工作中,若用到多线程,就会遇到共享变量的问题,也就是在不同的线程间共享变量的值,这个时候就会用到同步机制。比如关键字或锁对象。这些机制确保了在任何时候只有一个线程能够访问共享资源,防止了并发访问时可能出现的冲突。然而,ThreadLocal类提供了一种不同的方法来处理线程安全问题。ThreadLocal允许我们创建仅对创建它们的线程可见的变量。这意味着每个线程都有自己的变量副本,不会与其他线程发生冲突。下面我们一起从它的定义、使用场景、优缺点、注意事项、原理分析等方面了解ThreadLocal。原创 2024-03-28 15:54:19 · 761 阅读 · 0 评论 -
踩坑之Java接收Microsoft Date
这两种格式在.NET平台中常用,用于表示日期和时间的序列化和反序列化。在Java中,可以使用自定义的日期反序列化器(如提供的DateDeserializer类)来解析这种格式的时间字符串,并将其转换为Java的Date对象或其他适当的类型。这两种时间格式都是Microsoft JSON日期格式(Microsoft JSON Date format)的变种,也被称为.NET JSON日期格式(.NET JSON Date format)。这种格式只包含日期的毫秒数,没有时区偏移量。先看一下时间格式:如下。原创 2023-05-30 16:33:19 · 468 阅读 · 0 评论 -
深入理解数组:从概念到实践
我们在了解/学习一个新技能之前,都会先了解这个技能的概念。搞清楚是用来干嘛的,能解决什么问题、这样的话,方便后面正确的打开。正所谓磨刀不误砍柴工嘛。原创 2022-09-21 00:36:42 · 349 阅读 · 1 评论 -
一文看懂ArrayList的自动扩容
看以上源码,我们每次往ArrayList中塞入数据的时候,都会判断一下,当前数据的元素是否塞满了,如果塞满的话,此时就会扩容这个数据,让后将老数组的元素拷贝到新的数组中去。从上面我们知道,若我们使用的是默认数组的大小,也就是10,如果我们已经往数组里面插入了10个元素了,那么现在数组的size=10 ,capacity=10,:对于数组,我们都知道,当你往数组的中间插入元素的时候,会让新插入元素位置的后面的元素全部往后挪动一位。数组扩容的时候,old数组的大小+old数组的大小>>1 就得到新的数组大小。原创 2022-06-10 18:22:30 · 1722 阅读 · 0 评论