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 ...
随机推荐
- 6月21日 Django ORM那些相关操作(表关联、聚合查询和分组查询)
一.ForeignKey操作 正向查找 对象查找(跨表) 语法: 对象.关联字段.字段 示例: book_obj = models.Book.objects.first() # 第一本书对象 pr ...
- 6月16日 Django作业 文件解压缩统计行数
作业要求: 前端页面注意: 自己写的: from django.shortcuts import render, HttpResponse import zipfile import re # Cre ...
- FrameScan CMS漏洞扫描
工具简介 GithubL:https://github.com/qianxiao996/FrameScan FrameScan是一款python3编写的简易的cms漏洞检测框架,支持多种检测方式,支持 ...
- 面试问题之C++语言:volatile关键字的作用
volatile的作用 volatile关键字是防止在共享的空间发生读取的错误.只保证其可见性,不保证原子性:使用volatile指每次从内存中读取数据,而不是从编译器优化后的缓存中读取数据,简单来讲 ...
- 什么是 Ribbon负载均衡?
(1)Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具. (2)Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等.简单的说,就是在配 ...
- RocketMQ实现分布式事务
相关文章:http://www.uml.org.cn/zjjs/201810091.asp(深入理解分布式事务,高并发下分布式事务的解决方案) 三种分布式事务: 1.基于XA协议的两阶段提交 2.消息 ...
- 什么是 MyBatis 的接口绑定?有哪些实现方式?
接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑 定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可 以有更加灵活的选择和 ...
- elasticsearch 5.6.7在线安装ik分词,亲测有效
官网的在线安装命令 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/rele ...
- display:inline-block两端对齐 实现列表
做一个ul li 列表类似这样的平时经常会用到 要是用浮动做还是比较简单的直接左右浮动,清除浮动就可以搞定了,因为最近用display:inline-block用的比较顺手,所以就尝试一下.通过tex ...
- leetcode1753. 移除石子的最大得分
题目描述: 你正在玩一个单人游戏,面前放置着大小分别为 a.b 和 c 的 三堆 石子. 每回合你都要从两个 不同的非空堆 中取出一颗石子,并在得分上加 1 分.当存在 两个或 ...