《Java程序员面试笔试宝典》笔记
captxb
这个作者很懒,什么都没留下…
展开
-
chapter05_Java Web_1_Servlet和JSP
Servlet(1) Servlet针对每个请求,都创建一个线程来执行(2) 处理客户端请求的__步骤__1° Web服务器收到请求后,会把请求交给相应的容器(例如Tomcat),容器此时会创建两个对象 HttpServletResponse和HttpServletRequest2° 容器调用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° 输入流InputStream2° 输出流OutputStream(2) 字符流:以字符为单位1° 输入流Reader2° 输出流WriterJava 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,ListCollections是一个工具类,提供了操作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 · 188 阅读 · 0 评论 -
chapter04_Java基础知识_5_面向对象
(1) 子类可以继承父类的protected和public的成员变量和方法(2) __子类中定义的成员变量和父类中的成员变量同名时,会覆盖不会继承__(3) __子类中的方法与父类中的方法有相同的函数签名时,会覆盖不会继承____相同的函数签名指的是相同的方法名 和 相同的参数个数和类型,参数的名称没有意义__多态(1) 编译时多态 --> 重载(2) 运行时多...原创 2019-04-09 14:56:46 · 135 阅读 · 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 评论