- 博客(16)
- 收藏
- 关注
原创 堆排序(大顶堆、小顶堆)
例如下图:父节点比它的子节点都要大的完全二叉树就是大顶堆。(左右孩子的大小就没有顺序)相反,父节点比字节点都小的完全二叉树是小顶堆(左右孩子的大小就没有顺序)
2023-10-05 19:54:45
1751
原创 Spring事务传播
事务传播行为是为了解决业务层方法之间互相调用的事务问题,当一个事务方法被另一个事务方法调用时,事务该以何种状态存在?例如新方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行,等等,这些规则就涉及到事务的传播性。大白话就是,多个业务相互调用,业务如果开启了业务,业务会变成什么样?(新建一个业务还是共用同一个业务)
2023-07-08 22:04:03
1024
原创 【哈希表是怎么存储对象的,重写equals时为什么要重写hashCode方法】
总结来说重写equals时要重写hashCode方法的原因就是避免相同对象会有不同的hash值。结论很简单,说的有点多,可能看起来会有点乱,但是想要理解结论也是需要了解一下这些的。
2023-04-05 20:13:32
341
原创 正则表达式
/false这里\D表示非字符,那为什么代码写的是"\D"?其实"“在Java中属于转义字符,因为如果直接输入的是”\D",那么程序就会以为这个"“是转义字符,导致输出的是D,所以多加一个”“,这样输出才是”\D"
2023-04-05 13:33:01
146
原创 Java集合框架——ArrayList源码实现分析
首先看源码的简介分析List 接口的可调整大小数组实现。实现所有可选的列表操作,并允许所有元素,包括 null。除了实现 List 接口之外,此类还提供了操作内部用于存储列表的数组大小的方法。(此类大致等同于 Vector,只是它是不同步的。ArrayList可以看成是一个动态数组,它是基于数组实现的。因为底层是数组,所以ArratList也是查询速度快,插入,删除效率相对低的特点。
2023-04-04 18:10:32
415
原创 HotSpot虚拟机对象探秘
Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有新的对象被创建。在语言层面上,创建对象,通常只是需要我们使用一个new的关键字,但在虚拟机中,对象的创建又是一个怎么样的过程呢?
2023-02-04 22:05:13
169
原创 java内存区域详解
对于java程序员来说,在虚拟机自动内存管理机制帮助下,我们不再需要去理会new一个对象的一些具体操作,不容易出现内存泄露和内存溢出问题,看起来有虚拟机管理内存一切很美好。但是,也正是因为把管理内存的权力交给了虚拟机,一旦出现内存泄露和溢出问题,如果不了解虚拟机是怎么管理内存的,那么排查错误,修正问题将会成为一项艰巨的任务。
2023-02-04 19:03:21
915
原创 浅谈Servlet
什么是Servlet,ServletConfig,ServletContext。生命周期是怎么样的。什么是Servlet在B/S架构(Browser / Server,浏览器 / 服务器)中,想要客户端和服务器端能够正常通信,往往需要遵守一定的规范,Servlet规范就是其中之一。而Servlet规范的作用就在于能有将webapp和web server解耦开来,只要我们java程序员在开发webapp的时候遵守这个规范,这个webapp就可以放在不同的WEB服务器中运行。
2023-01-21 14:54:49
198
原创 观察者模式和发布订阅模式
观察者(Observer),又称发布-订阅(Publish-Subscrice),属于23中设计模式之一。发布订阅模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。
2022-12-20 00:17:22
2847
原创 数据库设计三范式
数据冗余我们在设计数据库时如果如果不按照一定的规范去设计很容易会出现数据冗余,即有多余的数据重复重现,浪费内存。例如:学生-老师的表设计如下如果这样设计,因为一个老师对应很多个学生,所以老师的id和他的相关信息就要重复存很多次,造成资源浪费。为了解决这个问题,可以使用三范式(3NF),它是设计表的依据,按照这个三范式设计的表不会出现数据冗余。...
2022-08-08 10:46:23
458
1
原创 浅谈使用Jquery实现ajax请求
使用jQuery实现ajax请求一、以前Ajax请求Ajax请求的实现分为五个步骤:创建请求对象设置与服务器端的连接信息向服务器发送数据设置回调函数接收服务器的响应数据每次都写这五个步骤显得比较麻烦,所以使用jQuery的方法实现则较为简洁。二、使用jQuery实现语法$.ajax([settings])settings为配置ajax请求的一系列键值对,具体参数说明如下表(参数来源菜鸟教程)名称值/描述async布尔值,表示请求是否异步处理。默
2022-05-17 13:50:18
3178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人