java 基础面试题
Java 中有几种基本数据类型,各占多少个字节?
基本数据类型 4 类 8 种
整型: byte 、short、int、long (int 默认)
浮点型: float 、double (double 默认)
布尔型: boolean 字符型: char
String 类能被继承吗 ?
不能被继承,因为 String 类有 final 修饰符,而 final 修饰的类是不能被继承的。
final 修饰的特点
1. 修饰类: final 修饰的类不可被继承,是最终类.
2. 修饰方法: 明确禁止该方法在子类中被覆盖的情况下才将方法设置为 final
3. 修饰变量: final 修饰 基本数据类型的变量,其数值一旦在初始化之后便不能更改, 称为常量; final 修饰 引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。虽然不能再指向 其他对象,但是它指向的对象的内容是可变的。
String 底层使用的是 char 数组还是 byte 数组
JDK 1.8 及之前 , 底层是 char 类型的数组
JDK 1.9 及以后 , 底层是 byte 类型的数组
类加载时的执行顺序
1. 首先加载父类的静态字段或者静态语句块
2. 子类的静态字段或静态语句块
3. 父类普通变量以及语句块
4. 父类构造方法被加载
5. 子类变量或者语句块被加载
6. 子类构造方法被加载
面向对象的特性及基本原则
四大特性: 封装,继承,多态,抽象
五大基本原则:
1. 单一职责原则 每一个类 功能要求单一,只负责一件事.
2. 开放封闭原则 对修改关闭,对扩展开放
3. 里氏替换原则 子类能够替换父类,能够出现在父类出现的任何地方
4. 依赖倒置原则 具体依赖抽象,上层依赖下层
5. 接口分离原则 接口中的方法要尽量细化,同时接口中的方法尽量少.
重定向与转发的区别
本质区别:转发是服务器行为,重定向是客户端行为。
请求转发特点:一次请求,浏览器地址不变,访问的是自己本身的 web 资源,传输的数据不 会丢失。
重定向特点:两次请求,浏览器地址发生变化,可以访问自己 Web 之外的资源,传输的数据 会丢失。
JSP 与 Servlet 的区别
1. jsp 经编译后就变成了 Servlet.(JSP 的本质就是 Servlet,JVM 只能识别 java 的类,不能识别 JSP 的代 码,Web 容器将 JSP 的代码编译成 JVM 能够识别的 java 类)
2. jsp 更擅长表现于页面显示,servlet 更擅长于逻辑控制.
3. Servlet 中没有内置对象,Jsp 中的内置对象都是必须通过 HttpServletRequest 对象,HttpServlet 对 象得到.
4. Jsp 是 Servlet 的一种简化,使用 Jsp 只需要完成程序员需要输出到客户端的内容,Jsp 中的 Java 脚本 如何镶嵌到一个类中,由 Jsp 容器完成。而 Servlet 则是个完整的 Java 类,这个类的 Service 方法用生成对客户端的响应。
关注我学习更多编程知识!私信“资料”领取 Java 全套资料和面试题
评论