AjaxJava时见面试题

一、Get和Post的区别
1.get凡是自从服务器上获取数据,post是奔服务器传送数据,
2.get传递的数据量较小,不能够压倒2KB。post传送的数据量较生,一般被默认为未给限制。
3.get安全性非常小,post安全性比较高。但是实施效率却比Post方法好。
4.当开展文件上传时只能采用post而未可知是get。
第二、多态四种植体现形式:
1.    接口及接口的贯彻。
2.    类和类的后续。
3.    重载。
4.    重写。
三、StringBuffer StringBuilder String 区别
String        字符串常量   不可变  使用字符串拼接时是例外之2只空中
StringBuffer  字符串变量   可变换   线程安全 
字符串拼接直接以字符串后多
StringBuilder 字符串变量   可变   非线程安全 
字符串拼接直接当字符串后增加
1.StringBuilder实践效率超过StringBuffer高于String.
2.String凡是一个常量,是不可变的,所以对每一样不良+=赋值都见面创一个初的对象,StringBuffer和StringBuilder都是可变的,当进行字符串拼接时行使append方  
 法,在原本的功底及进行多,所以性能比String要大,又坐StringBuffer 
是线程安全之而StringBuilder是线程非安全的,所以StringBuilder的频率超过StringBuffer.
3.对大数据量的字符串的拼凑,采用StringBuffer,StringBuilder.
四、Hashtable与HashMap的区别
     HashMap不是线程安全的,HashTable是线程安全。
     HashMap允许空(null的键和值(key,HashTable则免同意。
     HashMap性能优于Hashtable。
Map
1.Map是一个为键值对存储的接口。Map下两独具体的贯彻,分别是HashMap和HashTable.
2.HashMap是线程非安全之,HashTable是线程安全之,所以HashMap的频率高于HashTable.
3.HashMap允许键或值吗空,而HashTable不允许键或值为空.
五、九杀隐式对象    
输入/输出对象:  request   response   out
作用域通信对象: session  application  pageContext
Servlet 对象:   page   config
错误对象:      exception
六、Forword(请求转发)与Redirect(重定向)    
1、从数据共享上
      Forword是一个央的接续,可以共享request的多少
      Redirect开启一个新的请,不得以共享request的数据
2、从地址栏
      Forword转发地址栏不发生变化
      Redirect转发地址栏发生变化
七、XML和Json的特点    
   Xml特点:
  1、且仅一个根节点;
  2、是独自及软件与硬件的信息传输工具(传输量较充分
  3、所之竹签都待打定义     
  4、仅仅是纯粹文本文件
 Json(JavaScript Object Notation特点:
json分为两种植格式:
json对象(就是以{}中储存键值对,键和价值内为此冒号:分隔,键值对中因此逗号,分隔),json数组(就是[]遭遇储存多单json对象,json对象期间因此逗号分隔)(两者中可以展开互嵌套
  数据传的载体之一
区别:
  xml的传输数据量比json的而挺,流行的是因json的多寡传。
共同点:
    Xml和json都是传输数据的载体,并且有着跨平台跨语言的风味。
八、request.getSession()、reqeust.getSession(false)和request.getSession(true)  
 
  
 getSession()/getSession(true):当session存在时时回来该session,否则新建一个    
session并返回该目标
    getSession(false):当session存在时时回来该session,否则回null
九、Page和PageContext的区别    
    Page是servlet对象;使用this关键字,它的用意范围是以同一页面。
PageContext是作用域通信对象;通常以setAttribute()和getAttribute()来安及收获存放对象的价。
十、Ajax总结    
    AJAX 全称: 异步JavaScript及 XML(Asynchronous JavaScript And XML
Ajax的主干是JavaScript对象XmlHttpRequest(XHR)。
Ajax的优点:
    提高用户体验度(UE)
    提高应用程序的性
    进行一些刷新
 AJAX不是同一栽新的编程语言,而是同样种植用于创造更好还快和交互性更胜的 Web
应用程序的技术。
2.  经 AJAX,我们的 JavaScript
可运JavaScript的XMLHttpRequest对象来一直和服务器进行通信。通过是目标,我们的
JavaScript 可当非重载页面的场面与Web服务器交换数据,即可局部刷新。
3.  AJAX 在浏览器与 Web 服务器之间使用异步数据传(HTTP
请求,这样就可使网页打服务器请求少量的音信,而休是整套页面,减轻服务器的担当,提升站点的属性。
 AJAX 可若因特网应用程序更粗、更快,更要好,用户体验(UE好。
5.  Ajax是依据标准化并给广泛支持之技巧,并且不待插件与下载小程序
十一、List,Set,Collection,Collections    
List和Set都是接口,他们还蝉联给接口Collection,List是一个一如既往的但重复的集聚,而Set是无序的不足再的聚集。Collection是集结的顶层接口,Collections是一个打包了成千上万关于集合操作的静态方法的工具类,因为构造方法是自私的,所以无克实例化。
2.List接口落实类ArrayList,LinkedList,Vector。ArrayList和Vector是冲数组实现之,所以查询的时光快快,而当进展加及去的上快较迟缓LinkedList是因链式存储结构,所以于拓展询问的时段快较迟缓而在进行加以及去的时节快比快。又坐Vector是线程安全的,所以他以及ArrayList相比而言,查询效率要没有。
十二、时间类型转换    

public class DateFormat {
    public static void fun() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        String newDate;
        try {
            newDate = sdf.format(new SimpleDateFormat("yyyyMMdd")
                    .parse("20121115"));
            System.out.println(newDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    public static void main(String args[]) {
        fun();
    }
}

十三、阶乘    (递归思想)

public class Multiply {
    public static int multiply(int num) {
        if (num < 0) {
            System.out.println("请输入大于0的数!");
            return -1;
        } else if (num == 0 || num == 1) {
            return 1;
        } else {
            return multiply(num - 1) * num;
        }
    }
    public static void main(String[] args) {
        System.out.println(multiply(10));
    }
}

十四、osi七层模型    
    第一层:物理层
    第二层:数据链路层
    第层:网络层
    第四层:传输层    
    第五层:会话层
    第六层:表示层
    第七层:应用层
十五、线程和进程的界别    
1.线程(Thread)与进程(Process
进程定义的凡应用程序与应用程序之间的疆界,通常来说一个历程就表示一个跟的相应的应用程序。不同之过程中无可知共享代码和数目空间,而平进程的例外线程可以共享代码和多少空间。
一个进程可以概括几独线程,同时创建多个线程来成功某项任务,便是多线程。
落实线程的点滴种办法:继承Thread类,实现Runable接口
十六、jvm的内存结构
java虚拟机的内存结构分为堆(heap)和栈(stack),堆中存是目标实例也就是new出来的靶子。栈里面存放的是骨干数据列及引用数据类型的地址。
对此所谓的常量是储存在方法区的常量池里面。
十七、内存泄和外存溢出    
内存泄露 (memory
le)ak),是负应用程序在提请内存后,无法自由已申请之内存空间.一不好内存泄露危害可以忽略,但要任其发展最终会促成内存溢出(out
of memory).
只要读取文件后流一旦进行即时的关闭与对数据库连接的放。
内存溢出(out of
memory是因应用程序在申请外存时,没足够的内存空间供其应用。
假设我们当类型被对此大批量数量的导入,采用分段批量交付的方式。
十八、单例    
单例就是此类只能回到一个实例。
单例所独具的风味:
1.私化的构造函数
2.私之静态的全局变量
3.公的静态的法门
单例分为懒汉式、饿汉式和双层锁式
饿汉式:

public class Singleton1 {
      private Singleton1() {};
      private static Singleton1 single = new Singleton1();
      public static Singleton1 getInstance() {
          return single;
     }
 }

 懒汉式:

public class Singleton2 {
      private Singleton2() {}
      private static Singleton2 single=null;
      public tatic Singleton2 getInstance() {
           if (single == null) {  
              single = new Singleton2();
          }  
         return single;
     }
 }

线程安全:

public class Singleton3 {
      private Singleton3() {}
      private static Singleton3 single ;
      public static Singleton3 getInstance() {
        if(null == single){
            synchronized(Singleton3.class){
                if(null == single){
                    single = new Singleton3();
                }
            }
        }
        return single;
      }
}

相关文章