摘要: /* * 创建一个类Game,石头,剪刀,布的游戏。 */ public class Game { /** * @param args */ String[] s ={"石头","剪刀","布"}; //获取电脑出拳 String getComputer(int i) { String computerGuess = s[i]; return computerGuess; } //判断人出拳是否为石头,剪刀,布 boolean isOrder(String guess) { boolean b = false; for(int x = 阅读全文
posted @ 2012-03-22 18:37 yunxiange 阅读(2381) 评论(0) 推荐(0)
摘要: 1 /* 2 3 * To change this template, choose Tools | Templates * and open the template in the editor. 4 5 */ 6 7 package com.wind.util; 8 9 import java.awt.BasicStroke; 10 11 import java.awt.Color; import java.awt.Font; 12 13 import java.awt.Graphics; import j... 阅读全文
posted @ 2012-03-22 18:35 yunxiange 阅读(472) 评论(0) 推荐(0)
摘要: 应用程序架构设计是开发中极其重要的一个环节,刚刚接触三层架构这一概念,谈谈我自己的理解:三层架构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。此模型将应用程序划分为三个层次:①用户界面层:负责处理用户的输入和向用户输出,但并不负责解释其含义。有时候出于对效率的考虑,这一层可能会在向上传输用户输入之前进行合法性验证。这一层通常采用前端工具(如VB、VC和Java)开发。②商业逻辑层:这一层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成检索语句或更新数据库,并把结果返回给前端界面显示。这一层通常以动态链接库的形式存在,并注册到服务器的注 阅读全文
posted @ 2012-03-22 18:34 yunxiange 阅读(219) 评论(0) 推荐(0)
摘要: 第一步:----安装J2SDK: 到SUN官方站点(http://java.sun.com)下载J2SDK的安装文件:j2sdk-1_4_2_04-windows-i586-p.exe,下载之后安装好J2SDK;安装完之后,设置环境变量:我的电脑---属性---高级---环境变量; ◆选择---系统变量(S): ◆设置JAVA_HOME环境变量: ◆单击---新建,在变量名中输入:JAVA_HOME ◆在变量值中输入:D:\Java(假设J2SDK安装在目录D:\Java下,反正就是J2SDK的安装目录。) ◆然后---确定,到此已经设置好JAVA_HOME环境变量。 ◆设置CLASSPATH 阅读全文
posted @ 2012-03-22 18:33 yunxiange 阅读(163) 评论(0) 推荐(0)
摘要: 作为一个Java程序员对自己的未来一定非常重视,如果你是一个java新人,你一定要好好看看下面的文章,有可能改变你的人生。 Java是被广泛接受的编程语言和执行环境。J2EE和J2ME是java最重要的两部分标准,当今,J2EE技术应用于大量的企业应用中, 构件技术的兴起,出现了以Java/EJB、DNA/COM和CORBA为代表的分布式对象/构件计算模型,使用上述技术的应用服务器中间件涵盖了传统中间件的功能,完全支持三层/多层的软件体系结构发展和软件复用,逐渐成为中间件产品的主流,java在超过80%的企业中使用。但更多的是集中在J2EE上的应用。 但是由于技术的规范化和大量J2EE... 阅读全文
posted @ 2012-03-22 18:29 yunxiange 阅读(243) 评论(0) 推荐(0)
摘要: 研究泛型与反射之间的关系非常有趣。我们知道,反射和泛型都是Java的一种动态技术。而不像继承和多态,是面向对象的技术。可以这么说,反射和泛型都像是为了弥补像继承和多态这些面向对象技术的不足而产生的。模式多是建立在面向对象技术基础上的,因而每种模式多多少少在动态性,或者说扩展性方面有些不足,我们就又结合了反射和泛型对模式进行一定的扩展,使它在动态性方面更符合我们的要求。在将这些技术结合起来的过程中,我们多多少少会想到将泛型和反射结合起来。这是非常有趣的话题:范型和反射都使得Java有了一定的扩展性,但同时都有它自己的不足,而将这两种技术结合起来,是不是又能解决各自的不足,使得它们在动态性上更.. 阅读全文
posted @ 2012-03-22 18:22 yunxiange 阅读(852) 评论(0) 推荐(0)
摘要: 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事。在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来越强烈,目前较为流行的操作是在JSP或Servlet 中创建一个CSV (comma separated values)文件,并将这个文件以MIME,text/csv类型返回给浏览器,接着浏览器调用Excel并且显示CSV文件。这样只是说可以访问到Excel文件,但是还不能真正的操纵Excel文件,本文将给大家一个惊喜,向大家介绍一个开放源码项目 Java Excel API,使用它大家就可以方便 阅读全文
posted @ 2012-03-22 18:15 yunxiange 阅读(593) 评论(0) 推荐(0)
摘要: 概要:本文主要描述XHTML中相对定位和绝对定位各自的本质、用法、区别和两者之间的关系。以及使用CSS的Left、Right、Top、Bottom属性(偏移属性)和Margin属性(外边距)对定位块级元素进行布局的方法。说明:占位空间:元素在文档流中所占据的空间。物理空间:元素本身所占据的空间。下面分3种情况分别对相对定位和绝对定位进行讨论:1.只使用css第一组属性布局定位元素的情况2.只使用css第二组属性布局定位元素的情况3.混合使用第一组和第二组属性的情况图1为未定位时的初始效果,层级关系为:<div<div box1<div box2<div box3效果图: 阅读全文
posted @ 2012-03-22 18:10 yunxiange 阅读(284) 评论(0) 推荐(0)
摘要: Containing FloatsAs powerful and useful as they are, floats can make for tricky layout tools. Chances are that you may have seen something like the situation shown in Figure 1, which is accomplished with just two div elements, each with a floated image inside it.Figure 1. That's not right!This i 阅读全文
posted @ 2012-03-22 18:09 yunxiange 阅读(260) 评论(0) 推荐(0)
摘要: 为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益的. 本文档由本人编写, 部分意见来源于网络, 以此感谢, 片面及有误的地方, 希望大家指正. 另, 本文档部分规范是为我所在项目组所写, 使用时请根据实际项目需求修改.以下为[WEB前端开发规范文档]正文点此查看WEB版本规范目的为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后 阅读全文
posted @ 2012-03-22 18:05 yunxiange 阅读(168) 评论(0) 推荐(0)
摘要: 浏览器越来越多,也就意味着做web前端开发的就越困难。现在的浏览器的内核都同,对于css的兼容也会有一定的差别!以前讲的用css hack来也不是一件容易的事,用过多的css hack来兼容也会出现许多臃肿的代码;所以掌握一些跨浏览器兼容的css编码准则是非常有必要的。 第一:理解css盒子模型(学习div+css布局也是很重要的,学会的css的盒子模型学习div+css也就不难了) 透彻地理解 CSS 盒子模型是首要事情,CSS 盒子模型并不难,且基本支持所有浏览器,除了某些特定条件下的 IE 浏览器。 CSS 盒子模型负责处理以下事情: 一个 blcok (区块)级对象占据多大... 阅读全文
posted @ 2012-03-22 18:04 yunxiange 阅读(164) 评论(0) 推荐(0)
摘要: 新华网北京4月20日电 国务院决定,为表达全国各族人民对青海玉树地震遇难同胞的深切哀悼,2010年4月21日举行全国哀悼活动,全国和驻外使领馆下半旗志哀,停止公共娱乐活动. 以下为全站CSS代码.html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); } 使用方法:这段代码可以变网页为黑白,将代码加到CSS最顶端就可以实现素装.建议全国站长动起来.为在地震中遇难的同胞哀悼. 如果网站没有使用CSS,可以在网页/模板的HTML代码和 之间插入: 有一些站长的网站可能使用这个css 不能生效,是因... 阅读全文
posted @ 2012-03-22 18:03 yunxiange 阅读(140) 评论(0) 推荐(0)
摘要: 程序员编程序离开不了功能和界面。有的涉及界面多一些,有些涉及少一些,也有一些后台维护的工作甚至不涉及到界面。当前,一些软件公司专业化程度较高,不但设计和编程分开了,甚至界面制作和功能制作也分离开了,设立了专业的美工岗位。但是大多数单位和软件公司还没有出现这种界面和功能的分离。有关功能和界面那个更重要的话题,时常在很多程序员不经意交谈中流露出来。在工作中我也常常面对界面和功能开发安排进行选择。有人的强调功能重要,有人的强调界面重要;我自己有时会强调功能重要,有时也会强调界面重要。到底那个重要?在这里我想谈谈我对两者认识的过程。我想通过看看这个过程,这会对程序员进一步认识功能和界面的关系有所参考。 阅读全文
posted @ 2012-03-22 18:02 yunxiange 阅读(220) 评论(0) 推荐(0)
摘要: 做为一个专职的页面重构者,我们从事的工作简单的说就是“将设计稿转换成WEB页面”,这一过程可以很简单到直接把PSD从PS里导出成网页;也可复杂到需要考虑页面中每个标签的使用,考虑“页面性能”。以“前端工程师”为目标的同学可能会不愿承认将页面重构这块分出来,但随着工种的细分,加上页面重构本身的专业性,独立为一个职业也不是不可能,至少我现在从事的就是一个专职的职位。如果你觉得一个前端工程师必须去画设计稿,可以不理会下面的内容。单纯的页面重构,所涉及到的工作内容一般是“分析设计稿=>切图=>写HTML和CSS”,虽然看起来很少,但要做好这份工作,绝非所想的那么容易。原因很简单:工作内容单 阅读全文
posted @ 2012-03-22 18:00 yunxiange 阅读(158) 评论(0) 推荐(0)
摘要: 内部类和C++中的嵌套类有点类似,不过Java中的内部类很有价值.需要内部类的几大理由:1.内部类可以隐藏你不想让别人看到的操作,此话怎讲呢,看看下面的例子(程序是Java编程思想里面的):publicinterfaceContents {intvalue();}publicinterfaceDestination {StringreadLabel();}publicclassGoods {privateclassContent implements Contents {private inti = 11;public intvalue() {returni;}}protectedclassG 阅读全文
posted @ 2012-03-22 17:45 yunxiange 阅读(213) 评论(0) 推荐(0)
摘要: 很多新手在学习编程的时候看到好多书上都有什么RTTI的一点讲解,觉得很重要但是自己一般好像又用不到,所以就放一边去了,这种学习的态度不好啊,原理性的东西要好好学习啊!!1.什么是RTTI??RTTI是运行时类型识别的简写(run-time type identification).RTTI可以在有一个指向基类对象的引用时,让你找出这个对象的确切类型.2.谈谈Class对象程序运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型识别。这象信息记录了每个对象所属的类。用来保存这些信息的类是Class类.每个类都有一个Class对象,也就是说每当编译了一个新类时就会产生一个Class对象( 阅读全文
posted @ 2012-03-22 17:45 yunxiange 阅读(238) 评论(0) 推荐(0)
摘要: 1、先谈谈作用域的概念,C或者C++老手可能觉得没必要,但是请不要这样,因为在Java中,作用域和C++中有点不一样,C和C++能将一个变量“隐藏”在一个更大的作用域里;C++的程序{intx = 10; {intx = 20; cout<<x<<endl; } cout<<x<<endl;}程序的输出结果是20和10;Java程序:{intx = 10; {intx = 20;/* 此行出错*/ }}Java的设计者认为这样做使程序产生了混淆1.Java中类的定义:class [类名]{/*类的主体*/}2.类中的字段(数据成员)classDa 阅读全文
posted @ 2012-03-22 17:44 yunxiange 阅读(208) 评论(0) 推荐(0)
摘要: 1.一些基本类型,像int,char这些类型(小的,简单的变量),为了方便,Java并没有把他们也创建到堆中,而是放在了堆栈中,可以高效的存取主类型大小最小值最大值封装器类型boolean1-bit––Booleanchar16-bitUnicode 0Unicode 216- 1Characterbyte8-bit-128+127Byteshort16-bit-215+215– 1Short1int32-bit-231+231– 1Integerlong64-bit-263+263– 1Longfloat32-bitIEEE754IEEE754Floatdouble64-bitIEEE754 阅读全文
posted @ 2012-03-22 17:43 yunxiange 阅读(360) 评论(0) 推荐(0)
摘要: 不想当将军的士兵不是好士兵,不想当高手的程序员不是好的程序员,今天和大家说说Java中的反射机制吧,和高手又接近一步了.1.什么是反射??反射指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实例、或对其fields设值、或唤起其methods1。这种“看透class”的能力(the ability of the program toexamine itself)被称为introspection(内省、内观、反省)。2.反射与RTTIRTTI在编译的时 阅读全文
posted @ 2012-03-22 17:41 yunxiange 阅读(1082) 评论(0) 推荐(0)
摘要: 很多人搞C++的人可能一看到多线程就比较烦吧,因为C++标准里面没有多线程,Java程序员应该感到庆幸了,因为Java内带的支持多线程。1.什么是多线程??多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常.. 阅读全文
posted @ 2012-03-22 17:39 yunxiange 阅读(211) 评论(0) 推荐(0)
摘要: 1.Java的运行条件:第一步:安装JDK,最新版本6.0,可以到sun的网站去下载JDK的下载地址(点击链接)(我的是安装在D:/SoftWare/Java/jdk1.5.0_04 );第二步:设置环境变量,Windows 2000 和XP在我的电脑->属性->高级->环境变量里设置新建JAVA_HOME : [JDK安装目录]/jdk1.5.0_04添加CLASSPATH:[JDK安装目录]/jdk1.5.0_04/bin;最简单的Java程序用记事本建立HelloWorld.java文件放到某个盘里比如E:盘;public class HelloWorld{ publi 阅读全文
posted @ 2012-03-22 17:38 yunxiange 阅读(176) 评论(0) 推荐(0)
摘要: 1.接口与多继承这个问题很多所谓的Java高手都对我说:Java是面向对象的语言,C++里有多继承,Java里面不允许多继承,于是乎Java就提供了接口来帮助我们实现多继承.Java的接口真的就是为了实现多继承吗???看了点真正的高手的文章,觉得Java的接口不是那么简单的,接口是接口,多继承是多继承.2.接口的作用接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是"抽去像的部分"(不知道是哪位大虾说的,借用一下).3.使用接口解决问题问题:现在我们要写个连接数据 阅读全文
posted @ 2012-03-22 17:33 yunxiange 阅读(237) 评论(0) 推荐(0)
摘要: 1.方便的IO操作是每个成功的语言所必须具有的,但是要有好的IO库可不是件容易的事情,因为不仅有三种不同的种类的IO需要考虑(文件、控制台、网络连接),而且需要通过大量不同的方式与它们通信(顺序、随机访问、二进制、字符、按行、按字等等)。2.Java库的IO类分割为输入与输出两个部分,通过继承,从InputStream(输入流)衍生的所有类都拥有名为read()的基本方法,用于读取单个字节或者字节数组。类似地,从OutputStream衍生的所有类都拥有基本方法write(),用于写入单个字节或者字节数组。然而,我们通常不会用到这些方法;它们之所以存在,是因为更复杂的类可以利用它们,以便提供一 阅读全文
posted @ 2012-03-22 17:31 yunxiange 阅读(257) 评论(0) 推荐(0)
摘要: 1.昨天和大家讲了有关Java的IO特性,现在应该可以读写文本文件和二进制文件了吧,但是在一些特殊情况下我们需要更快的IO操作,这就谈到我们今天要讲的java.nio.*包了;2.实现更快的IO操作,我们通常使用的结构类似与操作系统执行IO的方式:通道和缓冲器;我们不直接和通道打交道,我们是通过缓冲器和通道打交道的。所以通道要么从缓冲器获得数据,要么向缓冲器发送数据3.唯一和通道直接打交道的缓冲器是ByteBuffer(可以查看Java的doc);下面看示例程序,通过文件通道和ByteBuffer实现文件的读写和随机读写package MyJava.Base;import java.io.*; 阅读全文
posted @ 2012-03-22 17:30 yunxiange 阅读(281) 评论(0) 推荐(0)
摘要: ArrayList,LinkedList,Vector这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:一、同步性ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。二、数据增长从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类 阅读全文
posted @ 2012-03-22 17:03 yunxiange 阅读(267) 评论(0) 推荐(0)
摘要: 1.很多新手碰到异常处理的时候都偷懒不想看,觉得没有必要,其实只是新手的代码就那么几行还体会不到异常处理的好处,自然不想看了嘛,可是学习不是马虎的事嘛!!那么我们为什么需要异常处理呢??早期的编程语言(比如C语言)没有异常处理,通常是遇到错误返回一个特殊的值或设定一个标志,并以此判断是不是有错误产生。随着系统规模的不断扩大,这种错误处理已经成为创建大型可维护程序的障碍了。于是在一些语言中出现了异常处理机制,比如在Basic中的异常处理语句"on error goto”,而Java则在C++基础上建立了新的异常处理机制.2.Java中的异常处理Java通过面向对象的方法进行异常处理,把 阅读全文
posted @ 2012-03-22 16:45 yunxiange 阅读(427) 评论(0) 推荐(0)
摘要: 1.使用C语言的程序员可能习惯于在没有任何限制下访问所有东东,这不是说不好,可能在个人英雄时代是非常好的,可是现在的软件工程动不动就数十万行代码,早已不是单个程序员所能做的了,现在讲的是TeamWork(团队合作),为了解决多个程序员之间的命名和程序之间的沟通问题,C++提出了访问控制和命名空间的概念,访问控制也是面向对象中实现隐藏的主要手段.为什么要隐藏?先谈点,具体可以去研究面向对象的程序设计,“进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。”这一点对于库来说是特别重要的。那个库的用户(客户程序员)必须能依赖自己使用的那一部分,并知道一旦新版本的库出台 阅读全文
posted @ 2012-03-22 16:42 yunxiange 阅读(246) 评论(0) 推荐(0)
摘要: 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同. 阅读全文
posted @ 2012-03-22 16:41 yunxiange 阅读(131) 评论(0) 推荐(0)
摘要: 看看程序,说出你的结果(我最后再给出答案)程序一:public class Equivalence { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); }}你的结果如果是true和false的话,那么很不幸告诉你这是错误的答案,如果你不信的话可以在程序中试试,现在讲一下为什么。Java中比较对象的时候和C或者C++中不一样, 阅读全文
posted @ 2012-03-22 16:20 yunxiange 阅读(156) 评论(0) 推荐(0)
摘要: 我们知道,许多程序设计语言都允许在程序运行期动态地分配内存空间。分配内存的方式多种多样,取决于该种语言的语法结构。但不论是哪一种语言的内存分配方式,最后都要返回所分配的内存块的起始地址,即返回一个指针到内存块的首地址。当已经分配的内存空间不再需要时,换句话说当指向该内存块的句柄超出了使用范围的时候,该程序或其运行环境就应该回收该内存空间,以节省宝贵的内存资源。在C,C++或其他程序设计语言中,无论是对象还是动态配置的资源或内存,都必须由程序员自行声明产生和回收,否则其中的资源将消耗,造成资源的浪费甚至死机。但手工回收内存往往是一项复杂而艰巨的工作。因为要预先确定占用的内存空间是否应该被回收是非 阅读全文
posted @ 2012-03-22 16:17 yunxiange 阅读(125) 评论(0) 推荐(0)