第一次笔试
亚信科技
年纪大了记性不好,记得什么写什么。
Java核心基础
String和StringBuffer区别
简单来说是常量与变量的区别,String对象一旦被创建就不可以被修改,重新赋值后就是一个新的对象。StringBuffer对象可以修改。String,StringBuffer,StringBuilder,都实现了CharSequence接口。String是个不可继承类(final修饰),也是个不可变类(内部char数组被final修饰)。StringBuffer和StringBuilder内部都是一般的动态数组,所以可变。StringBuffer是线程安全的,因为方法基本都被synchronized修饰了。
Float类
Float类在java.lang包下
Float 类中的构造方法有以下 3 个
- Float(double value):构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。Float float1 = new Float(3.14145); // 以 double 类型的变量作为参数创建 Float 对象
- Float(float value):构造一个新分配的 Float 对象,它表示基本的 float 参数。Float float2 = new Float(6.5); // 以 float 类型的变量作为参数创建 Float 对象
- Float(String s):构造一个新分配的 Float 对象,它表示 String 参数所指示的 float 值。Float float3 = new Float("3.1415"); // 以 String 类型的变量作为参数创建 Float 对象
- 注意:在实现将字符串转换为 float 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。
实例方法和类方法的区别
类方法
类方法是用static修饰的方法,由于类方法是属于整个类的,不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。
即类方法体有如下限制:
1.类方法中不能引用对象变量;
2.类方法中不能调用类的对象方法;
3.在类方法中不能调使用super,this关键字;
4.类方法不能被覆盖。
实例方法
当一个类创建了一个对象后,这个对象就可以调用该类的方法(对象方法)。
1.实例方法中可以引用对象变量,也可以引用类变量;
2.实例方法中可以调用类方法;
3.对象方法中可以使用super,this关键字。
区别
当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,也就是说,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。
对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出时才被取消。
类方法在类的字节码加载到内存时就分配了入口地址。因此,Java语言允许通过类名直接调用类方法,而实例方法不能通过类名调用。在Java语言中,类中的类方法不可以操作实例变量,也不可以调用实例方法,这是因为在类创建对象之前,实例成员变量还没有分配内存,而且实例方法也没有入口地址。
Java泛型
泛型,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
泛型方法
写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。
- 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前。
- 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。
- 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
- 泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像 int、double、char 等)。
Java中泛型标记符:
- E - Element (在集合中使用,因为集合中存放的是元素)
- T - Type(Java 类)
- K - Key(键)
- V - Value(值)
- N - Number(数值类型)
- ? - 表示不确定的 java 类型
使用泛型的意义在于
1,适用于多种数据类型执行相同的代码(代码复用)
2, 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)
泛型类
泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分。
和泛型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。因为他们接受一个或多个参数,这些类被称为参数化的类或参数化的类型。
类型通配符
1、类型通配符一般是使用 ? 代替具体的类型参数。例如 List<?> 在逻辑上是 List<String>,List<Integer> 等所有 List<具体类型实参> 的父类。
array.length和list.size
length属性表示的是数组的长度,获得数组中可以保存元素的个数,可以调用array.length()方法,会返回一个int类型的值,表示数组中元素的个数
size属性表示list集合的长度,list.size()就是获取list集合中存储的对象的个数,用int类型的值来接收。
List集合扩容
List集合的底层实现是数组结构,而数组的大小是不可改变的,因此当其容器内存不足时,需要进行扩容,扩容的方法就是重新分配一个数组,然后复制元素到新数组中,再将元素添加到数组末位,扩容增量:原容量的0.5倍,如ArrayList的容量为10,一次扩容后容量为15。
JSP
JSP内置九大对象(隐式对象)
-
request 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
-
response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
-
pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。
-
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以是复杂的对象类型,而不仅仅局限于字符串类型。
-
application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。
-
out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
-
config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
-
page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。
-
exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。
JSTL
JSP中只有一行代码:<%='A'+'B'%>,运行将输出什么。
A和B都是变量,可是还没有定义的话就会报错
<%='A'+'B'%> 等于131
<%="A"+"B"%> 等于AB
假如A和B是字符串,就是拼凑起来的字符串,假如和已经赋值的东西,那就是和。
前端
CSS分层是利用什么标记构建的分层
CSS分层是用div标记。div称为区隔标记。作用是设定字、画、表格等的摆放位置。当你把文字、图像、或其他的放在DIV中,它可称作“DIV block,或“DIV element”或“CSS-layer”,或“layer”。中文中称作层次。
在一个网站中,路径通常有几种表示方式
在一个网站种,路径通常有三种表示方式,分别是绝对路径、根目录相对路径、文档目录相对路径
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?