
java
学喳喳
软件工程专业学生
展开
-
2019.6.27 《程序员小灰》HashMap总结
1.HashMapHashMap用于存储键值对的集合,这些键值对分散存储在一个数组中。1.put方法:需要一个哈希函数,来确定键值对插入的位置。可能会出现冲突!怎么办?我们可以利用链表来解决,数组的每一个元素不止是一个键值对,也是一个链表的头结点。2.Get方法:由于有冲突,同一位置可能匹配到多个Entry,这时候就需要顺着头结点,一个一个向下来查找。3.默认的初始长度?为...原创 2019-06-27 16:19:49 · 789 阅读 · 0 评论 -
2019.6.22 集合(一)
1. 请说明List、Map、Set三个接口存取元素时,各有什么特点?考察点:List参考回答:List以特定索引来存取元素,可以有重复元素。Set不能存放重复元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。Set和Map容器都有基于哈希存储和排序树的两种实现版本,基于哈希存储的版本...原创 2019-06-22 11:24:01 · 167 阅读 · 0 评论 -
2019.6.25 锁
1. 请你简述一下synchronized与java.util.concurrent.locks.Lock的相同之处和不同之处?考察点:锁机制参考回答:主要相同点:Lock能完成synchronized所实现的所有功能主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在fina...原创 2019-06-25 19:14:03 · 117 阅读 · 0 评论 -
2019.6.25 线程常见面试题
1.如何保证线程安全?考察点:线程参考回答:1.通过合理的时间调度,避开共享资源的存取冲突。2.在并行任务设计上可以通过适当的策略,保证任务与任务之间不存在共享资源,设计一个规则来保证一个客户的计算工作和数据访问只会被一个线程或一台工作机完成,而不是把一个客户的计算工作分配给多个线程去完成。2. 请你简要说明一下线程的基本状态以及状态之间的关系?考察点:线程参考回答:...原创 2019-06-25 18:50:46 · 338 阅读 · 0 评论 -
2019.6.20 面向对象(三)
1.请说明静态变量存在什么位置?考察点:类(看自己手写的笔记总结!!!)参考回答:方法区2.请你解释一下类加载机制,双亲委派模型,好处是什么?考察点:类参考回答:某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。使用双亲委派模型的好处在...原创 2019-06-20 20:21:06 · 166 阅读 · 0 评论 -
2019.6.20 面向对象(二)
1.请你讲讲abstract class和interface有什么区别?考察点:抽象类参考回答:抽象:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构...原创 2019-06-20 19:25:40 · 106 阅读 · 0 评论 -
2019.6.20 面向对象(一)
1.若对一个类不重写,它的equals()方法是如何比较的?考点:基础参考回答:比较是对象的地址。2.请解释hashCode()和equals()方法有什么联系?考点:基础参考回答:Java对象的eqauls方法和hashCode方法是这样规定的:➀相等(相同)的对象必须具有相等的哈希码(或者散列码)。➁如果两个对象的hashCode相同,它们并不一定相同。...原创 2019-06-20 19:09:58 · 188 阅读 · 0 评论 -
2019.6.20 关键字
1.请你讲讲Java里面的final关键字是怎么用的?考察点:关键字参考回答:当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。“使用final方法的原因有两个。第一个原因是把方法锁定,以防...原创 2019-06-20 18:46:18 · 95 阅读 · 0 评论 -
使用javamail发送邮件
1.导入jar包:mail.jar/*** @author:tk* @E-mail:977559644@qq.com* @version 创建时间:2016年8月9日 上午9:27:15* @TODO*/package util;import java.util.Calendar; import java.util.Properties; import javax....原创 2016-08-09 10:46:40 · 3625 阅读 · 0 评论 -
2019.6.27 AES算法(对称加密算法)
AES(Advanced Encryption Standard),是DES算法的替代者,也是当今最流行的对称加密算法之一首先清楚三个基本概念:密钥、填充、模式1.密钥AES支持三种长度的密钥128(性能最高)、192、256(安全性最高),其特性的不同点在于它们加密处理轮数不同2.填充AES的分组加密特性:填充的概念:如果拆分的明文有一段不满128bit,我们就需要对...原创 2019-06-27 19:34:33 · 370 阅读 · 0 评论