![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础+面试
Java基础,面试
SwordKii
这个作者很懒,什么都没留下…
展开
-
Java面试题-集合
Collection包含哪些类Collection分为Set, List, Queue。Set包括SortedSet(TreeSet), HashSet, LinkedHashSet。List包括ArrayList, Vector, LinkedList。Queue包括LinkedList, PriorityQueue。Set:TreeSet:基于红黑树实现,支持有序性操作,查找的时间复杂度是O(logn)。HashSet:基于Hash表实现,支持快速查找,但是不支持有序操作。Link原创 2020-10-10 22:22:57 · 132 阅读 · 0 评论 -
中兴5G概览+核心网
应用场景分类eMBB(Enhanced Mobile BroadBand),增强型移动宽带:频谱利用率和频谱带宽技术的突破;uRLLC(Ultra Reliable Low Latency Communications),超可靠低时延通信业务:控制面和用户面分离,将用户面下沉,并引入移动边缘云计算(MEC),让云服务更加接近用户;mMTC(Massive Machine Type Communication),大规模的及其通信业务:多用户共享接入、超密集异构网络。网络切片网络切片,是根据不同业原创 2020-10-09 14:42:20 · 3361 阅读 · 3 评论 -
Java面试题-Java基础
面向对象的特征抽象、封装、继承、多态。多态、重写和重载多态性是指允许不同子类型的对象对同一消息做出不同的响应。多态的实现是靠重载和重写。重载是编译时多态,重写是运行时多态。重写规则:参数列表必须不变;返回值类型可以不同,但是必须是原来的子类;访问权限不能比重写前的更低;重写的方法能够抛出任何非强制性异常,无论被重写的方法是否抛出异常;但重写的方法不能抛出比被重写方法更广泛的强制性异常;父类成员方法只能被子类重写;final的方法不能重写;static的方法不能重写,但能被再次申明;原创 2020-09-29 09:58:57 · 194 阅读 · 0 评论 -
Java IO
一、概览Java的I/O大概可以分为以下几类:磁盘操作:File字节操作:InputStream和OutputStream字符操作:Reader和Writer对象操作:Serializable网络操作:Socket新的输入/输出:NIO二、磁盘操作File类可以用于表示文件和目录的信息,但是它不表示文件的内容。从Java7开始,可以使用Paths和Files代替File。三、字节操作实现文件复制装饰者模式Java I/O使用了装饰者模式来实现。以InputStream为例,转载 2020-09-01 14:00:33 · 99 阅读 · 0 评论 -
Java虚拟机
一、运行时数据区域程序计数器记录正在执行的Java虚拟机字节码指令的地址(如果正在执行的是本地方法,则为空)。Java虚拟机栈每个Java方法在执行的同时都会创建一个栈帧,用于存储局部变量表、操作符栈、常量池引用等信息。从方法调用直至执行完成的过程,就是栈帧在Java虚拟机栈从入栈到出栈的过程。可以通过-Xss这个Java虚拟机参数来指定每个线程的Java虚拟机栈内存大小:java -Xss2M HackTheJava该区域可能会抛出以下异常:线程请求的栈的深度超过最大值时,会抛出St转载 2020-09-01 09:23:41 · 103 阅读 · 0 评论 -
Java学习笔记(错题集)
垃圾回收(GC)CMS(Concurrent Mark Sweep)一种并发的、使用标记-清理的垃圾回收器。过程,6个步骤初始标记并发标记并发预处理重新标记并发清理并发重置其中初始标记和重新标记时,要求暂停其他应用程序,所以用户线程是不参加的。jdk1.6的垃圾收集器SerialParNewParallel ScacenggeSerial OldParllel OldCMS...原创 2020-08-19 09:16:01 · 95 阅读 · 0 评论 -
Web开发
Web基础HTTP协议在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP,所以:HTML是一种用来定义王爷的文本,会HTML,就可以编写网页;HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。HTTP协议是一个基于TCP协议之上的请求-响应协议。对于Browser来说,请求页面的流程如下:与服务器建立TCP连接;发送HTTP请求;收取HTTP响应,然后把网页在浏览器中显示出来。浏览器发送的HTTP转载 2020-08-01 10:34:18 · 193 阅读 · 0 评论 -
设计模式
设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。转载 2020-07-20 20:45:53 · 144 阅读 · 0 评论 -
函数式编程
廖雪峰的官方网站学习笔记Java不支持单独定义函数,但可以把静态方法视为独立的函数,把实例方法视为自带this参数的函数。而函数式编程——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。函数式白城就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此转载 2020-07-18 17:16:27 · 191 阅读 · 0 评论 -
JDBC编程
廖雪峰官方网站学习笔记程序运行的时候,往往需要存取数据。现代应用程序最基本,也是最广泛的数据存储就是关系数据库。Java为关系数据库定义了一套标准的访问接口:JDBC(Java Database Connectivity)。JDBC简介在介绍JDBC之前,先简单介绍一下关系数据库。程序运行时,数据都是存在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。而如何定义数据的存储格式就是一个大问题,如果我们来定义存储转载 2020-07-17 16:13:14 · 147 阅读 · 0 评论 -
XML与JSON
廖雪峰的官方网站学习笔记XML和JSON是两种经常在网络使用的表示格式,本章介绍Java如何读写XML和JSON。XML简介XML是可扩展标记语言(Extensible Markable Language)的缩写, 它是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据。例如,一个描述书籍的XML文档可能如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE note SYSTEM "book.dtd">&转载 2020-07-17 14:34:38 · 115 阅读 · 0 评论 -
网络编程
网络编程是Java最擅长的方向之一,使用Java进行网络编程时,由虚拟机实现了底层复杂的网络协议,Java程序只需要调用Java标准库提供的接口,就可以简单高效地编写网络程序。网络编程基础计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。那什么是互联网呢?互联网是网络的网络(internet),即把很多计算机网络连接起来,形成一个全球统一的互联网。对某个特定的计算机网络来说,它可能使用网络协议ABC,而另一个计算机网络可转载 2020-07-15 21:53:09 · 503 阅读 · 0 评论 -
Maven基础
Maven是一个Java项目管理和构建工具,他可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。Maven介绍标准化的Java项目管理和构建工具主要功能有:提供了一套标准化的项目结构;提供了一套标准化的构建流程(编译,测试,打包,发布……)提供了一套依赖管理机制Maven项目结构一个使用Maven管理的普通Java项目,他的目录结构默认如下:项目根目录a-maven-project是项目名,他有一个项目描述文件pom.xml,存放Java源码的转载 2020-07-14 21:55:22 · 286 阅读 · 0 评论 -
多线程
多线程是Java最基本的一种并发模型。多线程基础进程进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。操作系统调度的最小任务单位其实不是进程,而是线程。因为同一个应用程序,既可以有多个进程,也可以有多个线程,因此,实现多任务的方法,有以下几种:多进程模式(每个进程只有一个线程)多线程模式(一个进程有多个线程)多进程+多线程模式(复杂度最高)进程 vs 线程和多线程相比,多进程的缺点在于:创建进程比创建线程开销大,尤其是在Windows系统上;进程间通信比转载 2020-07-11 17:48:07 · 168 阅读 · 0 评论 -
加密与安全
编码算法哈希算法BouncyCastleHmac算法对称加密算法口令加密算法密钥交换算法非对称加密算法签名算法数字证书转载 2020-07-10 21:06:47 · 86 阅读 · 0 评论 -
正则表达式
正则表达式简介一个正则表达式就是一个描述规则的字符串,所以,只需要编写正确的规则,我们就可以让正则表达式引擎去判断目标字符串是否符合规则。正则表达式是一套标准,它可以用于任何语言。Java标准库的java.util.regex包内置了正则表达式引擎,在Java程序中使用正则表达式非常简单。小结正则表达式是用字符串描述的一个匹配规则,使用正则表达式可以快速判断给定的字符串是否符合匹配规则。Java标准库java.util.regex内建了正则表达式引擎。匹配规则单个字符的匹配规则如下:正转载 2020-07-10 21:04:38 · 190 阅读 · 0 评论 -
单元测试
编写Junit测试么是单元测试呢?单元测试就是针对最小的功能单元编写测试代码。Java程序最小的功能单元是方法,因此,对Java程序进行单元测试就是针对单个Java方法的测试。所谓测试驱动开发,是指先编写接口,紧接着编写测试。编写完测试后,我们才开始真正编写实现代码。在编写实现代码的过程中,一边写,一边测,什么时候测试全部通过了,那就表示编写的实现完成了:JUnit...转载 2020-07-10 19:13:54 · 75 阅读 · 0 评论 -
日期与时间
基本概念时区因为光靠本地时间还无法唯一确定一个准确的时刻,所以我们还需要给本地时间加上一个时区。时区有好几种表示方式。一种是以GMT或者UTC加时区偏移表示,例如:GMT+08:00或者UTC+08:00表示东八区。Date和Calendar看看以下几种日期和时间:2019-11-20 0:15:01 GMT+00:002019年11月20日8:15:0111/19/2019 19:15:01 America/New_York它们实际上是数据的展示格式,分别按英国时区、中国时区、纽约时转载 2020-07-10 15:31:52 · 549 阅读 · 0 评论 -
IO
IO是指Input/Output,即输入和输出。以内存为中心:Input指从外部读入数据到内存,例如,把文件从磁盘读取到内存,从网络读取数据到内存等等。Output指把数据从内存输出到外部,例如,把数据从内存写入到文件,把数据从内存输出到网络等等。IO流是一种顺序读写数据的模式,它的特点是单向流动。数据类似自来水一样在水管中流动,所以我们把它称为IO流。InputStream / OutputStreamIO流以byte(字节)为最小单位,因此也称为字节流。在Java中,InputStrea转载 2020-07-10 13:45:27 · 261 阅读 · 0 评论 -
集合
Java集合简介集合就是“由若干个确定的元素所构成的整体”。在Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。数组有如下限制:数组初始化后大小不可变;数组只能按索引顺序存取Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集合类的根接口。Java的java.util包主要提供了以下三种类型的集合:List:一种有序列表的集合,例如,按索引排列的Student的List;转载 2020-07-09 20:58:27 · 314 阅读 · 0 评论 -
泛型
什么是泛型泛型就是定义一种模板,例如ArrayList<T>,然后在代码中为用到的类创建对应的ArrayList<类型>向上转型在Java标准库中的ArrayList<T>实现了List<T>接口,它可以向上转型为List<T>要特别注意:不能把ArrayList<Integer>向上转型为ArrayList<Number>或List<Number>。小结泛型就是编写模板代码来适应任意类型;泛型的转载 2020-07-08 21:51:57 · 143 阅读 · 0 评论 -
注解
使用注解注解是放在Java源码的类、方法、字段、参数前的一种特殊“注释”:注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”。注解的作用从JVM的角度看,注解本身对代码逻辑没有任何影响,如何使用注解完全由工具决定。Java的注解可以分为三类:一类是由编译器使用的注解,例如:@Override:让编译器检查该方法是否正确地实现了覆写;@SuppressWarnings:告诉编译器忽略此处代码产生的警告。这类注解不会被编译进入.class转载 2020-07-08 19:42:00 · 84 阅读 · 0 评论 -
反射
Class类除了int等基本类型外,Java的其他类型全部都是class(包括interface)。而class是由JVM在执行过程中动态加载的。JVM在第一次读取到一种class类型时,将其加载进内存。每加载一种class,JVM就为其创建一个Class类型的实例,并关联起来。注意:这里的Class类型是一个名叫Class的class。由于JVM为每个加载的class创建了对应的Class实例,并在实例中保存了该class的所有信息,包括类名、包名、父类、实现的接口、所有方法、字段等,因此,如果获转载 2020-07-08 14:24:17 · 135 阅读 · 0 评论 -
异常处理
Java的异常异常是一种class,因此它本身带有类型信息。异常可以在任何地方抛出,但只需要在上层捕获,这样就和方法调用分离了因为Java的异常是class,它的继承关系如下:从继承关系可知:Throwable是异常体系的根,它继承自Object。Throwable有两个体系:Error和Exception,Error表示严重的错误,程序对此一般无能为力,例如:OutOfMemoryError:内存耗尽NoClassDefFoundError:无法加载某个ClassStackOverflow转载 2020-07-08 10:11:06 · 110 阅读 · 0 评论 -
Java核心类
Java的核心类,包括:字符串StringBuilderStringJoiner包装类型JavaBean枚举常用工具类字符串和编码StringJava字符串的一个重要特点就是字符串不可变。这种不可变性是通过内部的private final char[]字段,以及没有任何修改char[]的方法实现的。字符串比较必须使用equals()方法而不能用==要忽略大小写比较,使用equalsIgnoreCase()方法// 是否包含子串:"Hello".contains("ll");转载 2020-07-07 15:41:27 · 165 阅读 · 0 评论 -
Java面向对象基础
面向对象的基本概念,包括:类实例方法面向对象的实现方式,包括:继承多态Java语言本身提供的机制,包括:packageclasspathjarJava标准库提供的核心类,包括:字符串包装类型JavaBean枚举各种常用工具类方法class中包含的field,一般用private修饰,拒绝外部访问,防止破坏封装性。在class中定义方法,来让外部...转载 2020-04-30 18:38:23 · 192 阅读 · 0 评论 -
Java数组操作
遍历数组幸好Java标准库提供了Arrays.toString(),可以快速打印数组内容:import java.util.Arrays;public class Main { public static void main(String[] args) { int[] ns = { 1, 1, 2, 3, 5, 8 }; System.out.pr...转载 2020-04-22 13:32:11 · 132 阅读 · 0 评论 -
Java流程控制
输出格式化输出:public class Main { public static void main(String[] args) { double d = 3.1415926; System.out.printf("%.2f\n", d); // 显示两位小数3.14 System.out.printf("%.4f\n", d); /...转载 2020-04-20 15:00:06 · 107 阅读 · 0 评论 -
Java程序基础
Java程序基本结构public class Hello{ public static void main(String[] args){ System.out.println("Hello World!") }}类名要求:习惯大写字母开头必须英文字母开头,后接字母、数字、下划线类名前不加public,也能正确编译,但这个类将无法从命令行执行变量和数据类型变量分为两种...转载 2020-04-20 14:37:21 · 90 阅读 · 0 评论 -
Java简介
三个版本Java SE : Standard Edition 标准版Java EE : Enterprise Edition 企业版Java ME : Micro Edition 迷你版JDK和JREJDK : Java Development KitJRE : Java Runtime EnvironmentJRE就是运行Java字节码的虚拟机;源码要编译成字节码需要JDK;...转载 2020-04-20 13:52:25 · 106 阅读 · 0 评论