• 随便乱塞塞2~


    &与

    | 或

    ^ 异或(判断是否异,如果是,则为1,否则为0)

    ~ 非

    << 左移

    >> 右移

    >>>  右移,移动得到的空位以零填充。

    Session的update() ,saveOrUpdate()和lock()方法使游离状态变为持久化状态.
    持久化对象的特征:
    . 位于一个session事例的缓存中,可以说持久化对象总是被一个session事例关联
    . 持久化对象和数据库中的相关记录对应
    . Session在清理缓存时,会根据持久化对象的属性变化来同步更新数据库
    . Session的save()方法把临时状态变为持久化状态. 
    Session的update() ,saveOrUpdate()和lock()方法使游离状态变为持久化状态. 

     
    加载驱动方法
    1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    2. DriverManager.registerDriver(new com.mysql.jdbc.Driver());

    3.System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");

     

    1.  关于HashMap的一些说法:

    a)  HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。

    b)  HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。

    c)  HashMap实现不同步,线程不安全。  HashTable线程安全

    d)  HashMap中的key-value都是存储在Entry中的。

    e)  HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性

    f)  解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。

    注: 链表法是将相同hash值的对象组成一个链表放在hash值对应的槽位;

       用开放定址法解决冲突的做法是:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。 沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。

      拉链法解决冲突的做法是: 将所有关键字为同义词的结点链接在同一个单链表中 。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。在拉链法中,装填因子α可以大于1,但一般均取α≤1。拉链法适合未规定元素的大小。

       

    2.  Hashtable和HashMap的区别:

    a)   继承不同。

     public class Hashtable extends Dictionary implements Map

    public class HashMap extends  AbstractMap implements Map

    b)  Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

    c)  Hashtable 中, key 和 value 都不允许出现 null 值。 在 HashMap 中, null 可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为 null 。当 get() 方法返回 null 值时,即可以表示 HashMap 中没有该键,也可以表示该键所对应的值为 null。因此,在 HashMap 中不能由 get() 方法来判断 HashMap 中是否存在某个键, 而应该用 containsKey() 方法来判断。

    d)  两个遍历方式的内部实现上不同。Hashtable、HashMap都使用了Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。

    e)  哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。

    f)  Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。

     

    注:  HashSet子类依靠hashCode()和equal()方法来区分重复元素。

         HashSet内部使用Map保存数据,即将HashSet的数据作为Map的key值保存,这也是HashSet中元素不能重复的原因。而Map中保存key值的,会去判断当前Map中是否含有该Key对象,内部是先通过key的hashCode,确定有相同的hashCode之后,再通过equals方法判断是否相同。

    工作机制: 
    Struts的工作流程: 
    在web应用启动时就会加载初始化ActionServlet,ActionServlet从 
    struts-config.xml文件中读取配置信息,把它们存放到各种配置对象 
    当ActionServlet接收到一个客户请求时,将执行如下流程. 
    -(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息; 
    -(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中; 
    -(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法; 
    -(4)如果ActionForm的validate()方法返回或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功; 
    -(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法; 
    -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件; 
    -(7)ActionForward对象指向JSP组件生成动态网页,返回给客户; 
    为什么要用: 
    JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。 
    基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

     
    包装类就是引用类型,基本数据类型就是值类型。
     
    存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。
    RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端代理,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端代理对象stub来完成的。
    每个远程对象都包含一个代理对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的代理对象stub, 然后调用代理对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态进行链接的思想
     
     
    优先级:静态成员变量或静态代码块>mian方法>非静态成员变量或非静态代码块>构造方法
     
     

  • 相关阅读:
    MIT 6.828 JOS学习笔记10. Lab 1 Part 3: The kernel
    Java基础知识点4:继承
    CentOS Installation
    超微主板创建RAID磁盘阵列
    MySQL查询语句
    Psql操作命令
    Let's Encrypt 免费 SSL 证书续期
    Linux系统禁用swap分区
    公共 NTP 服务器地址
    Postgresql配置
  • 原文地址:https://www.cnblogs.com/MoisAbby/p/8651890.html
Copyright © 2020-2023  润新知