2018java面试知识汇总
1. 多线程
1.1 多线程7种同步方法?
答:同步方法
同步代码块
使用重入锁实现线程同步(ReentrantLock)
使用特殊域变量(volatile)实现同步(每次重新计算,安全但并非一致)
使用局部变量实现线程同步(ThreadLocal)以空间换时间
使用原子变量实现线程同步(AtomicInteger(乐观锁))
使用阻塞队列实现线程同步(BlockingQueue (常用)add(),offer(),put()
1.2 四大线程池?
答:newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
1.3 进程与线程的区别?
答:进程是资源分配的基本单位,线程是调度的基本单位。进程包含线程,线程共用进程的资源。
1.4 线程的生命周期?
答:新建,就绪,运行,阻塞,结束
1.5 如何判断队列已满?
1.6 定时任务
答:newScheduledThreadPool, Timer
1.7 线程的五种状态及切换
1.8 sleep()和wait(),sleep()和yield的区别?
答:sleep()没有释放锁,
yield()直接让线程进入就绪状态,并且只能给同等级和高级的线程让步
join()调用,主线程进入阻塞状态,等待当前线程执行完,主线程才可以执行。
1.9 当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?不能
1.91 请说出与线程同步以及线程调度相关的方法。
答:wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁;
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要处理InterruptedException异常;
notify():唤醒一个处于等待状态的线程,当然在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且与优先级无关;
notityAll():唤醒所有处于等待状态的线程,该方法并不是将对象的锁给所有线程,而是让它们竞争,只有获得锁的线程才能进入就绪状态; 2. 通信
http
tcp
udp
socket
2.1 tcp和udp的区别?
2.2 tcp的三次握手和四次挥手?
3. java jvm
3.1 五大组成部分图?
答:程序计数器,虚拟机栈,本地方法栈,堆,方法区
程序计数器(和系统相关)
虚拟机栈:存放局部变量
本地方法栈
堆:存放所有new出来的东西
方法区:被虚拟机加载的类信息、常量、静态常量等。 3.2 JVM规范中的五大java内存区域 4. 反射,代理,泛型
4.1 反射的作用和应用场景?反编译
4.2 Java反射的三种实现方式?
答:通过Object类的getClass方法 Class cla = foo.getClass();
通过对象实例方法获取对象 Class cla = foo.class;
通过Class.forName方式 Class cla = Class.forName("xx.xx.Foo");
4.3 jdk代理和cglib的区别?
答:jdk代理一定要有接口,cglib 没有接口;动态代理,目标对象一定要实现接口,静态代理,目标对象和代理对象都要实现接口 5. IO
字节流:InputStream, OutputStream
字符流:Reader, Writer
6. 封装,继承,多态
7. 接口与抽象类
8. 重载和重写
10. 集合
List -> ArrayList, LinkList, vector
Set -> HashSet, treeSet
Map -> HashMap, Hashtable, treeMap, concurrentHashMap,linkHashMap 11. &和&&
12. 异常
12.1 常见的异常有哪些?
答:空指针异常,数组越界异常,类找不到,算数异常
13. 自动装箱和拆箱
13.1 int和Integer有什么区别?
答:- 原始类型: byte,short,int,long,char, float,double, boolean
- 包装类型:Byte,Short,Integer,Long,Character,Float,Double, Boolean 14. 设计模式
单例模式,工厂模式,原型模式,代理模式,观察者模式,适配器模式 15. 接口服务
rest
eip
httpclient
webservice 16. 网络方面的面试题
17. 网络框架netty,Mina
18. Redis
19. spring
spring bean 的生命周期
spring的设计模式
spring ioc三种注入方式 20. NIO(non-blocking io)
21. 任务调度框架Quartz
2018java面试知识汇总的更多相关文章
- linux云计算面试知识汇总,文件共享--vsftpd秘籍
随着天气的升温快要步入夏天,紧随着面试季来喽,想知道Linux运维面试时都会被问到哪些问题吗?特整理出这些资料给大家参考学习,据说知道全部答案的人,月薪能过万,还不快快码下,以备后用! 今天小编将继续 ...
- Java面试知识点汇总
Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总 版权声明 ...
- 2016年Web前端面试题目汇总
转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...
- Hive知识汇总
两种Hive表 hive存储:数据+元数据 托管表(内部表) 创建表: hive> create table test2(id int,name String,tel String) > ...
- 沉淀,再出发:Java基础知识汇总
沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...
- MySql面试题、知识汇总、牛客网SQL专题练习
点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...
- Oracle手边常用70则脚本知识汇总
Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Vertica 数据库知识汇总篇
Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...
随机推荐
- OpenSift源代码编译过程记录
本文记录了在CentOS6.5上编译Sift的开源实现OpenSift的编译过程,同一时候记录了编译过程中的几个问题. sift的理论已经有非常多了,以下会给出链接: 1.Requirements a ...
- 【Postgres】PostgreSQL配置远程连接
1.开启相应的防火墙端口,缺省是5432 2.访问权限配置,D:\Program Files (x86)\PostgreSQL\9.2\data/pg_hba.conf中加入如下配置,开启远程访问 3 ...
- mysql和连接相关的timeout
MySQL和连接相关的timeout 今天同事问为什么查询mysql库时, 在数据量比较大时,会话总断.刚开始以为是mysql的和连接有关timeout的问题,结果是网络的不稳定的原因. 下面总结下和 ...
- GSAP JS基础教程--使用缓动函数
今天来了解一下缓动easeing函数. 开始,如果你还没有GSAP的类包,可以到GreenSock的官网去下载最新版本的类包,或者直接点击这里来下载 学习之前,先来准备一下: <!DO ...
- WAF Bypass FUZZ小脚本
分享两个小脚本,用来WAF Bypass简单FUZZ的 第一个:先生成一个字典,带入搭建的环境进行FUZZ,针对某些软WAF挺好用的,可FUZZ出不少姿势出来,记得先把CC攻击加入白名单才行哦... ...
- CMake设置输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAK ...
- python--列表内建函数的方法
List Method Operation list.append(obj) #向列表中添加一个对象obj list.count(obj) #返回一个对象obj 在列表中出现的次数 ...
- 蓝凌OA常用表整理
SELECT * FROM V_FI_ORG_EMP --用户表视图(关联单位)SELECT * FROM FI_ORG_EMP --用户表 SELECT * FROM FI_ORG_INFO ...
- 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》
开发环境:K/3 Wise 13.0.K/3 Bos开发平台.Visual Basic 6.0 =============================================== 目录 一 ...
- Android 框架
1. https://github.com/wyouflf/xUtils xUtils简介 xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构, ...