JAVA高级阶段知识点汇总

一、       集合框架和泛型

  1. 1.   定义

集合框架用于存储一组长度不定的元素。

  1. 2.   常用的接口和类

接口:Collection、List、Set、Map、Iterator

类:ArrayList、LinkedList、HashSet、HashMap

List接口和Set接口均继承自Collection接口。

  1. 3.   使用特点

List:存储的元素不唯一、有序。

Set:存储的元素唯一、无序。

Map:元素以键值对的方式进行存储。

  1. 4.   ArrayListLinkedList的区别

ArrayList:查找元素速度快,性能高;但是不适合频繁的对集合元素进行插入、修改、删除。

LinkedList:在频繁对集合元素进行插入、修改、删除时效率高,速度快;但是查找速度不如ArrayList。

  1. 5.   集合常用方法:

List:

add(Object obj)、remove(Object obj)、remove(int index)、size()、get(int index)、iterator()、clear()

Set:

add(Object obj)、remove(Object obj)、size()、iterator()、clear()、没有get方法

Map:

put(Object key, Object value)、get(Object key)、keySet()、values()、size()、remove(Object key) 、clear()

二、       实用类

  1. 6.   枚举

定义 : 一组固定的常量。

语法


访问修饰符   enum    枚举名{

常量一,

常量二,

… …

}

用法

声明枚举变量并赋值:Season  season  =  Season.Spring;

switch:


switch(枚举变量){

常量一:

… …

Break;

常量二:

… …

Break;

}

  1. 7.   包装类

每个值类型(基本数据类型)都存在一个对应的包装类。

int->Integer、double->Double、boolean->Boolean、char->Charactor、… …

值类型和包装类的相互转换

拆箱和装箱

装箱:将值类型转换为引用类型。

拆箱:将引用类型转换为值类型。

  1. 8.   Math

Math类的作用

提供一系列与科学计算相关的方法。

常用方法:random()、floor()、ceiling()、max()、min()、round()

  1. 9.   String

常用的方法:substring()、indexOf()、lastIndexOf()、replace()、split()、length()

  1. 10.            Random

作用 : 生成随机数。

常用方法:nextInt()、nextInt(int)、nextDouble()、nextXXX()

  1. 11.            日期时间类

Date

Calendar

SimpleDateFormat

  1. 12.            StringBuilderStringBuffer String 的区别?

String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder(StringBuffer),不要使用 String。

三、       输入输出IO

IO操作相关的包:java.io

  1. 13.            File

功能:实现对文件和目录的常规操作。

常用的方法:


方法名


作用


exits()


判断文件或目录是否存在

  1. 14.            流的分类

根据方向分类:

输入:InputStream、Reader

输出:OutputStream、Writer

根据流操作的数据单位分类:

字节流:InputStream、OutputStream

字符流:Reader、Writer

实现类


(抽)InputStream


(抽)OutputStream


(抽)Reader


(抽)Writer


FileInputStream


FileOutputStream


InputStreamReader


OutputStreamWriter


DataInputStream


DataOutputStream


FileReader


FileWriter


ObjectInputStream


ObjectOutputStream


BufferedReader


BufferedWriter

序列化和反序列化

序列化是指将内存中对象的状态转换为可以存储或传输的格式的过程。

四、       多线程

  1. 15.            进程和线程的区别

计算机中一个正在运行的可执行程序的实例就是进程。一个进程可以包含多个线程。单个线程用于完成一个任务,而同时创建多个线程来完成多项任务,便是多线程。

二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。

用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。

  1. 16.            Java中使用线程的步骤
  1. 17.            Java中定义线程的2种方式
  2. 18.            线程的优先级
  3. 19.            线程的生命周期
  4. 20.            线程的同步
  5. 21.            线程常用方法

五、       网络编程

  1. 22.            什么是TCPUDP,他们的差异是什么?

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接(信任连接)。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

UDP适用于一次传送少量数据、对可靠性要求不高的应用环境,但是传输速度快。

TCP适用于一次传送大量数据、对可靠性要求较高的环境,数据传输速度慢。

六、       XML操作

  1. 23.            XML基本概念

XML即可扩展标记语言。一般用来存储数据和在网络间传输数据。

XML很像超文本标记语言(HTML);但它又未规定固有的标记有哪些。

XML使用规范大致包括:

每个XML文件的第一行为XML声明,定义了XML版本和编码等信息。

一个XML文档有且仅有一个根节点。

XML对大小写敏感,区分大小写。

