折戟沉沙——面经
Heavy_Dream
这个作者很懒,什么都没留下…
展开
-
Java中的equals和==的区别
在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输...翻译 2019-02-20 10:48:09 · 174 阅读 · 0 评论 -
equals()和hashCode()区别?
equals()和hashCode()区别?-------------------------------------------------equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数。根类Object的hashCode()方法的计算依赖于对象实...翻译 2019-02-20 10:50:46 · 224 阅读 · 0 评论 -
ArrayList和LinkedList底层实现的区别
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处。(参考数组与链表来思考) 3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对...翻译 2019-02-20 11:33:12 · 440 阅读 · 0 评论 -
Java内存分配之堆、栈和常量池
Java内存分配主要包括以下几个区域:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间****************************...翻译 2019-02-26 19:13:41 · 215 阅读 · 0 评论 -
关于finally当场去世的那些事(一)
案例: 如果try{}里面有一个return语句,那try后的finally{}里的code会不会被执行,什么时候被执行,在return之前还是之后?public class MainThreadAPP { public static void main(String[] args) { int m = m(); System.out.printl...原创 2019-03-19 17:01:05 · 199 阅读 · 0 评论 -
关于finally当场去世的那些事(二)
public class APP1 { public static void main(String[] args) { int a = m(); System.out.println(a); } private static int m() { try { int b = 1 / 0; ...翻译 2019-03-19 17:19:52 · 204 阅读 · 0 评论 -
int和integer;Math.round(11.5)和Math.round(-11.5)
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达...翻译 2019-03-19 20:18:28 · 469 阅读 · 0 评论 -
md5加密、 3-DES加密、 base64编码、 URLEncoder编码
出于安全考虑,网络的传输中经常对传输数据做加密和编码处理,其中涉及以下几种:1、md5加密,该加密算法是单向加密,即加密的数据不能再通过解密还原。相关类包含在java.security.MessageDigest包中。2、3-DES加密,该加密算法是可逆的,解密方可以通过与加密方约定的密钥匙进行解密。相关类包含在javax.crypto.*包中。3、base64编码,是用于传输8bit...翻译 2019-03-19 21:57:16 · 630 阅读 · 0 评论 -
TCP三次握手详解及释放连接过程
TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。两个序号和三个标志位: (1)序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。 (3)标志位:共6个,即URG、AC...翻译 2019-03-20 08:07:35 · 509 阅读 · 0 评论