AjaxJava常相会试题

一、Get和Post的区别
1.get是从服务器上获取数据,post是向服务器传送数据,
2.get传递的数据量较小,不能凌驾2KB。post传送的数据量较大,一般被默许为不受限制。
3.get安全性十分的低,post安全性较高。然而举办效能却比Post方法好。
4.在开始展览文件上传时只能采取post而不可能是get。
贰 、多态多种显示格局:
1.    接口和接口的落到实处。
2.    类和类的三番4次。
3.    重载。
4.    重写。
三、StringBuffer StringBuilder String 区别
String        字符串常量   不可变  使用字符串拼接时是例外的三个空中
StringBuffer  字符串变量   可变   线程安全 
字符串拼接直接在字符串后扩大
StringBuilder 字符串变量   可变   非线程安全 
字符串拼接间接在字符串后扩张
1.StringBuilder实践效能超过StringBuffer高于String.
2.String是四个常量,是不可变的,所以对于每回+=赋值都会成立2个新的对象,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(重定向)    
一 、从数量共享上
      Forword是二个伸手的接二连三,能够共享request的数目
      Redirect开启一个新的请求,不得以共享request的多少
② 、从地址栏
      Forword转发地址栏不产生变化
      Redirect转载地址栏发生变化
七、XML和Json的特点    
   Xml特点:
  一 、且仅2个根节点;
  ② 、是单独与软件和硬件的音讯传输工具(传输量较大
  ③ 、所的价签都亟需自定义     
  肆 、仅仅是纯文本文件
 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(XHLacrosse)。
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是1个打包了广大有关集合操作的静态方法的工具类,因为构造方法是私的,所以不能够实例化。
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七层模型    
    第一层:物理层
    第3层:数据链路层
    第层:网络层
    第四层:传输层    
    第五层:会话层
    第六层:表示层
    第七层:应用层
十伍 、线程和进度的分别    
1.线程(Thread)与进程(Process
进度定义的是应用程序与应用程序之间的界线,经常来说2个经过就意味着三个与之对应的应用程序。不一致的长河之间不能够共享代码和数量空间,而相同进度的两样线程能够共享代码和数目空间。
四个进度能够回顾若干个线程,同时创制四个线程来成功某项任务,正是二十多线程。
落到实处线程的三种办法:继承Thread类,完成Runable接口
十6、jvm的内部存款和储蓄器结构
java虚拟机的内部存款和储蓄器结构分为堆(heap)和栈(stack),堆里面存放是指标实例也正是new出来的靶子。栈里面存放的是骨干数据类型以及引用数据类型的地点。
对此所谓的常量是储存在方法区的常量池里面。
十⑦ 、内部存款和储蓄器泄和内部存款和储蓄器溢出    
内部存款和储蓄器走漏 (memory
le)ak),是指应用程序在报名内部存储器后,不可能自由已经报名的内存空间.一遍内部存款和储蓄器走漏危机能够忽略,但假如任其发展最后会招致内部存款和储蓄器溢出(out
of memory).
如读取文件后流要举办当下的关闭以及对数据库连接的放走。
内部存款和储蓄器溢出(out of
memory是指应用程序在报名内存时,没丰硕的内部存款和储蓄器空间供其选拔。
如小编辈在类型中对于多量数码的导入,采纳分段批量交付的办法。
十八、单例    
单例正是此类只好回到1个实例。
单例所具备的性状:
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;
      }
}

相关文章