09 2012 档案
摘要:xml基础1、什么是XML?Extensible Markup Language,翻译过来为可扩展标记语言。2、XML技术用于解决什么问题?XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。例如:3、XML常见应用:XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定。例如一个软
阅读全文
摘要:一、集合类与数据容器1、集合与数组的特点:集合只存储对象,是一个容器,用于存放对象,长度可变,要存储基本数据需先转换为对象数组可存对象,也可是基本数据,长度不可变,是一个容器2、 Java用集合类来容纳不同种类的数据,这种容纳是建立在未知的基础上,即Java要用有限种类的集合类,来容纳无限种类的数据对象。3、 分类:Java的集合类可以分为三类:集、列表和映射(1)集(Set):和数学上的“集合”概念相对应,是最简单的一种集合。Set集合中不区分元素的顺序,因此也就不记录元素的加入顺序。‚Set集合中不包含重复元素,即任意的两个元素e1和e2都有e1.equals(e2)=false,并且最
阅读全文
摘要:1、概述:注解是JDK6.0以上版本新增加的一项功能它可以添加到程序的任何元素(如包声明、类型声明。构造方法、方法、成员变量等)上用来设置一些说明和解释。访问和处理注解的工具统称APT(Annotation Processing Tool)。2、JDK内置的基本注解类型:(1)Java的注解采用“@”标记形式,后面跟注解类型名称;例如:@SuppressWarnings(value={"unchecked"})。(2)重写Override:import java.awt.List;import java.util.*;public class OverrideTest {p
阅读全文
摘要:1、概念:反射就是把Java类中的各种成分映射成相应的java类。2、功能:(1)在运行时判断任意一个对象所属的类。(2)在运行时构造任意一个类的对象。(3)在运行时判断任意一个类所具有的成员变量和方法。(4)在运行时调用任意一个对象的方法。通过反射甚至可以调用到private的方法。(5)生成动态代理。3、Java反射所需要的类主要有:java.lang.Class类和java.lang.reflect包中的Field、Constructor、Method、Array类。4、Class类:(1)Class类封装一个对象或接口运行时的状态。(2)JVM:(Java Virtual Machin
阅读全文
摘要:1、泛形的作用:JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。代码说明:(1)List list=new ArrayList(); list.add("abc"); //String类型不能强转成Integer类型,编译时不报错,运行出错 Integer i=(Integer)list.get(0);(2)list.add(new Random());list.add(new ArrayList());for(int i=0;i<list.size();i++){ //此处取出来的对象
阅读全文
摘要:使用 commons-beanutils-1.8.0.jar 与 commons-logging.jar对javaBean的存取操作1)BeanUtils bUtils = new BeanUtils();2)在存取值得时候8种基本类型可以 自动转换可以注册自己定义的类型转化/注册使用BeanUtils定义好的转换规则 注册:ConvertUtils.register(转换方式,要转换的目标类型);(org.apache.commons.beanutils.converters)包里面 预先定义好的转换规则自定义转换方式:1):一个实现了org.apache.commons.beanutils
阅读全文
摘要:为什么要学内省?开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。什么是Java对象的属性和属性的读写方法?内省访问JavaBean属性的两种方式:通过PropertyDescriptor类操作Bean的属性通过Introspector类获得Bean对象的 BeanInfo,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后通过反射机制来调用这些方法。请使用s
阅读全文
摘要:一、JavaSe加强主要讲的是JDK 5.0新特性(有助于编写更加清晰,精悍,安全的代码。)新特性包括:1、静态导入2、自动装包/拆包3、for-each循环4、可变参数5、枚举6、泛型7、元数据二、静态导入1、静态导入语法用于导入指定类的某个静态属性值(方法)或全部静态属性值(方法)2、语法:Importstatic包名.类名.静态属性|静态方法|*(*代表所有)3、导入语句使用import static语句1)导入指定类的单个静态属性:import static java.lang.System.out2)、导入指定类静态方法: import staticjava.lang.Math.ma
阅读全文
摘要:IT行业到底是一个让人觉得苦闷的行业,还是一个有着非凡魅力的行业? 大部分的IT从业者都承受着巨大的压力,而且工作时间很长。很多人都认为自己的工作毫无趣味可言。之前韩国ZDNET就发表了一篇“离开IT行业十大理由”的文章,这十大理由包括压力大,工作时间长,必须按照命令行事,竞争激烈等。但事实上,IT行业并非如此压抑无趣。美国CNET公司的Allen Norton介绍了留在IT行业工作的十大理由,希望那些想离开IT业的人们再重新考虑一下。虽然大部分理由都源于美国,但也值得我们参考和借鉴。 高薪的诱惑 任何上班族都会觉得钱难赚。虽然IT行业也一样,但是与其他职业相比,IT业的年薪还是相对较高...
阅读全文
摘要:package com.week.base;public class Demo1 {/*** @param args*/public static void main(String[] args) {Week s=new Week();s.setName("今天");s.setGrade(Grade.Mon); String str=Grade.Mon.getValue(); String str1=Grade.Mon.toLocalGrade(); System.out.println(str+"...."+str1);}}package com.we
阅读全文
摘要:1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?5.12个球一个天平,现知道只有一个和其它
阅读全文
摘要:·8步教你打开Android之门NDK入门教程这是一篇AndroidNDK开发的入门教程,在这一教程结束后,你将创建你自己的项目,从Java代码简单地调用原生C语言代码。前不久我们为大家介绍过在MyEclipse8.6上搭建Android开发环境,本文为一篇外文翻译,我们将介绍如何学习安装AndroidNDK并开始使用它。在这一教程结束后,你将创建你自己的项目,从Java代码简单地调用原生C语言代码。教程细节技术:AndroidSDK、NDK、C语言难度:进阶预计完成时间:60-90分钟先决经验在我们开始之前,我们需要先花点时间了解一下这一教程的难度。它的标记是“进阶”。之所以标为“
阅读全文
摘要:资料来源:北软教育 www.softedu.org|专业的java 培训、网络培训、网络安全培训基地在客户/服务器通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket 负责接收客户连接请求。本章首先介绍ServerSocket 类的各个构造方法,以及成员方法的用法,接着介绍服务器如何用多线程来处理与多个客户的通信任务。本章提供线程池的一种实现方式。线程池包括一个工作队列和若干工作线程。服务器程序向工作队列中加入与客户通信的任务,工作线程不断从工作队列中取出任务并执行它。本章还介绍了java.util.concurrent 包中的线程池类的用法,在服务器程
阅读全文
摘要:Java网络编程入门服务器与客户程序只需关心发送什么样的数据给对方,而不必考虑如何把这些数据传输给对方,传输数据的任务由计算机网络完成。两个进程顺利通信的前提条件是它们所在的主机都连接到了计算机网络上。网络协议是网络中主机之间通信的语言。不同网络之间的互联靠网络上的标准语言——TCP/IP协议。OSI参考模型把网络分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。不同主机之间的相同层称为对等层。物理层:为上一层提供物理连接,以及规定通信节点之间的机械和电气特性。数据作为原始的比特(bit)流传输。数据链路层:数据链路层负责在两个相邻节点间的线路上,无差错地传送以帧为单
阅读全文
摘要:UDP协议1.面向无连接2.速度快3.不可靠的协议,容易丢包4.包小于64kDatagramSocket:此类表示用来发送和接收数据报包的套接字DatagramPacket:数据包发送端:1.创建一个udpsocket服务 DatagrameSocket ds=new DatagramSocket();2.将数据封装到数据包中 .... DatagramPacket dp=new DatagramPacket(buf,buf.length,ip,port);3.使用socket的send方法发送 ds.send(dp);4.关闭资源 ds.close();接收端1.创建一个upd接收端点,必.
阅读全文
摘要:Java网络编程Java是一种平台无关的编程语言,具有“一次编写,到处运行”的特点,所以非常适合网络编程。可以说,在网络编程方面没有任何一门语言比java更优秀。一、网络基本概念1、计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互传递信息,共享硬件、软件、数据信息等资源。2、网络体系结构:国际标准化组织ISO于1978年提出“开放系统互连参考模型”,即著名的OSI(OpenSystemInterconnection)模型。该模型把计算机网络分成物理层、数据连接层、网络层、传输层、会话层、表示层、应用层等七层
阅读全文
摘要:JDBC部分终端进入mysql: mysql -u root回车终端进入oracle: telnet 192.168.0.23 然后sqlplus openlab/open123MySQL常用命令: show databases; use tableName; show tables;一、概述JDBC JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。 从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。 JDBC API 使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。 ODBC:基于C语言的数据库访问接口。 JDBC:是Java版的ODB...
阅读全文
摘要:本文将告诉你学习Java需要达到的25个目标,希望能够对你的学习及找工作有所帮助。对比一下自己,你已经掌握了这25条中的多少条了呢? 1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是 class,object,interaction以及statediagrams。 2.你需要学习Java语言的基础知识以及它的核心类库 (collections,serialization,streams,networking,?multithreading,reflection,event,handling,NIO,localiza...
阅读全文
摘要:1.备份和恢复需求分析数据库中的数据丢失或被破坏可能是由于以下原因:(1)计算机硬件故障。由于使用不当或产品质量等原因,计算机硬件可能会出现故障,不能使用。如硬盘损坏会使得存储于其上的数据丢失。(2)软件故障。由于软件设计上的失误或用户使用的不当,软件系统可能会误操作数据引起数据破坏。(3)病毒。破坏性病毒会破坏系统软件、硬件和数据。(4)误操作。如用户误使用了诸如DELETE、UPDATE等命令而引起数据丢失或破坏。(5)自然灾害。如火灾、洪水或地震等,它们会造成极大的破坏,会毁坏计算机系统及其数据。(6)盗窃。一些重要数据可能会遭窃。因此,必须制作数据库的复本,即进行数据库备份,在数据库遭
阅读全文
摘要:20. ARM-Linux原理与移植 20.1ARM-Linux的配置、编译。 20.2ARM-Linux启动代码分析。 20.3ARM-Linux 地址映射的关系。 20.4 Busybox的配置、编译 。(三)成为Android高手的十个建议1、Q:如何成为高手? A:成为一名真正的Android高手必须掌握和遵循的一些准则: 1)学会懒惰 aDon"t Reinvent the Wheel(不要重复发明轮子)。 bInventing the Wheel(发明轮子)。 cDon"t Reinvent the Wheel(不要重复发明轮子)。 “轮子理...
阅读全文
摘要:1、数据库基础知识创建数据库、表、向表中插入、修改、删除、查询数据。2、Java连接数据:1、创建项目,导jar包2、封装数据库连接的类创建一个返回值为connection类型的方法3、得到连接对象,创建statement对象,准备sql语句,利用statement对象的executeUpdate()方法返回sql语句影响的记录的数量(提前定义int类型的变量);利用statement对象的executeQuery()方法返回sql语句的结果集(提前定义resultSet结果集)。处理返回值(if语句或者while循环语句)。3、Java连接数据库:配置文件。1、创建db.properties
阅读全文
摘要:摘要:本文总结了影响Java EE性能的十大问题 1)缺乏正确的容量规划;2)中间件环境规范不足;3)虚拟机垃圾回收过度;4)与外部系统集成过多或过少;5)缺乏适当的数据库SQL调优和容量规划;6)特定应用程序性能问题;7)中间件调优问题;8)主动监控不足;9)公共基础设施硬件饱和;10)网络延迟。本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的10个影响Java EE性能问题。1.缺乏正确的容量规划容量规划是一个全面的和发展的过程标准,预测当前和未来的IT环境容量需求。制定
阅读全文
摘要:摘要:很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果没有同步
阅读全文
摘要:对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!Strings="Helloworld!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Helloworld!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hellowor
阅读全文
摘要:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC是用于执行SQL语句的API类包,由一组用Java语言编写的类和接口组成。JDBC提供了一种标准的应用程序设计接口,通过它可以访问各类关系数据库。通常情况下使用JDBC完成以下操作:(1)同数据库建立连接;(2)向数据库发送SQL语句;(3)处理从数据库返回的结果。装载驱动程序并建立连接。1.创建数据源2.装载驱动程序成功加载后,会将加载的驱动类注册给DriverManager类,如
阅读全文
摘要:导入包:Ctrl+Shift+O 编辑 作用域 功能 快捷键 全局 查找并替换 Ctrl+F 文本编辑器 查找上一个 Ctrl+Shift+K 文本编辑器 查找下一个 Ctrl+K 全局 撤销 Ctrl+Z 全局 复制 Ctrl+C 全局 恢复上一个选择 Alt+Shift+↓ 全局 剪切 Ctrl+X 全局 快速修正 Ctrl1+1 全局 内容辅助 Alt+/ 全局 全部选中 Ctrl+A 全局 删除 Delete 全局 上下文信息 Alt+? Alt+Shift+? Ctrl+Shift+Space Java编辑器 显示工具提示描述 F2 Java编辑器 选择封装元素 Alt+Shift+
阅读全文
摘要:之六)优化:让程序运行更稳定、更高效 改善游戏的合理性 到目前为止,我们的游戏基本上算是完成了,为了使程序更合理,我们还需要将整个程序从头再理一遍,看看有没有改进的地方。 首先,在变量的使用上,由于很多地方会使用相同的数据,因此,将变量定义为 public static 可以减少不必要的重复定义,如颜色、使用的图片等。 其次,由于 JAVA 的特性,我们可以对程序进行简单的修改(如使类从 JApplet 继承而不是从 JFrame 继承等),将其改变为 Applet 程序,让游戏在网页中也可以运行。同时,也考虑到程序的发布,我们可以将最终结果生成 JAR 包。第三、为了确保在游戏运行时所有需要
阅读全文
摘要:(之五)完善用户界面 让界面更动起来 整个程序的界面总算是出来了,可惜不太漂亮,这种界面,别说别人,就连自己也不愿意多看几眼,因此,做一些适当的美化工作还是非常有必要的。 想要让界面变得漂亮,最好的办法就是大量使用帖图,可惜,图片太多不仅会影响到程序的执行效率,同时,由于美工不是我们的长项,因此,我们还是走走捷径算了。 首先,我们将各个用户控件设置好背景色,这是最简单的方法了,只要颜色搭配得当,也是最有效的办法了。 其次,为了使界面看上去不那么单薄,因此,我们可以想办法使界面更有立体感。好在 JAVA 为我们提供了许多种 Border 控件,通过 Border 控件来组合其它控件的使用,将会使
阅读全文
摘要:同步的两种表现形式:1.同步代码块 synchronized(对象){ 需要同步的代码}2.同步函数: 使用的锁是this public synchronized void show(){}同步的作用:避免线程的安全隐患单例懒汉式class Single{ private static Single s=null; private Single(){} public static Single getInstance(){ if(s==null) synchronized(Singel。class){ if(s==null) s=new Single(); } return s;}class.
阅读全文
摘要:之四)添加更多的功能 计分功能 大体上我们的程序已经可以跑了起来,可惜,就这么玩玩也太没有意思了,总得有个计分的吧。虽然我们不知道别人是怎么计分的,可是,程序是我们自己动手写的,我的地盘我做主,看看我是怎么计分的吧(实现可以放在下一步)。规定用户游戏时间,游戏时间为地图中方块数 * 4 ,比如说有 120 个方块,那么游戏时间就是 480 秒,如果用户在 480 秒内没有完成游戏,则没有时间奖励分时间奖励分为剩余时间 * 1 ,即在规定时间内完成游戏的,每提前一秒钟奖励 1 分 当已经选择第二个点后,如果选择的第二个点与第一个点之间无解,扣 1 分,如果有解,则增加 10 分 刷新功能会降低游
阅读全文
摘要:线程的概念:线程就是应用程序中的一个可执行线索,多线程就是同一个应用程序中有多个可执行线索,它们可以并发执行。线程开始执行时,它在publicvoidrun()方法中执行。该方法是定义的线程执行起点,像应用程序从main()开始一样。首先main()方法构造SimpleRunnable类的实例。实例有自己的一个String数据,初始化为"Hello"。由实例传入Thread类构造器,这是线程运行时处理的数据。执行的代码是实例方法run()。一个建立线程的例子publicclassSimpleRunnableimplementsRunable{privateStringmes
阅读全文
摘要:(之三)将算法与界面结合起来用布局和按钮来实现算法的界面 上面已经说完了算法,相信大家也迫不及待的想进入界面的设计了吧,好了,多的不说,我们开始吧。 既然我们的算法是基于二维数组的,那么我们也应该在界面使用一个能反映二维数组的控件。这里有两种方式,一种使用表格来实现,第二种是使用布局来实现。 相对而言,用表格来实现二维数组要简单一些, JAVA 提供的布局方式可能是令大家都不习惯的一种界面设计方式,不过,在这里,我还是选用了布局的方式来实现界面,因为,当你设计完界面后,你会发现 JAVA 的布局也是有它的优点的。JAVA 提供了 BorderLyout 、 GridLayout 、 FlowL
阅读全文
摘要:(之二)实现游戏的算法 将游戏地图转换为数组来描述 算法总是很枯燥的,没有直接设计界面来得舒服,然而,算法却是整个程序的核心,所以,仅管枯燥,我们还是得耐心地完成这一步。 在进行程序算法的设计时,我们首先要尽可能抛开一些无关紧要的部分,这样可以使算法看起来直接明了,但同时也要考虑弹性,以便将来扩充。 在前面已经说过了,整个游戏的核心算法也就是以二维数组为主体的算法,那么,定义一个二维数组是必不可少的了。 二维数组究竟应该有多大呢? 10X10 是不是小了, 20*20 呢,大了?究竟多大比较合适?为了考虑到程序以后改动的需要,我们还是定义成变量吧,这样以后要改动的时候,只需要改动一下变量的值就
阅读全文
摘要:JAVA ,相信大家也不会陌生了吧, JAVA 是一门相当优秀的语言。目前 JAVA 领域 J2EE 、 JSP 、 STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME 也由于能够被大量的移动设备所支持,因此,也有不少的程序,特别是游戏是在 J2ME 平台上开发的,反而是 J2SE ,似乎只是被人们用来做一做程序界面的,就连 APPLET 也很少有人使用了(有了 FLASH ,谁还用 APPLET 啊)。用 JAVA 来开发桌面平台的游戏,似乎很少有人这么做,也可能大家一想到做游戏都会想到 C 、 C++ 、汇编等。 前段日子我迷上的 QQ 游戏中的“连连看”,
阅读全文

浙公网安备 33010602011771号