自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 ArrayList和LinkedList的循环删除问题

ArrayList底层是数组实现的,如果把某个元素删除之后,数组会进行重组,这个时候数组的长度会发生变化,如果还根据for循环i++的下标访问会出现问题。默认是空数组,在添加元素时,会判断这个大小跟10的关系,如果小于10,数组大小直接为10。读者若直接复制代码,执行时,需从三个方法中选一个,另外两个注释掉。此后,发现数组满了之后,会扩大为原来的1.5倍。即:原数组大小+原数组大小的一半。

2022-10-23 17:19:25 759

原创 类加载机制和类加载过程

顶层的启动类加载器如果能够完成类的加载任务,就会成功加载,倘若父类加载器无法完成任务,子类加载器才会尝试自己去加载,这就是双亲委派模式。

2022-10-07 21:44:29 581

原创 一条sql语句在MySQL的执行流程

这是因为最开始 MySQL 并没与 InnoDB 引擎( InnoDB 引擎是其他公司以插件形式插入 MySQL 的) ,MySQL 自带的引擎是 MyISAM,但是我们知道 redo log 是 InnoDB 引擎特有的,其他存储引擎都没有,这就导致会没有 crash-safe 的能力(crash-safe 的能力即使数据库发生异常重启,之前提交的记录都不会丢失),binlog 日志只能用来归档。,主要就是判断你输入的 sql 是否正确,是否符合 MySQL 的语法。(归档日志),InnoDB自带的。

2022-10-07 21:41:55 1043

原创 两个栈实现一个队列

的时候,先把stack1的元素放入stack2,添加完之后,把所有元素放回stack1。每次添加都是在stack2最外层添加,到了stack1,自然到了最内层。核心思想,把stack2当成添加时的。的时候,直接从stack1出。

2022-10-07 21:41:18 158

原创 两个队列实现一个栈

在queue2添加元素之后,把queue1的元素添加到queue2,此时queue2的输出相当于栈,让queue1 = 让queue2 ,让q2=原来的q1,即空。

2022-10-07 21:40:48 255

原创 JVM运行时数据区等部分概念

(int a = 32) a存于哪里,如果是局部变量(在方法里面)是在虚拟栈中的,如果是对象中定义的是堆中。好处:reference中存储的是稳定句柄地。通过栈上的reference数据来操作。- 然后 将一些信息存放到对象头。Java有一个自动垃圾收集机制。内存分配完成之后 初始化 0。C++需要手动式释放掉。好处:快,节省一次定位。

2022-10-07 21:40:17 73

原创 面向对象总结

面向对象面向对象的三大特征在 Java 中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。面向对象的分析:OOA面向对象的设计:OOD面向对象的编程:OOP面向过程1、步骤清晰简单,第一步做什么,第二步做什么。。。。。。2、适用于一些较为简单的问题面向对象1、适用于问题复杂的情况2、解决问题要有分类思想,先对问题进行分析,需要分哪些类,然后再考虑某个具体分类3、面向对象的三大特征类和对象的关系对象是具体的,世界的万物都可以看做对象;类是抽象概念

2022-10-07 21:39:45 241

原创 Java强软弱虚引用的使用场景

特点:1. 当内存空间不足,JVM宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。特点:创建缓存的时候,创建的对象放进缓存中,当内存不足时,JVM就会回收早先创建的对象。特点:在垃圾回收时,一旦发现弱引用对象,无论内存是否不足,都会进行回收。使用场景:该变量不希望被垃圾回收器回收。1.防止内存泄漏,保证内存被JVM回收。特点:任何时候都可能被垃圾回收器回收。使用场景:跟踪对象被GC回收的活动。使用场景:图片、网页缓存之类。

2022-09-13 00:54:10 214

原创 java7 HashMap在多线程下put导致死循环问题

切换时间片执行线程1,线程1执行完毕后执行线程2,此时他的e2和next2两个变量还都是指向原来的值,但是HashMap已经改变,但是线程2并不知道。4、 把e的指针指向新建的数组的对应位置,这个位置是根据hash值计算出来的。indexFor方法。执行到这里时,恰巧进行了堵塞,这样会有e2指向1,next2指向2。6、重复1-5的操作,直到e为null,跳出while循环。5、把值赋过去,然后变换e的值,进行下一次循环。此时已经成环,究其原因,是头插法导致。2、进行while循环,即。

2022-09-13 00:39:40 306

原创 泛型的类型擦除

泛型是一种程序设计手段。使用泛型机制写的程序代码要比随意使用Object变量,再进行强制类型转换具有更高的安全性和可读性。泛型如果没有限定类型,在编译时会使用Object类型;类型安全监测机制,用\或其他类型进行限定,编译器可以很方便的进行类型识别;可读性强,一眼可以看出代码操作的数据类型。

