首页
学习
活动
专区
工具
TVP
发布

Java Life

专栏成员
115
文章
79308
阅读量
26
订阅数
请说明List、Map、Set三个接口存取元素时,各有什么特点?
Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。
剑走天涯
2019-09-16
5170
请你说说Iterator和ListIterator的区别?
1)Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
剑走天涯
2019-09-16
1.1K0
请你解释什么是值传递和引用传递?
引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。所以对引用对象进行操作会同时改变原对象.
剑走天涯
2019-09-12
6440
请你谈谈大O符号(big-O notation)并给出不同数据结构的例子
大O符号描述了当数据结构里面的元素增加的时候,算法的规模或者是性能在最坏的场景下有多么好。
剑走天涯
2019-09-12
1.6K0
每天一道面试题 | day04
(2)通过实现Runnable接口(推荐使用,因为Java中是单继承,一个类只有一个父类,若继承了Thread类,就无法在继承其它类,显然实现Runnable接口更为灵活)
剑走天涯
2019-09-12
2880
每天一道面试题 | day05
(1)每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块。
剑走天涯
2019-09-12
2860
请你说明String 和StringBuffer的区别
JAVA 平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
剑走天涯
2019-09-12
5720
请你说说Java和PHP的区别?
PHP暂时还不支持像Java那样JIT运行时编译热点代码,但是PHP具有opcache机制,能够把脚本对应的opcode缓存在内存,PHP7中还支持配置opcache.file_cache导出opcode到文件.第三方的Facebook HHVM也支持JIT.另外PHP官方基于LLVM围绕opcache机制构建的Zend JIT分支也正在开发测试中.在php-src/Zend/bench.php测试显示,PHP JIT分支速度是PHP 5.4的10倍.
剑走天涯
2019-09-12
7480
Java SE | 每日作业卷day03
循环录入学员Java课程的成绩(学员数量由键盘录入),统计分数大于等于80分的学生的比例。
剑走天涯
2019-09-12
3960
请你说明一下TreeMap的底层实现?
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。
剑走天涯
2019-09-12
6950
请你解释一下hashMap具体如何实现的?
Hashmap基于数组实现的,通过对key的hashcode & 数组的长度得到在数组中位置,如当前数组有元素,则数组当前元素next指向要插入的元素,这样来解决hash冲突的,形成了拉链式的结构。put时在多线程情况下,会形成环从而导致死循环。
剑走天涯
2019-09-12
5280
请你说明一下ConcurrentHashMap的原理?
ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEntry 用来封装映射表的键 / 值对;Segment 用来充当锁的角色,每个 Segment 对象守护整个散列映射表的若干个桶。每个桶是由若干个 HashEntry 对象链接起来的链表。一个 ConcurrentHashMap 实例中包含由若干个 Segment 对象组成的数组。HashEntry 用来封装散列映射表中的键值对。在 HashEntry 类中,key,hash 和 next 域都被声明为 final 型,value 域被声明为 volatile 型。
剑走天涯
2019-09-10
5410
请解释一下TreeMap?
TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)的 NavigableMap实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator进行排序,具体取决于使用的构造方法。
剑走天涯
2019-09-10
4590
ArrayList、Vector、LinkedList的存储性能和特性
ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector中的方法由于添加了synchronized修饰,因此Vector是线程安全的容器,但性能上较ArrayList差,因此已经是Java中的遗留容器。
剑走天涯
2019-09-08
5260
ArrayList和LinkedList的区别
ArrayList和LinkedList都实现了List接口,他们有以下的不同点:
剑走天涯
2019-09-08
3440
请解释一下String为什么不可变?
不可变对象是指一个对象的状态在对象被创建之后就不再变化。不可改变的意思就是说:不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。
剑走天涯
2019-09-04
1.7K0
请你讲讲什么是泛型?
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
剑走天涯
2019-09-02
7030
请你讲讲abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
剑走天涯
2019-09-02
8110
Java SE | 每日作业卷day05
设计一个方法用于数组遍历,要求遍历的结果是在一行上的。例如:[11, 22, 33, 44, 55]。
剑走天涯
2019-08-23
3890
每天一道面试题
LinkedList:基于链表实现,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢;
剑走天涯
2019-08-23
3760
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档