31.中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。

(简单来说,中间件并不能提高内核的效率,一般只是负责网络信息的分发处理)

32.(1)不管有没有异常抛出,finally{}代码块比return先执行

(2)多个return是按顺序执行的,多个return执行一个后,后面的return就不会执行了。

33.(1).启动一个线程的方法是 start()

(2).结束线程用的是interrupt()方法,而stop()是强制结束线程,并不推荐使用,同时stop()方法已被弃用

(3).daemon线程是守护线程,当主线程结束时,守护线程会自动结束

(4).一个线程等待另外一个线程的方法是wait()方法

34.

35.AOP的概念是Aspected Oriented Programming 面向方面编程。

好处:AOP将程序分解成各个方面或者说关注点。这使得可以模块化,相当横向上分切了。它可以解决OOP和过程化方法不能够很好解决的横切(crosscut)问题,如:事务、安全、日志等横切关注

实现AOP有几种方式:

  (1). Spring 1.2版本中通过ProxyFactoryBean来实现aop,即通过动态代理来实现的,Aspect必须继承MethodBeforeAdvice,MethodAfterAdvice等

  (2). Spring 2.0 AOP需要改的是FBI 这个类,而且它也不需要再实现某些接口

  (3). 三使用标注(@AspectJ)实现AOP

36.Ant和Maven都是基于Java的构建(build)工具。理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷。Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。

Ant特点:

没有一个约定的目录结构 ›必须明确让ant做什么,什么时候做,然后编译,打包 ›没有生命周期,必须定义目标及其实现的任务序列 ›没有集成依赖管理

Maven特点:

拥有约定,知道你的代码在哪里,放到哪里去 ›拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程 ›只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情 ›拥有依赖管理,仓库管理。

37.hibernate延迟加载:

load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当 我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实 体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。

相对于load的延迟加载方式,get就直接的多,当我们使用session.get()方法来得到一个对象时,不管我们使不使用这个对象,此时都会发出sql语句去从数据库中查询出来。

38.计算机中以补码存储。

正数的原码/反码/补码相同,所以

10存储为00000000 00000000 00000000 00001010

~10的原码为11111111 11111111 11111111 11110101(10取反)

~10的反码为10000000 00000000 00000000 00001010(最高位符号位,不变,其余位取反)

~10的补码为10000000 00000000 00000000 00001011(负数的补码=反码+1)

所以~10 = -11

39.要注意的是 switch结构中没有break的话,匹配完不会跳出,会继续匹配下一个case直到整个结构结束。

40.Servlet的生命周期一般可以用三个方法来表示:

  init():仅执行一次,负责在装载Servlet时初始化Servlet对象

  service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。

  destory():在停止并且卸载Servlet时执行,负责释放资源

  初始化阶段:Servlet启动,会读取配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,将ServletConfig作为参数来调用init()方法。

最新文章

  1. autofac与unity注册类型的几个小区别
  2. Python中输出格式化的字符串
  3. Unity3d之个性化鼠标
  4. Python之路【第十二篇】前端之js&dome&jQuery
  5. 转:Google全程面试题目(未完成)
  6. SAP ABAP程序下载器(增强版)
  7. 关于git的cherry-pick命令
  8. chrome插件推荐
  9. 深入理解Java内存模型——volatile
  10. css样式清零及常用类
  11. freemarker写select组件报错总结(七)
  12. SVG的动态之美-搜狗地铁图重构散记
  13. callback回调函数的理解
  14. .NET Core 如何调用 WebService
  15. js 日期格式转换(转载)
  16. python语言程序设计9
  17. 《Mysql ALTER基本操作》
  18. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十):接口服务整理
  19. easyui的datagrid分页写法小结
  20. mysql的字符拼接

热门文章

  1. [转]PLSQL Developer备份恢复oracle数据
  2. Stanford机器学习笔记-9. 聚类(Clustering)
  3. Android开发中上线后修改应用名称的若干问题
  4. Ajax讲解
  5. java 27 - 10 反射之 动态代理的代码实现
  6. 持久化存储——偏好设置,plist,归档---学习笔记二
  7. iOS Block 内存管理的探讨
  8. gitlab配置邮件通知功能操作记录
  9. noip2016代码
  10. IIS 应用程序池.NET40 重新注册