zoukankan      html  css  js  c++  java
  • Servlet的生命周期,以及数组类型的比较

    首先是调用init()初始化,然后调用service()方法来处理客户端请求,之后调用destory()方法终止,最后servlet由jvm的垃圾回收器进行回收。

    hashmap与Linkedhashmap

    hashmap可以key与value 都为空,而linkedhashmap不可以。

    hashmap输出是无序的,Linkedhashmap是有序的;

    map如果是比较复杂并且要求效率高,使用Linkedhashmap ,若是多线程可能会造成不同步,可以使用Collections.synchronizedMap进行包装

     Map<String String> map = Collections.synchronizedMap(new LinkedHashMap(<String String));

    Collections.synchronizedMap()与ConcurrentHashMap两者都提供了线程同步的功能

    1.Collections.synchronizedMap()和Hashtable一样,实现上在调用map所有方法时,都对整个map进行同步,而ConcurrentHashMap的实现却更加精细,它对map中的所有桶加了锁。所以,只要要有一个线程访问map,其他线程就无法进入map,而如果一个线程在访问ConcurrentHashMap某个桶时,其他线程,仍然可以对map执行某些操作.

    hashmap与currenthashmap

    在hashMap的基础上,ConcurrentHashMap将数据分为多个segment,默认16个(concurrency level),然后每次操作对一个segment加锁,避免多线程锁的几率,提高并发效率。

    引入了一个“分段锁”的概念,具体可以理解为把一个大的Map拆分成N个小的HashTable,根据key.hashCode()来决定把key放到哪个HashTable中。

    collection框架有自己的接口和实现,主要分为Set接口,List接口和Queue接口。它们有各自的特点,Set的集合里不允许对象有重复的值,List允许有重复,它对集合中的对象进行索引,Queue的工作原理是FCFS算法(First Come, First Serve)。

  • 相关阅读:
    数据结构与算法--递归
    未能加载文件或程序集“ .....WebUI ”或它的某一个依赖项,试图加载格式不正确的程序
    PLSQL设置细节
    Oracle安装:64位电脑安装64位Oracle、PLSQL步骤
    C# JS 单例
    Method not found : Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)
    Webservice 65535 错误
    js queue dequeue clearQueue stop
    解决Get请求的长度限制
    站点图标favicon.ico
  • 原文地址:https://www.cnblogs.com/lianghaode/p/9098618.html
Copyright © 2011-2022 走看看