手写数据结构-基于动态数组的队列
1.队列基础 队列是一种先进先出的数据结构(先到先得 First In First Out) 队列也是一种线性结构 相比于数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,从另一端(队首)取出元素 2.手写基于动态数组的队列及复...
1.队列基础 队列是一种先进先出的数据结构(先到先得 First In First Out) 队列也是一种线性结构 相比于数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,从另一端(队首)取出元素 2.手写基于动态数组的队列及复...
1.栈基础 结构特性:先进后出 2.手写基于动态链表的栈 package com.tc.javabase.datastructure.array.stack; import com.tc.javabase.datastructure.arr...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
1.数组基础 数组最一种存放数据的线性数据结构 ,最原始的数组是一种静态数组,需要声明数组的容量,一旦new出来数组对象大小不可改变,可以通过索引来进行数据的增删改查。我们可以通过对静态数组的二次封装来进行改进成动态数组。 数组最大的优点:...
一.什么是不可变对象 不可变对象:有一种对象只要它了就是安全的,它就是不可变对象。 一个不可变对象需要满足的条件:1.对象创建后其状态不能修改。 2.对象所有的域都是final类型。 ...
一.相关定义: 线程安全类:当多个线程访问某个类时,不管运行环境采用何种调度方式或者这些进程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 线程安全性主要体现在三个方面:原...
一、CPU多级缓存 CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源,所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。 CPU多级缓存配置(演变): 局部性原理: (1) 时间局...
一.什么是并发与高并发 ## 并发:多个线程操作相同的资源,保证线程安全,合理使用资源。 高并发:服务能同时处理很多请求,提高程序性能。 二.并发及并发的线程安全处理 如何进行并发编程且保证并发线程的安全性可以从以下几个点进行展...
1、进程和线程的区别 进程是资源分配的最小单位,线程是cpu调度的最小单位。 *所有与进程相关的资源,都被记录在PCB中 *进程是抢占cpu的调度单位;线程属于某个进程,共享其资源 *线程只由堆栈寄存...
一.运行时数据区 一个class文件被classloader加载到内存,经过load/link/initialize三步之后,然后交给jvm的运行时引擎运行,运行的时候在内存里面是一个什么情况? 根据《Java虚拟机规范》的规定,Java虚...
一.对象的内存布局 在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 1、对象头 HotSpot虚拟机对象的对象头部分包括两类...