java面试题(一)
摘要:一、面向对象的特性有哪些? 封装(Encapsulation):将数据和方法封装在一个类中,通过访问修饰符控制数据的访问权限,提高程序的安全性和可维护性。 继承(Inheritance):将多个类共有的属性和方法抽象出一个父类,通过子类继承父类的方法实现代码复用。 多态(Polymorphism):
阅读全文
反射
摘要:1、什么是反射? 程序运行过程中动态获取类信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。 2、哪里用到了反射? JDBC中,利用反射动态加载了数据库驱动程序。 Web服务器中利用反射调用了Sevlet的服务方法。 Eclispe等开发工具利用反射动态刨析对象的类型与结构,动态提示对
阅读全文
JAVA集合
摘要:一、集合框架概览 Java集合也叫做容器,由两大接口派生而来,一个是collection接口,主要用于存放单一元素,另一个是map接口,用于存放键值对。collection有三个子接口:list、set、queue。 相较于数组,Java 集合的优势在于它们的大小可变、支持泛型、具有内建算法,比如a
阅读全文
Java值传递
摘要:一、形参&实参 实参:实际传递给方法的参数 形参:用于定义方法,接收实参,不需要有确定的值 二、值传递&引用传递 值传递:方法接受的是实参值的拷贝,会创建副本 引用传递:方法接收的是实参所引用对象在堆中的地址,不会创建副本,对形参的修改将影响到形参 Java只有值传递 public static v
阅读全文
Java序列化
摘要:一、序列化和反序列化 序列化:将数据结构或对象转换成二进制字节流的过程 反序列化:将在序列化过程中产生的二进制字节流转换成数据结构或对象的过程 常见场景: 1、网络传输时,对象需要先被序列化,接收到后再进行反序列化 2、将对象持久化到磁盘、文件时需要先进行序列化,从磁盘或者文件读取对象时需要进行反序
阅读全文
Java代理模式
摘要:一、基本概念 1、代理模式:使用代理对象来代替目标对象的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 2、有静态代理和动态代理两种实现方式 二、静态代理 1、静态代理需要实现目标类的接口,一旦接口新增加方法,目标对象和代理对象都要进行修改 2、静态代理在编译时
阅读全文
JVM
摘要:一、JVM介绍 什么是JVM?Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。屏蔽了底层操作系统的差距,使得java程序能够“一次编译,随处可以运行”。 JVM的组成部分有哪些?JVM由类加载器、运行时数据区、执行引擎等组成。 类加载器有哪些?类加载器分为启动类加载器、扩展类加载器和应用
阅读全文
IO模型
摘要:一、IO基本概念 在平常开发过程中接触最多的就是 磁盘 IO(读写文件) 和 网络 IO(网络请求和响应)。 用户进程想要执行 IO 操作的话,必须通过 系统调用 来间接访问内核空间。 当应用程序发起IO调用后,会经历两个步骤: 1、内核等待IO设备准备好数据 2、内核将数据从内核空间拷贝到用户空间
阅读全文