语句:char foo='中',是否正确?(假设源文件以GB2312编码存储,并且以javac – encoding GB2312命令编译)
- 这里的’中‘应该是不管用什么编码方式存储,赋值给char变量后都会先转换成对应的unicode的序号\u4e2d
- 只要是utf-16be能表示的unicode编码都是可以成功的,与java文件本身的字符编码无关系。
- --a:比如,’中‘在gbk中的编码是d6d0,那当赋值给char类型时,java知道这是gbk字符集下表示的’中‘,那就能通过对比gbk和unicode,找到d6d0对应的是\u4e2d.同理,utf-8的’中‘虽然是占了三个字节,但java只会直接把它转成对应的unicode编码,再转成utf16be表示,与它是几个字节无关。
静态代码块和静态变量
执行顺序为:
-
父类静态代码块、静态变量 ps:按声明顺序执行
-
子类静态代码块、静态变量 ps:按声明顺序执行
-
父类局部代码块、成员变量 ps:按声明顺序执行
-
父类构造函数
-
子类局部代码块、成员变量 ps:按声明顺序执行
-
子类构造函数
代码编译并执行,输出结果 x = 5.
JSP内置对象
- 1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
- 2.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
- 3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
- 4.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
- 5.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
- 6.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
- 7.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
- 8.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
- 9.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
Java异常类
都是Throwable的子类:
- Exception(异常) :是程序本身可以处理的异常。
- Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。
- 检查异常(编译器要求必须处置的异常) : 除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。
- 非检查异常(编译器不要求处置的异常): 包括运行时异常(RuntimeException与其子类)和错误(Error)。