JAVA后端代码整理-SE/EE(未完成)
SE
一.基本数据类型的隐式显式转换
1.从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换
byte b=1;
int i=-2;
i=b;
i=c;
- 从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换
byte b=1;
int i=-2;
b=(byte)i;
c=(char)i;
二.String,StringBuffer,StringBuilder的区别
-
运算速度比较:StringBulider>StringBuffer>String
-
String是final类不能被继承且为字符串常量,而StringBuilder和StringBuffer均为字符串变量,
String对象一旦创建便不可更改,而后两者是可更改的 -
线程安全性: StringBuffer是线程安全的,而String Bulider是非线程安全的。
-
String:适用于少量的字符串操作。
StringBuilder:适用于单线程下在对字符串进行大量操作。
StringBuffer:适用于多线程下在对字符串进行大量操作。
三.StringBuffer的常用方法
-
append()添加
-
insert()在索引值处插入
-
setCharAt()方法在索引值处替换
-
delete()删除
-
replace()从索引值处开始到索引值处结束替换
-
reverse()反转
四.String的常用方法
-
length():求字符串的长度
-
indexOf():求某个字符在字符串中的位置
-
charAt():求一个字符串中某个位置的值
-
equals():比较两个字符串是否相同
-
replace():将字符串中的某些字符用别的字符替换掉。形如replace(“abc”,”ddd”);字符串中的abc将会被ddd替换掉。
-
substring():输出一个新的字符串,它是此字符串中的子串,形如substring(3,7);它将字符串中的第三个第四个第五个第六个输出,即输出开始(包括开始)到结束减一之间的字符串。
-
format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
8.toLowerCase():将字符串中所有的大写改变成小写
9.toUpperCase():将字符串中所有的小写改变为大写
- split():根据给定正则表达式的匹配拆分此字符串。形如 String s = “The time is going quickly!”; str1=s.split(" ");
五.包装器类型的作用
基本类型并不具有对象的性质,包装器类型使基本数据类型具有对象的性质,并且为其添加属性和方法需要往ArrayList,HashMap中放东西时就需要包装器类型了
六.字符串的null和“”有什么区别
null表示对象的内容为空,即对象的内容是空白的。
空值表示对象的内容无法确定。
七.如果要比较两个字符串的字典顺序,如何实现
可以用字符串中的compreTo()方法
str.compareTo(str2)
(str 和str2比较)
八.字典排序的比较,比较的是什么
比较第一个字符在字典中的位置,如果相同就比较第二位
九.引用类型的比较,比较的是什么
比较的是引用类型的地址,不是内容
十.引用类型的存放位置和赋值方式
引用栈内存中的地址,内容存在于堆内存中。
赋值方式用new创建对象赋值
十一.八种基本数据类型的长度
1.byte- 8
2.short- 16
3.int- 32
4.long- 64
5.float- 32
6.double- 64
7.char- 16
8.boolean- 8
十二.八种基本数据类型
byte 2.short 3.int 4.long 5.float 6.double 7.char 8.boolean
十三.八种基本数据类型的默认值
1.byte- 0
2.short- 0
3.int- 0
4.long- 0
5.float- 0.0
6.double- 0.0
7.char- “”
8.boolean- false
十四.接口和抽象类的区别
-
抽象类要被子类继承,接口要被子类实现。
-
接口只能做方法声明,抽象类中可以做方法声明也可以做方法实现。
-
接口里定义的变量必须是公开静态常量,抽象类中的变量是普通变量。
-
抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。
-
抽象类里可以没有抽象方法。
-
如果一个类里有抽象方法,那么这个类只能是抽象类。
-
抽象方法要被实现,所以不能是静态的,也不能是私有的。
-
接口可继承接口,并可多继承接口,但类只能单继承。
十五.什么是抽象类
一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类。
abstract class class_name {
abstract type method_name(parameter);
}
十六.什么是接口
接口类似于类,但接口的成员没有执行体,它只是方法、属性、事件和索引符的组合而已。接口不能被实例化,接口没有构造方法,没有字段。在应用程序中,接口就是一种规范,它封装了可以被多个类继承的公共部分。
十七.什么是封装
封装就是将对象的属性和方法相结合,通过方法将对象的属性和实现细节保护起来,实现对象的属性隐藏。做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。
十八.什么是Servlet
Servlet运行在服务器端,需要Servlet容器的支持,例如Tomcat
Servlet是JavaEE规范中的Web开发组件,可以交互式地浏览和修改数据,生成动态Web内容
Servlet也是一段代码,是一个Java类,这个Java类需要遵守一定的编写规范,例如,必须继承于javax.servlet.http.HttpServlet类;
4.Servlet是多线程,单实例的,不管访问多少次,只有一个Servlet实例
十九.什么是C/S
C/S结构是Client/Server(客户机/服务器)的简称,桌面应用程序采用的多是这种结构
二十.什么是B/S
B/S结构是Browser/Server(浏览器/服务器)的简称,特点是客户端无需安装特定的软件,只需要安装一个浏览器就可以与系统进行交互。
二十一.C/S和B/S的区别
C/S需要安装客户端软件,但是操作往往更为便捷;B/S不需要安装客户端软件,但是用户体验往往不如C/S好,安全性也较C/S要低;
二十二.Servlet的生命周期
-
Tomcat调用Servlet的构造方法,创建该类的对象;
-
Tomcat, API中的初始化方法:先调用有参数的init方法,再调用无参的init方法,进行初始化工作;
-
初始化成功后,调用service服务方法,通过判断请求方式,调用相应的doXXX方法,如doGet、doPost等方法
-
do方法正常返回后,即提供服务结束;
-
Tomcat根据使用情况销毁Servlet对象,销毁前调用destroy方法
二十三.什么是JSP
-
JSP(Java Server
Page)是JavaEE规范中的Web组件,用来编写动态页面 -
JSP运行在服务器端,本质是Servlet
-
JSP文件以.jsp为后缀,在Eclipse的工程目录中存在WebContent目录下
-
JSP文件可以直接在浏览器中访问
-
JSP文件中的内容就是 HTML+Java代码,静态部分使用HTML和文本即可,动态部分使用Java代码
二十四.Servlet跳转方式
1.响应重定向:
response.sendRedirect(“xxxx.jsp”);
2.请求转发:
request.getRequestDispatcher(“xxxx.jsp”).forward(request,
response);
二十五.什么是会话
会话(Session)就是浏览器与服务器之间的一次连续的通讯过程
会话跟踪:
会话跟踪能够保存状态信息,每次向服务器发送请求时都主动携带身份令牌。
解决HTTP协议无状态特性的弊端
二十六.常用会话跟踪技术
1.url方式(也称为问号传参)
需要保存的信息直接追加到URL后,例如:http://127.0.0.1:8080/chapter03/viewList?pageNo=12
2.隐藏域方式
可以使用表单中的隐藏域保存相关信息, 例如:
<input type=“hidden” name=“status" value=“true">
3.Cookie方式
将状态信息保存到客户端,服务器能够获得相关信息进行分析,从而生成对客户端的响应;例如简化登录功能就可以使用Cookie实现
4.Session方式
将状态信息保存到服务器的会话对象中,通过唯一标记的ID值与客户端进行绑定使用;例如访问控制功能就可以使用Session实现;
二十七.Cookie是什么
Cookie是一段保存在客户端的小文本;能够用来将用户活动过程中的状态信息保存到客户端,服务器可以获得该信息以便进行处理,跟踪到用户的状态;
二十八.Cookie包含的属性值
1.name:cookie的名字,每个cookie都有一个名字;
2.content:cookie的值,与名字一起作为键值对形式存在;
3.domain:域,该cookie的域名,例如左图中是csdn.net,说明当前cookie来自csdn.net;
4.path:路径,访问csdn.net下该路径时,当前cookie将被发送;
5.created:cookie被创建的时间;
6.Expired:cookie失效的时间;
7.最大生命时间:失效时间和创建时间的时间差,就是cookie的最大生命时间,超过该时间,cookie将失效,不再被发送到相应的域地址;
二十九.响应接口中设置Cookie的方法
response.addCookie(username);
三十.什么是Session
1.Session是会话跟踪的另一种实现手段
2.Session是存储在服务器上的对象,该对象由服务器创建并维护
3.服务器为客户端与服务器的每一次会话过程都创建并维护一个Session对象
4.构建身份数据保存在服务器内存中
三十一.添加Session属性
HttpSession
session=request.getSession();
三十二.Session失效方法
1.在Web-xml 中配置失效时间
50三十三.MVC模式
模型(M)、视图(V)、控制器(C)三部分
M:模型,程序控制核心 : javaBean
V:视图,显示数据 :jsp
C:控制器数据输入: servlet
三十四.list set map 的区别与联系
List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合
List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(Set集合是根据hashcode来进行数据存储的,所以位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的)。
三十五.HashMap 和 HashTable
HashMap 是线程不安全的,HashMap 是一个接口,是 Map的一个子接口,是将键映射到值得对象,不允许键值重复,允许空键和空值;由于非线程安全, HashMap的效率要较 HashTable 的效率高一些.
HashTable 是线程安全的一个集合,不允许 null 值作为一个 key 值或者 Value 值;
HashTable 是 sychronize(同步化),多个线程访问时不需要自己为它的方法实现同步,而 HashMap 在被多个线程访问的时候需要自己为它的方法实现同步;
4万+

被折叠的 条评论
为什么被折叠?



