Java刷题笔记10

T1 局部变量

image-20231023144800490

局部变量必须有初始值

成员变量(定义在类中的变量): 可以不进行初始化,Java会自动初始化

局部变量(定义在方法中的变量): 必须进行初始化

类变量(static修饰): 随着类的加载而加载

常量(final修饰)

T2 subSet方法

image-20231023150512819

  1. subSet是指向原数据的,原数据修改,subSet也跟着修改

  2. subset(form,true,to,true)是Treeset的非静态方法,该方法返回从form元素到to元素的一个set集合,两个boolean类型是确认是否包含边境值用的。

T3 Math.ceil()

image-20231024105737785

1
Math.ceil(d1) 

ceil 方法上有这么一段注释:If the argument value is less than zero but greater than -1.0, then the result is negative zero

如果参数小于0且大于-1.0,结果为 -0

1
Math.floor(d1)

ceil 和 floor 方法 上都有一句话:If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument,意思为:如果参数是 NaN、无穷、正 0、负 0,那么结果与参数相同

符号不变,类型不变

T4 Servlet 生命周期

image-20231024114101381

Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。

​ (1)加载:Servlet容器(Tomcat)通过类加载器加载servlet文件(.class)
​ (2)创建:通过调用servlet构造函数创建一个servlet对象
​ (3)初始化:调用init方法初始化
​ (4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
​ (5)卸载:调用destroy方法让servlet自己释放其占用的资源

servlet是由Servlet容器负责加载Servlet类,创建Servlet对象并实例化,然后调用Servlet的init方法,进行初始化,之后调用Service方法。实例化和初始化不同。先实例化,再初始化。