栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面试题(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面试题(三)

目录

1.java基础(io流)

2.web后台(jsp)

3.Servle

4 Spring

1.java基础(io流)

1.1:java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出 他们分别是哪些类

 字节流,字符流。字节流继承于 InputStream OutputStream,字符流继承于 Reader ,Writer。在 java.io 包中还有许多其他的流,主要 是为了提高性能和使用方便。

 读写图片案例:

 
        FileInputStream inputStream = new FileInputStream("f:/1.png");
        FileOutputStream OutputStream = new FileOutputStream("e:/1.png");
        byte []  buf = new byte[1024];
        while(true){
            int len = inputStream.read(buf);
            if(len==-1) {
                break;
            }
            OutputStream.write(buf,0,len);
        }
        inputStream.close();
        OutputStream.close();
    }

 1.2: 什么是 java 序列化,如何实现 java 序列化?

我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流中恢复成一个 java 对象,例如,要将 java 对象存储到硬盘或者 传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个 java 对象变成某个格式的字节流再传输,但是,jre 本身就提供了这种支持,我们可以调用 OutputStream 的 writeObject 方法来做,如果要让 java 帮我们做,要被传输的对象必须实现 serializable 接口, 这样,javac 编译时就会进行特殊处理,编译的类才可以被 writeObject 方法操作,这就是所谓的序列化。需要被序列化的类必须实现 Serializable 接口,该接口是一个 mini 接口,其中没有需要实现的方法,implements Serializable 只是为了标注该对象是可被序列化的。

2.web后台(jsp)

2.1:jsp九大内置对象
名称作用
request包含用户端请求的信息
response包含服务器传回客户端的响应信息
session与请求有关的会话期
pageContext管理网页属性
application服务器启动时创建,服务器关闭停止,为多个应用程序保存信息
out向客户端输出数据
configservlet的架构部件
page指网页本身
exception针对错误页面才可以使用
  2.2:标签库  
 

名称

 

url

 

前缀

 

核心标签库(Core)

 

http://Java.sun.com/jsp/jstl/core

 

c

 

国际化/格式化标签库(il8n)

 

http://java.sun.com/jsp/jstl/fmt

 

fmt

 

数据库标签库吧(SQL)

 

http://java.sun.com/jsp/jstl/sql

 

sql

 

XML标签库(XML)

 

http://java.sun.com/jsp/jstl/xml

 

X

 

Functions标签库(Functions)

 

http://java.sun.com/jsp/jstl/functions

 

fn

 2.3:session与cookie的区别

 session:服务端->安全/会占用大量空间


 cookie:客户端->不安全/节省服务器的空间

2.4:JSP 的常用指令

(1)page 指令: 属性最多的指令(实际开发中 page 指令默认),属性最多的一个指令,根据不同的属性,指导整个页面特性 

常用属性如下:

language:jsp 脚本中可以嵌入的语言种类,这个没用,写与不写一样的;

pageEncoding:当前 jsp 文件的本身编码---内部可以包含 contentType

contentType:response.setContentType(text/html;charset=UTF-8) import:导入 java 的包

errorPage:当前页面出错后跳转到哪个页面

isErrorPage:当前页面是一个处理错误的页面

(2)include 指令: 页面包含(静态包含)指令,可以将一个 jsp 页面包含到另一个 jsp 页面中 

(3)taglib 指令: 在 jsp 页面中引入标签库(jstl 标签库、struts2 标签库) 

 3.servlet

 3.1:Servlet概念&作用

运行在服务端的程序


 处理请求,动态生成HTML返回客户查看页面效果

 3.2:生命周期

init初始化->web.xml加载即调用,只会调用一次
        service服务->请求到达服务端
            ->doget/dopost
        destroy销毁->tomcat结束

3.3: 四大作用域

page、request、session、application

3.4:  转发与重定向

转发:地址栏不会改变,后台可携带参数到前台

重定向不能传递数据,地址栏会变化

3.5 session于cookie的区别

session:服务端

cookie:  服务端

相同:都可以保存数据

不同:

           服务端:安全性高,占用大量的服务器资源

           客户端:安全性低,占用少量内存

4 Spring


ioc:

        控制反转,依赖注入

        由原来程序员手段创建对象的权力,转交给Spring管理

        优点:代码的维护性提高了

aop:

面向切面 代理 = 目标 + 通知

讲核心业务与非核心分离,使程序员将精力放到代码上

定义切面:* *..*.*service.*del(....)

定义通知:@around

设计模式

工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例

单例模式:Bean 默认为单例模式

代理模式:Spring的AOP 功能用到了JDK的动态代理和CGLIB字节码生成技术

模板方法:用来解决代码重复的问题,比如RestTemplate,JmsTemplate,JpaTemplate

观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被 制动更新,如 Spring 中 listener 的实现--ApplicationListener

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号