IRVINE, Calif. - June 06, 2005 - Blizzard Entertainment® today announced that World of Warcraft®, its massively multiplayer online role-playing game (MMORPG), has officially launched in China. Players in China can now download the game, create accounts and experience the epic adventure of the Warcraft® series in an immersive and continually evolving online environment. The commercial launch of World of Warcraft follows a highly successful open beta period in China during which the game reached a peak concurrency - the total number of subscribers playing simultaneously - of more than 500,000 players.
"It has always been a goal at Blizzard to become a major developer and publisher for the Chinese gaming market," said Mike Morhaime, president and co-founder of Blizzard Entertainment. "We feel that China offers a huge and eager audience and it is poised to become the next great region in gaming. We are simply thrilled to be bringing World of Warcraft to this great country. With fully localized content, a regional network infrastructure, and local, around-the-clock customer support, we believe that World of Warcraft will provide Chinese gamers with an unparalleled game experience."
To provide players with an incomparable level of service, Blizzard Entertainment has partnered with local publisher The9, who it believes to be the most talented MMO operator in China. The9 will help operate and manage World of Warcraft in China, including all aspects of support. The9's dedicated team, composed entirely of Chinese management and staff, will serve as an integral part of the game's development and customer service efforts. They will assist in the synchronization of content updates, the delivery of player feedback to the developers, and will help ensure accurate localization to keep the game relevant and tailored to Chinese gamers. Furthermore, this local team will offer 24-hour support year around, with direct game master (GM) support and local call-center representatives dedicated to helping players with questions regarding gameplay and/or technical issues.
To deliver top-notch customer support and maintain a safe and secure service, Blizzard and The9 have implemented an authorization CD-key system for the official launch of World of Warcraft. This system will help protect the game from malicious hack programs that could otherwise affect players' enjoyment of the game.
Only players who have purchased an authorized CD key will be able to activate their accounts and enter the game. Each CD key costs 30 Yuan/RMB and can be purchased with a World of Warcraft Points Card. Point Cards also cost 30 Yuan/RMB and can be used at a rate of 9 points per hour (0.45 Yuan/hour) to play World of Warcraft.
posted @
2005-06-07 16:16 小毅 阅读(427) |
评论 (0) |
编辑 收藏
需要包含头文件:
#include <alloc.h>
或
#include <stdlib.h>
函数声明(函数原型):
void *malloc(int size);
说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。
从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可以自动计算所需要大小。比如:
int *p;
p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);
或:
int* parr;
parr = new int [100]; //返回类型为 int* 类型(整数型指针),分配大小为 sizeof(int) * 100;
而 malloc 则必须由我们计算要字节数,并且在返回后强行转换为实际类型的指针。
int* p;
p = (int *) malloc (sizeof(int));
第一、malloc 函数返回的是 void * 类型,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。
第二、函数的实参为 sizeof(int) ,用于指明一个整型数据需要的大小。如果你写成:
int* p = (int *) malloc (1);
代码也能通过编译,但事实上只分配了1个字节大小的内存空间,当你往里头存入一个整数,就会有3个字节无家可归,而直接“住进邻居家”!造成的结果是后面的内存中原有数据内容全部被清空。
malloc 也可以达到 new [] 的效果,申请出一段连续的内存,方法无非是指定你所需要内存大小。
比如想分配100个int类型的空间:
int* p = (int *) malloc ( sizeof(int) * 100 ); //分配可以放得下100个整数的内存空间。
另外有一点不能直接看出的区别是,malloc 只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的。
除了分配及最后释放的方法不一样以外,通过malloc或new得到指针,在其它操作上保持一致。
posted @
2005-06-06 23:01 小毅 阅读(399) |
评论 (0) |
编辑 收藏
阿,我年轻的朋友们,你们想成为游戏设计师,所以来问我有何好建议?我会给你们我最好的建议,但我猜想你们可能会听不进去。你们可能更愿意听那些说你们爱听的话的人所提供的建议。但这对我来说无所谓,我所能做的就是说些实事,并希望能进入某些人的耳朵里。
首先,你们应该对自己的事业道路有个最初的规划,你想接受更专门的训练,还是想要更全面的教育?专门的训练能给你某些特别的技能,让你能一毕业就进入工作。但教育能给你一个更全面的素质培养,却不一定能马上看到好处,不过长期来看能给你带来更多的优势。这是个简单不过的选择:速成的路还是战略规划后的路。如果你非常急于求成,那就立马去那些专门学校,他们会教你最新最炫的电脑技术。精力充沛是年轻人的优势,但耐性决不是年轻人的特长,所以我完全能理解你们几乎不能忍受去学习那些看似无关的副科。当我还是你们年纪的时候,我总是对那些大学里的其他课程感到不耐烦。但现在,我对我当初的鲁莽想法感到羞愧,并真心的感谢当初教导我的师长。
速成的路却是能立刻见效的路。如果你进了一家专门教授电脑游戏制作的学校,或者在正规大学主修电脑游戏设计。在此,你会学到很多关于电脑游戏设计最新的技术。毕业后,你很可能马上就能在正规的游戏公司找到一份工作,而这一切你可以在23岁之前搞定。
请打住。在这里有一点需要指出。生产游戏和设计游戏是完全不同的。你所获得的第一份工作肯定是份渺小的工作,比如给一个无关紧要的npc画动画,而这个npc做的事情只是在背景上漫无目的的闲晃;或者写一段代码,这段代码的用处就是当用户按下exit的时候,显示“你确定要退出么?”。如果你很擅长做这些小事情,那不出几年就可能会让你画些更复杂的动画或写一段更重要的代码。然后再过几年,你就可能坐上某个更重要的位子,处理些更重要的事情。
但请你别指望这些。根本的问题在于:有成百上千甚至上百万的学生,就像你们一样的学生,正做着同样的梦,想要进游戏业的梦。考虑一下供求曲线吧,如果职员的供应量十倍甚至百倍于员工的需求量,那么价格曲线将向下倾斜。你们必定将得到可怜的工资,并得不到任何的尊敬。你们当然可以抱怨,但得到的回答不仅简单也很实在:如果你不喜欢,你可以选择离开阿,门外有上百个像你一样的年轻人想要得到你的工作。
事实上,这就是当前正在发生的事情。有可能的话你们可以去每年三月或四月在圣何塞举行的“游戏开发者大会”看看,你们并不需要真的去参加什么讨论会,只需要在圣何塞的会议中心转转,看看身边走过的人。你会发现两个惊人的事实:第一,每个人都穿着黑色衣服;第二,他们的平均年龄在25至30之间。
我不知道为什么他们都穿着黑色,这可能是每个人都需要遵守的规则。但我能告诉你们,为什么他们都这么年轻:因为每个人都会在工作几年之后离开这个行业。游戏业就像是个奇怪的巨大建筑物,这个建筑物只有一个入口,却有很多个出口。成千上万个年轻人拥挤在入口处,争先恐后互相推挤着想要进门。只有很少一部分能顺利进入。但对于任何一个进入者来说,总会有另一个人离开——这才能让这个行业保持平衡。这个行业内的人有多么的年轻,就意味着被挤出去的人有多么的快。很少有人能撑到30岁。
如果你想得再深些,那就会发现另一个事实:假设你是老板,既然有这么多小家伙想要为你做游戏,那你自然可以花一毛钱就雇一群人,像奴隶一样驱使他们,直到他们筋疲力尽,然后再找些替代者。你只需雇佣一些管理人员,能保证这些小家伙都努力工作就行。这个系统运转得非常完美。
唯一的问题是,你是否打算成为他们中的一员呢?我希望不是。不过,要是你真狂热到打算削尖脑袋往游戏业里钻,那么就继续前进!我这个老笨蛋说再多也是无益。你自己去花时间看清这些吧。
但在这里我还有另一个方案可以告诉你们。首先,你应该获得一个正规的教育,决不是什么一夜情式的培训。去一所正规的大学,学习任何专业除了游戏制作。几乎所有专业都可以:生物学、物理学(我当初就是念的这个)、艺术、文学、历史、心理学、语言学。你只需保证自己获得了常规教育,并尽量选修一些专业以外的课程,当然,你应该选修一下计算机。
同时,你应该开始试验制作游戏了。不要被时髦流行的图像技术所扰——这不能给你的游戏设计提供任何帮助。你应该专注于游戏的内涵:游戏的体系和架构。如何用很少的元素就能使整个游戏运转?别幻想能做出像商业游戏那么好的产品——我要大声告诉你,这些游戏要依靠很多人的力量才能完成。你此时所能做的这些小玩意同那些比较起来,只能用“可怜”两个字形容。要是把制作游戏比作造汽车,此时你根本不用管车子的外表涂层和喷漆,你应该专注于如何让活塞协作运转、如何控制阀门的正常闭合、搞清楚汽化器是个什么东西。你要制造的是个小卡丁车,而不是一辆劳斯莱斯。所有这些都是个试验的过程,别幻想你的这些小玩意会有商业用途,你要做的就是造好一个就扔掉一个——为了增加创造力,你要杀掉你自己的“孩子”。如果你沉迷于这些作品而不愿放弃,那你将永远也不会拥有一个真正游戏设计师所应有的创造力。
继续不断的为增加你的创造力而努力。到目前为止,你的作品根本无法和一个经验老到的游戏设计师相抗衡,所以增加自己的能力是你此时唯一该做的。电影the matrix都看过吧,没经过训练的neo无论如何也不是agent smith的对手。学任何你能学到的东西。毕业前要把你学校图书馆所有的书架都翻一遍,在这些灰尘的覆盖下指不定隐藏着什么有趣的东西。
当你出了学校,不要马上就进入游戏业。在一个正规公司找一份像样的工作,并挣些钱。更主要的是不断学习,你要学很多关于团队协作的方式,也要学会如何在众人面前寻找自己的位置。你应该学会何时何地站起来对你的老板说话——虽然这种机会不常有。还有,你应该学会如何同周围有经验的内行打交道。
继续在你业余时间制作游戏,尽可能多的制作各种不同类型的“小卡丁车”,并试图了解各种类型卡丁车的性能,诸如操纵性、速度以及其他要素。当你做了六个或十个这种产品,你可能会想到继续亲自着手进行更大的项目。很好,去找些志同道合的朋友,他们会帮助你完成你的计划,我确信这将是个令人印象深刻的成果。完成之后,向全世界展示你的小宝贝吧。现在,你就可以把她作为你简历的一部分去申请游戏业中的职位了。如果你的那些产品确实好,你将能得到一个真正的游戏设计师职位,而不是去当那些小喽罗。此时你可能仍然只是其他游戏设计师的助手,但你已经处在了正确的位置上,如果你能努力出色的完成工作,你肯定会在游戏业中拥有前途。
我知道这些并不是你们想听的内容。你们想要的是所谓的速成药,比如学习这个,然后学习那个,接下来就能确保得到一份高收入的工作、拥有巨大的办公室、用着最先进的电脑设备、做的是富有创造性的事情。没错,每个人都会这么想的,但没有人会得到这些。那些向你描述这些故事的人不过是些骗子,他们脑子里想的只是你口袋里的钱。一个令人悲伤的事实是:游戏先驱们主导世界的日子已经过去了,现在的游戏业是一个产业,没人会突然被发掘然后一夜之间成为巨星,对任何想入门的人来说,在你面前的必定是一条漫长的路。
你们拥有激情和精力,想要让不可能变为可能。但你们是否对这条漫长的路做好了准备?或者说,你们是否打算在真正的准备完成前就冲进去?
祝你们好运,孩子们,我相信你们会成功。
谢谢您-----------chris crawford
posted @
2005-04-21 06:21 小毅 阅读(498) |
评论 (3) |
编辑 收藏
开始安装EclipseME 0.5.5:
从0.5.5版本开始,EclipseME将采用新的安装模式。而在0.5.0版本及之前版本均是一个压缩文件解压到Eclipse的安装路径下即可。这种安装形式已经不在使用,我们将采用以下的新的安装模式。如果你仅是要升级EclipseME到0.5.5版本,那么也要按以下的新的安装方法来做。
1)第一步:打开Eclipse,选择Help -> Software Updates -> Find and Install。
posted @
2005-04-18 11:08 小毅 阅读(378) |
评论 (0) |
编辑 收藏
现在Eclipse的最新版本是3.0.2,但建议使用3.01M6版本。而EclipseME刚刚推出了0.9.0版本,完全支持Eclipse3.01M6版。
1、下载JDK:http://java.sun.com 下载JDK1.4.2版本。或者此地址:
2、下载J2ME版本:http://java.sun.com 下载。或者此地址:
3、下载Eclipse3.01M6版本:http://www.Eclipse.org 下载。或者此地址:
ftp://ftp.jaist.ac.jp/pub/eclipse/eclipse/downloads/drops/S-3.1M6-200504011645/eclipse-SDK-3.1M6-win32.zip
4、下载Eclipse3.01M6版本的中文语言包:http://www.Eclipse.org 下载。或者此地址:
http://download.eclipse.org/eclipse/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip
5、下载Eclipse3.01M6的J2ME插件EclipseME0.9.0版本:http://www.EclipseME.org 下载。或者此地址:
http://nchc.dl.sourceforge.net/sourceforge/eclipseme/eclipseme.feature_0.9.0_site.zip
下载完以上五个文件后,进行相应顺序的安装。另外:Eclipse的软件不需要安装,直接解压即可,很方便吧。
posted @
2005-04-18 11:03 小毅 阅读(474) |
评论 (0) |
编辑 收藏
在遥远古希腊的大草原中,驰骋着一批半人半马的族群,这是一个生性凶猛的族群。“半人半马”代表着理性与非理性、人性与兽性间的矛盾挣扎,这就是人马部落。部落里唯一的例外射手奇伦,是一个生性善良的男子,他对人坦诚真挚,谦逊有理。因此受到大家的尊敬与爱戴。
有一天,英雄赫五力来拜访他的朋友奇伦。赫五力早就听说人马族的酒香醇无比,便要求奇伦给他拿来享用,可是,他喝光了奇伦的酒仍不尽兴,执意要喝光全部落的酒。奇伦非常耐心地解释给他听,酒是部落的公共财产,不是任何一个人可以独自占有的,希望赫五力不要因为一时的兴致而犯众怒。赫五力向来脾气暴躁,怎么能听得进奇伦的话,他把这个善良的朋友推到一边就闯进了人马部落。果不出奇伦所料,暴躁的赫五力和凶猛的人马族碰在一起,冲突不可避免的发生了。
赫五力力大无穷,幼年即用双手扼死巨蟒,他完成国王的十项不可能完成的任务都游刃有余,连太阳神阿波罗都惧他三分,人马族虽然厉害,也并不是赫五力的对手,他们纷纷落逃。赫五力手持神弓紧紧追赶,借着酒劲,大肆进攻。人马族被逼的走投无路,只好逃到了奇伦的家中。人们惶惶不安,赫五力站在门口大声呵斥,如果再没人出来,他就把这个部落毁掉。奇伦听到这里,为了部落,为了朋友,为了化解这场争斗,他奋不顾身的推开门,走了出来。就在那一刹那,赫五力的箭也飞了过来!赫五力惋惜又痛心的看着自己的朋友被神箭射穿心脏,而奇伦则用尽最后的力气说到:“再锋利的箭也会被软弱的心包容;再疯狂的兽性也不会泯灭人性。”
这时候,奇伦的身体碎成了无数的小星星,飞到了天上,它们聚集在一起,好象人马的样子,那只箭还似乎就在他的胸前。为了纪念善良的奇伦,人们就管这个星座叫射手座。
posted @
2005-04-17 22:09 小毅 阅读(179) |
评论 (0) |
编辑 收藏
从嘉兴回来...兄弟没变多少 呵呵 一样的忙
认识了挺多的朋友 松哥,东哥,CEO,死过妹妹....
虽然前几天的笔试并没有成功 心情并不怎么好 在嘉兴却还是呆的开心的...^ ^
每次去看兄弟都能学到好多...
刚好碰上他在开发宠物系统...php-asp...
学了很多东西 有些习惯他好象是于身具来的 大概这就是天赋吧....
4月中旬了 毕业了近了...
工作还没定 心理有点烦了....
posted @
2005-04-15 20:41 小毅 阅读(154) |
评论 (0) |
编辑 收藏
作者:xm4014
今天开始学习Java中多线程的实现.
线程是一些可以并行的,独立的执行的代码.之前我编的程序都只能做一件事情,也就是只有一个线程.多线程的编程就是可以将程序任务分成多个并行的子任务,同时运行,互不干扰.我对多线程的理解是从格斗游戏得来的.格斗游戏中两人对打就是通过两个线程来实现的吧,否则如何能够你出你的招,我发我的冲击波呢.
(1月18日)突然想到一个问题,补充一下.多线程是不是我们通常所说的多任务呢?我的理解是,不能这样说也可以这样说.
简单说来,多线程提供了一种在进程内部进行多个线程并行调度的机制,而多任务则提供的是在一个操作系统内部运行多个进程的机制.
多任务操作系统(如Windows)的基本原理是这样的:操作系统将CPU的时间片分配给多个线程,每个线程在操作系统指定的时间片内完成(注意,这里的多个线程是分属于不同进程的).操作系统不断的从一个线程的执行切换到另一个线程的执行,如此往复,宏观上看来,就好像是多个线程在一起执行.由于这多个线程分属于不同的进程,因此在我们看来,就好像是多个进程在同时执行,这样就实现了多任务.Whoops,真绕口.
如上,多线程和多任务是有很明显的区别的.但是再想一下,在一个应用程序内实现多线程不也是靠CPU分配时间片吗?既然原理是相同的,那么多线程也可以说是多任务的.
一个Java程序启动后,就已经有一个线程在运行,我们可以通过下面的例子来初步建立一个线程的实际印象
class testthread{ public static void main(String args[]){ Thread t=Thread.currentThread(); t.setName("This Thread is running"); System.out.println("The running thead:"+t); try{ for(int i=0;i<5;i++) { System.out.println("Sleep time"+i); Thread.sleep(1000);//挂起线程,就是让线程休息一会儿, //不占用系统资源,因此其它线程可以继续. //这里的Thread缺省表示主线程 } }catch(InterruptedException e){System.out.println("thread has wrong");} } } |
这只是一个线程,那么我们怎么实现多个线程呢?又怎样让线程做我安排它要做的事情呢?
实现线程体的构造有两种方法.
第一种方法是通过继承构造线程体.
在Java中专门有一个Thread类,这个类里面有一个函数run(),里面记录着线程要完成的操作,就好像通常所说的主函数main()一样,run()函数运行完了,线程就结束了.通过继承这个类,我们可以定义我们自己的线程,在run函数中告诉它该做什么事情.下面的程序就是继承了一个SimpleThread类,用两个线程来输出HelloWorld.
public class TwoThread{
public static void main(String args[]){ new SimpleThread("HelloWorld1").start();//创建两个线程的实例,就这么简单 new SimpleThread("HelloWorld2").start(); }
} class SimpleThread extends Thread{ file://真正的内容在这里 public SimpleThread(String str){ super(str);//super代表SimpleThread类的直接父类,这里就是Thread }
file://我们要线程做的事情都在这里了 public void run(){ for(int i=0;i<10;i++){ System.out.println(i+" "+getName()); try{ sleep((int)(Math.random()*1000)); }catch(InterruptedException e){} } System.out.println("Done!"+getName()); } } |
运行的结果是两个线程交替显示各自的HelloWorld十次,输出是混在一起的,因为两个线程是同时运行的.
posted @
2005-04-01 20:30 小毅 阅读(190) |
评论 (0) |
编辑 收藏
作者:xm4014
今天第一次接触Java。
虽然以前间或的也看了些书籍,但多是隔靴搔痒,上不了正席,绝不敢说自己懂Java。接触一门新的技术和初恋一样,都是第一次,但不同的是后者一般开始无比甜蜜,结局却很痛苦,而前者则往往开始很痛苦,越到后来却越是有味,简直是欲罢不能.现在我就正处于这个很痛苦的阶段,连一个最简单的Helloworld都运行不出来,总是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上网去查,去搜.记性又不好,所以搜出来赶紧保存下来,常备无患.
一般来说安装完JDK之后,一定要按一下步骤配置,才可正确编译运行(假定jdk版本为1.4.0)
1.将jdk1.4.0-安装在自己机器的某个盘符的根目录下,如:可安装在C:\jdk下。
***(以下出现的c:\jdk改为你自己安装JDK的目录)***
2.如果你的运行环境是win98,则在C盘根目录下,autoexec.bat文件中,加入下面两条语句:
set Path=%PATH%;c:\jdk\bin
set CLASSPATH=.;c:\jdk\lib\dt.jar;c:\jdk\lib\tools.jar
保存后,重新启动机器,就完成了jdk1.4的安装。
3.如果你的运行环境是win2000的话,则需在“控制面板”的“系统”下,“高级”选项的“环境变量”中,添加两个用户变量。
其中一个用户变量的名称为“path”,值为“.;d:\j2sdk1.4.0_01\bin”,
另一个用户变量的名称为"CLASSPATH",值为“.;d"\j2sdk1.4.0_01\lib\dt.jar;d:\j2sdk1.4.0_01\lib\tools.jar”,单击“确定”即可。即完成了jdk1.4.0的安装。
至于这样做的意义何在,我想应该是让Java系统在编译字节代码(.java)的时候需要一个什么东东的支持,如果你不告诉它这个东东放在哪个地方的话,它就犯傻了?!
看到屏幕上终于显示出Hello world对我来说意义重大.这是我近一年来写的第一个程序!再次踏上程序之路,简直有恍如隔世的感觉,已经快找不准我的位置了.还好原来学的一些关于C++和面向对象的皮毛没忘光光,所以费点周折熟悉了JDK的环境之后,接下来的事情就好办多了,心里也踏实多了.
用String类直接定义字符串变量比起C中讨厌的指针,感觉确实好的多,用惯了Object Pascal的我,如果再回去数* *,真要疯掉不可.
数组的定义和C,C++好像略有不同,记不清了,先记下来再说
int[] number=new int[5]
String[] message=new String[5]
变量这一部分想起来要交待的也就这么多吧。虽然是菜鸟,但我也知道,总是如谭浩强般在语法上面死抠的人简直是白痴:大多数情况下,漂亮的程序根本不需要无谓的点缀,工工整整,思路清晰就可以了.
倒是对于Java程序的框架我倒想备忘一下,一个简单的java程序好像是应该是这样的框架
class ProgramName
{
public static void main(String[] args)
{
file://程序的主体
}
public static int othermethod()
{
file://其它方法
}
}
整个程序在一个大的类中,这个类的概念应该就跟pascal里面的单元差不多的。同pascal一样,文件名也要与单元名-在这里是类名-一样.Java对大小写要求的非常严格,我语法错了好几次都是因为这个.
Java程序就是由一个或者多个或者很多个方法在这样一个大类当中组成的.
在如上的代码中,定义方法的参数表示的意思分别为:
public表示此成员函数是公有的,可以被其他类直接调用
static表示main成员函数在ProgramName类的所有对象中是唯一的,Java将为其分配永久存储空间
posted @
2005-04-01 20:18 小毅 阅读(218) |
评论 (0) |
编辑 收藏
过几天要去东星软件笔试程序员,要求挺高的 网上找了篇笔试的文章前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。
??????? 在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。
?????? 希望本文能够给即将奔赴笔试考场的同仁些许帮助,更希望更多的人加入到收集整理笔试题与完善答案的这些工作中来,为大家更好的获得工作机会做一点贡献。
?????? 在此感谢前面两文的作者的对笔试题目的收集与整理。
?????? 如有任何意见与建议请通过QQ:6045306,Mail:huijunzi@21cn.com与我联系。
Java基础方面:
1、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域?????????? 当前类?????? 同一package? 子孙类?????? 其他package
public??????????? √????????????? √????????????????? √???????????? √
protected??????? √????????????? √????????????????? √???????????? ×
friendly????????? √????????????? √?????????????????? ×??????????? ×
private?????????? √????????????? ×?????????????????? ×??????????? ×
不写时默认为friendly
2、ArrayList和Vector的区别,HashMap和Hashtable的区别
答:就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
3、char型变量中能不能存贮一个中文汉字?为什么?
答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:父类:
package test;
public class? FatherClass
{
??? public FatherClass()
?{
??System.out.println("FatherClass Create");
?}
}
子类:
package test;
import test.FatherClass;
public class? ChildClass extends FatherClass
{
?public ChildClass()
?{
??System.out.println("ChildClass Create");
?}
?public static void main(String[] args)
?{
??FatherClass fc = new FatherClass();
??ChildClass cc = new ChildClass();
?}
}
输出结果:
C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
6、内部类的实现方式?
答:示例代码如下:
package test;
public class? OuterClass
{
?private class InterClass
?{
??public InterClass()
??{
???System.out.println("InterClass Create");
??}
?}
?public OuterClass()
?{
??InterClass ic = new InterClass();
??System.out.println("OuterClass Create");
?}
?public static void main(String[] args)
?{
??OuterClass oc = new OuterClass();
?}
}
输出结果:
C:\>java test/OuterClass
InterClass Create
OuterClass Create
再一个例题:
public class OuterClass {
? private double d1 = 1.0;
??? //insert code here
}
You need to insert an inner class declaration at line 3. Which two inner class declarations are
valid?(Choose two.)
A. class InnerOne{
???? public static double methoda() {return d1;}
?? }
B. public class InnerOne{
???? static double methoda() {return d1;}
?? }
C. private class InnerOne{
???? double methoda() {return d1;}
?? }
D. static class InnerOne{
???? protected double methoda() {return d1;}
?? }
E. abstract class InnerOne{
???? public abstract double methoda();
?? }
说明如下:
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。
故 D 错
三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
四.答案为C、E
7、垃圾回收机制,如何优化程序?
希望大家补上,谢谢
8、float型float f=3.4是否正确?
答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4
9、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
答:Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
Map提供key到value的映射
10、Java中异常处理机制,事件机制?
11、JAVA中的多形与继承?
希望大家补上,谢谢
12、抽象类与接口?
答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。
13、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
答:Server端程序:
package test;
import java.net.*;
import java.io.*;
public class Server
{
?private ServerSocket ss;
?private Socket socket;
?private BufferedReader in;
?private PrintWriter out;
?public Server()
?{
??try
??{
???ss=new ServerSocket(10000);
???while(true)
???{
????socket = ss.accept();
????String RemoteIP = socket.getInetAddress().getHostAddress();
????String RemotePort = ":"+socket.getLocalPort();
????System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
????in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
????String line = in.readLine();
????System.out.println("Cleint send is :" + line);
????out = new PrintWriter(socket.getOutputStream(),true);
????out.println("Your Message Received!");
????out.close();
????in.close();
????socket.close();
???}
??}catch (IOException e)
??{
???out.println("wrong");
??}
?}
?public static void main(String[] args)
?{
??new Server();
?}
};
Client端程序:
package test;
import java.io.*;
import java.net.*;
public class Client
{
?Socket socket;
?BufferedReader in;
?PrintWriter out;
?public Client()
?{
??try
??{
???System.out.println("Try to Connect to 127.0.0.1:10000");
???socket = new Socket("127.0.0.1",10000);
???System.out.println("The Server Connected!");
???System.out.println("Please enter some Character:");
???BufferedReader line = new BufferedReader(new
InputStreamReader(System.in));
???out = new PrintWriter(socket.getOutputStream(),true);
???out.println(line.readLine());
???in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
???System.out.println(in.readLine());
???out.close();
???in.close();
???socket.close();
??}catch(IOException e)
??{
???out.println("Wrong");
??}
?}
?public static void main(String[] args)
?{
??new Client();
?}
};
14、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
答:用插入法进行排序代码如下
package test;
import java.util.*;
class? InsertSort
{
?ArrayList al;
?public InsertSort(int num,int mod)
?{
??al = new ArrayList(num);
??Random rand = new Random();
??System.out.println("The ArrayList Sort Before:");
??for (int i=0;i??{
???al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
???System.out.println("al["+i+"]="+al.get(i));
??}
?}
?public void SortIt()
?{
??Integer tempInt;
??int MaxSize=1;
??for(int i=1;i??{
?????? tempInt = (Integer)al.remove(i);
????if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())
????{
?????al.add(MaxSize,tempInt);
?????MaxSize++;
?????System.out.println(al.toString());
????} else {
?????for (int j=0;j?????{
??????if
(((Integer)al.get(j)).intValue()>=tempInt.intValue())
??????{
???????al.add(j,tempInt);
???????MaxSize++;
???????System.out.println(al.toString());
???????break;
??????}
?????}
????}
??}
??System.out.println("The ArrayList Sort After:");
??for(int i=0;i??{
???System.out.println("al["+i+"]="+al.get(i));
??}
?}
?public static void main(String[] args)
?{
??InsertSort is = new InsertSort(10,100);
??is.SortIt();
?}
}
JAVA类实现序例化的方法是实现java.io.Serializable接口
Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
15、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
答:代码如下:
package test;
class? SplitString
{
?String SplitStr;
?int SplitByte;
?public SplitString(String str,int bytes)
?{
??SplitStr=str;
??SplitByte=bytes;
??System.out.println("The String is:'"+SplitStr+"';SplitBytes="+SplitByte);
?}
?public void SplitIt()
?{
??int loopCount;
??
loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split
Byte+1);
??System.out.println("Will Split into "+loopCount);
??for (int i=1;i<=loopCount ;i++ )
??{
???if (i==loopCount){
????
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
???} else {
????
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
???}
??}
?}
?public static void main(String[] args)
?{
??SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人
0ewldfls=103",4);
??ss.SplitIt();
?}
}
16、JAVA多线程编程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。
希望大家补上,谢谢
17、STRING与STRINGBUFFER的区别。
答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
Jsp方面
1、jsp有哪些内置对象?作用分别是什么?
答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request 用户端请求,此请求会包含来自GET/POST请求的参数
?? response 网页传回用户端的回应
?? pageContext 网页的属性是在这里管理
?? session 与请求有关的会话期
?? application servlet 正在执行的内容
?? out 用来传送回应的输出
?? config servlet的构架部件
?? page JSP网页本身
?? exception 针对错误网页,未捕捉的例外
2、jsp有哪些动作?作用分别是什么?
答:JSP共有以下6种基本动作
?? jsp:include:在页面被请求的时候引入一个文件。
?? jsp:useBean:寻找或者实例化一个JavaBean。
?? jsp:setProperty:设置JavaBean的属性。
?? jsp:getProperty:输出某个JavaBean的属性。
?? jsp:forward:把请求转到一个新的页面。
?? jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
3、JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现
?? 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
?? 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面
?? <%@ include file="included.htm" %>
4、两种跳转方式分别是什么?有什么区别?
答:有两种,分别为:
?
?
? 前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。
Servlet方面
1、说一说Servlet的生命周期?
答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
2、Servlet版本间(忘了问的是哪两个版本了)的不同?
希望大家补上,谢谢
3、JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
4、Servlet的基本架构
public class ServletName extends HttpServlet {
? public void doPost(HttpServletRequest request, HttpServletResponse response) throws
????? ServletException, IOException? {
????? }
? public void doGet(HttpServletRequest request, HttpServletResponse response) throws
????? ServletException, IOException? {
????? }
}
Jdbc、Jdo方面
1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询.
答:程序如下:
package hello.ant;
import java.sql.*;
public class? jdbc
{
?String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
?String theUser="admin";
?String thePw="manager";
?Connection c=null;
?Statement conn;
?ResultSet rs=null;
?public jdbc()
?{
??try{
??? Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
????????? c = DriverManager.getConnection(dbUrl,theUser,thePw);
??? conn=c.createStatement();
??}catch(Exception e){
???e.printStackTrace();
??}
?}
?public boolean executeUpdate(String sql)
?{
???try
???{
?????conn.executeUpdate(sql);
?????return true;
???}
???catch (SQLException e)
???{
?????e.printStackTrace();
?????return false;
???}
?}
?public ResultSet executeQuery(String sql)
?{
???rs=null;
???try
???{
?????rs=conn.executeQuery(sql);
???}
???catch (SQLException e)
???{
?????e.printStackTrace();
???}
???return rs;
?}
?public void close()
?{
???try
???{
?????conn.close();
?????c.close();
???}
???catch (Exception e)
???{
?????e.printStackTrace();
???}
?}
?public static void main(String[] args)
?{
??ResultSet rs;
??jdbc conn = new jdbc();
??rs=conn.executeQuery("select * from test");
??try{
??while (rs.next())
??{
???System.out.println(rs.getString("id"));
???System.out.println(rs.getString("name"));
??}
??}catch(Exception e)
??{
???e.printStackTrace();
??}
?}
}
2、Class.forName的作用?为什么要用?
答:调用该访问返回一个以字符串指定类名的类的对象。
3、Jdo是什么?
答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。
4、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。
答:一种分页方法
<%
? int i=1;
? int numPages=14;
? String pages = request.getParameter("page") ;
? int currentPage = 1;
? currentPage=(pages==null)?(1):{Integer.parseInt(pages)}
? sql = "select count(*) from tables";
? ResultSet rs = DBLink.executeQuery(sql) ;
? while(rs.next()) i = rs.getInt(1) ;
? int intPageCount=1;
? intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1);
? int nextPage ;
? int upPage;
? nextPage = currentPage+1;
? if (nextPage>=intPageCount) nextPage=intPageCount;
? upPage = currentPage-1;
? if (upPage<=1) upPage=1;
? rs.close();
? sql="select * from tables";
? rs=DBLink.executeQuery(sql);
? i=0;
? while((i%>
//输出内容
//输出翻页连接
合计:<%=currentPage%>/<%=intPageCount%>第一页
href="List.jsp?page=<%=upPage%>">上一页
<%
? for(int j=1;j<=intPageCount;j++){
? if(currentPage!=j){
%>
? [<%=j%>]
<%
? }else{
? out.println(j);
? }
? }
%>
下一页最后页
Xml方面
1、xml有哪些解析技术?区别是什么?
答:有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问
STAX:Streaming API for XML (StAX)
2、你在项目中用到了xml技术的哪些方面?如何实现的?
答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
3、用jdom解析xml文件时如何解决中文问题?如何解析?
答:看如下代码,用编码方式加以解决
package test;
import java.io.*;
public class DOMTest
{
?private String inFile = "c:\\people.xml";
?private String outFile = "c:\\people.xml";?
?public static void main(String args[])
?{
??? ?new DOMTest();
??? }
?public DOMTest()
?{
??try
???? {?
???? ?javax.xml.parsers.DocumentBuilder builder =
???? ??
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
???? ?org.w3c.dom.Document doc = builder.newDocument();
???? ?org.w3c.dom.Element root = doc.createElement("老师");
???? ?org.w3c.dom.Element wang = doc.createElement("王");
???org.w3c.dom.Element liu = doc.createElement("刘");
???? ?wang.appendChild(doc.createTextNode("我是王老师"));
???? ?root.appendChild(wang);
???? ?doc.appendChild(root);
???? ?javax.xml.transform.Transformer transformer =
???? ??javax.xml.transform.TransformerFactory.newInstance().newTransformer();
???? ?transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");
???? ?transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");??
? ?
???? ?transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
???? ???????new
javax.xml.transform.stream.StreamResult(outFile));
???? }
???? catch (Exception e)
???? {
???? ?System.out.println (e.getMessage());
???? }
??? }
}
4、编程用JAVA解析XML的方式.
答:用SAX方式解析XML,XML文件如下:
? 王小明
? 信息学院??
? 6258113
? 男,1955年生,博士,95年调入海南大学
?
?事件回调类SAXHandler.java
?import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
public class SAXHandler extends HandlerBase
? {
? private Hashtable table = new Hashtable();
? private String currentElement = null;
? private String currentValue = null;
? public void setTable(Hashtable table)
??? {
??? this.table = table;
??? }
? public Hashtable getTable()
??? {
??? return table;
??? }
? public void startElement(String tag, AttributeList attrs)
? throws SAXException
??? {
??? currentElement = tag;
??? }
? public void characters(char[] ch, int start, int length)
? throws SAXException
??? {
??? currentValue = new String(ch, start, length);
??? }
? public void endElement(String name) throws SAXException
??? {
??? if (currentElement.equals(name))
????? table.put(currentElement, currentValue);
??? }
? }
JSP内容显示源码,SaxXml.jsp:
<%@ page errorPage="ErrPage.jsp"
contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="org.xml.sax.*" %>
<%@ page import="javax.xml.parsers.SAXParserFactory" %>
<%@ page import="javax.xml.parsers.SAXParser" %>
<%@ page import="SAXHandler" %>
<%
File file = new File("c:\\people.xml");
FileReader reader = new FileReader(file);
Parser parser;
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
SAXHandler handler = new SAXHandler();
sp.parse(new InputSource(reader), handler);
Hashtable hashTable = handler.getTable();
out.println("教师信息表");
out.println("姓名 | " + "" + ? (String)hashTable.get(new String("name")) + " |
");
out.println("学院 | " + "" + ? (String)hashTable.get(new String("college"))+" |
");
out.println("电话 | " + "" + ? (String)hashTable.get(new String("telephone")) + " |
");
out.println("备注 | " + "" + ? (String)hashTable.get(new String("notes")) + " |
");
out.println("
");
%>
EJB方面
1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?
答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....
2、EJB与JAVA BEAN的区别?
答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
3、EJB的基本架构
答:一个EJB包括三个部分:
? Remote Interface 接口的代码
? package Beans;
? import javax.ejb.EJBObject;
? import java.rmi.RemoteException;
? public interface Add extends EJBObject
? {
?? //some method declare
? }
? Home Interface 接口的代码
? package Beans;
? import java.rmi.RemoteException;
? import jaax.ejb.CreateException;
? import javax.ejb.EJBHome;
? public interface AddHome extends EJBHome
? {
??? //some method declare
? }
? EJB类的代码
? package Beans;
? import java.rmi.RemoteException;
? import javax.ejb.SessionBean;
? import javx.ejb.SessionContext;
? public class AddBean Implements SessionBean
? {
??? //some method declare
? }?
J2EE,MVC方面
1、MVC的各个部分都有那些技术来实现?如何实现?
答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
2、应用服务器与WEB SERVER的区别?
希望大家补上,谢谢
3、J2EE是什么?
答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
答:Web Service描述语言WSDL
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
5、BS与CS的联系与区别。
希望大家补上,谢谢
6、STRUTS的应用(如STRUTS架构)
答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:
一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
设计模式方面
1、开发中都用到了那些设计模式?用在什么场合?
答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。
2、UML方面
答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,
JavaScript方面
1、如何校验数字型?
var re=/^\d{1,8}$|\.\d{1,2}$/;
var str=document.form1.all(i).value;
var r=str.match(re);
if (r==null)
{
?? sign=-4;
?? break;
}
else{
?? document.form1.all(i).value=parseFloat(str);
}
CORBA方面
1、CORBA是什么?用途是什么?
答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:
用不同的程序设计语言书写
在不同的进程中运行
为不同的操作系统开发
LINUX方面
1、LINUX下线程,GDI类的解释。
答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI类为图像设备编程接口类库。
posted @
2005-03-19 21:18 小毅 阅读(267) |
评论 (0) |
编辑 收藏
javax.microedition.lcdui.Display类
方法
static Display getDisplay(MIDlet midlet) 获取Display类的实例
Displayable getCurrent() 获取目前Displayable类的实例
void setCurrent(Alert alert,Displayable displayable) 显示所指定的报警对话框的实例和被指定Displayable类的实例
void setCurrent(Displayable displayable) 显示所指定的Displayable类的实例
boolean isColor() 判断设备是否支持彩色
int numColors() 获取设备能用的色彩位数或灰度
void callSerial(Runnable runnable) 重绘图后,调用Runnable类的实例
javax.microedition.lcdui.Displayable类
方法
void addCommand(Command command) 将命令关联到Displayabel类的实例
void removecommand (Command command ) 撤消关联
void setCommandListener (CommandListener commandlistener) 关联CommandListener到Displayable类的实例
boolean isShown () 判断Displayable类实例时候在屏幕上显示
javax.microedition.lcdui.Command类
Command(String label, int commandTYPE, int priority) 创建Command类的实例,显示指定的标签,设置指定的命令类型和优先级
int getCommandType() 获取命令的命令类型
String getLabel() 获取命令的标签
int getPriority() 获取命令的优先级
javax.microedition.lcdui.CommandListener接口
方法
void commandAction(Command command,Displayable dispalyable) 处理Command类的实例
javax.microedition.lcdui.Item类
方法
String getLabel() 获取与Item类的实例关联的标签
void setLabel(String label) 为Item类的实例指定一个标签
javax.microedition.ItemStateListener接口
方法
void itemStateChanged (Item item) 处理Item类的实例的改变
javax.microedition.midlet.MIDlet 类
方法
abstract void destroyApp(boolean unconditional) 关闭MIDlet
abstract void pauseApp() 暂停MIDlet
abstract void startApp() 激活MIDlet
final void notify Destroyed() 请求停止MIDlet
final void notifyPause() 请求暂停MIDlet
final void notifyRequset() 请求激活MIDlet
final String getAppProperty(string key) 从JAD或JAR文件获取属性
javax.microedition.midlet.MIDletStateChangeException类
方法
MIDletStateChangeException 不用测试生成心得MIDletStateChangeException对象
MIDletStateChangeException(String string) 生成新的带消息的MIDletStateChangeException对象
posted @
2005-03-16 20:21 小毅 阅读(192) |
评论 (0) |
编辑 收藏
在应用程序即将使用一个对象时在分配这个对象,而不是在应用程序启动是全部分配。
一旦应用程序不再需要一个对象,就要将所有对该对象的引用赋值为null
总是重用对象而不是创建对象。
遵守拇指法则
应用程序通常是单线程的。
一次只能运行一个应用程序
应用程序是事件驱动的
用户从一个应用程序切换到另一个应用程序,而不是结束应用程序
移动小型计算设备的使用方式通常是每次只用两分钟,每次用30次。
应用程序必须在两分钟之内完成一项任务。
posted @
2005-03-14 21:58 小毅 阅读(162) |
评论 (0) |
编辑 收藏
我还喜欢她吗?我也不知道,真的真的模糊了…
我记得有段时间狠狠的喜欢过,也信誓旦旦的承诺过…
虽然在繁忙的学习之间会想起她,虽然是一闪而过,但是心里还是酸酸的。
她很漂亮,至少我一直这样想的,倒不是说就是一见钟情的那种。感觉却是聊天里来的….
似乎这很老套。可就是这样简单的打招呼,亲切的问候……似乎就忘不了了.
即使真的喜欢又会怎么样呢?想起她就这样反问自己。“见都没见过呢”。“先有事业,在有妻室”,“热血男儿志在四方”,
理由就是这样一个接一个的会涌上来.
苦苦笑笑 得了吧…
就算认识过,就算真的相爱过,在距离面前…“0”
我知道答案其实一直一直都没变过,变的只是周围的环境,繁忙的学习,巨大的工作压力,让我渐渐把这个答案深深埋了起来,再不能象以前一天到晚守在电脑前等她上线,再不能拿着手机给她发消息,再不能偷偷打工为她买东东,再不能……………..
好难得周末…能这样轻松的坐在电脑前..(别忘了明天早起上课..-_-)
把她放在心里…我知道她会永远在自己心里.
posted @
2005-03-05 21:45 小毅 阅读(160) |
评论 (0) |
编辑 收藏
马上就要毕业了,大学四年的生活一晃而过,过的好快哦。
读书的时候总拼命找时间玩..总想星期六星期天有时间可以补回来。呵呵,所以整个大学四年都在缝缝补补。
人们总是以为一件事情干两天肯定要比干一天要做好,以前的我也是如此认为,做事慢慢吞吞,总以为花的时间越多就能做的越好。其实错了,大家都错了,一天能做好的事情就要花一天做的最好,星期六星期天是拿来放松的,拿来休息的。
并是不忙忙碌碌就能成功。
而成功的人就一定是效率高。
posted @
2005-02-23 16:48 小毅 阅读(206) |
评论 (0) |
编辑 收藏
回学校啦,呵呵,音响放到最响....
室友添了新电脑...嘿嘿 ....以后爽游戏又方便多啦...HOHO
2005 一切都在改变.....我也要加油干起来了~~~
posted @
2005-02-20 19:03 小毅 阅读(160) |
评论 (0) |
编辑 收藏
回家啦 ...终于回家了....
大学生涯最后一个寒假....happy new year~~~
珍惜拥有....
posted @
2005-01-31 09:44 小毅 阅读(209) |
评论 (0) |
编辑 收藏
忘记以前的天真,无忧。。。。。在这一年里即将踏入社会。我知道现在我是新人,生活法则,社会规则,我必须一点一滴的从头开始。。。。2005 奋斗的一年,那里有一座陌生的城市等我去闯荡,那里有崭新的事业等我去开拓,以后回头------我必须告诉自己。。。2005年,我为我自己选者的路而骄傲
posted @
2005-01-29 22:52 小毅 阅读(187) |
评论 (0) |
编辑 收藏
Thread 线程
它能锁定任何对象占用的内存(内存实际是多种共享资源的一种),所以同一时间只能有一个线程使用特定的内存空间。为达到这个目的,需要使用synchronized关键字。
浏览器最初只是纯粹的查看程序,这是由于每次采取一些要求编程的操作时,必须将信息反馈回服务器,在服务器那一端进行处理。所以完全可能需要等待数秒乃至数分钟的时间才会发现自己刚才拼错了一个单词。这就叫作“客户端编程”。
applet 程序片
时刻提醒自己注意以下几个问题:
(1) 对象是什么?(怎样将自己的项目分割成一系列单独的组件?)
(2) 它们的接口是什么?(需要将什么消息发给每一个对象?)
在确定了对象和它们的接口后,便可着手编写一个程序。出于对多方面原因的考虑,可能还需要比这更多的说明及文档,但要求掌握的资料绝对不能比这还少。
想象成用遥控板(句柄)操纵电视机(对象)。只要握住这个遥控板,就相当于掌握了与电视机连接的通道。但一旦需要“换频道”或者“关小声音”,我们实际操纵的是遥控板(句柄),再由遥控板自己操纵电视机(对象)。如果要在房间里四处走走,并想保持对电视机的控制,那么手上拿着的是遥控板,而非电视机。
此外,即使没有电视机,遥控板亦可独立存在。
Heap 堆
Java对象本身永远都不会置入静态存储空间
wrapper 封装器 Scope 作用域
class ATypeName {/*类主体置于这里}
这样就引入了一种新类型,接下来便可用new创建这种类型的一个新对象:
ATypeName a = new ATypeName();
我们在Java里的全部工作就是定义类、制作那些类的对象以及将消息发给那些对象
class DataOnly {
int i;
float f;
boolean b;
}
这个类并没有做任何实质性的事情,但我们可创建一个对象:
DataOnly d = new DataOnly();
可将值赋给数据成员,但首先必须知道如何引用一个对象的成员。为达到引用对象成员的目的,首先要写上对象句柄的名字,再跟随一个点号(句点),再跟随对象内部成员的名字。即“对象句柄.成员”。例如:
d.i = 47;
d.f = 1.1f;
d.b = false;
Method 方法
Java的方法只能作为类的一部分创建。只能针对某个对象调用一个方法
import的作用是指示编译器导入一个“包”——或者说一个“类库”
posted @
2005-01-24 22:33 小毅 阅读(199) |
评论 (0) |
编辑 收藏
梵天:印度教神话中三大最高神之一。世界的创造者。佛教吸收其为护法神,称“大梵天王”
。
湿婆:印度三大神的第三位。又叫“西哇”。是最受崇拜的神之一。是象征“昌盛”和“吉兆”的神。同时又象征“毁灭”,是起死回生之神。一般被视为“破坏神”。同时他也是生殖之神,传到中国后与藏教密宗中的大欢喜菩萨互相影响。有时也被人塑成一面目狰狞的怒汉和一极美女子交合的形象。湿婆表现愤怒的一面传入日本后,作为大黑天十分闻名,是武士和浪人的保护神。
毗湿奴:三大主神之一,与前两者并称为三联神。称谓极多,有一千种以上,常见的为“那罗衍”,“世界之主”等。
因陀罗:雷电之神,众神之首,后成为天王。被佛教吸收后又叫“帝释天”,为善见城城主。
吉祥天:即拉克什密。被称为毗湿奴的妻子。在最古老的神话中与大梵天,俱毗罗,因陀罗联系在一起,是佛教的护法天王。是毗沙天门王之妹,号称“功德天王”。毗沙天王是北方天王,是财富之神,胜利,护法之神。
释迦:原名乔达摩。悉达多,佛教的创始人。相传为印度北部小国王子,后舍弃家庭,权位,独自出走。七年后在菩提树下顿悟成佛。又被称为大日如来。佛教中最为崇高的神,曾降伏过中国的战斗之神齐天大圣。
天龙八部:即八部众,说法见于佛经。《法华经。提婆达多品》中曾提到过:“天龙八部,人与非人,皆遥见彼龙女成佛、”
天:即帝释天为首的天神。天神的寿命也会完结,这是因为佛家相信事事皆有无常。天神临死前会出现“衣裳垢腻,头上花萎,身体臭秽,腋下出汗,不乐本位”这五种征兆,也就是所谓的“天人五哀”。
阿修罗:阿修罗是与天对立的一族。他们非常好战,男的极丑,女的极美。阿修罗有美女而无美食。天有美食而无美女。双方常因此而互相争斗,场面十分惨烈。“修罗场”的说法即从此来。阿修罗一族被视为战神,他还有个化身是火神大摩尼,也就是“拜火教”和中土“明教”的最高神。
龙:龙无论在东西方神话,还是在奇幻文化中都是个非常欢迎的角色。以其独特的外形,强大的力量备受青睐。可以说一说到奇幻,人们就会想到龙,龙几乎成了奇幻文学的代表。东西方的龙虽然有所不同,但它们也有很多相似之处,头部特征,善飞翔,会从嘴中吐出物质攻击等。这些惊人的巧合让人忍不住怀疑是否以前有此一类生物存在。龙的记载在我国由来以久,大量详实,准确,生动的记录贯穿着整个古代正史,有纪可考的记录最后见于民国初年,让人十分迷惑。但天龙八部中的龙其实说的是一种大蟒蛇。
乾达婆:拥有黄金之翼半人半鸟的精灵。天界的音乐家。
迦楼罗:中国人很熟悉的一种大鸟,传入中国后演变成了金翅大鹏鸟。原型是种翅有种种庄严宝色的神鸟,一天吞噬一条龙王和五百条小龙(哪来这么多龙让它吃?),五百年自焚一次,然后又从火焰中复活,凤凰重生的传说即来源于此。
其他有代表性的神
巴尔:又名巴卢尔或巴卡尔,出现在不同神话中,名称也不同。美索不达米亚一带的主神,掌管雷电和农牧,生殖。也是死而复生之神。与兄长穆图是死敌。起先是善神,后在基督教义中被视为邪神。在《暗黑破坏神二》中登场,被视为毁灭之王。
穆图:也名莫特。死神,冥界之神,混沌之神,干旱和歉收之神。是巴尔的兄长和主要对手。出自闪米特族神话。
阿卡特拉姆:凯尔特神话中的勇敢之神,达努神族努阿达的别名。曾与邪神巴尔殊死作战。
须佐之男:日本神话中最早的大神依邪那歧三子女中的最幼者,另两为就是日本最高神天照大神,和月读了。他全名为素盏鸣尊,乱暴之神,因其狂暴的性格而被视为破坏神。他斩杀了八歧大蛇,成为神话中的英雄。
伊希斯:埃及神话中神力非凡的巫师,被视为魔法的始祖。
塞特:出自埃及神话,希腊人称之为缇丰,为恶灵的化身,永远与善良作对。传说他曾化身黑猪,每月攻击啖食月亮。
哈奴曼:印度版孙悟空,是印度神话中的神猴。风神和母猴所生之子。在英雄叙事诗《罗摩衍那》中登场成为帮助罗摩王子的好帮手。他聪明非凡,力能排山倒海,善于腾云驾雾,变幻形象和大小(还说不是孙悟空?),多次救助罗摩王子,是智慧和力量的化身。
塞克尔:埃及神话中的死者之神。以鹰头木乃伊的形象出现,传说为冥界的判官,常用一架天平来称量死者的心脏,以决定他的待遇。在古埃及法老陵墓中的壁画上大量出现,在罗。斯托神庙中被膜拜。
posted @
2005-01-23 19:08 小毅 阅读(603) |
评论 (0) |
编辑 收藏
奥丁:北欧阿斯神族的至高神,诸神之王,也是死者之王,战神,权力之神,魔法之神。曾冒死以一人之力闯入冥界,为人类取得古文字而拥有大量知识,为此失去一只眼睛。他身形高大,身披金甲,骑八足神马“斯莱普尼斯”,手持名枪“冈尼尔”,居住在“瓦尔哈拉”的神殿中,让女武神收集死者的魂魄,为终末之战“饶纳诺克”即“诸神的黄昏”做准备。为举世闻名的北欧蛮族,维京人所信仰。他们坚信如果英勇战死就可以进入“瓦尔哈拉”,所以战斗是勇猛无比,曾席卷过大半个欧洲。
女武神(瓦尔基里):侍奉主神奥丁的女神,奉命奔波在战场上,收集战死的勇士的灵魂,带往“瓦尔哈拉”,让其复活以应付诸神与巨人族的“诸神的黄昏”的最终战。女武神们各个武技高超,为人类的保护神 。著名剧作家瓦格纳曾为其谱写过名曲《女武神的飞驰》(瓦格纳以及他的作品和生平会在以后介绍,他的著名作品《尼伯龙根的指环》是歌剧版的奇幻小说,有兴趣的可以找来听听,十分精彩!)
齐格弗里德:德国著名英雄叙事诗《尼伯龙根之歌》里登场的英雄,他得到了拥有至高力的指环,可以听懂鸟语。他杀死过巨龙,沐浴过龙血,成为有最强肉体的不死男人。但却因为沐浴时一片树叶掉在了背上,肩胛骨下的一处成为致命弱点而被人杀死。(详情请参阅瓦格纳的《尼伯龙根的指环》)
洛基:最初被看作仁慈之神,因为其杰出的才能和外貌而被阿斯神族接受,但身为巨人族的他生性喜欢喜欢挑拨其他神争斗,还杀死了主神奥丁的儿子,被诸神囚禁,在诸神与巨人族的终末战“诸神的黄昏”时爆发,加入巨人族阵营战斗,最后带来了诸神的毁灭。
瑟特:住在火之国度的巨人,“诸神之黄昏”中率火巨人出战。
赫尔:主宰地下世界的女神,据说是洛基的女儿,奥丁赋予她到冥界尼弗尔海姆,统治九界的权力。
焚里尔:北欧神话中最著名的魔兽,洛基的子女之一,巨大狼形怪物,传说当他张开嘴后上下鄂可以顶住天地,因其性格凶暴而被矮人族囚困,直到终末战时,他才脱困,并且吞下了太阳和主神奥丁。
托尔:著名的雷电之神,名字即“轰鸣者”的意思,诸神中最具怪力的神,以巨大铁槌作战。他的铁槌也很著名,“托尔的铁槌”在许多作品中几乎成为了力量的代表。他还是丰饶之神,主管一切人类所必须经历的仪式,如婚丧嫁娶等。“诸神之黄昏”中托尔和世界蛇尤蒙冈多同归于尽。尤蒙冈多是一条自己衔着自己的大蛇,象征无限。
北欧命运三女神:掌握“存在”和“未来” 斯克尔特 掌握“必然”和“现在” 威尔珊迪
掌握命运和过去 ???(没找到。)
多瓦夫:矮人中的妖精族(奇怪的组合)。据说当初是蛆虫,因啃食了最初巨人尤米尔的遗体而获得了人形和智慧。拥有天才的锻造本领,是武器和工艺品的杰出制造者,也就是奇幻小说中常常出现的矮人族设定的原形,代表人物很多,如《龙枪》中弗林特。火炉。他们共同的特点为矮胖的身体,大胡子,手持战斧,忠诚而脾气暴躁。
BERSERK:巴萨卡,这个词源于古代北欧语言,意思是“披着熊皮的人”后为“狂战士”的称谓。是奇幻作品中最受欢迎的职业设定之一。狂战士受主神奥丁的加护,战斗中会陷入极度兴奋的忘我状态,以超强的肉体打击敌人,没有恐惧,疼痛的感觉。严重者会陷入癫狂而死。
posted @
2005-01-23 19:07 小毅 阅读(790) |
评论 (0) |
编辑 收藏
宙斯:希腊神话中的至高神,掌握雷电,所以又被称为雷神。在母亲蕾亚的支持下,杀了父亲克洛诺斯,成为了第三代神王。性格极为好色,常背着妻子赫拉与其他女神 和凡人私通,私生子无数。
克洛诺斯:前奥林波斯神诋之一,天神乌拉诺和大地女神瑞亚之子,泰坦巨人中的最幼者,推翻父亲成为第二代神王,其后却遭到与父亲同样的命运。
波塞冬:海之皇,宙斯的二哥,手持巨大三叉戟,统领海中所有生物。有被描写为半人半鱼的模样,能呼风唤雨。性格凶暴残忍。
哈帝斯:宙斯,波塞冬,得墨忒尔的兄长,主管冥界,力量很强,但性格平和。除了抢夺丰收女神得墨忒尔之女春之女神玻尔塞富涅为妻外,无它恶行。
瑞亚:希腊神话中的大地女神,是奥林波斯神系之前的古神,也是泰坦之母,她与乌拉诺生下了众多希腊神诋。
帕拉斯。雅典娜:智慧女神和正义战争女神,宙斯和墨涅斯之女,她出生时宙斯头部剧烈疼痛,之后用大斧劈开后,雅典娜手持长枪,身披战甲从中跳出。是很受欢迎的神。因失手杀死好友帕拉斯而改名为帕拉斯。雅典娜。
阿波罗;太阳神,宙斯和勒托之子,月神和狩猎女神阿尔忒弥斯的兄长,希腊十二大神诋之一,又名赫利俄斯。主掌光明,医药,文学,诗歌,音乐等。每天架天马拉乘的的黄金车巡游天上一周。
阿尔忒弥斯:月神,狩猎女神,纯洁之神。所以也被称为处女的保护神。阿波罗的孪生妹妹。
阿瑞斯:战神,是凶残,狡诈,非理性的,为战争而战争的神。曾与工匠之神的妻子维纳斯私通,被装进一张工匠之神特制的大网中而无法脱身。(维纳斯原为罗马神诋,后为希腊神话所吸收。)
赫尔墨斯:宙斯与阿特拉斯的女儿迈亚所生的儿子。脚生双翼,速度如飞,成为天界众神传令的使者,后为旅人,商人,盗贼的保护神,经常化为凡人下界帮助保护者。
狄俄涅索斯:酒神,拉丁文名字为巴卡斯,传说中酿酒的发明人,形象为一手持酒杯,一手拿松果木神杖,后升为欢乐,文明之神。
赫拉克勒斯:宙斯与凡人的私生子,为神母赫拉所仇视,但在雅典娜的巧妙安排下,赫拉为其哺过乳。出生后既力大无穷,曾于摇篮中捏死过两条巨蛇。成人后,完成了号称不可能完成的十二件大功。因此其后升为大力神。因在完成十二件大功中替人类扫除了众多妖魔怪兽,并解放了为宙斯囚禁的善神普罗米修斯,所以受人爱戴。富于反抗精神,曾不满宙斯的专制而反抗神界。
刻耳柏洛斯:地狱的守门狗,三头而蛇尾的魔兽,以青铜之声攻击敌人,是巨人和怪物所生的怪兽。
posted @
2005-01-23 19:06 小毅 阅读(2131) |
评论 (1) |
编辑 收藏
一、马太效应
《新约 马太福音》中有这样一个故事,一个国王远行前,交给三个仆人每人一锭银子,吩咐他们:“你们去做生意,等我回来时,再来见我。”国王回来时,第一个仆人说:“主人,你交给我们的一锭银子,我已赚了10锭。”于是国王奖励他10座城邑。第二个仆人报告说:“主人,你给我的一锭银子,我已赚了5锭。”于是国王例奖励了他5座城邑。第三个仆人报告说:“主人,你给我的一锭银子,我一直包在手巾里存着,我怕丢失,一直没有拿出来。”于是国王命令将第三个仆人的一锭银子也赏给第一个仆人,并且说:“凡是少的,就连他所有的也要夺过来。凡是多的,还要给他,叫他多多益善。”这就是马太效应。看看我们周围,就可以发现许多马太效应的例子。朋友多的人会借助频繁的交往得到更多的朋友;缺少朋友的人会一直孤独下去。金钱方面更是如此,即使投资回报率相同,一个比别人投资多10倍的人,收益也多10倍。
这是个赢家通吃的社会,善用马太效应,赢家就是你。
对企业经营发展而言,马太效应则告诉我们,要想在某一个领域保持优势,就必须在此领域迅速做大。当你成为某个领域的领头羊的时候,即使投资回报率相同,你也能更轻易的获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大,就要不停地寻找新的发展领域,才能保证获得较好的回报。
二、手表定理
手表定理是指一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只表时却无法确定。两只表并不能告诉一个人更准确的时间,反而会让看表的人失去对准确时间的信心。你要做的就是选择其中较信赖的一只,尽力校准它,并以此作为你的标准,听从它的指引行事。记住尼采的话:“兄弟,如果你是幸运的,你只需有一种道德而不要贪多,这样,你过桥更容易些。”
如果每个人都“选择你所爱,爱你所选择”,无论成败都可以心安理得。然而,困扰很多人的是:他们被“两只表”弄得无所,心身交瘁,不知自己该信仰哪一个,还有人在环境、他人的压力下,违心选择了自己并不喜欢的道路,为此而郁郁终生,即使取得了受人瞩目的成就,也体会不到成功的快乐。
手表定理在企业经营管理方面给我们一种非常直观的启发,就是对同一个人或同一个组织的管理不能同时采用两种不同的方法,不能同时设置两个不同的目标。甚至每一个人不能由两个人来同时指挥,否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于每个人都不能同时挑选两种不同的价值观,否则,你的行为将陷于混乱。
posted @
2005-01-23 19:00 小毅 阅读(269) |
评论 (1) |
编辑 收藏