java基础
scouttttttttttt
仅以此来记录我的IT学习历程
展开
-
java中==和equels()及hashcode()
1 ==:1.1如果比较的是基本数据类型,值相同就返回true1.2如果比较的是引用数据类型,引用对象所指向的内存地址相同就返回true,但是有一个例外就是Integer对象,在Integer对象中,系统会把[-128,127]区间内整数自动装箱成Integer实例,并放入一个叫做cache的数组中,所以在这个数组内的对象比较会返回true。例如:Integer a1 = 10;Intege...转载 2019-08-29 09:41:39 · 285 阅读 · 0 评论 -
java六大存储区域
1 寄存器(register):位于处理器内部,最快的存取区2 栈(stack):位于RAM中,这是一种快速有效的分配存储方法,仅次于寄存器,对象引用存储在栈中创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。3 堆(heap):位于RAM中,存放所有new出来的java对象,堆不同于栈的好处是:编译器不需要知道要...原创 2019-09-17 19:51:27 · 440 阅读 · 0 评论 -
java新增的NIO
新IO采用内存映射文件的方式来处理输入输出,新IO将文件或文件的一段区域映射到内存中,这样就可以像访问内存一样来访问文件,通过这种方式来进行输入输出比传统的输入输出要快得多channel(通道)和buffer(缓冲)是nio中的两个核心对象:所有的数据都要通过channel来传输,它提供了一个map()方法,可以直接将一块数据映射到内存中所有发送到channel中的对象都必须先放到buffe...原创 2019-09-17 20:10:46 · 231 阅读 · 0 评论 -
对象序列化为什么要设置SerialversionUID
今天笔试时碰到一个题,是问对象序列化为什么要设置SerialversionUID,当时以为是多次序列化同一对象序列化号的问题,随便扯了一大堆,回到宿舍号查了一下,有了正确的答案:在java对象序列化时,如果没有设置SerialversionUID,他会给一个默认的值,但是通常是建议设置默认的建议自定义一个serialVersionUID,因为默认的serialVersinUID对于class的细...转载 2019-09-20 07:47:15 · 732 阅读 · 0 评论 -
解决hash冲突的几种方法(转)
1.开放定址法这种方法也称再散列法,其基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲突,再以p为基础,产生另一个哈希地址p2,…,直到找出一个不冲突的哈希地址pi ,将相应元素存入其中。这种方法有一个通用的再散列函数形式:Hi=(H(key)+di)% m i=1,2,…,n其中H(key)为哈希函数,m 为表长,di称...转载 2019-09-21 10:36:01 · 211 阅读 · 0 评论