Java是目前最热门也是几乎所有Computer Science项目都必须学习的编程语言之一。今天我们就总结了Java常见的类库和API,同时送上常见面试题合集,希望对大家有所帮助。每个Java程序员需要了解的常用类库和API,都在这里了!
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java 类库概念
Java 的应用程序接口 (API) 以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是 Java 的类库.
包名以 Java 开始的包是 Java 核心包 (Java Core Package) ;
包名以 Javax 开始的包是 Java 扩展包 (Java Extension Package) ,例如 javax.swing 包.
常用的 Java 核心包 (Java Core Package)
java.lang Java 编程语言的基本类库
java.applet 创建 applet 需要的所有类
java.awt 创建用户界面以及绘制和管理图形、图像的类
http://java.io 通过数据流、对象序列以及文件系统实现的系统输入、输出
http://java.net 用于实现网络通讯应用的所有类
java.util 集合类、时间处理模式、日期时间工具等各类常用工具包
java.sql 访问和处理来自于 Java 标准数据源数据的类
java.test 以一种独立于自然语言的方式处理文本、日期、数字和消息的类和接口
java.security 设计网络安全方案需要的一些类
java.beans 开发 Java Beans 需要的所有类
java.math简明的整数算术以及十进制算术的基本函数
java.rmi 与远程方法调用相关的所有类
常用的 Java 扩展包 (Java Extension Package)
javax.accessibility 定义了用户界面组件之间相互访问的一种机制
javax.naming.为命名服务提供了一系列类和接口
javax.swing.提供了一系列轻量级的用户界面组件,是目前 Java 用户界面常用的包
(一)java.lang 包
这个包称为 java 语言包,是由编译器自动引入的。程序中不必用 import 语句就可以使用。它所包含的类和接口对所有实际的 Java 程序都是必要的。
object 类
数学类 (Math)
数据类型类
线程类
字符串类 (String 类和 StringBuffer 类 )
系统及运行类 (System 类和 Runtime 类 )
错误和异常处理类 (Throwable 、 Exception 、 Error)
过程类 (process)
(二)java.util 包
日期类、日历类( Data 、 Calendar 、 GregorianCalendar )
随机数类( Random )
位运算类( BitSet )
矢量类( Vector )
数据结构类( Stack )
散列表类( Hashtable )
StringTokenizer类
(三)Java.io
字节流 ( InputStream/OutputStream )
InputStream/OuterStream 类是字节的 输入/输出 流
FileInputStream
FileInputStream用于读取原始字节流
常用方法:
int read() 读取一个字节,如果到了输入流的末尾,则返回-1
long skip() 在输入流中跳过指定个数的字符不读,返回值为实际跳过的字符数
int available 返回可用的为阻塞字节
void close() 关闭流并释放与该流相关的所有系统资源
FileOutputStream
FileOutputStream用于写入原始字节流
常用方法:
void write() 将字节写入到文件中
void close() 关闭流并释放与该流相关的所有系统资源
字符流 ( Reader/Writer )
Reader/Writer 类是字符的 输入/输出 流
FileReader
FileReader可以用来读取字符文件(文本文件)
常用方法:
public FileReader() 接收一个表示文件路径的字符串,创建对应的FileReader对象
int read() 读取一个字符,返回值为字符的编码
long skip() 在输入流中跳过指定个数的字符不读,返回值为实际跳过的字符数
abstract void close() 关闭流并释放与该流相关的所有系统资源
FileWriter
FileWriter可以用来向文件中写入字符
常用方法:
public FileWrite() 接收一个表示文件路径的字符串,创建对应的FileReader对象
void write() 将字符串写入文件中
close() 关闭流并释放与该流相关的所有系统资源
File
File类的对象表示一个磁盘文件或文件夹,其对象属性包含了文件或文件夹的相关信息(不是内容)
常用方法:
public File() 接收一段字符串,其内容是文件路径
boolean createNewFile() 创建文件
boolean mkdir() 创建目录
boolean mkdirs() 创建多级目录
boolean delete() 删除文件或目录
boolean exixts() 判断当前目录或文件是否存在
boolean isDirectory() 判断File对象是否为文件夹
Stirng getParent() 获取当前File对象的父级目录
Stirng[] list() 返回当前File对象包含的子目录和文件
int length() 获取文件长度
long lastModified() 获取最后一次修改时间
File[] listFiles() 返回目录下的文件或文件夹对象,包含隐藏文件
RandomAccessFile
RandomAccessFile类循序自由定义文件位置指针,并且在构造时需要传递打开文件的模式
常用方法:
final int readInt() 从文件中读取一个整数
final String readLine() 读取一行后转为String
long getFilePointer 返回指针的位置
void seek() 设置指针位置
final void writeChars() 将字符串写入文件
final void writeInt() 将一个int写入文件
long length() 返回文件长度
Java常见面试题
八种基本数据类型的大小,以及他们的封装类。
引用数据类型。
Switch能否用string做参数?
equals与= =的区别。
自动装箱,常量池。
Object有哪些公用方法?
Java的四种引用,强弱软虚,用到的场景。
Hashcode的作用。
HashMap的hashcode的作用。
为什么重载hashCode方法?
ArrayList、LinkedList、 Vector的区别。
String、StringBuffer与StringBuilder的区别。
Map、Set、 List、 Queue、 Stack的特点与用法。
HashMap和HashTable的区别。
JDK7与JDK8中HashMap的实现。
ThreadLocal的设计理念与作用?
ThreadPool (线程池)用法与优势?
Concurent包里的其他东西: ArrayBlockingQueue、 CountDownLatch等等。
synchronized和ReentrantLock的区别?
Semaphore有什么作用?
Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
Hashtable的size方法中明明只有一条语句”return count”为什么还要做同步?
ConcurrentHashMap的并发度是什么?
ReentrantReadWriteL ock读写锁的使用?
CyclicBarrier和CountDownLatch的用法及区别?
数据的垂直拆分水平拆分。
zookeeper原理和适用场景。
zookeeper watch机制。
redis/zk节点宕机如何处理。
分布式集群下如何做到唯一-序列号。
用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?
MQ的数据如何保证不丢失?
希望以上总结对你的Java学习有所帮助,但是如果你对Java学习还有问题,不如选择StudyGate在线辅导服务!大神全天候在线,保原创,保质量!80分以下全额退款!几个步骤,你也可以在Java学习上有所突破!
Step 1:提交作业要求
三分钟即可完成下单,下单时可以选择作业需要的时间和具体要求。
Step 2:选择专业导师
作业提交成功之后,导师审核要求,确认之后会联系报价,可自由选择专业学科相关导师,并且确认作业最终价格。
Step 3:完成订单, 准时交付
导师开始处理订单。在此期间有任何问题,都可以登录账号和导师随时沟通。作业完成后,系统自动发送至你的邮箱,所有信息安全保密。你也可以登录账号直接下载。
Step 4:收到答案14天之内确认,100%满意保证
收到作业之后14天之内,如果对作业有任何问题,都可以联系导师进行修改。100%满意保证,只有你选择满意答案之后,我们才会扣款,安全有保障。
Step 5:对导师提出评价
我们拥有严格的导师考核评价机制,服务好不好,全由你说了算!你的认同是我们前进的动力。
我们的服务范围包括但不限于:
C,C#,C++
Computer Science
Data structure/Machine Learning
Dreamweaver
HTML 代写
Java/JavaScript/JQuery
Linux/Windows/Mac socket Algorithm
Macintosh
Mathematica (programming)
R语言
Networking (computer)
Oracle
Pascal/Perl/PHP/Python
Revit/Rust/Ruby
SAS/Sketchup/Solidworks/SQL/STATA/Swift/SPSS
UNIX
Visual Basic
Web Design/Operating System
StudyGate专业理工科作业辅导,最靠谱的Java作业辅导!
有任何问题,欢迎随时咨询网页客服!