3、常用类(String、servlet、异常类、集合、Thread、Number、Double、system)
String :用char[]数组实现,结尾不用”\0”。
String str = “he”+new String();运行期间生成的--->指向堆内存???
new String(“22”)实际上创建了2个String对象,字符串常量池--存在方法区和堆中
String s=”a”+”b”+”c”;编译期完成。
String类是final类,成员方法默认为final方法,底层是char()数组来保存,没有“/0”
对String对象的任何改变都不会影响到原对象。
当代码中出现字面量形式创建字符串对象时,JVM首先会对字面量进行检查,如果常量池存在相同内容引用,则将引用返回,否则新的字符串对象被创建,然后将对象放到字符串常量池,并返回此引用。
方法:
(1)String.toUpperCase();==>转换为大写,有返回值
(2)string.replace(‘f’,’F’); ==>用F替代f,无返回值(参数为char和charSequence)
(3)string.replaceAll(‘regex’,’’);==>all匹配的是正则表达式(.匹配各个字符)
(4)string.equals()==>String重写了Object类的方法
Servlet相关:
GenericServlet抽象类给出了设计servlet的一些骨架,定义了servlet的生命周期,还有一些得到名字、配置、初始化参数的方法,设计与应用层无关。
service方法是在servlet生命周期中的服务器,默认在HttpServlet类中实现,根据Http请求方法,将请求分发到doGet、doPost等方法实现。
javax.servlet.GenericServlet接口实现了javax.servlet.Servlet接口,且javax.servlet.http.HttpServlet是javax.servlet.GenericServlet子类。
Servlet的生命周期:
**************************************************************
***********
****此处贴图 Servlet的生命周期图
servlet处于服务器进程中,通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其一般不会销毁,而CGI对每个请求都产生新的线程,服务完成后就销毁,效率低,且不可移植。
异常:try-catch-finally try/catch抛出异常会增加更大的开销。
如果try的return有执行语句,例如:return i--; i--会执行,而return不会执行,进入finally。(finally一定会执行,除非try/catch中有system.exit(0))退出。
finally中的语句不能影响try/catch中已经确定的i值,(可以说try/catch可以传递值到finally中,finally就像一个方法,i值就像一个参数,并不能把值传递回去)。最后从try中返回出i在try中的值。
结论:return并不是函数的最终出口,也就是说遇到return要考虑是否还有finally要执行。如果存在funally代码块,会在return之前执行finally中的代码。
①.try、catch、finally都有return语句,返回finally的值。(try会执行return之后的语句,例如:i--);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66099-4.html
你收了多少