2008-05-21

正确使用 Volatile 变量

关键字: volatile
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。 Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也 ...
2008-05-21

构建一个更好的 HashMap

关键字: concurrenthashmap
ConcurrentHashMap 是 Doug Lea 的 util.concurrent 包的一部分,它提供比Hashtable 或者 synchronizedMap 更高程度的并发性。而且,对于大多数成功的 get() 操作它会设法避免完全锁定,其结果就是使得并发应用程序有着非常好的吞吐量。这个月,BrianGoetz 仔细分析了 ConcurrentHashMap 的代码,并探讨 Doug Lea 是如何在不损失线程安全的情况下取得这么骄人成绩的。请在 讨论论坛上与作者及其他读者共享您对本文的一些想法(也可以在文章的顶部或底部点击 讨论来访问论坛)。 在7月份的那期 Java理论与实践 ...
Apache Axis 是Apache WebService项目中的子项目,其最初起源于IBM的"SOAP4J",应该属于最早的一批用于构造基于SOAP应用的Framework。 目前Apache Axis已经发展到了第三代,其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。事实上Apache Axis在了1.0版后,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件,从这个意义上来说Apahce Axis已不仅仅是个SOAP框架了,它包含了除了UDDI外对整个Web Service协议栈( ...
2007-08-23

抽象类与接口的区别

关键字: 抽象类与接口的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。 其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 一、理解 ...
get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串。 post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。 1、安全 GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来问题,例如用户名和密码等 POST就可以在一定程度上解决此类问题 2、服务器接收方式 服务器随机接受GET方法的数据,一旦断电等原因,服务器也不知道信息是否发送完毕 而POST方法,服务器先接受数据信息的长度,然后再接受数据 3、form运行方式 当form框里面的method为 ...
面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、&ldq ...
step 12 : 构件树结构页面 GeogrophyLeftTree.jsp           jsp 代码 《%@ page contentType="text/html; charset=gb2312" %》    《%@ taglib uri="/WEB-INF/struts-logic.tld" prefix=&qu ...
step 11、构建 树形结构类   java 代码 /**    * 地理信息数结构显示    */   package com.winchannel.common.tree;       import java.util.ArrayList;    import java.util.List;    &nbs ...
step 10、构造 树形结构类 java 代码 /**    * 地理信息数结构    */   package com.fzfx88.common.tree;       import java.util.Vector;       /**    * @author&nb ...
step 9  构造 树结构 类 java 代码 /**    * 新建地理信息树结构    */   package com.fzfx88.common.tree;       import java.util.ArrayList;    import java.util.HashMap;    ...
step 8: 数据访问类DAO java 代码 /**    * 地理信息             */   package com.fzfx88.base.service;       import java.util.List;       ...
step 6、 Struts Action 类 java 代码 /**    * 地理信息    */   package com.fzfx88.base.action;       import java.util.ArrayList;    import java.util.List;     & ...
step 3. Hibernate hbm xml 配置文件(DimGeograhpy.hbm.xml) xml 代码 xml version="1.0" encoding='UTF-8'?>                          &nbs ...
该树形结构是一颗关于地理信息的一颗树: step 1、构建数据库(cteate_table_sql) /*==============================================================*/ /* Table: DIM_GEOGRAPHY                         &nbs ...
fzfx88
搜索本博客
最近加入圈子
存档
最新评论