string,数组,链表,数据结构简单了解

string 字符串(什么特性,在内存里面是怎样存储的)

1,不可变
2,String类型的底层final 修饰的char数组来存储数据
2,两种比较String的方式
通过“ == ” 或者String的equals方法可以比较两个String,但它们之间有本质区别。" == "比较的是两个对象的地址,而equals方法比较的是两个对象的内容。

什么是final
1.这个关键字是一个修饰符,可以修饰类,方法,变量。
2.被final修饰的类是一个最终类,不可以被继承。
3.被final修饰的方法是一个最终方法,不可以被覆盖。
4.被final修饰的变量是一个常量,只能被赋值一次。

存储方式

长度固定,且需要空间比较少
存储区域分为两块
在这里插入图片描述

数组

数组是最简单的数据类型,他的每个数据元素都能使用索引随机访问
1,在 Java 中数组的下标是从零开始的
范例: 定义一个int型数组
byte data[] = new byte [3];
longdata[] = new long[3];
int data[] = new int[3]; /开辟了一个长度为3的数组/
data[0] = 10; // 第一个元素
data[1] = 20; // 第二个元素
data[2] = 30; // 第三个元素

数组在内存中怎样存储

Java中有两种类型的数组:

1,基本数据类型数组;
(八种基本数据类型:byte、short、int、long、float、double、boolean、char。)
2,对象数组;

当一个对象使用关键字“new”创建时,会在堆上分配内存空间,然后返回对象的引用,这对数组来说也是一样的,因为数组也是一个对象;
(对象是存储在堆中 对象的索引是存储在栈中)
总结:一个数组对象所占的空间在堆上被分配,然后返回其引用

数组和链表的区别

数组:查询快,增删慢
链表:查询慢,增删快

数组的特点 array

1,数组只能处理组数据类型相同的数据
2,但不允许动态定义数组的大小,数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况,当数据增加时,可能超出原先定义的元素个数,造成数组越界;当数据减少时,造成内存浪费。

插入数据和删除数据效率低
增 : 会扩容,插入数据时,这个位置后面的数据在内存中都要向后移
(创建一个新的数组,将数组中的数据copy到新的数组中)
删 : 删除数据时,这个数据后面的数据都要往前移动
改 : 同删除,先找到这个元素
查 : 直接通过索引获取值,效率高(因为数组是连续的,知道每一个数据的内存地址)

链表的特点 linked list

在内存中可以存在任何地方,不要求连续
增:不会有扩容操作,直接在链表中添加一链
删:不会涉及到其他数据,直接在链表中删除一个链就可以
改:修改指定的位置的数据,需要先查到改节点
查:通过迭代器查询,若要查一个数据需要从链头一个一个向下迭代直到找到数据位置

数据结构

数据结构有哪些

DHCP

(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,或者给内部网络管理员作为对所有计算机作中央管理的手段。

CDN

的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。CDN的通俗理解就是网站加速,CPU均衡负载,可以解决跨运营商,跨地区,服务器负载能力过低,带宽过少等带来的网站打开速度慢等问题

302重定向(redirect)

说白了就是通过各种的方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。我们在网站建设中,时常会遇到需要网页重定向的情况:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值