今天二节课,第一节专业课,第二节CQC 。
早上项目实战的时候,我们一般都是背面试题。
1、项目实战(背面试题)
今天背到这个 Java有哪些基本数据类型的时候 有个疑惑,就是boolean占多少字节(内容如下)
Java有哪些基本数据类型?
定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配 了不同大小的内存空间。
a.、数值型:整数类型(byte,short,int,long) 分别为 1 、2 、4 、8
b、浮点类型(float,double) c、字符型(char) 分别为 4 、8
d、布尔型(boolean) 这个占多少字节呢?
于是我就隔网上查资料然后总结了一下
从理论上来讲,存储这个逻辑值只需要1个位(bit)就可以了,很多教科书上谈到这个问题的时候,也说boolean类型的数据在内存中只占1个位。
根据《Java虚拟机规范》一书中,其实也对这个问题进行过说明,以下是本书中相关的两个结论(不是原文,是对原文进行了提炼):
1.JVM没有提供booolean类型专用的字节码指令,而是使用int相关指令来代替。
2.对boolean数组的访问与修改,会共用byte数组的baload和bastore指令。
load 加载 store /stɔː®/存储 商店 储存
1、上面的第1个结论是说:boolean在底层实际会调用int,那么既然int占4个字节,boolean也自然占4个字节。即,boolean类型占4个字节。
2、上面的第2个结论是说:boolean数组在底层会用到byte指令,那么既然byte占1个字节,boolean数组中的boolean也就占1个字节。即,boolean数组中的boolean占1个字节。
综上两点,得出最终结论:在符合JVM规范的虚拟机中,
如果boolean是单独使用:boolean占4个字节。
如果boolean是以“boolean数组”的形式使用:boolean占1个字节。
1
紧接着问题又来了:单独使用boolean类型数据的时候,为什么要用4个字节来存储呢?用1个或2个字节存储岂不是更节省空间吗?我们必须知道,当下大部分处理器都是32位的(不是操作系统的32位,而是指CPU硬件),把boolean型数据存储成4个字节(32位),存取效率是最高的。
2、第一节课
这节课主要安排就是:竞选班干部和分组以及调座位
2.1、主要有以下岗位:
项目主管:方向和补位;第一责任人,活动,制度
技术主管:配合项目经理;收发作业,技术攻坚
技术担当:配合组长进行项目第一次验收,并将结果反馈给技术主管
人事主管:配合人事经理;防疫,考勤纪律,课前分享,管理组长验收成果
组长:收发作业,配合技术担当进行验收,并将作业和质量打分发给人事主管
老师说 :技术主管、技术担当会多接触一些东西,有一些东西是先发放到你们这你们进行探究和讨论,然后是不是可以多学一点、多接触一些技术对你们都有好处
然后我就竞选了技术担当,为啥没有竞选技术主管,感觉还不是能完全胜任,这个技术担当对我来说绰绰有余 嘿嘿。
3、第二节cqc 主题是疫情防控
这个上完 今天也就没课了 这几个星期 都是半天课