JAVA后端代码整理

JAVA后端代码整理-SE/EE(未完成)

SE

一.基本数据类型的隐式显式转换

1.从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换

byte b=1;

int i=-2;

i=b;

i=c;

  1. 从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换

byte b=1;

int i=-2;

b=(byte)i;

c=(char)i;

二.String,StringBuffer,StringBuilder的区别

  1. 运算速度比较:StringBulider>StringBuffer>String

  2. String是final类不能被继承且为字符串常量,而StringBuilder和StringBuffer均为字符串变量,
    String对象一旦创建便不可更改,而后两者是可更改的

  3. 线程安全性: StringBuffer是线程安全的,而String Bulider是非线程安全的。

  4. String:适用于少量的字符串操作。
    StringBuilder:适用于单线程下在对字符串进行大量操作。
    StringBuffer:适用于多线程下在对字符串进行大量操作。

三.StringBuffer的常用方法

  1. append()添加

  2. insert()在索引值处插入

  3. setCharAt()方法在索引值处替换

  4. delete()删除

  5. replace()从索引值处开始到索引值处结束替换

  6. reverse()反转

四.String的常用方法

  1. length():求字符串的长度

  2. indexOf():求某个字符在字符串中的位置

  3. charAt():求一个字符串中某个位置的值

  4. equals():比较两个字符串是否相同

  5. replace():将字符串中的某些字符用别的字符替换掉。形如replace(“abc”,”ddd”);字符串中的abc将会被ddd替换掉。

  6. substring():输出一个新的字符串,它是此字符串中的子串,形如substring(3,7);它将字符串中的第三个第四个第五个第六个输出,即输出开始(包括开始)到结束减一之间的字符串。

  7. format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

8.toLowerCase():将字符串中所有的大写改变成小写

9.toUpperCase():将字符串中所有的小写改变为大写

  1. 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

十四.接口和抽象类的区别

  1. 抽象类要被子类继承,接口要被子类实现。

  2. 接口只能做方法声明,抽象类中可以做方法声明也可以做方法实现。

  3. 接口里定义的变量必须是公开静态常量,抽象类中的变量是普通变量。

  4. 抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

  5. 抽象类里可以没有抽象方法。

  6. 如果一个类里有抽象方法,那么这个类只能是抽象类。

  7. 抽象方法要被实现,所以不能是静态的,也不能是私有的。

  8. 接口可继承接口,并可多继承接口,但类只能单继承。

十五.什么是抽象类

一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类。

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的生命周期

  1. Tomcat调用Servlet的构造方法,创建该类的对象;

  2. Tomcat, API中的初始化方法:先调用有参数的init方法,再调用无参的init方法,进行初始化工作;

  3. 初始化成功后,调用service服务方法,通过判断请求方式,调用相应的doXXX方法,如doGet、doPost等方法

  4. do方法正常返回后,即提供服务结束;

  5. Tomcat根据使用情况销毁Servlet对象,销毁前调用destroy方法

二十三.什么是JSP

  1. JSP(Java Server
    Page)是JavaEE规范中的Web组件,用来编写动态页面

  2. JSP运行在服务器端,本质是Servlet

  3. JSP文件以.jsp为后缀,在Eclipse的工程目录中存在WebContent目录下

  4. JSP文件可以直接在浏览器中访问

  5. 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 在被多个线程访问的时候需要自己为它的方法实现同步;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值