- 博客(56)
- 收藏
- 关注
原创 如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
wait, notify 和 notifyAll,这些在多线程中被经常用到的保留关键字,在实际开发的时候很多时候却并没有被大家重视。本文对这些关键字的使用进行了描述。 在 Java 中可以用 wait、notify 和 notifyAll 来实现线程间的通信。。举个例子,如果你的Java程序中有两个线程——即生产者和消费者,那么生产者可以通知消费者,让消费者开始消耗数据,因为队列缓冲区中有...
2015-08-06 08:51:48
126
Android 中的资源访问(Resource)
简单的说,Android中的资源是指非代码部分。例如,在我们的Android程序中要使用一些图片来设置界面,要使用一些音频文件来设置铃声,要使用一些动画来显示特效,要使用一些字符串来显示提示信息。那么,这些图片、音频、动画和字符串等叫做Android中的资源文件。在Eclipse创建的工程中,我们可以看到res和assets两个文件夹,是用来保存资源文件的,在assets中保存的一般是原生的...
2015-06-13 11:47:55
342
原创 Android平台简介
3.1、Android 平台简介什么是Android?Android一词本意是指“机器人”,是一个移动设备,是基于Linux平台,由操作系统,中间件、用户界面和应用软件组成。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Android早期由原名为"Android"的公司开发,谷歌在2005年收购"An...
2011-08-23 17:14:59
1234
1
【转】区分关联、依赖和聚集关系
在建立对象模型时,很容易把依赖、关联和聚集关系混淆。当对象A和对象B之间存在依赖、关联或聚集关系时,对象A都有可能调用对象B的方法,这是三种关系之间的相同之处,除此之外,它们有着不同的特征。1.依赖关系的特征对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间主要体现为依赖关系,例如生产零件的机器和零件,机器负责构造零件对象。再例如充电电池和充...
2010-04-27 15:43:21
165
原创 模拟Spring的JdbcTemplate实现DAO
通常情况下,普通DAO的实现大概是这样的: 1、实体类:public class Emp { private Integer id; private String name; private String sex; private Float sal; //getter and setter methods...} 2、DAO接...
2010-02-08 10:48:16
127
原创 JSP中URL重写技术(摘)
前几天跟朋友聊天才知道有个url重写技术,他说搞web的都知道(汗...),恨不得立马找个洞钻进去,把自己埋起来。 刚接触还一头雾水,经朋友指点帮助,现在略懂一二了,呵呵,现在给大家写个实例,希望对还不懂的朋友一点帮助。 1.准备: 下载:urlrewritefilter-2.6.zip,解压,提取urlrewrite.jar,放到工程...
2009-12-11 18:30:55
158
(十四)树型控件
树型控件(1) TreePanel在应用程序中,我们经常会涉及到要显示或处理树状结构的对象信息,比如部门信息、地区信息,或者是树状的菜单信息,操作系统中的文件夹信息等。对于传统的html 页面来说,要自己实现显示树比较困难,需要写很多的javascript,特别是对于基于Ajax 异步加载的树来说,不但涉及到Ajax 数据加载及处理技术,还需要考虑跨浏览器支持等,处理起来非常麻烦。ExtJS 中提...
2009-11-30 13:42:11
181
(十三) FormPanel组件
FormPanel组件在web页面中,表单可谓是最常用的控件之一,ext的表单控件同样强悍,且使用非常简单,下面我们实现一个简单的带验证的表单,看以下代码:Ext.onReady(function(){ Ext.QuickTips.init();//开启表单提示 Ext.form.Field.prototype.msgTarget = 'side';//设置提示信息位置为边上 ...
2009-11-30 13:39:16
132
(十二) 表格分页及与服务器交互
(3) 表格分页 一次性将成千上万条数据显示在Grid里,然后拖动滚动条查看数据,显然不是什么好主意,在效率上也是不允许的。实际上,Grid控件对性能的要求较高。如果在一个页面上放3个Grid,就可以感觉到响应变慢。如果在每个Grid里显示上千条数据,效率就可想而知了。所以说分页是必不可少的,而EXT提供了方便的集成分页工具条的方式。下面看一个完整的分页示例:首先完成一些后台的准备工作,包括数...
2009-11-30 13:37:09
102
(十一)可编辑表格EditorGridPanel
(2) 可编辑表格EditorGridPanel可编辑表格是指可以直接在表格的单元格对表格的数据进行编辑,ExtJS 中的可编辑表格由类Ext.grid.EditorGridPanel 表示,xtype 为editorgrid。使用EditorGridPanel 与使用普通的GridPanel 方式一样,区别只是在定义列信息的时候,可以指定某一列使用的编辑即可,下面来看一个简单的示例。Ext.on...
2009-11-30 13:35:19
350
(十) 基本表格GridPanel
(1) 基本表格GridPanelExtJS 中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。表格由类Ext.grid.GridPanel 定义,继承自Panel,其xtype 为grid。ExtJS 中,表格Grid必须包含列定义信息, 并指定表格的数据存储器Store 。表格的列信息由类Ext.grid.ColumnModel 定义、而表格...
2009-11-30 13:34:18
120
(九)布局Layout
布局Layout(1) 布局概述所谓布局就是指容器组件中子元素的分布、排列组合方式。Ext 的所有容器组件都支持布局操作,每一个容器都会有一个对应的布局,布局负责管理容器组件中子元素的排列、组合及渲染方式等。ExtJS 的布局基类为Ext.layout.ContainerLayout,其它布局都是继承该类。ExtJS 的容器组件包含一个layout 及layoutConfig 配置属性,这两个属性...
2009-11-30 13:30:57
148
(八)窗口及对话框
(1)窗口基本应用ExtJS 中窗口是由Ext.Window 类定义,该类继承自Panel,因此窗口其实是一种特殊的面板Panel。窗口包含了浮动、可拖动、可关闭、最大化、最小化等特性。看下面的代码:var i=0;function newWin(){ var win=new Ext.Window({title:"窗口"+i++, width:400, height:300, maximiz...
2009-11-30 13:28:16
101
(七) 使用面板
(1) Panel面板Panel 是ExtJS 控件的基础,很高级控件都是在面板的基础上扩展的,还有其它大多数控件也都直接或间接有关系。应用程序的界面一般情况下是由一个一个的面板通过不同组织方式形成。面板由以下几个部分组成,一个顶部工具栏、一个底部工具栏、面板头部、面板尾部、面板主区域几个部分组件。面板类中还内置了面板展开、关闭等功能,并提供一系列可重用的工具按钮使得我们可以轻松实现自定义的行为,...
2009-11-30 13:25:52
149
(六) 事件处理
ExtJS提供了一套强大的事件处理机制,通过这些事件处理机制来响应用户的动作、监控控件状态变化、更新控件视图信息、与服务器进行交互等等。事件统一由Ext.EventManager对象管理,与浏览器W3C标准事件对象Event相对应,Ext封装了一个Ext.EventObject事件对象。支持事件处理的类(或接口)为Ext.util.Observable,凡是继承该类的组件或类都支持往对象中添加事件...
2009-11-30 13:23:14
103
原创 (五) 组件的配置属性
在ExtJS中,除了一些特殊的组件或类以外,所有的组件在初始化的时候都可以在构造函数使用一个包含属性名称及值的对象,该对象中的信息也就是指组件的配置属性。比如配置一个面板:new Ext.Panel({title:"面板",html"面板内容",height:100});再比如创建一个按钮:var b=new Ext.Button({text:"添加",pressed:true, heigth...
2009-11-30 13:21:13
281
(四) 组件的使用
组件可以直接通过new 关键子来创建,比如控件一个窗口,使用new Ext.Window(),创建一个表格则使用new Ext.GridPanel()。除了一些普通的组件以外,一般都会在构造函数中通过传递构造参数来创建组件。组件的构造函数中一般都可以包含一个对象,这个对象包含创建组件所需要的配置属性及值,组件根据构造函数中的参数属性值来初始化组件。比如下面的例子:<head> &l...
2009-11-30 12:55:40
81
原创 (三) ExtJS组件
组件大致可以分成三大类,即基本组件、工具栏组件、表单及元素组件。基本组件有: xtype Class------------- ---------------------------------------------------------box Ext.BoxComponent 具有边框属性的组件b...
2009-11-30 12:41:18
93
(二) ExtJS 入门
ExtJS之Hello World 把解压后的Ext文件夹复制到新建工程的webRoot目录下 <HEAD> <TITLE>ExtJS Hello World </TITLE> <link rel="stylesheet" type="text/css" href="resources/css/ext-all.cs...
2009-11-30 12:38:21
106
(一) ExtJS 简介
简介ExtJS 是一个很不错的Ajax 框架,用于在客户端创建丰富多彩的web应用程序界面,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s 应用更加具有活力及生命力。ExtJS 是一个用javascript 编写,与后台技术无关的前端ajax 框架。要使用ExtJS,那么首先要得到ExtJS 库文件,该框架是一个开源的,可以直接从官方网站下载,网址http://www.extjs...
2009-11-30 12:34:34
84
Struts + Hibernate + Spring 综合示例
注意: 由于lib下面的jar太大了无法上传,所以請各位J友自己加入,在使用MyEclipse工具添加三个框架的jar后会发生jar包冲突而导致程序无法运行,此时需要手动删除重复的jar,笔者的建议是:先部署工程,再到Tomcat下找到程序下的lib包复制一份出来,然后删除重复的jar,把MyEclipse环境下的三个框架的jar引用删除,然后重新把刚才复制出来的lib添加到../webR...
2009-09-25 11:16:15
104
原创 sun与云计算(pdf)
目录更高水平的云计算 ........................................................4 为何要实现云计算? .......................................................5 云: 远远优于廉价计算.................................................5 ...
2009-09-16 15:10:42
222
原创 新浪科技 : 惠普CTO预言:云计算驱动科技未来
新浪科技作者:惠普公司执行副总裁兼首席战略和技术官Shane Robison 导语:2008年3月6日,HP公司宣布了针对HP实验室(HP Labs)的新策略。HP将加大对HP Labs的投入,推动重大科研项目的研发,加速科技成果转换,加强科研合作。本文是HP公司高级副总裁兼首席策略和技术官Shane Robison在HP Labs新策略发布会上的讲话,全面阐述了HP对未来科技发展方向的...
2009-09-11 14:16:26
109
原创 使用OpenSessionInViewFilter解决session关闭问题
基于JavaEE平台的软件开发中,使用Spring+Struts+Hibernate三个框架来构建软件项目是目前最为流行的方式。目前我们已经掌握了Spring+Hibernate 或 Spring+Struts的集成方式,那么spring,Hibernate,Struts三个框架的集成也就不成问题了,但是在集成的过程中,需要注意一些问题:问题一:使用MyEclipse引入三个框架后有重复JAR...
2009-08-25 09:08:33
181
FCKEditor在线编辑器
FCKEditor FCKeditor是sourceforge.net上面的一个开源项目,主要是实现在线网页编辑器的功能,可以让web程序拥有如MS Word这样强大的编辑功能。官方网站为http://www.fckeditor.net。sourceforge.net是一个非常出名的支持开源运动的网站。 在官方网站下载fckeditor注意要下载两个包一个是主文件一...
2009-07-16 00:12:58
152
原创 hibernate Session 管理
hibernate中的Session关系到对数据库的增删查改等基本的数据存取操作。对Session进行有效的维护,就像是在jdbc编程中对JDBC collection的维护。 问题?Hibernate级联查询时,如果对于级联对象的lazy属性配置为true,那么在真正使用到级联对象时,会出现session关闭的提示。 解决方法:在struts+hibernate的方案中,...
2009-06-20 14:39:28
113
在 Hibernate中使用ehcache管理二级缓存
EhCache是一个纯JAVA程序,可以在Hibernate中作为一个插件引入。在Hibernate中使用EhCache需要在Hibernate的配置文件中设置如下: <!-- 开启二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true</property> <...
2009-06-20 14:29:55
83
Hibernate 一对一外键关联
一 表结构: CREATE TABLE `address` ( `aid` int(11) NOT NULL auto_increment, `address` varchar(255) NOT NULL default '', PRIMARY KEY (`aid`)) ENGINE=InnoDB DEFAULT CHARSET=gbk;CREATE TAB...
2009-06-20 14:15:30
62
Hibernate 一对一共享主键关联
一 表结构:CREATE TABLE `user` ( `userid` int(11) NOT NULL auto_increment, `username` varchar(255) NOT NULL default '', `age` int(2) default NULL, PRIMARY KEY (`userid`)) ENGINE=InnoDB DEF...
2009-06-20 14:08:42
127
原创 Hibernate 性能优化技巧
(1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session. clear()或者session. evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。 (2) 对大数据量查询时,慎用list()或者iterator()返回查询结果,&l...
2009-05-10 22:46:08
81
Hello EJB3
开发具有远程接口的无状态会话Beanl 第一步:创建业务接口类和业务接口实现类HelloWorld.java package com.hello.ejb3;import javax.ejb.Remote;@Remotepublic interface HelloWorld { public String hello(String na...
2009-05-10 22:44:01
72
HelloSpring经典入门
首先新建一个web工程,并通过MyEclipse加入Spring jar包 编写Hello接口package com.bean;public interface Hello { public void hello();} 编写Hello接口实现类 package com.bean;public class HelloBean implemen...
2009-05-10 22:37:22
146
Spring IOC
1.1 Spring IOCIOC,全称(Inverse Of Control),中文意思为:控制反转,Spring框架的核心基于控制反转原理。什么是控制反转?控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术。l 由容器控制程序之间的关系,而不是由代码直接控制l 由于控制权由代码转向了容器,所以称为反转 对象与对象之间的关系可以简单的理解为对...
2009-05-10 22:26:20
78
原创 oracle SQL性能优化(2)
(26) 避免在索引列上使用IS NULL和IS NOT NULL避免在索引中使用任何可以为空的列,ORACLE将无法使用该索引.对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果至少有一个列不为空,则记录存在于索引中.举例: 如果唯一性索引建立在表的A列和B列上, 并且表中存在一条记录的A,B值为(123,null) , OR...
2009-05-10 22:15:00
83
原创 oracle SQL性能优化(1)
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基...
2009-05-10 22:11:22
79
实现简单链表操作
class NodeManager { private Node rootNode; //所有节点名连接后的字符串 private String nodeNames; public NodeManager(String rootName){ rootNode = new Node(); rootNod...
2009-05-10 22:07:21
128
JavaScript DOM 操作
DOM:Document Object Model(文档对象模型)DHTML(Dynamic HTML:动态HTML)XMLDOM树一个XMLDOM,其实是一个内存中的树,一个XML数据中的每一个<>中的第一个单词,就代表着一个节点。比如:<rss> <channel/></rss>...
2009-04-26 15:38:57
126
JavaScript正则表达式
什么是正则表达式正则表达式是一种可以用于文字模式匹配和替换的强有力的工具。是由一系列普通字符和特殊字符组成的能明确描述文本字符串的文字匹配模式。正则表达式并非一门专用语言,但也可以看作是一种语言,它可以让用户通过使用一系列普通字符和特殊字符构建能明确描述文本字符串的匹配模式。除了简单描述这些模式之外,正则表达式解释引擎通常可用于遍历匹配,并使用模式作为分隔符来将字符串解析为子字符串,或以智...
2009-04-26 14:54:30
73
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人