interview
Lei_Da_Gou
这个作者很懒,什么都没留下…
展开
-
get和post的区别
Get和Post在面试中一般都会问到,一般的区别: (1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中) (2)post发送的数据更大(get有url长度限制) (3)post能发送更多的数据类型(get只能发送ASCII字符) (4)post比get慢 (5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都...转载 2019-06-21 13:20:51 · 116 阅读 · 0 评论 -
HashMap、HashTable、ConcurrentHashMap的原理与区别
扩展阅读:HashMap在jdk1.7和1.8中的实现 希望各位小伙伴能带着如下几个问题来进行阅读,这样收获会更大。 HashTable、HashMap、ConcurrentHashMap的区别? HashMap线程不安全的出现场景? HashMap put方法存放数据时是怎么判断是否重复的? JDK7和JDK8 中HashMap的实现有什么区别? HashM...转载 2019-07-05 11:10:34 · 247 阅读 · 0 评论 -
Float.isNaN
Java虚拟机在处理浮点数运算时,不会抛出任何运行时异常(这里所讲的是java语言中的异常,请勿与IEEE 754规范中的浮点异常相互混淆,IEEE 754的浮点异常是一种运算信号),当一个操作产生溢出时,将会使用有符号的无穷大来表示,如果某个操作结果没有明确的数学定义的话,将会使用NaN值来表示,所有使用NaN值作为操作数的算术操作,结果都返回NaN。Java中的Double和Float中都有i...原创 2019-07-05 09:19:28 · 1287 阅读 · 0 评论 -
Hash、equals和haseCode
典型的有HashMap、HashSet 下面是我查阅了相关资料之后对以上的说明做的归纳总结: 1.若重写了equals(Object obj)方法,则有必要重写hashCode()方法。 2.若两个对象equals(Object obj)返回true,则hashCode()有必要也返回相同的int数。 3.若两个对象equals(Object obj)返回false,则h...转载 2019-06-28 11:02:52 · 277 阅读 · 0 评论 -
一个栗子将equals和hashCode玩透透的
main方法中三个栗子:足以说明hashCode和equals怎么配合才会使HashSet等集合正常工作。 package com.kf; import java.util.HashSet; import java.util.Set; /** * 测试为什么equals相等hashCode也要相等 * (这里的实例,重写equals方法、hashCode方法) * * @auth...原创 2019-07-03 14:33:51 · 140 阅读 · 0 评论 -
面试题
1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新...转载 2019-07-02 16:58:58 · 654 阅读 · 0 评论 -
选择排序实现及优化
选择排序: 用第当前元素和后面的所有元素依此比较,每轮得到一个最大或者最小的元素交换位置,即放在当前元素所在位置。比较(arr.lenth-1)轮,因为最后一轮无意义。每轮和arr[当前位置]~arr[arr.lenth-1]区间元素(及后面的所有元素)比较。实现如下: package com.kf; import java.util.Arrays; /** * 选择排序(用第当...原创 2019-07-02 14:35:16 · 176 阅读 · 0 评论 -
冒泡排序实现及优化
冒泡排序: 相邻元素比较,符合条件交换位置,每轮比较会得到一个最大或者最小的值。数组有多少个元素就需要比较几轮,但是倒数一轮比较的时候数组已经排好序了,即最后一轮比较是多余的,因此共比较(arr.lenth-1)轮。每轮相邻元素比较(arr.lenth-1)次,由于每轮比较会冒出一个排好序的值,因此每轮又可以减少之前冒泡得到的元素,因此每轮只需要比较(arr.length-1-第几轮)次。实现如...原创 2019-07-02 14:13:04 · 281 阅读 · 0 评论 -
HashMap拙见
1.见上图jdk7和jdk8的区别 2.因为当链表的查询效率低,查询时间复杂度最小为O(1),最大为O(n),而红黑树的查询效率高O(logn,底为2)。这里不用平衡AVL树是因为RBT比AVL的插入效率高,HashMap采用了折中的RBT实现,链表中的长度大于8就会将链表转为RBT。 3.HashMap内部有一个容量和一个阈值,当HashMap元素个数大于阈值(size*factor)则...原创 2019-07-05 11:31:28 · 167 阅读 · 0 评论