zoukankan      html  css  js  c++  java
  • 随笔

    Thread类中run()和start()方法的区别如下: run()方法:在本线程内调用该Runnable对象的run()方法,可以重复多次调用; start()方法:启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程;

    servlet的单线程模式: <%@ page isThreadSafe=”false”%>;

    Hibernate查询的六种方式:HQL查询,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询;

    Session的load()方法和get()方法根据给定的对象id从数据库表中加载一条记录并转换为一个特定的持久类对象。load()方法在没有找到特定的持久类对象所对应的数据库表中的记录时,会抛出ObjectNotFoundException,而get()方法返回null。

        get()方法和load()方法返回的对象位于Session的缓存中,因此党对他的属性进行修改后,Session清理缓存时,会根据持久化对象的属性来同步更新数据库。

        load()和get()方法的区别:

       (1)load()方法:如果load方法不能再缓存或者数据库中找到对象,会抛出异常;load()方法从不返回null;load()方法返回一个代理类的实例而不是真正的持久实例。代理是一个占位符,当第一次调用他时才装载真正的对象。

        (2)get()方法:如果没有找到对象返回null,另一方面,get()方法从不返回代理类而是直接返回实体类。load()方法可以充分利用内部缓存和二级缓存中的现有数据,而get()方法仅仅在内部缓存中进行数据查找,如果没有发现对应的数据,将越过二级缓存,直接调用SQL完成数据读取。

        该如何选择load()方法和get()方法:

        (1)load()方法应用在对象存在的情况下加载

        (2)利用get()方法可以首先判断对象是否存在,然后在获得它。

    FilterConfig对象提供对servlet环境及web.xml文件中指派的过滤器名的访问。 FilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件(web.xml)中分配的过滤器初始化参数;

  • 相关阅读:
    EasyTransaction主要源码分析
    编程哲理小故事:Tina的运动会方阵
    多维扩展点的思考与设计——解决渠道、产品增加引发的腐化问题
    分布式事务框架Seata及EasyTransaction架构的比对思考
    设计,架构,框架之间是什么关系?
    你知道如何画好一幅架构图么?
    学会分享痛苦
    建立你自己的博客
    使用正确的工具软件
    掌握主动权
  • 原文地址:https://www.cnblogs.com/liaokunhong/p/5098140.html
Copyright © 2011-2022 走看看