【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 ...
随机推荐
- Jersey RESTful WebService框架学习(八)文件下载防乱码
最近在做下载时候 不同浏览器下载的文件一直出现乱码,不知道怎么设置文件的编码,百度许久,找到一个解决办法如下 /** * 文件下载 * @param request * @return */ @GE ...
- 《python语言程序设计》_第一章编程题
题目1.1 :显示"welcome to python " 答案:print('welcome to python') 题目1.2:显示"welcome to pytho ...
- SDWebImage之UIView+WebCache
UIView+WebCache是我们能很方便的使用sd_setImageWithURL:系列方法来加载图片的关键类.UIButton(WebCache).MKAnnotationView(WebCac ...
- mysql数据库的常用知识
问题一:如果使用可视化工具链接mysql? mysql默认情况下是不支持远程连接的!只需要几个步骤就能轻松搞定了. 1.vi /etc/mysql/my.cnf 修改里面bind-address项,将 ...
- MyBatis 源码分析系列文章导读
1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...
- The MAC is invalid
在使用laravel框架进行网站开发时,我们会使用laravel的Crypt类对用户的密码进行加密来达到信息加密的目的,Crypt类会对数据加密时会依赖APP_KEY,所以当更换了APP_KEY时,再 ...
- 如何在 SCSS 使用 JavaScript 变量/scss全局变量
Update2019/3/6:发现一个更好的方法,预处理器加载一个全局设置文件 官方github给出了详细的配置. 在 SCSS 中使用变量很方便,创建一个 variables.scss 文件,里面声 ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 8.仪表盘 Dashboard(horizon)安装配置
仪表盘Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器. 节点配置信息说明 ...
- Lucene 4.X 全套教程
http://www.cnblogs.com/forfuture1978/category/300665.html Lucene 4.X 倒排索引原理与实现: (3) Term Dictionary和 ...
- iOS-AFN Post JSON格式数据
- (void)postRequest{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // >>> ...