2022-09-04 23:17:17 297

原创 数组的再学习

关于力扣刷题的总结

2022-09-04 21:33:16 301

原创 抽象类与接口的联系与区别

来继承抽象类,如果子类不是抽象类,他需要把抽象类中所有抽象方法实现,如果子类是抽象类,可以先不实现。来实现接口,他需要把接口中声明的所有方法实现;5、不能构造接口的对象,但能声明接口的变量,new的时候可以用引用了接口的类对象。5、其他方面,抽象类像一个正常的类一样,可以有具体的数据、具体的方法。3、java8之前不能在接口中实现方法,现在可以实现简单的一些方法。1、接口不是类,而是对类的一组需求描述;2、有抽象方法的类必须声明为抽象类;3、抽象类可以没有抽象方法;7、接口中所有方法都是抽象的。

2022-09-02 22:54:22 196

原创 深度优先遍历和广度优先遍历

深度优先遍历和广度优先遍历的概念和应用

2022-09-01 22:22:07 847

原创 java类加载的执行顺序

类加载是首先对类进行编译,即生成.class文件。与此同时会执行第一梯队。第二梯队:非静态变量、非静态构造块。第一梯队:静态变量、静态构造块。执行是就是二、三、四梯队的执行。如果有父类,对应的先执行父类。...

2022-08-31 19:52:49 533

原创 java 重写equals方法为什么需要同时重写hashCode方法

a.equals(b) 为真,但是两者的hashcode如果不相同的话,在集合中的判断就会出现问题。将a、b同时加入散列存储结构map、set时,就可能出现数据结构中存在两个值相等的对象的情况,从而导致混淆。

2022-08-31 11:29:28 122

原创 从源码分析128陷阱产生的原因

首先要了解什么是128陷阱128陷阱指的是2个integer对象直接用==判定,在某个范围内可以判true,而超出这个范围则为false在创建Integer类型时,如果值在某个特定的范围内,则会使用缓存数组内的值,这个时候两个数字大小的Integer就会相等,即地址相同;如果创建两个超出这个范围的Integer,则会分别创建两个对象,值相同,但是地址不相同,会返回false。...

2022-08-31 10:49:01 100

原创 LinkedList与ArrayDeque在栈与队列中的使用

LinkedList与ArrayDeque在栈与队列中的使用

2022-08-30 22:08:26 440

原创 用户权限体系的实现

用户权限体系的实现

2022-08-28 21:04:31 409

原创 java线程池——Executor框架详解

java线程池——Executor框架详解

2022-08-28 20:21:40 1328

原创 java多线程和线程池(使用工厂类 Executors实现)

java多线程和线程池

2022-08-27 20:56:08 467

原创 MySQL索引

MySQL索引

2022-08-24 17:19:18 254

原创 java线程池简介

java线程池

2022-08-24 14:56:02 114

原创 BinaryTree的中序遍历和层次遍历

BinaryTree的中序遍历和层次遍历

2022-08-23 20:37:23 287

转载 Stream流

Stream流

2022-08-23 16:34:33 88

原创 java集合

java集合

2022-08-23 14:57:13 232

原创 git merge 和rebase 有什么区别

git merge 和rebase 有什么区别

2022-08-22 17:23:55 70

原创 Lambda表达式

Lambda表达式

2022-08-22 16:39:35 103

原创 实现有序链表和反转有序链表

实现有序链表和反转有序链表

2022-08-22 15:03:18 125

原创 AOP面向切面编程

AOP面向切面编程

2022-08-22 12:58:23 344

原创 linux awk常用命令

linux awk常用命令

2022-08-21 23:26:39 1437

原创 linux基础常用命令

linux基础常用命令

2022-08-21 17:57:05 297

原创 git基本操作和使用流程

git基本操作和使用流程

2022-08-21 17:26:18 161

原创 mybatis动态SQL

mybatis动态SQL

2022-08-21 16:43:35 663

原创 mybatis的介绍

mybatis的介绍

2022-08-21 16:42:51 192

原创 sql基本使用

sql基本操作

2022-08-21 16:42:06 63

原创 excel导入和导出

excel导入和导出

2022-08-21 16:41:08 45

原创 部分注解,自用

@注解

2022-07-26 18:15:55 290

原创 element UI 上传的实现

element ui文件上传

2022-07-26 16:57:04 489 1

原创 java 代理

java代理初学者

2022-05-29 19:09:35 105

原创 javaweb基础问题记录

自用,web基础记录

2022-04-11 19:39:38 202

空空如也

空空如也

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

TA关注的人

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