`
tanzhen-1988
  • 浏览: 51149 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
1. 阐述   对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为 其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个 key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?   为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历value等不同场景下的差异,我试着进行了一些对比测试。 2. 对比测试   一开始只进行了简单的测试,但结果却表明keySet的性能更好,这一点让我很是费解,不都说entrySet明显好于ke ...
 memcached是怎么工作的?   Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多<key,value>对的哈希表。通过key,可以存储或查询任意的数据。   客户端可以把数据存储在多台memcached上。 ...
利用关联关系操纵对象   数据对象之间关联关系有一对一、一对多及多对多关联关系。在数据库操作中,数据对象之间的关联关系使用JDBC处理很困难。本节讲解如何在 Hibernate中处理这些对象之间的关联关系。本节使用到4个类,它们分别是Student(学生)、Card(学生证)、Group(班级)和 Course(课程),它们之间的关联关系如图9-1所示。这些实体存在级联(cascade)问题。例如,当删除一个班级的信息时,还要删除该班的所有 学生的基本信息。如果直接使用JDBC执行这种级联操作,会非常烦琐。Hibernate通过把实体对象之间关联关系及级联关系在映射文件中声明,比较简 便地 ...
关于Hibernate中 cascade 与 inverse 的理解。   您买的Hibernate书是哪一 本呢? 孙卫琴的精通Hibernate,还是 深入浅出Hibernate还是那本。。。 我是两本都买了,总体来说还可以,但是,有的地方讲的比较书面化,比如inverse这属性。   在学习Hibernate的过程中 最不好理解的就是这两个属性了。 (我当初学习Hibernate的时候,发现网上介绍这两个属性的文章倒是不少,但是,居然有好多都是转帖。。。还有的就是 照书搬~~-_-!!!)。。。   据个例子:书上说 inverse=false时,由主控方维持关系。。。 ...
1. 查询整个映射对象所有字段   Java代码  //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段               String hql = "from Users";               Query query = session.createQuery(hql);                              List<Users> users = query.list();               for(Users user : users){                 ...
第 1 章 简介 1. 广义的session        中文名称会话,Http客户端和Http服务器开始通信,就会产生会话,会话过程是可以连续的,也可以是时断时续的,它会有一个时间范围,表象就是你登录一个网站,如果长时间未登录,网站 ...
Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能。 下面先来剖析 Hibernate 延迟加载的“秘密”。 集合属性的延迟加载 当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时, 完成所有集合属性的抓取,将导致性能急剧下降。完全有可能系统只需要使用持久化类集合属性中的部分记录,而完全不是集合属性的全部,这 ...
Spring 对Timer的支持的核心是由ScheduledTimerTask和TimerFactoryBean类组成的。 ScheduledTimerTask类是对TimerTask的包装器实现,这样你就可以为这个任务定义触发器信息。使用 TimerFactoryBean类,你可以让Spring使用配置创建触发器,并为一组指定的ScheduledTimerTask bean自动创建Timer实例。 1、自定义timerTask,比如:定时输出ServletContext中的信息,本例中输出项目的绝对路径(比如:D:\software\apache-tomcat-6.0.33\webapps ...
这是用的是SpringMVC-3.1.1、commons-fileupload-1.2.2和io-2.0.1   首先是web.xml [html] <?xml version="1.0" encoding="UTF-8"?>  <web-app version="2.5"       xmlns="http://java.sun.com/xml/ns/javaee"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ...
package com.threadlocal; import java.util.LinkedList; import java.util.List; public class Warehouse { private static ThreadLocal<List<String>> store = new ThreadLocal<List<String>>(){ @Override protected List<String> initialValue() { // TODO Auto- ...
我是一个刚参加工作一年左右的程序员,也是一个还没毕业的单证软件工程师硕士研究生。没有好的教育背景,本科只是在一所二本院校读的;也没有好的家庭背景,父母早年都是面朝黄土背朝天的乡下农民,现在也都外出打工了。父母为了供我读完大学和研究生已经把所有的积蓄都花完了。所以我是一个没有任何背景,没有任何外界经济支援的这么一个刚工作的小伙。可能像我这样的人中国有千千万万。也没什么好抱怨的,也不应该去抱怨。 我现在在一家互联网公司从事java后端的开发工作,不过才去俩月,还在试用期,月薪5k。公司规模150人左右,给我的感觉还不错,至少公司的氛围是很好的,同事和领导的能力都很强,我在他们身上能够学到不少东西 ...
如果你是做Java web应用开发的,那么必须熟悉那声名狼藉的SQL注入式攻击。去年Sony就遭受了SQL注入攻击,被盗用了一些Sony play station(PS机)用户的数据。在SQL注入攻击里,恶意用户通过SQL元数据绑定输入,比如:某个网站的登录验证SQL查询代码为:strSQL = "SELECT * FROM users WHERE name = '" + userName + "' and pw = '"+ passWord +"';"恶意填入: userName = "1' OR '1'='1"; ...
从网上抄了两片。感觉不错,呵呵。 第一篇 这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述,可大多语焉不详或经不起 ...
和one to one 一样,首先写了两个实体类Department(private int deptid;private String dname;private String location; private Set<Employee> employees;)和Employee(private int empid;private String ename;private Department dept;)生成get,set方法, 然后同样配置实体类的映射文件Department.hbm.xml和Employee.hbm.xml。 代码: ----------Department ...
通常通过TransactionProxyFactoryBean设置Spring事务代理。我们需要一个目标对象包装在事务代理中。这个目标对象一般是 一个普通Java对象的bean。当我们定义TransactionProxyFactoryBean时,必须提供一个相关的 PlatformTransactionManager的引用和事 ...
Global site tag (gtag.js) - Google Analytics