先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
一、八种基本数据类型
1.1 字节型byte
字节(byte)是计算机的基本单位,但不是最小的单位,最小的单位是位(bit)
1 byte = 8bit 即一个字节占用8位二进制~
- 默认值: 0;
- 数值范围:
(-2^7) ~ (2^7-1) 即 -128 ~ 127
;- 占用空间:
1 byte
= 8bit即一字节占用8位二进制;- 注意事项:byte在大容量数组中使用时非常节省空间,只占用int类型的四分之一;
- 代码例子:byte b1 = -127,byte b2 = 128;
1.2 短整型short
短整型short 是一种比较小的整数~
- 默认值:
0
;- 数值范围:
(-2^15) ~ (2^15 - 1)
即 -32768 ~ 32767;- 占用空间:
2 byte
= 16bit即两字节占用16位二进制;- 注意事项:在大容量数组中使用相对节省空间,只占int的二分之一;
- 代码例子:short s1 = -666,short s2 = 666。
1.3 字符型char
char字符型是Java非常独特的基本数据类型,占用两个字节,采用了Unicode(万国码)作为字符编码,可以存储任何字符
- 默认值:
0
(注意这里的0
是Unicode值,对应的字符是空字符串''
);- 数值范围:
0 ~ 65535
对应Unicode码\u0000 ~ \uffff
(常用字符数值,例如空字符’'对应0、'A’对应65、'a’对应97、字符数字’0’对应48);- 占用空间:
2 byte
= 16bit即两个字节占用16位二进制;- 注意事项:计算机业界为实现跨语言信息交换提供了两种比较常用的交换码,分别是ASCII(美国信息交换标准代码,范围0 ~ 127)和UNICODE(单一码或万国码,范围 0~ 65535)
- 代码例子:char c= ‘’;char c1= ‘A’;char c2= ‘a’;char c3= ‘0’;
1.4 整型int
我们平时讲的整数,在Java中指的就是int整型
- 默认值: 0;
- 数值范围:
-2^31 ~ (2^31 - 1)
即 -2,147,483,648 ~ 2,147,483,647;- 占用空间:
4 byte
(32bit)即两个字节占用32位二进制;- 代码例子:int i1 = -9999999, int i2 = 9999999。
1.5 单精度浮点型float
单精度浮点型float是Java中的一种浮点型,数值后面带F或f~
- 默认值:
0.0F
(或0.0f
);- 数值范围:
-2^128 ~ 2^127
精度范围:7~8位有效数字(不用刻意记)- 占用空间:
4 byte
= 32bit即两个字节占用32位二进制;- 注意事项:
(1)在大容量浮点数组中使用比较节省空间,只占double类型的二分之一
(2)因为float浮点型是有精度的,不能用来表示精确的值,因此实际开发涉及到金钱货币的,不能用float,一般使用BigDecimal,感兴趣的话,可以百度了解下;
- 代码例子:float f1 = 123.45F;或 float f2 = 123.45f;
1.6 双精度型double
双精度浮点型double是Java中默认的一种浮点型,数值后面带D或d或者不带标识符的小数~
- 默认值:
0.0D
或0.0d
或0.0
;- 数值范围:取值范围:
-2^1024 ~ 2^1023
精度范围:16~17位有效数字(不用刻意记);- 占用空间:
8 byte
= 64bit即两个字节占用64位二进制;- 代码例子:double d1=7D;double d2=7d;double d3=7.0;
- 注意事项:同样double浮点型是有精度的,不能用来表示精确的值,因此实际开发涉及到金钱货币的,不能用float,一般使用BigDecimal,感兴趣的话,可以百度了解下;
1.7 长整型long
长整型long,顾名思义,一般用来存储比较大的整数值~
- 默认值:
0L
(或0l,不过不建议使用小写字母l,容易与数字1混淆);- 数值范围:
-2^63 ~ (2^63 -1)
即 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807;- 占用空间:
8 byte
= 64bit即两个字节占用64位二进制;- 代码例子:long l1 = -9999999999999L,Long l2 = 9999999999999L;
1.8 布尔型boolean
布尔型boolean与其他7种基本数据类型不同,只有true/false两种值,主要用来做判断条件的~
- 默认值:
false
;- 数值范围:
true/false
;- 占用空间:
1bit 或 4bit
;- 代码例子:boolean b1 = true,boolean b2 = false;
- 注意事项:关于boolean类型的true/false占用1bit还是4bit,业界并没有给出精确的定义,因为boolean编译后其实使用了int代替,而true用1表示,false用0表示,《Java虚拟机规范》中也给出了boolean占用4个字节、boolean数组占用1个字节的定义;
二、基本数据类型转换
经过前面的学习,我们知道除了boolean类型,其他7种基本数据类型占用的位数空间由小到大为:
byte(8位) < short(16位) = char(16位) < int(32位) = float(32位) < double(64位) = long(64位)
2.1 自动转换类型
当两种基本数据类型做运算时,最终的结果自动提升为位数空间比较大的那个类型
例如:
double d1 = 1.1;
int i1 = 1;
double value = d1 + i1;
你不能:
double d1 = 1.1;
int i1 = 1;
int value = d1 + i1;
需要注意的是,char/short、int/float及double/long两两位空间是一样大小的,并不是能全部实现自动类型转换,不过一般现在的IDE等开发工具,都会自动编译报错,如有需要使用强制转换类型即可,这个问题不大~
2.2 强制转换类型
当两种基本数据类型做运算时,最终的结果会自动提升为位数空间比较大的那个类型,如果我们想要让结果是位数空间比较小的那个类型,就需要进行强制转换~
例如,前面讲到的直接用int接收double数值结果的错误例子:
double d1 = 1.1;
int i1 = 1;
int value = d1 + i1;
这种情况,就可以使用强制转换符(类型)
来实现:
double d1 = 1.1;
int i1 = 1;
int value = (int)(d1 + i1);
不过细心的同学,强制转换类型,可能会导致精度丢失
,比如本来是double类型的结果是2.1,强制转换为int类型后得到value变成2了,精度丢失了
三、面试总结
八种类型?
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
bfab1fd4edc800d7db3eabb956e.png)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-4JJnt69Y-1713333708727)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!