每个XML标记必须包含开始标记和结束标记。

XML的标记必须正确的潜逃。

  1. 24.            XML HTML 的主要区别

XML用于存储和传输数据,而HTML则用于显示数据。

XML区分大小写字母,而HTML不区分。

HTML的开始标记可以没有对应的结束标记,而XML的开始标记必须要有结束标记相对应。

在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。

在HTML中可以有不带值的属性名。但是在XML中,所有的属性都必须带有相应的值。

XML中的标记可由用户自定义,而HTML则约定了可以使用哪些标记。

  1. 25.            JAVA中操作XML有哪些技术

DOM方式

DOM 是 W3C 处理 XML 的标准 API,它是许多其它与 XML 处理相关的标准的基础。它根据XML文档中节点间的关系进行操作,最大的问题就是需要将整个XML文档一次性加载到内存中。

SAX

SAX 从根本上解决了 DOM 在解析 XML 文档时产生的占用大量资源的问题。其实现是通过类似于流解析的技术,通读整个 XML 文档树,通过事件处理器来响应程序员对于 XML 数据解析的需求。

Dom4j

Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用Java集合框架实现,并完全支持DOM,SAX和JAXP。

  1. 26.            什么是xpath

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。


表达式


说明


示例


nodename


选取此节点的所有子节点


bookstore()


/


从根节点选取


/bookstore(选取根元素bookstore)


//


从匹配的当前节点选择节点,不考虑位置


//book选取所有book子元素,不管其位置


.


选取当前节点


..


选取当前节点的父节点


@


选取属性


//@lang选取名为lang的所有属性

时间: 2024-08-02 10:52:16

JAVA高级阶段知识点汇总的相关文章

Java 高级面试知识点汇总!

1.常用设计模式 单例模式:懒汉式.饿汉式.双重校验锁.静态加载,内部类加载.枚举类加载.保证一个类仅有一个实例,并提供一个访问它的全局访问点. 代理模式:动态代理和静态代理,什么时候使用动态代理. 适配器模式:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 装饰者模式:动态给类加功能. 观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时

Java入门学习知识点汇总--第一部分

Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写. 2.标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 注意几条规则: 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. 标识符不能是 Java 关键字和保留字,但可以包含关键字和保留字. 标识符是严格区分大小写

JAVA第一阶段知识点总结

JAVA程序运行过程: 1.编译javac:把java源文件编译成class字节码文件. 2.运行java:运行class文件. 标识符(给类.方法.变量起名): 1.以字母(采用Unicode字符集).下划线.$开头 2.其余部分可以是:字母(采用Unicode字符集).下划线.$.数字 3.不能为关键字 变量: 1.局部变量 定义在方法内或语句块内. 2.成员变量(实例变量 field) 定义在类里面.方法外面. 从属于对象! 3.静态变量(类变量) 定义在类里面.方法外面.使用static

面试 Java 高级后端开发,要准备哪些知识点?

其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的. 在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你做不到这点,简单点,让面试官感觉你达到了最低标准即可.这好比在大学里考试,有些同学对某门课的知识点完全不懂,但也有可能通过考前突击和刷题来通过考试(不作弊),而且还有可能考高分. 至于通过技术面试后,项目经理或人事的面试一般是过滤特别差的,比如考察些团队协作能力和沟通表达能力等,这对大家来说应该不是问题.

转:成为Java高级程序员需要掌握哪些?

section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合.更高效,这些内容直接看源代码就OK了 2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机

Java研发工程师知识点总结

Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 四.Java虚拟机 五.数据库(Sql.MySQL.Redis等) 六.算法与数据结构 七.计算机网络 八.操作系统(OS基础.Linux等) 九.其他 一.Java基础(语言.集合框架.OOP.设计模式等) 1. HashMap和Hashtable的区别 Hashtable是基于陈旧的Dicti

【数据库】数据库面试知识点汇总

转自:https://www.cnblogs.com/wenxiaofei/p/9853682.html 数据库面试知识点汇总 一.基本概念 1.主键.外键.超键.候选键 超键:在关系中能唯一标识元组的属性集称为关系模式的超键.一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键.超键包含候选键和主键. 候选键:是最小超键,即没有冗余元素的超键. 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Nul

2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat

java高级视频课程Dubbo、Redis、ActiveMQ、Nginx、Mycat、Spring、MongoDB、ZeroMQ、Git、Nosql、Jvm、Mecached、Netty、Nio、Mina

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat