解析:
这个是实例化对象
new AB();表示使用无参构造函数实例化对象调用的无参构造函数
new AB(a,5); 表示调用的是有参构造函数 new AB (Object i , int j );
数字和字符串使用+时,变成字符串的拼接
一般是把Java堆分为新生代和老年代:
垃圾回收算法分为三种:
类方法是静态方法,类方法是属于整个类的,而实例方法是属于类的某个对象的。
由于类方法是属于整个类的,并不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。即类方法体有如下限制:
(1) 类方法中不能引用对象变量;
(2) 类方法中不能调用类的对象方法;
(3) 在类方法中不能使用super、this关键字。
(4)类方法不能被覆盖。
如果违反这些限制,就会导致程序编译错误。
与类方法相比,对象方法几乎没有什么限制:
(1) 对象方法中可以引用对象变量,也可以引用类变量;
(2) 对象方法中可以调用类方法;
(3) 对象方法中可以使用super、this关键字。
注意:在类方法中调用本类的类方法可直接调用
HttpServletResponse完成的功能:
子类的构造方法总是先调用父类的构造方法,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类不带参数的构造方法。
而父类没有无参的构造函数,所以子类需要在自己的构造函数中显式的调用父类的构造函数。
即使用super
程序执行顺序:
父类静态变量→父类静态代码块→子类静态变量→子类静态代码块→父类非静态变量→父类非静态代码块→父类构造函数→子类非静态变量→子类非静态代码块→子类构造方法
JSP 共有以下 6 种基本动作:
jsp:include:在页面被请求的时候引入一个文件;
jsp:useBean:寻找或者实例化一个JavaBean;
jsp:setProperty:设置 JavaBean 的属性;
jsp:getProperty:输出某个 JavaBean 的属性;
jsp:forward:把请求转到一个新的页面;
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记;
http:HTTP协议(HyperText Transfer Protocol,超文本传输协议),是用于从WWW服务器传输超文本到本地浏览器的传输协议。
servlet:是一套技术标准,内含与web应用相关的一系列接口,用于为web应用实现方式提供宏观解决方案
web容器:例如tomcat,用于接受、响应客户端的请求,负责将HTTP请求转换为HttpServletRequest对象,也就是创建servlet实例对象
jsp网页:java的服务器页面,其本质也是一个servlet,由html网页代码、Java代码、jsp标签组成,当servlet处理完数据后会转发给jsp,jsp负责显示数据
ArrayList:增删慢,查询快。
由于是数据组实现,需要连续的内存空间,如果删除数组中间的值,为了保证下标的有效性,需要将后面的数据往前移,所以删除慢。
当插入A对象到B对象的前面时,需要将B对象和B对象之后的所有对象后移一位,再插入A对象。所以插入慢。
数组的大小是固定的,如果数组满了,需要重新分配空间,new一个新数组并copy旧数据之后再增加新数据,所以增加慢。
因为是连续内存空间,可以通过下标查询数据,所以查询快。
LInkedList:增删快,查询慢。
由于是链表实现,当前节点的next指向下一个节点,prev指向上一个节点,不需要连续的内存空间,所以增删快。
因为不是连续内存空间,所以不能使用下标查询,只能通过next遍历,所以查询慢。
对于线程而言,start是让线程从new变成runnable。run方法才是执行体的入口。
但是在Thread中,run方法是个空方法,没有具体实现。
Bground继承了Thread,但是没有重写run方法,那么调用run方法肯定是无输出。
javax.servlet
javax.servlet.jsp
java.servlet.jsp.el
java.servlet.jsp.tagext