|
|
用户名:tiandl88 笔名:青青草 地区: 北京 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
Hibernate性能优化
在进行Hibernate性能优化时,需要从以下几个方面进行考虑:
● 数据库设计调整。
● HQL优化。
● API的正确使用(如根据不同的业务类型选用不同的集合及查询API)。
● 主配置参数(日志、查询缓存、fetch_size、batch_size等)。
● 映射文件优化(ID生成策略、二级缓存、延迟加载、关联优化)。
● 一级缓存的管理。
● 针对二级缓存,还有许多特有的策略。
● 事务控制策略。
有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的Hibernate的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能还是让人相当满意的,特别是应用二级缓存之后,甚至可以获得比较不使用缓存的JDBC更好的性能,下面介绍一些通常的Hibernate的优化策略:
1.抓取优化
抓取是指Hibernate如何在关联关系之间进行导航的时候,Hibernate如何获取关联对象的策略,其主要定义了两个方面:如何抓取和何时抓取
1)如何抓取。
Hibernate3主要有两种种抓取方式,分别应用于对象关联实例(many-to-one、one-to-one)和对象关联集合(set、map等),总共是四种变种
JOIN抓取: 通过在SELECT语句中使用OUTER JOIN来获得对象的关联实例或者关联集合)
SELECT抓取: 另外发送一条SELECT语句来抓取当前对象的关联实体和集合
在我的开发经历中,此处对性能的优化是比较有限的,并不值得过多关注
例:
A.应用于对象关联实例(默认是false)
<many-to-one name=".." outer-join="true/false/auto" .../>
B.应用于对象关联集合(默认是auto)
<set name=".." fetch="join/select" ... >
....
</set>
2)何时抓取
主要分为延迟加载和立即抓取,默认的情况下Hibernate3对对象关联实采用延迟加载,普通属性采用立即抓取,通过延迟加载和采用适当的抓取粒度,与不采用优化相比往往可以将性能提升数倍
立即抓取:当抓取宿主对象时,同时抓取其关联对象和关联集以及属性
延迟加载:当抓取宿主对象时,并不抓取其关联对象,而是当对其对象进行调用时才加载
  例:
