《Java程序员面试笔试宝典》笔记
captxb
这个作者很懒,什么都没留下…
展开
-
chapter05_Java Web_1_Servlet和JSP
Servlet (1) Servlet针对每个请求,都创建一个线程来执行 (2) 处理客户端请求的__步骤__ 1° Web服务器收到请求后,会把请求交给相应的容器(例如Tomcat),容器此时会创建两个对象 HttpServletResponse和HttpServletRequest 2° 容器调用Servlet的service()方法,service()方法调用 doGet()或doPos...原创 2019-04-10 14:48:45 · 121 阅读 · 0 评论 -
chapter04_Java基础知识_9_Java关键字
使用冒号:可以定义标签,定义标签的作用是帮助break和continue跳出多层循环 示例 class Solution { public static void main(String[] args) { out: for (int i = 0; i < 3; i++) { inner: ...原创 2019-04-09 16:40:13 · 83 阅读 · 0 评论 -
chapter04_Java基础知识_10_基本类型与运算
char和short类型都是2个字节,区别是char的范围是[0,65535], short的范围是[-32768, 32767] 不可变类 (1) 一旦创建了不可变类的实例,实例中的成员变量就不能被修改了(只读) (2) 常见的不可变类有 Integer, String等 (3) 创建不可变类的原则 1° 类中所有成员变量使用private修饰 2° 类中没有更改成员变量的方法(如set...原创 2019-04-09 16:46:42 · 114 阅读 · 0 评论 -
chapter04_Java基础知识_11_字符串和数组
(1) 示例 class Test { public static void main(String[] args) { String a1 = "abc"; String a2 = "abc"; if (a1 == a2) { System.out.println("a1 == a2...原创 2019-04-10 14:44:48 · 109 阅读 · 0 评论 -
chapter04_Java基础知识_12_异常处理
finally (1) finally块中的语句一般总会被执行,如果try中包含了return方法,那么可以理解为finally块中的部分类似于内联函数,插入到return前面执行,然后再执行return (2) (1)造成的结果是,如果finally块中包含了return语句,会覆盖其他地方的return 示例 class Test { private static int...原创 2019-04-10 14:44:59 · 103 阅读 · 0 评论 -
chapter04_Java基础知识_13_输入输出流
Java中的IO流 (1) 字节流:以字节byte为单位 1° 输入流InputStream 2° 输出流OutputStream (2) 字符流:以字符为单位 1° 输入流Reader 2° 输出流Writer Java IO类使用了__装饰器模式__ ...原创 2019-04-10 14:45:08 · 97 阅读 · 0 评论 -
chapter04_Java基础知识_14_序列化和反序列化
(1) 所有要实现序列化的类都要实现 Serializable接口,然后使用一个输出流来构造一个 ObjectOutputStream对象,然后调用writeObject()方法实现序列化 (2) 若基类可以序列化,则它的派生类也可以序列化 (3) 类的static修饰的变量、transient修饰的变量不会被序列化 (4) 使用readObject()方法可以实现反序列化,但是static和...原创 2019-04-10 14:45:21 · 84 阅读 · 0 评论 -
chapter04_Java基础知识_15_容器
Collection是一个接口,很多容器都继承了Collection接口,例如Set,List Collections是一个工具类,提供了操作Collection容器的方法 LinkedList内部是一个双向链表,且__非线程安全__ ...原创 2019-04-10 14:45:31 · 107 阅读 · 0 评论 -
16_多线程
实现多线程的方式 (1) 扩展Thread类,覆盖run()方法 (2) 实现Runnable接口,实现run()方法(事实上,Thread类也实现了Runnable接口) (3) 实现Callable接口,实现call()方法 Thread.run()和Thread.start()的区别 (1) 直接调用Thread.run(),并没有开辟新线程,相当于调用了一个普通方法 (2) 调用T...原创 2019-04-10 14:45:45 · 99 阅读 · 0 评论 -
chapter04_Java基础知识_8_this和super
当子类的方法或成员变量与父类有相同的名字时,也会覆盖父类的方法或成员变量。此时,应该使用super来访问基类的方法或成员变量 __当派生类需要显示调用基类的构造函数时,super(…)必须为派生类构造函数的第一条语句。否在,会__编译错误 ...原创 2019-04-09 16:38:10 · 79 阅读 · 0 评论 -
chapter04_Java基础知识_7_内部类
分类 (1) 静态内部类 示例 class Outer { static class Inner { protected static void function() { System.out.println("static"); } } } (2) 非静态内部类 示例 ...原创 2019-04-09 16:37:19 · 70 阅读 · 0 评论 -
chapter05_Java Web_2_xml
优点 1° 文本形式存储,适用于大小文件 2° 层次结构,访问速度快 3° 通过属性标记,可扩展性好 4° 跨平台 缺点 1° 存储效率低下 xml文档定义 (1) 需要预先定义 xml可以使用什么标记、标记出现的顺序和标记的层次关系等 (2) xml文档定义方式有两种: DTD 和 Schema 一个xml文档采用DTD方式时,只能对应一个DTD; 采用Schema方式时,可以对应多个S...原创 2019-04-12 12:04:36 · 120 阅读 · 0 评论 -
chapter05_Java Web_3_Spring框架
IOC(Inverse of Control) (1) 控制反转IOC又叫依赖注入DI (2) 目标:减少耦合,使得上层不再紧密耦合下层的接口 (3) 示例 1° TeaSaler类需要一个Tea对象,不使用任何操作时,有一个抽象类AbstractTea,它被GreenTea和RedTea派生,此时的做法是 AbstractTea tea = new GreenTea(); TeaSa...原创 2019-04-12 12:04:44 · 126 阅读 · 0 评论 -
chapter04_Java基础知识_1_main,类的成员初始化
为什么 main函数要 public static void修饰? static方法存储在__静态存储区__,只要类被加载后,不需要实例化对象就可以使用该方法;如果main方法不声明为静态的,JVM就必须创建main类的实例,而因为构造器可以被重载,JVM就没法确定调用哪个main方法; public的原因是任何类或对象都可以访问; void的原因是main函数是入口,返回值没有意义 (1...原创 2019-04-09 14:39:03 · 118 阅读 · 0 评论 -
chapter04_Java基础知识_2_变量作用域范围,构造函数
作用域范围大小 public > protected > default > private __不好记的是 protected 和 default,default要求是同一个包内可以,可以理解为一个大的.java文件里面有很多class,如果是default修饰的成员变量,那么它们可以互相访问;但是子类未必和它们在同一个包内,这时添加了protected能访问,说明prot...原创 2019-04-09 14:40:20 · 146 阅读 · 0 评论 -
chapter04_Java基础知识_3_接口,对象的clone
接口 (1) 修饰一个接口的只可能有一种: public 原因:abstract是冗余的,因为接口本来就是特殊的抽象类; final是Java规定的不可以 (2) 接口中最标准的方法,默认就是abstract + public,因此用abstract或public修饰这些方法是冗余的 (3) 接口中的变量只能是 public static final的 public的原因:接口没有实例,必须有...原创 2019-04-09 14:45:46 · 78 阅读 · 0 评论 -
chapter04_Java基础知识_4_反射,利用接口实现函数指针
(1) 示例 public class Solution { void display() { System.out.println("haha"); } public static void main(String[] args) throws Exception { Class solutionClass...原创 2019-04-09 14:48:57 · 189 阅读 · 0 评论 -
chapter04_Java基础知识_5_面向对象
(1) 子类可以继承父类的protected和public的成员变量和方法 (2) __子类中定义的成员变量和父类中的成员变量同名时,会覆盖不会继承__ (3) __子类中的方法与父类中的方法有相同的函数签名时,会覆盖不会继承__ __相同的函数签名指的是相同的方法名 和 相同的参数个数和类型,参数的名称没有意义__ 多态 (1) 编译时多态 --> 重载 (2) 运行时多...原创 2019-04-09 14:56:46 · 136 阅读 · 0 评论 -
chapter04_Java基础知识_6_重载和覆盖,抽象类和接口
重载 (1) 重载通过不同的参数个数、不同的参数类型、不同的参数顺序实现区分 (2) 不能通过 方法的访问权限、返回值的类型、抛出的异常类型进行重载 覆盖 (1) 定义:派生类的函数覆盖基类函数 (2) 基类中的方法是private时,无论如何都不会被派生类重载(此时叫做定义了一个新函数) (3) 满足以下条件时,才称为派生类的方法对基类的方法进行了__覆盖__ 1° 函数名相同 2° 参...原创 2019-04-09 15:06:25 · 116 阅读 · 0 评论 -
chapter04_Java基础知识_17_Java数据库操作
JDBC驱动底层,通常是通过网络IO实现SQL命令与数据传输的 --> ResultSet, Statement, Connection用完要close() class.forName(“com.mysql.jdbc.Driver”)是在干嘛? 加载com.mysql.jdbc.Driver这个类,而进行类加载时会Driver类中的static块会向DriverManager进行注册...原创 2019-04-10 14:45:54 · 91 阅读 · 0 评论