JAVA编程试题集合3

1.当你用浏览器打开一个链接的时候,计算机做了哪些工作步骤。

  • Dns解析(域名-IP)->IP寻址 –>tcp连接(三次握手)–>服务器处理请求–>服务器响应–>浏览器解析—>链接关闭

2.什么是正则表达式?

  • 处理字符串时,经常需要查找符合某些复杂规则的字符串。正则表达式就是用于描述这些规则的工具。就是记录文本规则的代码。

3.get和post请求的区别?

  • get用来从服务器获得数据,post用来向服务器提交数据;
  • get将表单数据按照name=value的形式,添加URL后面,并且使用"?“连接,而各个变量间使用”&"连接;post是将表单数据放在HTTP协议的请求头或消息体中传递URL;
    (http://xxx.com/visitRecord?type=weixin&userId=107
    )
  • get传输数据要受到URL长度限制(1024字节);而post可以传输大量数据,上传文件通常使用post方式;
  • 使用get时参数会显示在地址栏上,如果这些数据不是敏感数据,那么可以使用get;对于敏感数据则应使用post

4.过滤器,拦截器,监听器的区别

  • 过滤器(Filter):当有一堆东西的时候,只选择符合要求的某一些。定义这些要求的工具,就是过滤器。顾名思义是用来过滤的,你传入的request,response提前过滤一些信息,或设置一些参数,然后进行业务逻辑处理,比如过滤掉非法url、统一设置字符集等。filter 流程是线性的, url传来检查之后,可保持原来流程继续执行,被下一个filter接收处理,形成一个链条.
  • 拦截器(Interceptor):在一个流程进行时,希望干预它的进展,甚至终止它进行,这是拦截器做的事情。用于在某个方法或字段被访问前后进行拦截,然后加入某些操作。拦截是AOP的一种实现策略
  • 监听器(Listener):当一个事件发生时,希望获得这个事件发生的详细信息,并不想干预这个事件本身的进程,这就用到监听器。监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前后可以做一些必要的处理。

4.Spring有哪些优点?

  • 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB。

  • 控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。

  • 面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来。

  • MVC框架:Spring的web框架是一个设计优良的web MVC框架,很好的取代了一些web框架。

  1. BeanFactory模块
  • Spring的基本模块,它提供了Spring框架的基本功能。BeanFactory 是所有Spring应用的核心。Spring框架是建立在这个模块之上的,这也使得Spring成为一个容器。
  • BeanFactory是工厂模式的一种实现,它使用控制反转将应用的配置和依赖与实际的应用代码分离开来。最常用的BeanFactory实现是XmlBeanFactory类,它根据XML文件中定义的内容加载beans。该容器从XML文件中读取配置元数据,并用它来创建一个完备的系统或应用。

6.Spring中的依赖注入是什么?

  • 依赖注入作为控制反转(IOC)的一个层面,可以有多种解释方式。在这个概念中,你不用创建对象而只需要描述如何创建它们。你不必通过代码直接的将组件和服务连接在一起,而是通过配置文件说明哪些组件需要什么服务。之后IOC容器负责衔接。
  • 构造器依赖注入:构造器依赖注入在容器触发构造器的时候完成,该构造器有一系列的参数,每个参数代表注入的对象。
  • Setter方法依赖注入:首先容器会触发一个无参构造函数或无参静态工厂方法实例化对象,之后容器调用bean中的setter方法完成Setter方法依赖注入。

7.什么是Spring Beans?

  • Spring Beans是构成Spring应用核心的Java对象。这些对象由Spring IOC容器实例化、组装、管理。这些对象通过容器中配置的元数据创建,例如,使用XML文件中定义的创建。
  • 在Spring中创建的beans都是单例的beans。在bean标签中有一个属性为”singleton”,如果设为true,该bean是单例的,如果设为false,该bean是原型bean。Singleton属性默认设置为true。因此,spring框架中所有的bean都默认为单例bean。
  • Spring Bean中定义了所有的配置元数据,这些配置信息告知容器如何创建它,它的生命周期是什么以及它的依赖关系

8.注解

9.举例几种注解

  • @Autowired:提供更精细的控制,包括自动装配在何处完成以及如何完成。它可以像@Required一样自动装配setter方法、构造器、属性或具有任意名称和参数的方法。
  • @Qualifier:当有多个相同类型的bean而只有其中一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用消除这种混淆,指明需要装配的bean。

10.git镜像仓库/maven镜像库:
将git远程的仓库(master+所有分支clone到本地),对应的git clone一般只可以clone主干分支
git clone --mirror git remote update
maven镜像库(setting.xml):maven构建时依赖的jar包下载源

11.git暂存区
类似于缓存的概念,将准备提交的数据分批次放入暂存区,然后可以一次性commit
设计初衷是方便命令行下的操作,有选择的提交数据(git add xxx.java)

猜你喜欢

转载自blog.csdn.net/weixin_40632321/article/details/83588248