【Java面试】基础知识篇
【Java面试】基础知识篇
Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等。不足的地方,欢迎大家补充。源码分享见个人公告。JavaCommon项目
基础:
(1)基本数据类型
(2)运算符操作
(3)异常
(4)String,StringBuffer,StringBuilder相关
(5)Number类型相关
(6)随机数。Math.random()
集合操作:
(1)集合中的List
(2)集合中的Stack
(3)集合中的Array
(4)集合中的Arrays类
(5)集合中的Set
(6)集合中的Map
(7)集合中的Collections类
线程相关:
(1)同步Synchronized
(2)多线程
(3)线程池 ThreadPoolExecutor
(4)Volatile关键字
其他:
(1)Date相关
(2)正则相关
(3)流(Stream)、文件(File)和IO
(4)序列化 Serialize
(5)网络编程 socket,tcp/ip,url
(6)发邮件 send mail
jdk5特性
主要特性:
(1)自动装箱与拆箱
(2)枚举
(3)静态导入
(4)可变参数(Varargs)
(5)内省(Introspector)
(6)泛型
(7)增强型for循环For-Each
(8)Scanner类。用来获取用户的输入
jdk6的特性
具体特性:
(1)Compiler API。动态编译Java源文件
(2)轻量级HttpServer。Http Server API
(3)对脚本语言的支持如: ruby, groovy, javascript
(4)【插入式注解处理API】和Common Annotations
(5)简化Web Services。
JAX-WS(Java Architecture for XML-Web Services) 2.0。xml-web service
JAXB(Java Architecture for XML Binding) 2.0。实现对象与XML之间的映射
Streaming API for XML (STaX)。是继DOM(Document Object Model)和SAX(Simple API for XML)之后的又一种处理xml的api
它提供了一个双向API,这个API可以通过一个事件流来读取或者写入XML,其中包括跳过某个部分,然后直接关注与文档中的另外一个小部分的能力。
(6)Database,绑定Derby。开源嵌入式数据库 Derby(JavaDB) 绑定在JDK 1.6中
(7)更丰富的Desktop APIs。Desktop类和SystemTray类 。比如启动界面的支持,系统托盘的支持,JTable排序等等。
(8)用Console开发控制台程序
jdk1.7特性
(1)switch中可以使用字串了
(2)类型自动推断
(3)数值可加下划线
(4)支持二进制文字
(5)在try catch异常扑捉中,一个catch可以写多个异常类型,用"|"隔开
(6)自动资源管理。
jdk7之前,你必须用try{}finally{}在try内使用资源,在finally中关闭资源,不管try中的代码是否正常退出或者异常退出。
jdk7之后,你可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源。
(7)可变参数非具体化时提示警告
(8)新增一些取环境信息的工具方法
jdk1.8特性
(1)接口的默认方法
(2)Lambda 表达式
(3)函数式接口:我们把这些只拥有一个方法的接口称为 函数式接口。也叫作 单抽象方法类型【FI】
(4)目标类型【TargetType】
(5)方法引用
(6)Stream API
(7)Date API
(8)Optional 类
【Java面试】基础知识篇的更多相关文章
- Java多线程基础知识篇
这篇是Java多线程基本用法的一个总结. 本篇文章会从一下几个方面来说明Java多线程的基本用法: 如何使用多线程 如何得到多线程的一些信息 如何停止线程 如何暂停线程 线程的一些其他用法 所有的代码 ...
- Java面试基础知识(2)
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.说说& ...
- Java面试基础知识(1)
1.final, finally, finalize的区别 final:修饰符(关键字)如果一个类被声明为final,没有子类也不能被继承.因此一个类不能既被声明为 abstract的,又被声明为fi ...
- Java面试基础知识1
1.动态绑定是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法. 2.在将超类转换为子类之前,应该使用instanceof进行检查. 3.包含一个或者多个抽象方法的类本身必须被声 ...
- Java面试基础 -- Linux篇
0.日常命令 cd 目录路径: 跳转到指定目录 mkdir 目录名称:新增目录 pwd: 获取当前路径 su: 切换用户 ll: 查看当前目录侠的文件和目录 rm -rf 目录: 递归删除指定目录下的 ...
- Java面试基础 -- Docker篇
1.什么是Docker? Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行. 2.什么是Docker镜像? Docker镜像是 ...
- Java面试基础 -- Git篇
1.Git和SVN有什么区别? Git SVN Git是一个分布式的版本控制工具 SVN 是集中版本控制工具 它属于第3代版本控制工具 它属于第2代版本控制工具 客户端可以在其本地系统上克隆整个存储库 ...
- 【Java面试】1、基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充. 源码分享:https: ...
- Java白皮书学习笔记+Head First Java--用于自我复习 基础知识篇
本笔记是摘与Hava白皮书上面的内容,用来给自己做提醒的,因此大概并不适合Java的学习者作为笔记参考使用. 以我的水平现在还看不懂这个... 一.基础知识篇 1.常量 final关键字指示常量,只能 ...
随机推荐
- hdu 5429 Geometric Progression(存个大数模板)
Problem Description Determine whether a sequence is a Geometric progression or not. In mathematics, ...
- python学习之路-1 python基础操作
本篇所涉及的内容 变量 常量 字符编码 用户交互input 格式化字符串 python的缩进规则 注释 初始模块 条件判断 循环 变量 变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中 ...
- Good Teacher(模拟)
Good Teacher Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Statu ...
- iOS开发之让你的应用“动”起来
概览在 iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互 式绘图,如何通过核心动画创建基础动画.关键帧动 ...
- html简单样式
1.外部样式表 link rel="stylesheet" type="text/css" href="bbb.css"> 2.内部样 ...
- MJExtension(JSON到数据模型的自动转换)
整理自:http://www.jianshu.com/p/93c242452b9b. 1.MJExtension的功能 字典-->模型 模型-->字典 字典数组-->模型数组 模型数 ...
- iOS 面试题 3
0.请写出代码,用blocks来取代上例中的protocol,并比较两种方法的优势.实际应用部分?请写出代码,用blocks取代协议或回调方法 声明: #import <Foundation/F ...
- C#操作Excel总结
0. 导入命名空间: 1 2 3 4 using Microsoft.Office.Core; using Microsoft.Office.Interop.Excel; using System. ...
- codeforces 340D Bubble Sort Graph(dp,LIS)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Bubble Sort Graph Iahub recently has lea ...
- codeforces 22C System Administrator(构造水题)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud System Administrator Bob got a job as a s ...