JAVA核心类库总结

1. 泛型的作用

  •  提高代码复用率
  •  泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)

2. 线程与进程

进程 :是指一个内存中运行的应用程序,每个进程都有一个独立的内存空。
线程 :是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行。 一个进程最少 有一个线程 。线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程。

3. Runnable Callable

Runnable Callable 的相同点:
  1. 都是接口
  2. 都可以编写多线程程序
  3. 都采用Thread.start()启动线程

Runnable Callable 的不同点:
  1. Runnable没有返回值;Callable可以返回执行结果
  2. Callable接口的call()允许抛出异常;Runnablerun()不能抛出

4. ServerSocket

用于创建服务器 . 创建完毕后 , 会绑定一个端口号 .
然后此服务器可以等待客户端连接 .
每连接一个客户端 , 服务器就会得到一个新的 Socket 对象 , 用于跟客户端进行通信 。
//常用构造方法:

ServerSocket(int port); ****

创建一个基于TCP/IP协议的服务器 , 并绑定指定的端口号.
注意: 参数port的范围是: 0-65535 (建议1025-65535)

5. Socket

是两台计算机之间通信的端点 , 是网络驱动提供给应用程序编程的一种接口 一套标准 , 一种机制 .

//构造方法:

Socket(String ip,int port) ****

创建一个套接字, 并连接指定ip和端口号的服务器.
参数1. 服务器的ip地址
参数2. 服务器软件的端口号..

//常用方法:

- OutputStream getOutputStream();
//返回的是 , 指向通信的另一端点的输出流

- InputStream getInputStream();
//返回的是 , 指向通信的另一端点的输入流

- void close();
//关闭套接字

注意:
在网络编程时, 获取输入输出流的操作 ,对于客户端与服务器来说是相对的
客户端的输入流, 输入的是服务器的输出流 输出的内容.
客户端的暑促刘, 输出到了服务器的输入流中.
所以 在使用时, 需要注意以下一点规则:
客户端与服务器获取流的顺序必须是相反的:
例如:
客户端先得到了输入流 , 那服务器必须先获取输出流

 6.  面试题

问 : Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?

答 : 四种。

1. SAX解析

解析方式是事件驱动机制 !
SAX 解析器 , 逐行读取 XML 文件解析 , 每当解析到一个标签的开始 / 结束 / 内容 / 属性时 ,
发事件 .
我们可以编写程序在这些事件发生时 , 进行相应的处理 .
优点:
  1. 分析能够立即开始,而不是等待所有的数据被处理
  2. 逐行加载,节省内存.有助于解析大于系统内存的文档
  3. 有时不必解析整个文档,它可以在某个条件得到满足时停止解析.
缺点:
  1.  单向解析,无法定位文档层次,无法同时访问同一文档的不同部分数据(因为逐行解析, 当解析第n行是, n-1行已经被释放了, 无法在进行操作了).
  2. 无法得知事件发生时元素的层次, 只能自己维护节点的父/子关系.
  3. 只读解析方式, 无法修改XML文档的内容.
 

2. DOM解析

是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准,分析该结构通常需要加载整个
文档和内存中建立文档树模型 . 程序员可以通过操作文档树 , 来完成数据的获取 修改 删除等 .
优点:
  1. 文档在内存中加载, 允许对数据和结构做出更改.
  2. 访问是双向的,可以在任何时候在树中双向解析数据。
缺点:
  1. 文档全部加载在内存中 , 消耗资源大.

3. JDOM解析

目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一
Java 特定模型, JDOM 一直得到大力推广和促进。
JDOM 文档声明其目的是 使用 20% (或更少)的精力解决 80% (或更多) Java/XML 问题
(根据学习曲线假定为 20%
优点:
  1. 使用具体类而不是接口,简化了DOMAPI
  2. 大量使用了Java集合类,方便了Java开发人员。
缺点:
  1. 没有较好的灵活性。
  2. 性能不是那么优异。

4. DOM4J解析

它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath
支持、 XML Schema 支持以及用于大文档或流化文档的基于事件的处理。
它还提供了构建文档表示的选项, DOM4J是一个非常优秀的 Java XML API ,具有性能优异、功能强大和极端易用使用的特点,同时它也是一 个开放源代码的软件。如今你可以看到越来越多的Java 软件都在使用 DOM4J 来读写 XML
目前许多开源项目中大量采用 DOM4J , 例如 :Hibernate

 

7. JSON解析

参考链接:JSON解析

8. Java 线程池

参考链接:Java线程池

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值