Java面试整理(精简版)
Java面向对象有哪些特征,如何应用
| 特征(OOP) | 解释说明 | 通俗理解 | 关系联系 | 作用 |
|---|---|---|---|---|
| 封装 | 隐藏内部细节,只对外暴露访问方法 | 属性/方法封装,便于使用,限制不合理操作 | 类-类 | 低耦合,高内聚,增强代码可维护性;** |
| 继承 | 新类吸收已有类数据(属性/行为),并能扩展新能力。 | 特殊特征(子类)-共同特征(父类) | 父类-子类 | 避免对一般类和特殊类共同特征重复描述,使系统模型比较简练清晰 |
| 多态 | 两个类有继承关系,存在方法重写,父类指向子类 | 类-类 | ||
| 抽象 | ||||
本质 : 利用类和对象编程的思想方式。
HashMap原理是什么,在jdk1.7和1.8中有什么区别
| 区别 (原理) | 数据结构 | 实现细节 | 时间复杂度 |
|---|---|---|---|
| 1.7 | 数组+单向链表(链表长时查询效率低) | 先从数组,再到链表 | O(N) |
| 1.8 | 数组+单向链表+红黑树 | 同上,当链表元素超过8,将链表转成红黑树查找 | O(logN) |
ArrayList和LinkedList有什么区别
| 区别 | 底层 | 方式 | 时间复杂度 | 优势(大数据下) |
|---|---|---|---|---|
| ArrayList | 数组 | 索引 | O(1) | 适合查找 |
| LinkedList | 链表 | 元素列表 | O(N) | 适合增删 |
Java面试整理(精简版)的更多相关文章
- Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................... ...
- Java面试宝典2014版
一. Java基础部分......................................................................................... ...
- Java面试宝典2017版
1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java&qu ...
- java面试整理(会持续更新..)
本人出道至今,经历了大大小小百余场战斗,,,下面整理的面试题有些有答案,有些没答案,那个谁说过:"要抱着怀疑的态度去编程,所以,即便有答案,也不一定正确,即便我本地正确,但是由于屏幕前的你和 ...
- java面试整理
IO和NIO的区别 这是一个很常见的问题,如果单纯的只回答IO和NIO的区别,只能算及格.我个人觉得应该从以下几个方面回答: 1).IO简介, 2).TCP的三次握手,因为这也是两者的区别之一, 3) ...
- 【转】Java面试宝典2015版(绝对值得收藏超长版)(一)
(转自:http://mp.weixin.qq.com/s?__biz=MjM5MTM0NjQ2MQ==&mid=206619070&idx=1&sn=fcb21001d442 ...
- Java面试宝典2015版
这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试.由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完 ...
- java面试知识迷你版
java基础JUC.AQSJVM类加载过程mybatisSpringspringboot设计模式数据库redis网络问题认证授权Nginxlinux其他lombok消息队列ES缓存分库分表设计高并发系 ...
- Java面试宝典2015版(绝对值得收藏超长版)
31.String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有? 没有.因为Str ...
随机推荐
- ESP8266 NodeMCU引脚说明,CH340和CP2102两款
开发ESP8266 NodeMCU GPIO功能时,虽然知道ESP8266 NodeMCU丝印引脚编号如下图所示(CP2102款),但是和实际对应的GPIO编号完全不一样. CP2102款 引脚说 ...
- 题解0007:小木棍(P1120)
(错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...
- C++中的RAII介绍
摘要 RAII技术被认为是C++中管理资源的最佳方法,进一步引申,使用RAII技术也可以实现安全.简洁的状态管理,编写出优雅的异常安全的代码. 资源管理 RAII是C++的发明者Bjarne Stro ...
- [源码解析] TensorFlow 分布式环境(5) --- Session
[源码解析] TensorFlow 分布式环境(5) --- Session 目录 [源码解析] TensorFlow 分布式环境(5) --- Session 1. 概述 1.1 Session 分 ...
- String -- char[]互转
1.String --> char[] String str = "abc"; char[] chs = str.toCharArray(); 2.char[] --> ...
- leedCode
https://blog.csdn.net/code_yilia/category_9851007.html https://blog.csdn.net/qq_17550379/article/det ...
- 为什么枚举单例在 Java 中更好?
枚举单例是使用一个实例在 Java 中实现单例模式的新方法.虽然Java中的单例模式存在很长时间,但枚举单例是相对较新的概念,在引入Enum作为关键字和功能之后,从Java5开始在实践中.本文与之前关 ...
- Log4j使用(转)
from:http://www.cnblogs.com/ITtangtang/p/3926665.html 一.Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders ...
- springboot-数据库访问之mybatis
选中mysqldirver,数据库驱动器 选中jdbc ,帮我们配置数据源,连接数据库 选中mybatis,持久层 <!-- 这个不是springboot官方出来的,是mybatis为了设备sp ...
- 学习Keepalived(一)
一.Keepalived 详解 1.Keepalived 定义 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障.一个LVS服务会有2台服务器运行Ke ...