【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、基础知识篇的更多相关文章

  1. 【Java面试】基础知识篇

    [Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...

  2. Java白皮书学习笔记+Head First Java--用于自我复习 基础知识篇

    本笔记是摘与Hava白皮书上面的内容,用来给自己做提醒的,因此大概并不适合Java的学习者作为笔记参考使用. 以我的水平现在还看不懂这个... 一.基础知识篇 1.常量 final关键字指示常量,只能 ...

  3. Java面试知识点之线程篇(二)

    前言:接上篇,这里继续对java线程相关知识点进行总结. 1.notify和notifyall的区别 notify()方法能够唤醒一个正在等待该对象的monitor的线程,当有多个线程都在等待该对象的 ...

  4. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

  5. 第76节:Java中的基础知识

    第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...

  6. Java面试知识点之线程篇(三)

    前言:这里继续对java线程相关知识点进行总结,不能间断. 1.yield()方法 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执 ...

  7. Java面试知识点之线程篇(一)

    前言:在Java面试中,一定会遇到线程相关问题,因此笔者在这里总结Java中有关线程方面知识点,多数从网上得来(文中会贴出主要参考链接),有些也是笔者在面试中所遇到的问题,如有错误,请不吝指正.主要参 ...

  8. Java面试题-基础知识

    参考文章:Java面试题-基础知识 基础能力 什么是值传递和引用传递 线程状态有哪些,它们之间是如何转换的 进程与线程的区别,进程间如何通讯,线程间如何通讯? HashMap的数据结构是什么?如何实现 ...

  9. JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)

    一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...

随机推荐

  1. Linux 防火墙相关

    1.SELinux 防火墙 1.1 查看SELinux状态: 1) /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 bamb ...

  2. MFC 不同窗体之间变量调用

    应用场景: (1)主对话框包含一个Tab控件,Tab控件用来切换显示若干子对话框,子对话框类的成员需要互相访问. (2)或者程序中包含多个类,各类之间需要互相访问. 方法1-定义指针成员变量: 详情参 ...

  3. [.net core学习] .net core中的Rijndael取代方法

    The difference (in .NET) between Rijndael and AES is that Rijndael allows the block size to change, ...

  4. 使用CGlib出现java.lang.NoClassDefFoundError: org/objectweb/asm/Type异常

    在学习使用CGlib生成动态代理对象,项目的源代码也很简单: package proxy; import java.lang.reflect.Method; import net.sf.cglib.p ...

  5. vs2017 遇到异常。这可能是由某个扩展导致的。奇妙的解决方式

    最近在使用visual studio 2017 创建.netcore 2.2的MVC项目后,在View里面拖拽引用css或js文件时总出现“遇到异常.这可能是由某个扩展导致的.” 然后在网上找了大半天 ...

  6. CentOS第一次安装MySQL的完整步骤

    文章来自:http://www.jianshu.com/p/4a41a6df19a6,我自己调整了下 1.官方安装文档 http://dev.mysql.com/doc/mysql-yum-repo- ...

  7. Dispatch Queue 之 dispatch_sync

  8. 机器学习基石笔记:08 Noise and Error

    噪声:误标.对同一数据点的标注不一致.数据点信息不准确...... 噪声是针对整个输入空间的. 存在噪声的情况下,VC bound依旧有用: 存在噪声,就是f------>p(y|x),f是p的 ...

  9. Spring Boot开启的 2 种方式

    Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...

  10. 终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

    摘要: 如同我们去年12月在 Flink Forward China 峰会所约,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源.今天,我们终于等到了这一刻. 阿里妹导 ...