A.应用于对象关联实例(默认是延迟加载)
<many-to-one name=".." lazy="true/false" .../>
B.应用于对象关联集合(默认是延迟加载)
<set name=".." lazy="true/false" ... >
....
</set>
对于延迟加载,需要注意的时,对延迟对象的使用必须在Session关闭之前进行,Hibernate的 LazyInitalizationException往往就是由于在Session的生命期外使用了延迟加载的对象。当我们进行Web开发时,可以使用 OpenSessionInView模式,当请求开始时打开session,当请求响应结束时才关闭session,不过,在使用 OpenSessionInView模式时,需要注意如果响应时间比较长(业务比较复杂或者客户端是低速网络),将Session资源(也就是数据库的连接)占用太久的话可以会导致资源耗尽
3)抓取粒度
抓取粒度指的是对象在关联关系之间被导航时一次预先加载的数量,Hibernate程序的性能比较差往往就在于没有对抓取粒度仔细考虑,当加载一个列表并在列表中的每个对象中对其关联进行导航时,往往导致N+1条SQL语句查询。
例:
A.应用于对象关联实例(默认为1),注意,对对象关联实例的设置是在被关联的对象之上的,譬如
class User
{
Group g;
}
那么抓取粒度应该在Group的配置文件之上,见下
<class name="Group" table="group" batch-size="..">
...
</class>
对该值并没有一个约定俗成的值,根据情况而定,如果被关联表数据比较少,则可以设置地小一些,3-20,如果比较大则可以设到30-50,注意的时候,并不是越多越好,当其值超过50之后,对性能并没有多大改善但却无谓地消耗内存
假设有如下例子:
List<User> users = query.list();
如果有20个User,并对这20个User及其Group进行遍历,如果不设置batch-size(即batch-size="1"),则在最糟糕的情况
下,需要1 + 20条SQL语句,如果设置batch-size="10",则最好的情况下只需要1 + 2条SQL语句
B.应用于对象关联集合(默认为1)
<set name=".." batch-size="" ... >
....
</set>
2.二级缓存
Hibernate 对数据的缓存包括两个级:一级缓存,在Session的级别上进行,主要是对象缓存,以其id为键保存对象,在Session的生命期间存在;二级缓存,在SessionFactory的级别上进行,有对象缓存和查询缓存,查询缓存以查询条件为键保存查询结果,在SessionFactory的生命期间存在。默认地,Hibernate只启用一级缓存,通过正确地使用二级缓存,往往可以获得意想不到的性能。
1)对象缓存:
当抓取一个对象之后,Hiberate将其以id为键缓存起来,当下次碰到抓取id相同的对象时,可以使用如下配置
方法1:在缓存对象上配置
<class ...>
<cache useage="read-only/write/...." regions="group" />
</class>
useage 表示使用什么类型的缓存,譬如只读缓存、读写缓存等等(具体参见Hibernate参考指南),值得注意的时,有部分缓存在Hibernate的实现中不支持读写缓存,譬如JBossCache在Hibernate的实现中只是一种只读缓存,具体缓存实现对缓存类型的支持情况,可以参见 org.hibernate.cache包
regions表示缓存分块,大部分的缓存实现往往对缓存进行分块,该部分是可选的,详细参见各缓存实现
方法2:在hibernate.cfg.xml中配置
<cache class=".." useage=".." regions=".."/>
我认为第二种更好,可以统一管理
2)查询缓存
查询时候将查询结果以查询条件为键保存起来,需要配置如下
A.在hibernate.cfg.xml中配置(启用查询缓存)
<property name="hibernate.cache.use_query_cache">true</property> (前面的属性名可参见常量
org.hibernate.cfg.Enviroment.USE_QUERY_CACHE)
B.程序
query.setCacheable(true);
query.setCacheRegions(...);
需要注意的是,查询缓存与对象缓存要结合更有效,因为查询缓存仅缓存查询结果列表的主键数据
一般情况下在开发中,对一些比较稳定而又被频繁引用的数据,譬如数据字典之类的,将其进行二级缓存,对一些查询条件和查询数据变化不频繁而又常常被使用的查询,将其进行二级缓存。由于二级缓存是放在内存中,而且Hibernate的缓存不是弱引用缓存(WeekReference),所以注意不要将大块的数据放入其中,否则可能会被内存造成比较大的压力。
3.批量数据操作
当进行大批量数据操作(几万甚至几十几百万)时,需要注意两点,一,批量提交,二,及时清除不需要的一级缓存数据
1)所谓的批量提交,就是不要频繁使用session的flush,每一次进行flush,Hibernate将PO数据于数据库进行同步,对于海量级数据操作来说是性能灾难(同时提交几千条数据和提交一条数据flush一次性能差别可能会是几十倍的差异)。一般将数据操作放在事务中,当事务提交时 Hibernate自动帮你进行flush操作。
2)及时清除不需要的一级缓存数据:由于Hibernate默认采用一级缓存,而在 session的生命期间,所有数据抓取之后会放入一级缓存中,而当数据规模比较庞大时,抓取到内存中的数据会让内存压力非常大,一般分批操作数据,被一次操作之后将一级缓存清除,譬如
session.clear(User.class)
4.杂项
dynamic-insert,dynamic-update,动态插入和动态更新,指的是让Hibernate插入数据时仅插入非空数据,当修改数据时只修改变化的数据,譬如对于
class User
{
id
username
password
}
如果u.id=1, u.username="ayufox",u.password=null,那么如果不设置动态插入,则其sql语句是 insert into users(id, username, password) values (1, 'ayufox', '),如果设置则其 sql语句是insert into users(username) valeus('ayufox')
在如上的情况下,如果修改 u.password='11',那么如果不设置动态更新,则sql语句为 update users set username='ayufox', password='11' where id = 1,如果设置则为 update user set password='11' where d = 1
设置是在class的映射文件中,如下
<class name="User" table="users" dynamic=insert="true/false" dynamic-update="true/false" ...>
</class>
该设置对性能的提升比较有限
本文依照HIBERNATE帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。
初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。
大体上,对于HIBERNATE性能调优的主要考虑点如下:
Ø 数据库设计调整
Ø HQL优化
Ø API的正确使用(如根据不同的业务类型选用不同的集合及查询API)
Ø 主配置参数(日志,查询缓存,fetch_size, batch_size等)
Ø 映射文件优化(ID生成策略,二级缓存,延迟加载,关联优化)
Ø 一级缓存的管理
Ø 针对二级缓存,还有许多特有的策略
Ø 事务控制策略。
1、 数据库设计
a) 降低关联的复杂性
b) 尽量不使用联合主键
c) ID的生成机制,不同的数据库所提供的机制并不完全一样
d) 适当的冗余数据,不过分追求高范式
2、 HQL优化
HQL如果抛开它同HIBERNATE本身一些缓存机制的关联,HQL的优化技巧同普通的SQL优化技巧一样,可以很容易在网上找到一些经验之谈。
3、 主配置
a) 查询缓存,同下面讲的缓存不太一样,它是针对HQL语句的缓存,即完全一样的语句再次执行时可以利用缓存数据。但是,查询缓存在一个交易系统(数据变更频繁,查询条件相同的机率并不大)中可能会起反作用:它会白白耗费大量的系统资源但却难以派上用场。
b) fetch_size,同JDBC的相关参数作用类似,参数并不是越大越好,而应根据业务特征去设置
c) batch_size同上。
d) 生产系统中,切记要关掉SQL语句打印。
4、 缓存
a) 数据库级缓存:这级缓存是最高效和安全的,但不同的数据库可管理的层次并不一样,比如,在ORACLE中,可以在建表时指定将整个表置于缓存当中。
b) SESSION缓存:在一个HIBERNATE SESSION有效,这级缓存的可干预性不强,大多于HIBERNATE自动管理,但它提供清除缓存的方法,这在大批量增加/更新操作是有效的。比如,同时增加十万条记录,按常规方式进行,很可能会发现OutofMemeroy的异常,这时可能需要手动清除这一级缓存:Session.evict以及 Session.clear
c) 应用缓存:在一个SESSIONFACTORY中有效,因此也是优化的重中之重,因此,各类策略也考虑的较多,在将数据放入这一级缓存之前,需要考虑一些前提条件:
i. 数据不会被第三方修改(比如,是否有另一个应用也在修改这些数据?)
ii. 数据不会太大
iii. 数据不会频繁更新(否则使用CACHE可能适得其反)
iv. 数据会被频繁查询
v. 数据不是关键数据(如涉及钱,安全等方面的问题)。
缓存有几种形式,可以在映射文件中配置:read-only(只读,适用于很少变更的静态数据/历史数据),nonstrict-read- write,read-write(比较普遍的形式,效率一般),transactional(JTA中,且支持的缓存产品较少)
d) 分布式缓存:同c)的配置一样,只是缓存产品的选用不同,在目前的HIBERNATE中可供选择的不多,oscache, jboss cache,目前的大多数项目,对它们的用于集群的使用(特别是关键交易系统)都持保守态度。在集群环境中,只利用数据库级的缓存是最安全的。
5、 延迟加载
a) 实体延迟加载:通过使用动态代理实现
b) 集合延迟加载:通过实现自有的SET/LIST,HIBERNATE提供了这方面的支持
c) 属性延迟加载:
6、 方法选用
a) 完成同样一件事,HIBERNATE提供了可供选择的一些方式,但具体使用什么方式,可能用性能/代码都会有影响。显示,一次返回十万条记录(List /Set/Bag/Map等)进行处理,很可能导致内存不够的问题,而如果用基于游标(ScrollableResults)或Iterator的结果集,则不存在这样的问题。
b) Session的load/get方法,前者会使用二级缓存,而后者则不使用。
c) Query和list/iterator,如果去仔细研究一下它们,你可能会发现很多有意思的情况,二者主要区别(如果使用了Spring,在HibernateTemplate中对应find,iterator方法):
i. list只能利用查询缓存(但在交易系统中查询缓存作用不大),无法利用二级缓存中的单个实体,但list查出的对象会写入二级缓存,但它一般只生成较少的执行SQL语句,很多情况就是一条(无关联)。
ii. iterator则可以利用二级缓存,对于一条查询语句,它会先从数据库中找出所有符合条件的记录的ID,再通过ID去缓存找,对于缓存中没有的记录,再构造语句从数据库中查出,因此很容易知道,如果缓存中没有任何符合条件的记录,使用iterator会产生N+1条SQL语句(N为符合条件的记录数)
iii. 通过iterator,配合缓存管理API,在海量数据查询中可以很好的解决内存问题,如:
while(it.hasNext()){
YouObject object = (YouObject)it.next();
session.evict(youObject);
sessionFactory.evice(YouObject.class, youObject.getId());
}
如果用list方法,很可能就出OutofMemory错误了。
iv. 通过上面的说明,我想你应该知道如何去使用这两个方法了。
7、 集合的选用
在HIBERNATE 3.1文档的“19.5. Understanding Collection performance”中有详细的说明。
8、 事务控制
事务方面对性能有影响的主要包括:事务方式的选用,事务隔离级别以及锁的选用
a) 事务方式选用:如果不涉及多个事务管理器事务的话,不需要使用JTA,只有JDBC的事务控制就可以。
b) 事务隔离级别:参见标准的SQL事务隔离级别
c) 锁的选用:悲观锁(一般由具体的事务管理器实现),对于长事务效率低,但安全。乐观锁(一般在应用级别实现),如在HIBERNATE中可以定义 VERSION字段,显然,如果有多个应用操作数据,且这些应用不是用同一种乐观锁机制,则乐观锁会失效。因此,针对不同的数据应有不同的策略,同前面许多情况一样,很多时候我们是在效率与安全/准确性上找一个平衡点,无论如何,优化都不是一个纯技术的问题,你应该对你的应用和业务特征有足够的了解。
9、 批量操作
即使是使用JDBC,在进行大批数据更新时,BATCH与不使用BATCH有效率上也有很大的差别。我们可以通过设置batch_size来让其支持批量操作。
举个例子,要批量删除某表中的对象,如“delete Account”,打出来的语句,会发现HIBERNATE找出了所有ACCOUNT的ID,再进行删除,这主要是为了维护二级缓存,这样效率肯定高不了,在后续的版本中增加了bulk delete/update,但这也无法解决缓存的维护问题。也就是说,由于有了二级缓存的维护问题,HIBERNATE的批量操作效率并不尽如人意!
从前面许多要点可以看出,很多时候我们是在效率与安全/准确性上找一个平衡点,无论如何,优化都不是一个纯技术的问题,你应该对你的应用和业务特征有足够的了解,一般的,优化方案应在架构设计期就基本确定,否则可能导致没必要的返工,致使项目延期,而作为架构师和项目经理,还要面对开发人员可能的抱怨,必竟,我们对用户需求更改的控制力不大,但技术/架构风险是应该在初期意识到并制定好相关的对策。
还有一点要注意,应用层的缓存只是锦上添花,永远不要把它当救命稻草,应用的根基(数据库设计,算法,高效的操作语句,恰当API的选择等)才是最重要的。
document.write里面调用js函数
搞笑短信
2006搞笑语录
1、人不犯傻,我不犯傻,人若犯贱,我必更贱。 ——专栏作家沈宏非概括的派对着装原则。
2、王子们都开始隐居了,女人们看见的都是白马。
——南京的都市放牛在专栏文章《我是个扛枪的猎人》里说,白马王子的时代似乎已经结束,只剩下动物性的本能了,“所以我现在不单纯,原则上都是女人的责任,或者说,给木子美们逼的”。
3、世界历史文化遗产——端门。 ——一些游客发现在自称“世界历史文化遗产”北京端门城楼上,所看到的景观与宣传语大相径庭,而且在世界遗产名录的分类上只有文化遗产、自然遗产和自然文化遗产,根本就没有“历史文化遗产”一说。
4、年龄选择小的,身体选择强壮的。第一点体现公平,第二点是存活概率。 ——有人援引登雪山运动中的优先救援对象的标准来回答让很多男人头痛的“母亲和媳妇落水,先救哪个”的两难命题。
5、让男的去当和尚。 ——一位网民调侃道。目前,中国新生婴儿中男孩与女孩的比例为116.86∶100,比正常值105∶100高出很多。要实现出生婴儿性别比正常,必须改变中国人目前的婚育观念和生育文化。
6、一看《天鹅湖》就等着四小天鹅出场,或是数一数天鹅是24只还是25只,黑天鹅旋转是不是32圈。 ——中央芭蕾舞团团长赵汝蘅觉得北京观众的欣赏习惯与北京目前的高速发展现状和它想成为国际化大都市的梦想不相称。
7、单位就像一棵爬满猴子的大树,向上看全是,向下看全是笑脸,左右看全是耳目。猴年到了,祝你使劲向上多爬两枝丫,看到更多的笑脸和更少的! ——2004年春节热门手机短信。
8、不是因为你写一个地区,你就狭隘,而是你因为一个地方而获得了生命力。 ——在第二届中国女性文学奖颁奖典礼上,女作家迟子建说她关注更多的还是黑龙江。
9、争夺话语权是中国融入世界的前提。 ——凤凰卫视掌门人刘长乐在一次十大新闻评选揭晓晚会上致辞说。
10、你们吵吧,我打飞机去了。 ——一场关于批判还是继承中国传统文化的网上争论中,一网民写道。
11、张飞是曹操侄女婿。 ——四川省社科院研究员、中国《三国演义》学会副会长沈伯俊在经过20余年潜心研究后的新见解。
12、九天揽月华夏英豪驰宇宙。 ——2003年年底北京大学自主招生考试试题中用“神五”内容出的一道对联题的上联。据称,该题目难住了大部分考生。北大招生命题素好对联,上世纪20年代曾出“孙行者”上联,一考生所对“胡适之”,令该校教授陈寅恪大为赞赏。
13、比如我当处长的位置,只考虑到当局长的位置。我当了局长就考虑省长的位置,当了省长就可以考虑总理的位置,但我现在是个村长,不可能马上想到总理的位置。 ——贾平凹盘点2003年时,表示该年获诺贝尔奖的书《耻》不错,但他觉得诺贝尔奖对中国作家是比较遥远的事情。
14、换代了? ——很多人觉得“泡了吗?漂了吗?”的洗衣粉广告词语义暧昧,其实“换代了”。
15、大难不死,必有后福,我得马上去买彩票! ——重庆18岁女孩甘丽2月4日逃出火海后说。她一度想从8楼跳下,后来是用绳子爬下来的。
16、我怎么没死呢?死掉多好。 ——41岁的保姆周兰不慎坠楼,巨额的医药费用成为莫大难题。
17、我不懂外文,但我爱看外文杂志。 ——一位杂志社的美编这样解释读图时代的另类阅读。
18、人生就是一出戏。你只要扮演好自己的每一个角色,认认真真把它演好,就完成任务了。人生只有过程没有结尾,哪有结尾呀?死了就算结尾。 ——央视《对话》节目中海航老总陈峰感言。
19、不出意外的话,这个情人节会有很多麻烦的。 ——这一天,有些人可能会分身乏术;这一天,被很多心中早存怀疑的人视为调查另一半是否忠贞的最佳时机。今年的2·14成了中国的私家侦探“有史以来生意最为火爆的一天”,婚姻忠诚调查收费从15000元的起步价提高到20000元,外加起码等上一个月。
20、吃软饭吃出文学文化的境界,是要有点功力的。 ——胡兰成的《今生今世》出版后,有人评价该书是“一个吃软饭的男人的情场实录”。
21、最是那一剪的温柔。 ——目睹一名新爸爸亲手为孩子断脐,《南方都市报》的标题。
22、与其说我们是文明的儿子,不如说我们是城市的后代。 ——天津《城市快报》于2004年3月1日创刊,“创刊词”说“快和城市化就是人类生活终极发展的理想表情”。
23、能不能让人心里滋长出某种感情,才是我评断建筑的基准。
——中文建筑网络正在讨论日本建筑设计大师安藤忠雄的书《建筑家的20岁年代》。
24、昨天是“海龟(归)”,今天是“海带(待)”。 ——在过去的20年里,有近60万国人留学海外,近几年海归们在国内人才市场上求职趋于困难、身价贬值的现象十分明显。
25、婴儿最理想的食品是母乳,在母乳不足或无母乳时可食用本产品。 ——国家质检总局与国家标准化管理委员会联合发出通知,婴幼儿配方粉的标签上不仅必须标食品名称、适宜人群等,还一定要写上这句话。
26、我自觉和韩非、苏轼是心灵相通的。 ——台湾知名作家龙应台日前以《在紫藤庐与Starbucks之间》一文荣获台湾九歌出版社颁发的2003“年度散文奖”,她说“在中文作家里我欣赏韩非的冷峻,庄子的放肆,柳宗元的内敛,苏轼的舒展,张岱的清澈”。
27、我想只有魔鬼的祖母才会把一个女人的心理琢磨得那么透。 ——荣格对《尤里西斯》及乔伊斯的评价。
28、工作中没有柔情可言,女性领导不是靠“亲和力”来解决问题。
——珠海格力电器公司总经理董明珠回答“如何在工作中体现女性的柔性一面”时说。
29、俺在这里一人顶一家人在家种地的收入。 ——84岁的河南兰考县农民李维胜在广州美术学院做了9年人体模特,月收入1千元左右。
30、在华为的日子,和外界几乎处于一个半封闭状态,跳出来到一个相对透明
的企业里看一看,觉得那时的思想甚至有些可笑。像温水里的青蛙,等水的温度慢慢升高时,已经丧失了逃生的本能。 H:UL——自去年下半年开始,华为员工向猎头公司投放简历的数量急剧增加。“逃离华为”是如今华为遭遇发展瓶颈的突出现象。
31、千万不要把公司当作家。 ——联想公司最近进行了可能是公司历史上最大规模的裁员,一名亲历事件的员工在网上发表感言的帖子标题。
32、我们像你们这样年轻的时候根本没有想到人生该有一次狂欢。 ——
40多岁的南京大学教授周晓虹谈及将在南京举办的世界名城博览会中的狂欢节时说。
33、作为食品工作人员的女大学生不能出示健康证,工作时未按要求穿戴。 ——昆明以女大学生裸体当食器盛菜的“女体盛”,被卫生监督部门出面叫停。
34、我经常笑他(李嘉诚),已经七十多岁人了,你累不累? ——富翁郑裕彤说亚洲首富李嘉诚。因为李和他玩扑克牌,经常一边打牌一边打电话安排事务。
35、朋友的朋友是朋友,朋友的敌人是敌人,敌人的朋友是敌人。
——北大教授张维迎以此比喻告诫商界,要选择诚信者合作(朋友的朋友),孤立骗子(朋友的敌人)和助纣为虐者(敌人的朋友)。
36、人行了,企业就行了。 ——一位民企老板著文说,“企业”去掉人,就是“止业”,所以人最关键。
37、大家想看的其实是《穷爸爸换富爸爸》。 ——笑星黄子华说这些年来《富爸爸穷爸爸》如此畅销,是因为大家在标题中错误地多看了一个字。
38、我的父亲就是那种很传统的中国父亲,只管家里的生杀大权,从来不管他认为是鸡毛蒜皮的小事情。在他的眼里,买房子、买车子、工作赚钱都是大事情,烧菜洗衣、陪我玩、开家长会都是小事情。 ——上海一位16岁的中学生在谈到他父亲时说。
39、是否中国的主持人已经过了字正腔圆、掷地有声的时代? ——新出炉的对主持人港台腔的限改令,使北京广播学院播音主持专业的学生们感到课堂上的普通话训练并未与现实脱节。
40、这不能全怪三九,因为以前股市上大股东占用上市公司资金的情况很普遍。 ——赵新先从三九集团退休。在评价其资本运作时,三九集团的一名高层这样说。
41、当你的女友改名为玛丽,你怎能送她一首《菩萨蛮》? ——余光中提醒各位“英文充其量是我们了解世界的一种工具而已,而汉语才是我们真正的根,我们文学创作的根!”时打了这个比方
42、我开我们自己的吉利。 ——北京车展期间,作为中国民族汽车品牌吉利的老
总李书福接受了中央电视台《新闻会客厅》的专访,当白岩松问他“您开什么车”时,李书福如此回答。
43、无数个姚明,好一个上海。 ——上海城市形象片——姚明篇中,作为上海城市形象代言人的姚明一人分饰厨师、园艺师、运输工人、游客、记者、投资商、音乐家6个角色。
44、有6个人都是4月11日出生的,并且都属猴。某一年他们岁数的连乘积为17597125,这一年他们的岁数之和是多少? ——专家该叫停“杂技数学”和数学奥林匹克竞赛这类“杂技式培训班”了。在大多数老师的心目中,奥数也已经成为小学数学教育的公害。
45、白大荒。 ——有人如此称呼未婚的大龄女白领。
46、我们今年的目标,就是让中国人拍中国题材。 ——2003年,国家地理频道和新加坡经济发展局合作,面向全亚洲资助了10部原创纪录作品,最初报名的30个策划案当中,有27部就是中国题材的,最终有两部入选,但没有一部是由中国内地人拍摄的。2004年,国家地理频道副总裁史博恩曾来华推广此项目。
47、香港是追赶,台湾是开放,北京是整理,上海是吸收。 ——凤凰卫视时尚节目主持人李辉这样总结香港、台湾、北京、上海的时尚。
48、历史上,当大批男性无法结婚时,他们就会聚到一起,要么成为和尚,要么结为匪帮…… ——一部名为《光棍:亚洲男性人口过剩的安全意义》的书引起广泛关注。该书把矛头对准世界上人口最多、男性比例偏高的两个国家——中国和印度。到2020 年,两国的光棍阶层将占到年轻成年男性的12%至15%。
49、今天的报纸只不过是在昨天死去的鱼外面包上的一个新包装。那么多新闻记者要吃饭,今天你是天才,明天就是蠢材。谁在乎? ——杰克·韦尔奇回答李东生所提“你如何面对传媒的负面评价”这一问题时的回答。
50、go high **** try、donce shopping、babe watch ——教外国人说的三个成语:恭喜发财、东施效颦和卑鄙无耻。
51、卫慧的这部作品最初是用英文写的,她除了引用了包括孔子、老子、庄子的思想之外,还涉及到日本的一些思想大师的言论和西方一些艺术家的言论。
——出版人魏心宏谈卫慧的新小说《我的禅》,他认为《欲望都市》给了她很大的启发。
52、富有的商人带着装满现钞的登喜路皮包走进奢侈品商店,还挎着太太或女朋友,他们只说一句“挑最好的给我”,然后就扔下钱。
——上海外滩三号老总感慨现在有钱的中国人这样狂购带有西方标签的物品。
53、十个人有九个想开bar,还有一个想开bra。
——休闲风流行中国,看了《新周刊》“不想工作”专题的广州读者如此说。
54、主设计的问题导致一系列问题,一事不顺处处不顺。
——北京市建筑设计院总建筑师马国馨评价“鸟巢”方案。它造价为38.9亿元,用钢量高达13.6万吨,被指责为既昂贵又笨重。有关专家为研究如何使它“瘦”下来伤透脑筋。
55、一个人眼中的英雄可能是另一个人眼中的坏人,但李小龙是一个真正的国际英雄,并且是波斯尼亚所有种族的英雄。 ——波斯尼亚的莫斯塔尔市市中心广场计划于11月竖起一座李小龙雕像,波斯尼亚作家加塔诺认为这有助于消除该城种族隔阂。
56、需要它的人,自然能够发现它;消费不起的,知道也没用。
——面对被指为“最奢侈消费工程”的某房地产项目,开发商任志强觉得没有必要为它搏宣传。
57、英语学习就像刷牙一样,最重要的不是牙膏牙刷,而是要不断坚持,还要天天张嘴。
——托福考了630分的清华大学厨师张立勇谈自己学习英文的体会。
58、我的小学,中学,大学,现在都不是我上学时的名称,搞得我写简历很麻烦,要加上长长的注解。
——一网友对时下热烈的大学改名风深表不满。
59、杀人放火才叫男人?上海男人是中国男人中最绅士的。
——社会流行“姚明和刘翔让上海男人站起来了”之说,上海网民如此自辩。
60、年轻民警或男同志去干这工作怕出事,岁数大的女同志抵抗力强些,加上是领导的信任。
——女民警陈晓萍的工作是“鉴黄师”,她是重庆市九龙坡区====分局治安支队鉴定员,负责全区淫秽色情物品的审查鉴
61、宇宙和贝聿铭之间有个共同点:我们对二者都了解甚微。
——盖罗·冯·波姆的新书《贝聿铭谈贝聿铭》日前登陆中国,他的观点给目前的国外设计师热提供了另一个解读。
62、我向来不特别喜欢钱。我拼命挣钱,只为证明自己的价值。 ——这是网络首富陈天桥广为人知的一句话。有人质问,网络游戏毁了一代人的生活,这样的企业家值得尊敬吗?企业家的社会责任应该放在哪里?
63、如果在中国,盗版可以得到遏制;诽谤、诬陷等行为被公判罪;公共传播媒介发表了错误言论将会纠错、道歉——这三个条件符合的话,我还会再写。 ——作为“盗版商最喜爱的作者之一”,文化人余秋雨在中山大学的讲座中解释“封笔”原因。
64、现在我们的路牌刀枪不入了。 ——广州换上了不具回收价值、防涂写的铝塑板路牌牌杆,民政官员自豪于它的防偷、防“牛皮癣”功能,已有城市开始仿效。
65、只有假货是真的,别的都是假的。 ——消费者抱怨假冒伪劣商品的无处不在。
66、复旦大学的王校长说,下面18个月将建起那些楼供11000多个学生住,我当时想,11000学生,这几乎是我们耶鲁全部学生的数量。
——耶鲁大学校长Rechard Levin访问上海,中国的教育改革给他的印象非常深。
67、欧洲的建筑师或者美国的建筑师觉得非常奇怪,为什么中国设计一栋高楼,或者非常超高的高塔,加施工图也只要一个月就能够完成? ——10月3日青岛“中国当代建筑文化论坛”上,日本建筑大师矶崎新说西方人后来发现,中国建筑师效率高是因为用盗版CAD。
68、人们想知道而又不知道的房地产界真相,这上面全有。 ——素有“任我行”之称的华远集团总裁任志强炮制出“中国第一部最完整和专业的房地产研究报告”,售价将是每部3000元。
69、平时专业课、实验、学位英语忙得够呛,甚至没有时间找女朋友,哪还有时间和精力去学什么《大学语文》? ——面对大学生汉语运用能力下降的批评,大学生们有自己的抱怨。
70、动物园是动物的监狱,它是人类最卑鄙无耻的发明。 ——当听说动物园寂寞的斑马无奈配毛驴后,一位新浪网友发出这样的感叹。
71、千万别把一个企业看作是自己家里的,不然你绝对做不大。 ——中国内地新首富黄光裕常挂嘴边的话。
72、你可以什么都不是,但必须是一个记者。 ——在2004年11月8日中国记者节《南方都市报》发表的一篇社论标题,该文认为记者不是历史学家、不是警察、不是商人、不是思想导师、不是学者、不是诗人、不是演员、不是化妆师、不是过客。
73、中国的老实男人该干什么去? ——新华网论坛网友质疑,炒股与看足球一直是中国男人最爱干的两件事,现在炒股赔了,中超乱作一团,连假球也快没得看了。
74、车上的乘客大家请注意,下一站车上将上来几个小偷,大家一定要看管好自己的钱包和随身携带的物品。k?\e
——东北某报记者在葫芦岛听到公共汽车售票员这样提示。
75、我已经同时开展17本小说,现在增加到40多本。 ——设计师叶锦添去年完成4本小说引发了他的创作欲。
76、在能够改变男人的东西中,酒最厉害,其次是女人,然后是权力,最后才是真理。 ——张欣小说《深喉》里的一句话。
77、我们可以说:性,性,性;但我们不可以说:我有一个阴道。 ——演员影子说话剧《阴道独白》演出停止。
78、北京的问题是一直把这么大的城市当成一家人来看。 ——建筑设计师马清运说北京应该有相对完整可以独立的城市区域。 79、强奸还是顺奸? ——某报纸在报道“黄定宇事件”时发明“顺奸”一词。
80、哪里摔倒就在哪里躺下。 ——有人说。
81、徐霞客要是今天去游漓江,会怎样呢?至少他没有当时的惬意,他必须乘坐旅游公司的游船,在指定的地方上船、下船,路上饥饿了也只得买游船上的食品,还要忍受解说员千篇一律、倒背如流的介绍。 ——6月初,桂林市====下令封杀“漓江徒步游”,要求任何单位和个人不得组织“漓江徒步游”。
82、别的国家是羊毛出在羊身上,但中国是羊毛出在熊身上或牛身上,就是不出在羊身上。 ——崔健因其歌曲被盗版而打官司,他说:“中国目前的音乐可以说是低质量、高包装,属于加工型。中国缺少原创作品,并不是没有人创作,而是文化利益得不到保护,最后获利的都是加工者。”
83、我们该在哪儿接吻? ——成都某高校两学生因在教室接吻、拥抱,被学校以发生“非法性行为”为由勒令两人退学。南京的一位大学生愤而为他们鸣不平,公开发出了上面的疑问。
84、现在世界上还有另外四个人体知识展览,从技术角度来说,这个展览是最好的。 ——人体塑化的创始人冯·哈根斯评价自己的学生、大连医科大学的隋鸿锦教授在北京举办的“人体科普展”。
85、我非常赞同学生守则里不再提倡见义勇为,未成年人本来就是受保护的对象,不应该在危险来临的时候让他们身处其中。 ——一位中学老师认为学校摘掉楼道内已经悬挂了14年的见义勇为小英雄赖宁的画像是件好事儿。
86、我们将来在世界范围内取得胜利以后,我想,我们会在世界上几个最大城市的街道上用黄金修建一些公共厕所。这样使用黄金,对于当今好几代人来说是最公正和富有教益的。 ——香港金店老板林世荣在自己的店铺里用价值3800万港币的黄金打造了一个洗手间,吸引了大量主顾。有记者询问他怎么想出这个主意,老板拿出《列宁全集》找到一篇文章,题为《论黄金在目前和社会主义完全胜利后的作用》。
87、在人世间有一种庸俗势力的大合唱,谁一旦对它屈服,就永远沉沦了,真是可惜。 ——王小波情书中的一句话。
88、数百年才塌的工程,还能说人家是“豆腐渣”? ——近日倒塌的平遥古城城墙被说成是“豆腐渣”,对此平遥文物局一位工作人员这样评价。
89、宋人黄庭坚曾说三日不读书,便觉面目可憎,张爱玲也这样说过,可我已经4年没怎么好好买一本书了。 ——一位读者在4月23日世界读书日说。
90、身体滚烫,欲望像烧开的水在身体里沸腾。可是他仅仅是爱抚、亲吻,像在案板上精心对待每一根蔬菜,切割、清洗,却总也不肯下锅。 ——一本言情小说中的描写。
91、中国只有摆脱对帝王XX由来已久的痴迷,愤怒的中国====义者才能从其他国家那里获得他们极度渴望的尊重。 ——《华盛顿邮报》一专栏文章说,“受害者”思维已成为中国的====义的主要特点。
92、六七千人在一个玻璃潜水艇里,坐在一个76万元——相当于一部交过税的奔驰车——的座位上,看那该死的歌剧。 ——清华大学教授彭培根评价“国家大剧院”。
93、你怎么支配你的钱? 30%用于房子,30%用于汽车,30%用于吃饭,20%用于娱乐,20%用于衣服。 ——生活的数学难题。
94、中国的路况很差,汽车向左开,撞到了墙,赶紧向右拐,然后又撞到了墙,再拐回来,我们也许正在接近终点,但我们走得慢了些。 ——中国股市好比一辆车。
95、机会就像一扇迅速旋转的转门,当那个空档转到你面前时,你必须迅速挤进去。 ——陈天桥谈盛大成功经营网络游戏的秘诀。
96、中国有那么多有钱人,我们为什么就对潘石屹和张欣感兴趣?因为他们不仅有钱,还有品位。 ——北京一家媒体老板说。
97、医生,请把孩子取出来之后,顺便给我吸吸脂。 ——广州一妇女在剖腹产手术前对医生说。
98、我认识的20多岁的男人总被别人伤害,30多岁的男人总伤害别人。 ——上海一妇女在酒桌上说。
99、有出息的人付给银行利息,没出息的人才眼巴巴地坐等着收银行利息。 ——女作家李碧华说。她还说过,她最喜欢的读物是银行存折。
100、如果说地球上还有什么东西在不新鲜的状态下能比新鲜时更值钱,除了木乃伊,就只有鲍鱼了。 ——美食专栏作家沈宏非说鲍鱼。虽然晒干的鲍鱼只剩下新鲜时的1/10,但价格却上升了至少10倍以上。
101、过年就像一锅熬了几千年的汤,虽然不断地有新鲜的作料加进来,但。是原来的味道却越来越淡。 ——随着旅游、泡吧、运动等现代元素的不断增加,传统意义上的过年仿佛离城市中的人们越来越远了。
102、放烟花是一种习俗,但习惯并不等于权利,新中国成立前,妇女缠足也是习俗。
——一名网友谈禁放烟花。
103、苦干,并且恰好有极好的业绩;被收购,并且恰好位置空着;出国,并且恰好被外国总部派回来。 ——本土人才成为跨国企业中国区经理的三条路径。
104、女性也许还没有统治整个世界,但至少已统治很大一部分了。 ——商界最有权力的女性们过的就是发展的瘾。
105、它(汽车)使男人觉得舒服,驱散了他的孤独感,这是一种用钢铁、铬合金和玻璃制成的伟哥。 ——一篇文章如此描述汽车和男人的关系。
106、我们是很多法律的最直接使用者,我们最清楚法律这个公共产品的质量缺陷在哪里,要修改它完善它,最好的方法就是让我们自己直接参与。HAPMw
——参与打假多年的王海说,当人大代表是他多年的愿望,他想参与规则的制订。
107、车子领着房子跑。 ——一篇文章称,交通环境左右了北京房地产市场。
08、当所有的城市都说同一种语言时,那么每个城市独有的吸引力就减弱了。 ——杭州市政协委员毛海涛说。他在杭州政协八届三次会议上递交提案,力主保护杭州方言。
109、就是守法公民,也没能享受过生日放假一天的待遇呀。
——一名市民质疑北京某法院“不在被告生日当天开庭审判或者宣判”的新规定。
110、以前相当于逛百货商店,现在就是逛专卖店了。 ——中央电视台新闻中心新闻评论部副主任陈虻如此比喻收费电视。目前我国已经审批通过数字电视付费频道39个,其中26个属全国经营。
111、我老了,别撞我。 ——一位中国老人说他想在背上贴上这样的警示牌。《纽约时报》撰文称,由于驾照考核不严格,中国很多新司机经常冲进人行道把行人撞倒。
112、演完了再处理! ——咸阳市某影视厅表演色情节目,当执法人员制止时,百余名“意犹未尽”的现场观众竟如此要求。
113、我只是一滴清水,不是肥皂水,不能吹泡泡。
——人民文学出版社有意请杨绛出席其新出版文集的作品研讨会,但杨绛婉言谢绝。
114、乐凯的主色是红色,红花虽好,也要绿叶扶持。 ——在乐凯与柯达签署合作合同的发布会上,柯达全球副总裁叶莺穿了一身绿衣,她如此解释自己穿绿衣的原因
115、人的生存空间为什么差异如此之大 ——一位长年生活在海拔3000多米以上高原的青海人到了深圳,一出机场,面对满眼柳绿花红,满街着短衫短裙的俊男靓女说。
116、他们只是一些被商业激素催熟的果子,只能反映市场繁荣,不是文学繁荣。 ——文化批评家朱大可评价80年代后的一些少年作家。
117、中国企业到海外发展,往往胆量有余,经验不足,不会游泳就一头跳进海里。 ——德隆收购德国客机项目失败表明,国内民营企业到海外发展应稳扎稳打,而不是图轰轰烈烈。
118、说我,羞我,辱我,骂我,毁我,欺我,骗我,害我,我将何以处之?容他,凭他,随他,尽他,让他,由他,任他,帮他,再过几年看他。
——云南“钱王”王炽领悟出的商道。
119、连潘石屹都开始用储备土地了,我们还能怎么办? ——一位房地产商的抱怨。面对一系列控制土地过度供给的政策,房地产商们的好日子也许将一去不复返。
120、这是一座无需用汉语谈生意的城市。 ——设在青岛的韩国企业家协会秘书长张五洙说。目前青岛有4000家韩国公司和7万名韩国人,街道两旁到处是韩国烧烤。
幸运52的惊人语录
国务院左右不了房价的五大理由
1. 地方政府推高土地价格,我服务的一个城市,在6个月内(从今年4月到现在)曾经110万一亩的留拍的土地以169万拍出;政府最近放出的土地全部都是市中心位置的地块,相信这些土地将不断刷新这个城市地王的价格,这些地王必然带动非中心区域的地价上涨,地价一旦上涨必将导致现有正在销售的项目调价,而市民也会也为地价的飞快上涨,而无所适从,使购买提前,形成购买的强劲需求,而购买人群的热情,必然导致房屋价格的飞速上升。这是一个死结。
2. 老百姓的刚性需求无法阻挡,中国是有很多人的有好几套房子,可是中国的传统观念是齐家、治国、平天下;而房子是家的代名词,是结婚的前提,中国每年有多少对结婚的,基本就诞生多少套钢性需求,这是任何人都消灭不了的,当房屋的价格在一个不稳定期的时候,大家只会提前买房而不是观望。
3. 中国经济的快速发展,我主要服务环渤海经济群里的城市,这里大多数的城市在最近几年发展迅速,可以说2年一变样,当政者都知道城市建设是最好的最快体现政绩的,国家可以不给开发商贷款,但是不会不给城市建设贷款,而城市建设的动作必然会加大城市对外来人口的吸附力,这些人同样会有刚性需求,而政府投入的基础建设费用必然会拉动地价,同时拉动房价。
4. 地方政府已经成为当地房地产开发的最大操盘手,他们通过控制拍地节奏,控制审批时间来保证市场始终处于半饥饿状态,老百姓没有那么多项目可以选择,开发商就可以涨价,这样政府下次拍卖的土地就可以价格再高,可以说政府正在和开发商同时掠夺老百姓的财富。
5. 各种成本的增加,现在人工费上涨,和建筑材料价格的不稳定,造成开发成本上涨,同时国家各种标准出台对建筑的各种标准越来越高,如节能、不在使用砖混结构等等,无形中推高建筑成本,再加上许多地级市号称自己是园林城市,因此限制容积率,造成无论是什么位置,什么地价,容积率都是1.6以下,这也推高了房价。
综上所述,除非中国经济发生大的起伏,否则房价是不会跌的,这是必然。
java中把String转换成Date的方法
String birthdayString =" java.util.Date birthday = new java.util.Date(); try { java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd"); birthday = sdf.parse(birthdayString); System.out.println(birthday); System.out.println(birthdayString); } catch (ParseException e) { System.out.println("String to Date error"); } 注:birthdayString中的形式(如:2006-04-05)与 java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd")格式对应 但是在sql语句里面用: |
用电脑时一些很经典的技巧
1.如果同时有多个窗口打开,想要关闭的话,可以按住shift不放然后点击窗口右 上角的关闭图标.
2.在保存网页前,可以按一下"ESC"键(或脱机工作)再保存,这样保存很快
3.用电脑听CD可以不用任何的播放软件,把音箱线直接接到光驱的耳机孔,放入 CD,按光驱上的play键就可以直接听了,这样听歌可以不占用系统资源。(如 果你的电脑坏了,不能启动或什么的,一时放在那不能修,千万不要浪费资源 ,把用里面的电源给光驱通上电,就可以暂时做CD机了.
4.MSN中发消息的时候是按enter的,如果想要换行而不想发出消息,可以 shift+enter或ctrl+enter
5.浏览器的地址栏里可以调试简短的HTML代码。方法如下: 地址栏写 about :abc 回车,就看到效果了.
6.Windows快捷键:
win+m 显示桌面
win+pause 系统属性
快速重新启动:按确定前先按shift(不适用于2k、xp).
彻底删除:shift+del
不让光盘自动运行:按shift
Ctrl+Esc:相当于"开始"或WIN键
Ctrl+Home:将游标移至文字编辑区的开始始(Home单用:移至列首)
Ctrl+End:将光标移至文字编辑区的终点(End单用:移至列尾)
Alt+F4:关闭当前视窗(若是点一下桌面再按则为关机)
F2:更改名称
windows+e 资源管理器.
windows+r 运行.
windows+f 查找.
windows+u 关闭系统.
windows+d最小化所有窗口,再按一次Win+D可回到最小化前的窗口.
windows+m最小化所有窗口,但再按一次无法回到最小化前的窗口.
Shift+F10,可以打开所选项目的右键菜单.
按住 CTRL+SHIFT 拖动文件:创建快捷方式.
7.关机快捷方式
(1). 在桌面空白位置按鼠标右键 -> <新建> -> 选<快捷方式>
(2). 在<指令行>键入 rundll.exe user.exe,exitwindows
(3). 在<选择快捷方式 的名称>键入<关闭Window>或你想要的名称 -> 按<完成 >
8.重新启动快捷方式
(1). 重复以上 (1)
(2). 在<指令行>键入 rundll.exe user.exe,exitwindow***ec
(3). 在<选择快捷方式的名称>键入<重新启动Restart>或你想要的名称 -> 按< 完成>
9.RUN - > cmd 或者command
就会看到DOS窗口。不知道大家注意到那个小小的图标没有,在左上角。
点击这个图标, 就会看到下拉菜单, 尤其是Edit下的一些功能, 很方便
10.con、nul是MS系统的保留名,它不能做为文件名!检查你的web空间是不是M$ 系统,可以建一个con的文件夹试试
11.想把自己的某个文件夹的文件做一个列表? 用什么软件呢? 不用,直接在命令 行下输入 "tree /f > index.txt".打开index.txt看一下是不是一目了然
12.保存无边窗口页面请用CTRL+N新开窗口
13.如果一个文件夹下有很多文件,如果想快速找到想要的文件,先随便选择一个 文件,然后在键盘上选择想要的文件的第一个字母就可以了
14.说个QQ隐身登陆的笨办法:
在网吧上网,如果直接从注册向导登陆的话QQ是上线登陆的,可是有时候却不 希望现身,怎样实现隐身登陆呢?
就是拿一个没用的QQ先从注册向导登陆了,选择状态为隐身,然后在系统参数 中选中以隐身方式登陆,点确定,然后直接在这个QQ上运行注册向导登陆你要 登陆的QQ,你会发现现在QQ是隐身的了。
15.win98改ip不重启的办法:
1.改完ip选择取消。
2.在设备管理器里禁用改了ip的那块网卡。
3.启用网卡。
ok,你改的ip已经可以用了
16.2000和xp下运行"cmd",进入dos窗口,复制和粘贴都用右键完成
17.收藏夹不要放在系统盘,以免忘了备份,每次装完系统用"超级魔法兔子“指 定路径
18.对于系统不明白的地方,平时多看windows自带的帮助,不要盲目去找人解决 ,也许帮助才是最快和最全的。(其余软件也是同理)
19.winxp自带批量重命名功能,只要选中一堆文件,选重命名,然后改第一个文 件,改完后,其他文件也会自动修改
20.上网时在地址栏内输入网址,系统会记录下来,虽然方便以后不用再重复,不 过如果是公用的机子,又不想让别人知道自己到过哪些地方,可以用“CTRL+ O(字母O,不是0)”,这时对弹出一个“打开”对话框,在其中的地址栏内 输入网址,就不会被记录下来了.
21.IE快捷键:
Ctrl+W关闭窗口
F4打开地址拦的下拉选择网址
F6或ALT+D选择地址拦
空格键可以下翻页,Shift+空格则可以上翻页
22.如果你用foxmail,邮箱路径不在默认位置,可以修改account.cfg
23.NTFS分区上文件属性中有个“摘要”功能,很有用的,这样一些软件安装程序 是什么东东就不会忘了啊!
24.在IE的地址栏输入: javescript:alert(document.lastModified)可以得到网 页的更新日期.
25.通过网络共享时,尽量使用"运行",\ip地址共享文件名,而不要使用通过 “网上邻居”浏览访问,速度很慢,而且经常不全(特别是2000,xp),还要 注意适当的运用$
26.在98下快速做启动盘,只要把windows/command/edb下的所有文件复制到干净 的软盘中就可以做98启动盘
27.运行pq分区失败,出现不可识别的分区,只要找到pq安装目录UTILITY的 PTEDIT32.EXE,可以把原分区还原为原来格式.
打开资源管理器,选中文件夹,用小键盘的*,可以把这个文件夹中的所存在的 所有子文件夹迅速列出
28.QQ自己加自己的方法:在黑名单中加自己,然后再把自己拖到我的好友中就可 以了,然后再运行注册向导.
29.如果浏览的页面中应用了javascript禁用了鼠标右键,解决的方法:
1、如“xiayupei”的方法,先按住鼠标左键,然后将鼠标移动到目标处,点击 鼠标右键,一两秒之后,快捷菜单出现.
2、单击鼠标右键,(不要放开鼠标右键),将鼠标移到警告窗口处,点击鼠标 左键,关闭窗口,再将鼠标移回目标处,放开鼠标右键,快捷菜单出现.
30.realplay多曲播放.
选中多个曲目,然后拖到realplay 的播放地址栏就可以了,之后找到那个ram(会 自动生成),复制里面的内容多遍就可以反复听歌曲.
31.windows下文件可以只有扩展名
新建一个文本文档另存为.txt.前面什么也不要加,就可以了,但是你不能重 命名为这样的文件名!要用另存为!
32.IE真正的空白页:
在IE的快捷方式中右击---属性--选择“目标”,这里的信息为:“ crogram FilesInterner ExplorerEXPLORER.exe",在它之后添加“ -nohome"字样即可。注意-nohome之前要有空格
快速设置主页:将IE地址栏里的“e”网页图标直接拖到工具栏上的“主页” 按钮图标上
不用重启也刷新注册表:同时按Ctrl+Alt+Del,在弹出的Windows任务列表中加 亮"Explore",单击“结束任务”,显示关机屏幕,单击:“否“,稍候,弹出 错误信息,单击“结束任务”,windows游览器即会和新和注册表一起重新装 载!
33.快速启动RealOnePlayer的技巧:在Real的文件夹下搜索netid.smi和 getmedia.ini将其改名为:betid_bak.smi和getmedia_bak.ini,然后再打开 试试,是不是快很多.
34.跳过开机画面
启动时按 esc 即可,或者干脆一点,修改 msdos.sys在options段落加入 logo=0
35.创建浏览目录的快捷方式
在桌面上创建一个快捷方式, 命令为:C: WINDOWSEXPLORER.EXE /n,/e,C:当你双击此快捷方式时,将会用“Windows资源管理器”浏览C:。 当然,你可以用其他的目录名来替换命令中的C:
36.改变关机画面:
记得以前可以改变开机画面吧,现在可以对关机画面动手喔!logow.sys 是等 待关机,logos.sys 是最後丑丑的 "您可以安全关机^_^都是 bmp 档,快动手 吧,原图是 320x400 , 256色!但是最後win95会把他放宽170%所以你可以先准 备一张 544x400 的图 再把这张图 resize 成320x400 再 rename 一下档名 就可以啦!(只能 256色喔 )而且最好注意一下色盘的问题*开机画面也可以 喔!logo.sys....
37.这个 .exe 用哪些 .dll? 对应用程式右键单击,选 "快速检视"
笔者注快速检视必须另行安装,方法如下:a. 控制台/新增或移除程式/ Win95 安装程式 /附属应用程式/详细资料!b. 核取"快速检视"方块--确定
38.厌倦图形介面了吗 想念以前先进入 dos 在打 win 进窗户吗在 msdos.sys 中加入这一行BootGUI=0
39.在 win95的MS-DOS下使用长文件名
只需要在文件名前后加引号("")即可。如:
c:>dir "windows utilities"
c:>cd "windows utilities"insteasy
c:>edit "The list of my friends.txt"
40.加快软驱传输速度
往软盘上存贮较多资料时,让人等得真有点烦。我们不可能对软驱的机械结构 进行改造,但可以通过修改系统注册表以获得较高的数据传输速度,具体方法 如下:
打开系统注册表编辑器,找到
“HEKY-LOCAL-MACHINESystemCurrentControlsetServicesClassFCD00" ,在其右边的窗口空白处,占击鼠标的右健新建一个“DWORD”值,命名为 “ Fore-Fifo”,健值设定为“0”。 最后关闭注册表面化编辑器,重新启动电 脑,一切就OK了!
41.MSN背景修改:
是不是觉得MSN的背景很单调呢?那么很简单,找到你喜欢的图片,估计好大 小,最好是选择背景是透明的。命名为lvback.gif,找到目录Crogram FilesMessenger,将原来图片覆盖就OK了!
42.启动Winamp,并播放一首MP3
2.然后按住[SHIFT]不放,再单击面板上的“停止”按钮
3.你会发现音乐没有立即停止,而是逐渐降低音量直至完全消失,就象电台DJ 做的一样
43.1.启动QuickTime Movie Player,并打开一个mov文件
2.当它播放的时候,点击暂停按钮,然后按下[Shift]键,并双击播映窗口
3.电影开始倒放了,声音也是倒放的
44.在98下文件夹共享时,在共享名后面加个$可以把共享文件夹隐藏
45.Shift的另一个用法:
①大家经常使用Tab键、Spase键,但不知各位注意过没有,以上转换键都是顺 向的,但你按住Shift不放,再用上述按键时,他的转换方向是不是倒过来了?
②在英文输入时,如果在小写状态下,按住Shift同时输入的字母为大写,反之 亦然;
46.智能ABC输入法中字母 “v”的用法:
①、在智能ABC输入中,V + 数字(1~9),可以输入各种字符、图形、数字 等,一试便知,奇妙无穷,但我想大多数人早都用了吧?
②、在智能ABC输入中,在输入拼音的过程中(“标准”或“双打”方式下) ,如果需要输入英文,可以不必切换到英文方式。键入“v”作为标志符,后 面跟随要输入的英文,按空格键即可。
47.在以Word为代表的Office系列中,图形、文本框等非字符元素的位置的微调: 以Word为例,在页面中插入图形或文本框等非字符元素,在页面排版时,经常 为Word固有的所进所干扰,无法达到如意的效果。在使用中,笔者摸索出以下 经验,与大家分享:
①、在调整某一图片(或其他元素,以下全以图片为代)的位置时,使用鼠标 或方向键将其移动到大致位置时,按住Ctrl键,再用方向键移动,你会发现现 在图片每次移动的间距比原来要小得多了,在Word要求的精度下应当完全达到 您的要求了。
②、在调整某一图片(或其他元素,以下全以图片为代)的大小时,不使用鼠 标时,图片变化的大小不连续,按住Alt键,再调节,现在其大小就可以任意 调节了.
48.大伙有没有碰过电脑黑屏一现象呀?按ESC以后,桌面上是否还留有许多黑色 的影子呢?特别是下面的任务栏……不用鼠标找,就黑成一条了…………可以 按“开始”——“关闭计算机”——“取消”,既可恢复.
JAVA系列电子书专题下载
JAVA系列电子书专题下载 | ||
| ·环境安装配置 >> | ||
| TOMCAT的配置 | JAVA配置文件编写说明文档 | 一步一步学会配置Kjava开发环境 |
| Weblogic7开发EJB的配置 | 图解JSP环境安装配置 | Tomcat配置方法 |
| 全程指导Linux下JAVA环境配置 | ||
| ·学习方法 >> | ||
| jee学习笔记 | java 2d api 中文使用指南 | 10步学习javascript |
| j2ee学习 | java2高级程序设计百事通 | java2学习指南 |
| java sctipt学习不求人 | javascript学习 | java学习文档 |
| jsp学习指南 | Juniper学习指南 | 通过jb4学习java(英文) |
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ·JAVA与模式\J2EE模式\Eclipse开发 >> | ||
| ejb设计模式 | eclipse+tomcat集成开发servlet | J2EE Jboss Ejb |
| j2ee核心模式 | java企业设计模式 | java简单工厂创立性模式介绍 |
| java设计模式 | java与模式 | 设计模式java版 |
简析Java开发中的XML编程
| <?xml version="1.0" encoding="GB2312"?> <学生花名册> <学生 性别 = "男"> <姓名>李华</姓名> <年龄>14</年龄> <电话>6287555</电话> </学生> <学生 性别 = "男"> <姓名>张三</姓名> <年龄>16</年龄> <电话>8273425</电话> </学生> </学生花名册> |
| public class StudentBean { private String sex; //学生性别 private String name; //学生姓名 private int age; //学生年龄 private String phone; //电话号码 public void setSex(String s) { sex = s; } public void setName(String s) { name = s; } public void setAge(int a) { age = a; } public void setPhone(String s) { phone = s; } public String getSex() { return sex; } public String getName() { return name; } public int getAge() { return age; } public String getPhone() { return phone; } } |
| import java.io.*; //Java基础包,包含各种IO操作 import java.util.*; //Java基础包,包含各种标准数据结构操作 import javax.xml.parsers.*; //XML解析器接口 import org.w3c.dom.*; //XML的DOM实现 import org.apache.crimson.tree.XmlDocument;//写XML文件要用到 |
| private void readXMLFile(String inFile) throws Exception { //为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); }catch (ParserConfigurationException pce) { System.err.println(pce); //出异常时输出异常信息,然后退出,下同 System.exit(1); } Document doc = null; try { doc = db.parse(inFile); } catch (DOMException dom) { System.err.println(dom.getMessage()); System.exit(1); } catch (IOException ioe) { System.err.println(ioe); System.exit(1); } //下面是解析XML的全过程,比较简单,先取根元素"学生花名册" Element root = doc.getDocumentElement(); //取"学生"元素列表 NodeList students = root.getElementsByTagName("学生"); for (int i = 0; i < students.getLength(); i++) { //依次取每个"学生"元素 Element student = (Element) students.item(i); //创建一个学生的Bean实例 StudentBean studentBean = new StudentBean(); //取学生的性别属性 studentBean.setSex(student.getAttribute("性别")); //取"姓名"元素,下面类同 NodeList names = student.getElementsByTagName("姓名"); if (names.getLength() == 1) { Element e = (Element) names.item(0); Text t = (Text) e.getFirstChild(); studentBean.setName(t.getNodeValue()); } NodeList ages = student.getElementsByTagName("年龄"); if (ages.getLength() == 1) { Element e = (Element) ages.item(0); Text t = (Text) e.getFirstChild(); studentBean.setAge(Integer.parseInt(t.getNodeValue())); } NodeList phones = student.getElementsByTagName("电话"); if (phones.getLength() == 1) { Element e = (Element) phones.item(0); Text t = (Text) e.getFirstChild(); studentBean.setPhone(t.getNodeValue()); } student_Vector.add(studentBean); } } private void writeXMLFile(String outFile) throws Exception { //为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); } catch (ParserConfigurationException pce) { System.err.println(pce); System.exit(1); } Document doc = null; doc = db.newDocument(); //下面是建立XML文档内容的过程,先建立根元素"学生花名册" Element root = doc.createElement("学生花名册"); //根元素添加上文档 doc.appendChild(root); //取学生信息的Bean列表 for (int i = 0; i < student_Vector.size(); i++) { //依次取每个学生的信息 StudentBean studentBean = (StudentBean) student_Vector.get(i); //建立"学生"元素,添加到根元素 Element student = doc.createElement("学生"); student.setAttribute("性别", studentBean.getSex()); root.appendChild(student); //建立"姓名"元素,添加到学生下面,下同 Element name = doc.createElement("姓名"); student.appendChild(name); Text tName = doc.createTextNode(studentBean.getName()); name.appendChild(tName); Element age = doc.createElement("年龄"); student.appendChild(age); Text tAge = doc.createTextNode(String.valueOf(studentBean.getAge())); age.appendChild(tAge); Element phone = doc.createElement("电话"); student.appendChild(phone); Text tPhone = doc.createTextNode(studentBean.getPhone()); phone.appendChild(tPhone); } //把XML文档输出到指定的文件 FileOutputStream outStream = new FileOutputStream(outFile); OutputStreamWriter outWriter = new OutputStreamWriter(outStream); ((XmlDocument) doc).write(outWriter, "GB2312"); outWriter.close(); outStream.close(); } |
| public static void main(String[] args) throws Exception { //建立测试实例 XMLTest xmlTest = new XMLTest(); //初始化向量列表 xmlTest.student_Vector = new Vector(); System.out.println("开始读Input.xml文件"); xmlTest.readXMLFile("Input.xml"); System.out.println("读入完毕,开始写Output.xml文件"); xmlTest.writeXMLFile("Output.xml"); System.out.println("写入完成"); } |
UNION 和UNION ALL 的区别
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:
select * from gc_dfys
union
select * from ls_jg_dfys
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。
而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:
select * from gc_dfys
union all
select * from ls_jg_dfys
永远在生命中寻找快乐!
这几天感冒,太难受了。老是流鼻涕,吃了抗感片,还是不行。我估计是晚上着凉了。
全面认识UML类图元素









像聚合还分为:非共享聚合、共享聚合、复合聚合等。以及其它内容,下次再补充。
超暴笑!童言无忌
给大家苦大仇深的生活带点乐趣
—出处为上海东方电视台儿童综艺节目“欢乐蹦蹦跳”
一、动物天地
1、为什么动画片《猫和老鼠》里的老鼠要比猫厉害?
答:这只老鼠肯定吃过菠菜的。 (大力水手血溅五步……)
因为这部动画片是老鼠写的。 (血溅五步……)
2、为什么说“老虎屁股摸不得“?
答:因为摸到老虎屁股,它尾巴一甩,会把人的手甩到地上去的,很疼的。
老虎的屁股太大了。
摸老虎屁股是不文明的。 (人间自有正气长存……)
3、怎么样让蚊子不叮我们呢?
答:请一个保姆在门口守着。 (保姆血溅五步……)
在身上涂点油,蚊子蹬上去就会滑掉了。
身上涂点胶水,就把蚊子粘在上面了。
放《摇篮曲》,蚊子就去睡觉了,就不会咬人了。
4、螃蟹为什么会吐泡泡?
答:螃蟹热得出汗了。
它饿了,在流口水。
5、为什么现在没有恐龙了?
答:有一次很大的地震把恐龙灭绝了。
恐龙去拍电影了。 (……原来如此。)
6、小白兔为什么爱吃萝卜?
答:因为它的眼睛是红的。
萝卜有营养。
因为小白兔买不起肉。 (小白兔血溅五步……)
7、长颈鹿长长的脖子有什么作用?
答:可以看见它的好朋友。
脖子长戴金项链好看。 (……)
这样能偷看农民种菜。
8、如果有一天大海里没有水了,鱼怎么办呢?
答:让小河里的水流到大海里去,再放点盐就变成大海了。 (明白海水和淡水的区别呀!)
叫鱼学会在陆地上呼吸。 (动物就是酱紫进化的……)
9、小鸟的尾巴有什么作用?
答:可以盖屁股。 (遮羞用的啊……)
跳舞的时候张开很好看。
10、松鼠的尾巴有什么用?
答:当被子盖。
当降落伞。
可以扫地。
当枕头。
二、人的学问
1、小朋友的脸是干什么用的?
答:我的脸可以用来洗脸。 (捶地……)
没有脸的话,舌头、牙齿、鼻子、眼睛和嘴巴都要露在外面了。
刮老面皮的。
我的脸是给爷爷奶奶捏的。
2、人为什么不是蛋孵出来的?
答:因为我妈妈是人,不是小鸡,所以只会生出人,不会生出蛋的。
小鸡有尖嘴巴,人没有尖嘴巴,我们没办法从壳里钻出来的。
有翅膀的动物才会从蛋里生出来。 (这个倒有些道理。)
我妈妈一生完就把我抱出来了。
3、为什么小孩是从妈妈肚子里生出来的,不是从爸爸肚子里生出来的?
答:男的生男孩子,女的生女孩子。
爸爸没有产假,妈妈有产假。 (爸爸血溅五步……)
爸爸是男的,如果生孩子,就会难产。 (爸爸继续血溅五步……)
爸爸生不来的,因为奶奶没有教他。
4、谁记得自己刚出生时是什么样子?
答:头很小的,像一个乒乓球。
小时侯是光光头,头发还没长出来。
很小的,像个热水瓶一样。
我生出来的时候就爬呀爬的。
5、人的鼻子有什么用处?
答:没有鼻子就不能闻出饭菜的味道,吃了就很怪的。
没鼻子的话,鼻毛和鼻涕就没地方住了。 (抱头……)
没鼻子香水就卖不掉了。
6、头发有什么用处?
答:冬天不会被雪砸破头。
给理发师一点事做。 (理发师血五步……)
7、爸爸为什么要刮胡子?
答:胡子长了喝稀饭不方便。
胡子长了他的脸会疼的。
胡子长长了会变成头发的。
我爸爸不刮胡子我妈妈就不喜欢他了。 (爸爸还是血溅五步……)
8、如果小朋友一天就长成大人好不好?
答:时间过得太快,一会会儿就要吃饭了,肚子还没消化呢。
如果时间过得很快,人一会会儿就死掉了,那么世界上就没人了。 (……好、好有远见。-o-)
如果比爸爸妈妈大了,怎么叫爸爸妈妈呢?
9、人什么时候有四条腿?
答:扮小狗的时候。
两个人抱在一起。 (捶地……)
10、有什么办法让胖子瘦下来,让瘦子胖起来?
答:瘦子多打拳击,胖子做靶。 (胖子血溅五步……)
叫胖子多喝点水,肚子就会变得很大很大,一揿,就瘦了。 (胖子继续血溅五步……)
三、世界真奇妙
1、足球场上为什么那么多人抢一个球呢?
答:他们没钱,只能买得起一个球。
球多了来不及踢。
因为球长得漂亮。
2、为什么儿童节要定在
答:妈妈爸爸过的节日很多,要给小朋友过点节日的。
其他日子都没空。
3、火车的名字是怎么来的?
答:它妈妈就给它起了这个名字。
因为它在生气发火。
4、为什么有的气球会往上飞?
答:能飞上天的气球都是骨头轻的。 (…… ̄□ ̄;;;)
气球生气的时候就飞上去了。
5、为什么叫浦东?
答:有很多鸭子跳进去,扑通扑通的,所以叫浦东。 (……一切的谜都解开了!!
!
死鸭子出来给我捏!!!)
6、钱存在什么地方比较好?
答:存在家里,因为没人知道你存钱了。
藏在皮鞋里。
7、海军帽后面的两根飘带有什么用?
答:为了漂亮。
飘带越多官越大。
因为他想留小辫子。
四、肚子饿啦
1、过生日为什么要吃面条呢?
答:吃了面条长得很快的。
吃面条便宜。
2、小朋友们喜欢吃鸡的哪个部分?
答:我喜欢吃鸡肉,因为我天天在锻炼肌肉的。
我想吃鸡爪子,因为吃了鸡爪子会走路。
3、汤圆为什么是圆的呢?
答:因为它的名字就叫汤圆。
方的汤圆吃不下去,会卡在喉咙里的。
因为嘴巴是圆的。
4、牛奶是哪里来的?
答:是用奶粉冲出来的。 (出现了!!!)
牛小便小出来的。 (我血溅五步……)
5、椰奶是从哪里来的?
答:把椰子给牛吃,挤出来的奶就是椰奶。 (出现了!!!)
五、名词新解
1、听了《蓝色多瑙河》的音乐,小朋友有什么感觉?
答:好像小狗在摇自己的尾巴。
感觉很清凉的。
有点感觉了,一只乌龟在爬。
2、《西班牙斗牛士》这段音乐讲的是什么故事?
答:泰坦尼克号。
小荷姐姐在梳辫子。 (小荷姐姐血溅五步……)
有人在打架。
3、有个老爷爷丢了一匹马,你认为马还会回来吗?
答:那匹马肯定会回来的,因为它认识自己的脚印。
我觉得马到外面去结婚了,不会回来了。 (好、好浪漫……)
会回来的,因为它的押金还在老爷爷这里。 (好、好现实!)
4、如果你家门口撞死一只兔子,你爸爸妈妈会怎么办呢?
答:我妈妈会把它送到医院的。
我爸爸会高兴地流口水。 (爸爸:……)
5、人猿泰山到城里来可以干什么呢?
答:捞月亮。 (强者!这就叫融会贯通、入乡随俗
六、望文生义
1、小朋友谁知道“谈心“是什么意思?
答:谈心就是心像个弹簧一样在弹。
两个人坐在沙发上谈生意。
谈心就是一个人和对面的那个人在谈关于心的问题。
2、什么是门外汉?
答:就是流汗了。
大力士在外面站着。
3、门槛精是什么意思?
答:就是用金子做的门槛。
就是有个妖怪坐在门槛上。
4、七嘴八舌是什么意思?
答:不该说的时候说,该说的时候不说。
把舌头拔出来。
八个人很吵,七个人很安静。
5、鹦鹉学舌是什么意思呢?
答:就是它想抓八条蛇回家。
鹦鹉学蛇的样子。
6、什么是“书生“?
答:抓老鼠的人。 (书生血溅五步……)
叔叔生的孩子。 (叔叔血溅五步……)
七、异想天开
1、外星人长什么样?
答:他的眼睛像眼睛哥哥,鼻子像河马,嘴巴像我妈妈,耳朵像鬼。
外星人头上戴一个玻璃罩,里面能放鱼的。
2、眼睛哥哥请一位叔叔给老奶奶让座,可是这个叔叔没让座,这是为什么呢?
答:他在装睡。
他的裤子坏了。 (……)
3、小朋友有什么办法知道自己晚上有没有打呼噜呢?
答:叫妈妈帮个忙,拿个镜子照着,打呼噜可以看见。
我自己闭着眼睛听。
4、你有什么好办法让叔叔既能指挥交通又没有危险?
答:给戴一个牌子,上面写上“别撞我!“。
在叔叔的头上面装一把伞,把他吊在空中,车就撞不到了。
叔叔可以站到树上去。
叔叔可以穿盔甲,人家撞他也不要紧。
BEA Workshop Studio 3.0 发布
BEA Workshop 的前身是曾经获得Jolt奖的NitroX,在去年9月份加入BEA,改名为BEA Workshop。此次版本和M2版本相比,主要是加入了Spring的支持,当然只是集成了Spring IDE 而已,另外在持久层上同时支持 Hibernate 和 EJB3 Persistence。
现在各家公司都在忙着推出自己的EJB3产品和IDE,几乎是在一周内 Sun,Oracle,BEA 这几大巨头的新版IDE都已经推出,Sun和Oracle都以免费的形式发布基于Swing的IDE,而BEA Workshop Studio for Eclipse却要价$899,相比较而言,似乎没有太大的竞争力,虽然Sun的Java Studio Creator在可视化编辑上更具优势,但是相对Eclipse下这么多插件的支持,整体功能上就要差了不少了.
下载:http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/workshop/studio
用户使用Eclipse的十大原因
EclipseSource在11月早期进行了相关调查,统计出人们使用Eclipse的十大原因。调查结果如下:
1、价格低廉的解决方案-64.8%
2、开源平台-64.2%
3、有许多种类的插件供使用-60.3%
4、可扩展-52.4%
5、可以跨平台运行-41.2%
6、不会被某个特定的供应商锁定-40.6%
7、容易学习和使用-37.3%
8、比较喜欢它的授权方式-35.0%
9、可以进行跨平台开发-34.1%
10、我的开发团队非常喜欢使用-33.0%
参考资料:
EclipseSource Newsletter