【Java面试】1、基础知识篇
【Java面试】基础知识篇
Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等。不足的地方,欢迎大家补充。
源码分享:https://github.com/leon66666/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面试】1、基础知识篇的更多相关文章
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- Java白皮书学习笔记+Head First Java--用于自我复习 基础知识篇
本笔记是摘与Hava白皮书上面的内容,用来给自己做提醒的,因此大概并不适合Java的学习者作为笔记参考使用. 以我的水平现在还看不懂这个... 一.基础知识篇 1.常量 final关键字指示常量,只能 ...
- Java面试知识点之线程篇(二)
前言:接上篇,这里继续对java线程相关知识点进行总结. 1.notify和notifyall的区别 notify()方法能够唤醒一个正在等待该对象的monitor的线程,当有多个线程都在等待该对象的 ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- 第76节:Java中的基础知识
第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...
- Java面试知识点之线程篇(三)
前言:这里继续对java线程相关知识点进行总结,不能间断. 1.yield()方法 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执 ...
- Java面试知识点之线程篇(一)
前言:在Java面试中,一定会遇到线程相关问题,因此笔者在这里总结Java中有关线程方面知识点,多数从网上得来(文中会贴出主要参考链接),有些也是笔者在面试中所遇到的问题,如有错误,请不吝指正.主要参 ...
- Java面试题-基础知识
参考文章:Java面试题-基础知识 基础能力 什么是值传递和引用传递 线程状态有哪些,它们之间是如何转换的 进程与线程的区别,进程间如何通讯,线程间如何通讯? HashMap的数据结构是什么?如何实现 ...
- JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...
随机推荐
- html-minifier中文文档
HTMLMinifier是一个高度可配置的.经过良好测试的.基于javascript的HTML缩小器.参见相应的博客文章,了解它的工作原理.每个选项的描述.测试结果和结论.在线测试套件.还可以看到相应 ...
- List 接口中ArrayList Vector LinkedList 比较
访问权限Arryist最快 其次Vector 最慢LinkedList
- cobbler学习
note.youdao.com/share/?id=2f8383d6e9824929012b041f069da26e&type=note#/ IPADDR=192.168.86.4 TYPE= ...
- 将json对象转化成jsonp对象
这个Demo用来检查是否具有唯一性 //检查 /user/check/{param}/{type} @RequestMapping("/check/{param}/{type}") ...
- NLP常用术语解析
分词(Segment):中英文都存在分词的问题,不过相对来说,英文单词与单词之间本来就有空格进行分割,所以处理起来相对方便.但是中文书写是没有分隔符的,所以分词的问题就比较突出.分词常用的手段可以是基 ...
- javascript事件循环
js单线程 js是单线程的,这样更有利与用户交互以及DOM操作;有关进程与线程的详细解释可以点击传送门:尽管webworker可以实现多线程,但本质上他还属于单线程,由webworker创建的线程都由 ...
- 关于No mapping found for HTTP request with URI...
当你看到这篇博客,说明你已经像我一样快疯了!但是还好..找到了!!! 网上的那些东西真心看了更闹心,因为还没解决... 原因一.访问路径确实错了,导致Dispatcher找不到给你传达的地方,修改下领 ...
- C++primer笔记之关联容器
在这一章中,有以下的几点收获: 1.pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明: typedef pair<string, strin ...
- Python模块练习题
练习题: 1.logging模块有几个日志级别? #INFO,WARNING,DEBUG,CRITICAL,ERROR 2.请配置logging模块,使其在屏幕和文件里同时打印以下格式的日志 2017 ...
- Mac下命令行tree生成文件树
不像Windows,Mac环境本身是没有tree命令的,但可以后天呐~ 1.下载文件包并将其放在系统目录下(本人存放路径为/Users/) https://homebrew.bintray.com/b ...