java笔/面试题整理

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆



所创造的简称。

JMS:(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中

的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,

翻译为Java消息服务。

XML:(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。

SOA:面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

SCM:供应链管理(Supply chain management,SCM)是一种集成的管理思想和方法,它执行供应链中从供应商到最终用户的物流的计划和控制等职能

DOM: DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。这是表示和处理一个HTML或XML文档的常用方法,DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言。

网络蜘蛛:网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页 ,从 网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网 站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

String是最基本的数据类型吗?      基本数据类型包括byte、int、char、long、float、double、boolean和short。
     

int 和 Integer 有什么区别      Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类

    原始类型        封装类
      boolean     Boolean
      char           Character
      byte           Byte
      short          Short
      int              Integer
      long            Long
      float            Float
      double       

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 
null,而原始类型实例变量的缺省值与它们的类型有关。

String 和StringBuffer的区别     

运行时异常与一般异常有何异同?     

说出Servlet的生命周期,并说出Servlet和CGI的区别。      Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
     

CGI:Common Gate Interface,通用网关接口

说出ArrayList,Vector, LinkedList的存储性能和特性     

Spring的核心思想

Spring核心思想就是IOC和AOP,
IOC是控制反转的意思,以前我们通常要在一个类的方法得到另外一个类需要 new 一个
pulic OneFoo
{
void method ()
{
AnotherFoo anthorFoo=new AnotherFoo ();/
//下面是逻辑代码
}
}
在Spring里面可以通过配置文件(可以查阅goolgle)直接注入到这个类的对象中比如
pulibc OneFoo
{
public AnotherFoo aFoo;
public void setAnotherFoo(AnotherFoo aFoo){}
public void method()
{
aFoo.doSomething();
}
}
这样就不用在程序里面显示的new这个需要的类的对象了这是ioc

aop就是面向方面编程,你可以在一个方法前,方法后,或者类实例化后,实例化前处理一些你自己的代码,一般用在事务处理(Spring著名的申明性事务),和动态的进行log记录,
传统的log记录一般是你一个类一个类的去打印log,而用了aop你只要写一个类,配置下文件然后就可以动态的在某个类方法执行的时候打印出log. 

hashmap和hashtable 的区别 



HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

两句话总结:
HashMap => 不同步、空键值、效率高;
Hashtable => 同步、非空键值、效率略低
habinate的运行机制,有什么优点
机制:

1、读取并解析配置文档

2、读取并解析映射文件,创建SessionFactory

3、打开Session

4、创建事务Trasction

5、持久化操作

6、提交事务

7、关闭Session

8、关闭SessionFactory
优点:

1、对JDBC访问数据库的代码做了封装,大大简化了数据访问繁琐的代码

2、Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,他很大程度的简化DAO曾的编码 
  工作

3、Hibernate使用Java发射机制,而不是字节码,增强程序来实现透明性

4、Hibernate的性能非常好,因为他是一个轻量级框架,框架的灵活性很突出。它支持各种关系数据库从 
  一对一到多对多的各种复杂工作
 
heap和stack有什么区别



1.heap是堆,stack是栈。

2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。

3.stack空间有限,heap的空间是很大的自由区。

在Java中,

若只是声明一个对象,则先在栈内存中为其分配地址空间,

若再new一下,实例化它,则在堆内存中为其分配地址。

4.举例:

数据类型 变量名;这样定义的东西在栈区。

如:Object a =null; 只在栈内存中分配空间

new 数据类型();或者malloc(长度);   

如:Object b =new Object(); 则在堆内存中分配空间


页面对象间传值的方法:

request、session、application、cookie


Synchronized和java.util.concurrent.locks.Lock的区别

主要相同点:Lock能完成Synchronized所实现的所有功能。

主要不同点:Lock有比Synchronized更精确的县城予以和更好的性能。Synchronized会自动释放锁,但是Lock一定要求程序员手工释放,并且必须在finally从句中释放。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java