- 博客(31)
- 收藏
- 关注
Java动态特性
Java有三大特性:封装、继承以及多态。很久以前,对于多态这一特性,我所了解的就是由方法的重载、重写所引起的。当一个对象调用一个方法时,我们会产生疑问,程序实际运行时调用的是哪一个方法?调用的是父类中的方法,还是子类本身的方法?如果一个类中有好几个重载方法,那么还涉及到选择调用哪一个重载方法版本。现在从较深层次来理解Java的多态。1、静态类型与实际类型看下面的代码...
2012-05-11 12:33:50
258
内存分配与回收
一、垃圾收集算法1、最常见的判断对象是否存活的方法有引用计数法和根搜索算法。 (1) 引用计数法中,每一个对象都有一个引用计数器,当它被引用时,计数器+1,当一个引用释放时,计数器的值-1。引用计数法的特点是简单、高效,但是它解决不了对象间互相引用的问题。 (2) 根搜索算法:从根集合出发,根据引用关系,不断地往下搜索。搜索路径就构成了引用链,在引用链上的对象都是存活对象。而...
2011-11-30 22:27:30
239
Android开发环境搭配
Android开发环境搭配本博客介绍了在windows下搭配Android开发环境 一、下载Android SDK1.在浏览器进入 http://code.google.com/android 网页,单击Android SDK链接,进入下载SDK。 二、为Eclipse安装Android开发插件ADT(Android Develop Tool...
2011-10-26 19:33:27
217
密码技术
数字化和网络化已成为当前技术和社会发展、进步的显著特征。Internet最大的特点就是开放性,网络中传输的字节流都是开放的,所以信息安全是很重要研究内容。信息安全的内容涉及信息保密与认证、恶意软件与病毒、防火墙技术、网络安全、操作系统安全和数据库系统安全等方面的内容。1.密码技术为保密而采用密码技术,对重要机密信息进行加密以防止破译信息系统中的机密信息的技术手段。 1.1...
2011-10-03 15:17:02
229
android:SQLite应用
Android开发:SQLite应用SQLite是一个很小的关系型数据库,它虽然小,但是有比较全面的功能。也正是因为小,使用时占用的手机资源也就少,也就更加适用手机。下面讲讲SQLite在Android开发中的简单应用:在SQLite中的数据库为SQLiteDatabase类的对象,要得到一个SQLiteDatabase对象,一般需要借助SQLiteOpenHelper数据库辅助...
2011-08-29 22:16:50
140
数据库实体间多对多关系处理
数据库实体间多对多关系处理 数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。 这三种关系在数据库中逻辑结构处理分析: 1.一对多关系处理:我们以学生和班级...
2011-08-22 12:34:22
2767
数据库中主键与外键的理解
数据库中主键与外键的理解 在关系型数据库中,数据结构有逻辑结构和物理结构。物理结构指存储在物理介质上的数据文件的结构。逻辑结构即关系,也就是一张张的二维表。表中的一列即为一个字段(属性),代表的是实体的一个属性。表中的一行即为一条记录。如:学生表中(学号,姓名,年龄,性别),在该表中有4个字段,代表学生实体的4个属性。表中的一行数据(001,张三,男,20),即一条记录,表示的是张...
2011-08-06 23:00:37
401
代码编写心得
今天把聊天系统的代码分析了一下,发现代码耦合度很高。各个类相互调用其中的方法,A类调用B类的方法,B类调用C类的方法,又发现C类还调用了A类的方法。如此带来的问题出现了,要想修改其中一个类,就得修改使用了该类的类,以致整个代码都需要修改,使人头昏脑胀。这样的高耦合的代码,可扩展性低,不可能做到增加一个新的功能而只需修改少量代码。我们不能只专注于代码本身,而是应该跳出代码,去思考和设计代码的结...
2011-07-25 22:47:40
370
学习总结
异常处理有点像艺术性问题,没有标准的解决方案,只有靠平时的积累和经验总结。有一点值得我们去琢磨,异常是由方法自己处理掉,还是将其抛给调用者。无论是选择异常都由自己处理掉,还是都抛给方法的调用者,都不是好的解决方案。每个方法都有它的责任,都要尽量保证程序的健壮性。如何处理异常,要考虑到不能让自己崩溃,要避免因为自己处理掉异常,而给调用者造成死循环或者内存溢出等问题。 2.代码模...
2011-07-23 00:19:51
135
原创 网络通信总结(3)
通信协议学习总结在网络通信学习过程中,通信协议由消息格式和通信流程构成。1.消息格式 XML语言,即可扩展文本标记语言。我们所熟悉的HTML语言(超文本标记语言)也是XML语言的一种。在通信过程中为什么要学习使用XML格式的消息格式?之前我们在网络上传送消息时,都是以"\r\n"作为一条消息的结束符标志。而我们知道一条消息中常常包含有多种不同类型的信息,例如登陆QQ时,客户端发送给...
2011-07-21 00:00:03
128
网络通信总结(2)
1.Java中客服端的创建 1.语法格式: java.net.Socket client = new java.net.Socket(String ip,int port); //其中参数ip为服务器的IP地址,port为服务器端口号。 然后是得到client的输入输出流对象。因为客户端读入数据时会出现阻塞,所以我们要将它放到一个独立的线程中去处理。 2.通信流程...
2011-07-18 22:47:43
139
网络通信总结(1)
网络通信,实际上就是在不同机器上的两个程序间的字节(本质上是二进制位)传输。一般情况下,两个通信的程序中,一个是请求者,我们称之为客户端,另一个是等待被请求者,这就是服务器。简单服务器创建格式比较简单,格式如下: java.net.ServerSocket server = new java.net.ServerSocket(9090); 其中的参数909...
2011-07-16 20:49:43
153
文件压缩(哈夫曼编码)
哈夫曼编码压缩压缩过程思路:1、 统计文件中每个字节出现的次数,每一个字节由8bit组成,一个字节从0~255,分别统计每种字节的次数。1、实现思路:创建一个长度为256的数组,数组的下标与byte的值对应,数组中的每一个数据元素表示一种字节出现的次数。 2、 根据每个字节出现的次数建一个哈夫曼树1. 遍历前面建立的数组,判断数组元素的值是否为0...
2011-06-08 16:07:53
273
原创 坦克游戏分析
Java实现的坦克设计思路:坦克游戏主类:TankGame控制自己坦克的类:MyTank自己发出的炮弹的线程类:MyShell敌人坦克运动线程类:EnemyTank敌人炮弹线程类:Shell监听敌人敌人炮弹队列的线程类:ShellThread定时产生敌人坦克的线程类:CreateTank游戏参数配置借口:Config 坦克游戏主类:TankGame...
2011-06-03 00:47:49
312
多线程通信:“监视线程”通讯模型
一个程序中有多个线程在运行,我们需要监测各个线程的运行状态,看各个线程是否已经执行完成。如:要统计系统的各个根目录下的文件数目,一个统计线程去统计一个根目录下的文件数目。但是我们想让程序在所有统计线程统计完毕后再统一输出统计结果,这就需要用到"监视线程"模型。 下面一种"轮询"监视模型,把每一个统计类线程添加到一个队列中,用一个监视线程循环地询问队列中的线程,如果某一个线程已...
2011-05-05 13:36:00
162
java学习总结(线程基础)
线程学习总结1.基础知识 1.每一个程序就是一个进程,一个进程有一个或者多个线程组成。 2.进程之间的通信,一般要通过网络。如在异地的两个QQ程序之间的通信,这就是两个进程通过网络进行数据交换。 3.进程中的各个线程可以共享同一个进程的资源数据。2.线程基础 1.Runnable接口是实现线程的接口。 2.用Thread类可以实例化一个线程,Thread就是实现了Runnable接口的线程类。...
2011-05-04 17:08:25
105
五子棋(含较高级的人机对战)
五子棋(含较高级的人机对战算法)这是我自己做的五子棋,含有人人对战,人机对战模式,还有悔棋、保存棋局功能。只要还没有输棋,就可以无限制悔棋。可以将未下完的棋局保存下来,下次接着下。 五子棋人机对战思路:我遇到的问题:电脑怎么判断它应该要下棋的位置?解决思路:一、1、建立一个二维数组,该二维数组对应于五子棋棋盘上的每一个位置。2、我们用一种评分规...
2011-04-22 00:58:44
5398
java学习总结(文件输出流与缓冲流)
OutputStream的学习总结 1.OutputStream与InputStream一样都是抽象类,它只定义了字节输出流统一 的几个方法,具体的实现有6个不同的子类 2.OutputStream的6个实现子类: ByteArrayOutputStream,FileOutputStream,FilterOutputStream,ObjectOutputStream,OutputS...
2011-04-19 23:49:15
220
打开BMP图片程序
import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.IOException;import javax.swing.JFrame;/** * 打开BMP格式图片的程序 * * @author XiongMinghua * * 主...
2011-04-19 23:16:07
202
java学习总结(异常机制)
异常机制学习总结1.throwable类是Java中所有错误或异常的超类。它的直接子类是Error类和Exception类。2.Exception是异常的超类,异常是一个个对象,出现异常后,JVM以异常对象形式将异常信息反馈给用户。3.异常处理的关键字: 1.try,catch 2.语法格式: try{ //可能出现异常的语句 }catch(Exception e){...
2011-04-19 23:07:00
157
java学习总结(IO基础学习)
IO基础学习总结1.InputStream是一个抽象类,它有多种具体的实现类 1.FileInputStream文件输入流 2.AudioInputStream音频输入流 3.ByteArrayInputStream 4.FilterInputStream过滤输入流 5.ObjectInputStream对象输入流 6.PipedInputStream管道输入流 7.SequenceInput...
2011-04-14 17:54:04
86
java学习总结(文件操作)
Java文件操作的学习总结:1.文件 1.标准文件:就像图片,音乐文件等。 2.目录文件:也就是平常所说的文件夹。 3.虚拟内存文件:系统在运行程序时生成的临时性文件。2.文件的路径 1.相对路径:相对于某一文件的路径,形象地说是把两文件的绝对路径相同的部分砍掉,剩下的就是相对路径 如: A文件是"D:\My Documents\StudySample\src\cn\xmh", B文件...
2011-04-07 23:06:34
169
java学习总结(集合框架)
学习集合框架的总结:主要学了三种集合框架,分别是Set,List和Map。1.Set 1.Set是一种接口,它继承了Collectio接口。 2.Set是一种用来装东西的容器,我们可以用由它的实现类创建的对象来装基本数据类型的的数据元素,也可以用来装我们自己定义的类对象。 3.常用的Set实现类有HashSet和TreeSet类,用着两个类实例化的对象可以用来装数据元素。 4.实现类的使用格式: ...
2011-03-29 23:29:06
84
java学习总结(关键字)
关键字1.访问限定符 1.public 1.公共的访问修饰符。 2.它的可见性是在同一个工程(project)下 3.用public限定的属性和方法可以被在同一工程下的类调用。 2.protected 1.公开性低于public的访问限定符。 2.它的可见性是在同一个包下(package)。 3.在同一个包中的类都可以调用protected限定的属性和方法。 3.默认的 1.默认...
2011-03-29 23:28:01
82
java学习总结(画板重绘)
学习重绘后的总结1.为什么要重绘? 我们在窗体中画了图形,当我们最小化窗体或者弹出颜色选择器时,原来的图形就不见了,于是我们需要学习重绘。2.重绘就是把原来画的图形重新在窗体中画出来,即当我们最小化窗体或者弹出颜色选择器时,原来的图形还表现在窗体上。3.重绘的实现: 1.重绘运用到了我上一节课学的自定义队列。我们把我们所画的图形都存入队列中, 当最小化窗体或者弹出颜色选择器时,再将之前...
2011-03-28 23:51:42
459
java学习总结(数组与队列)
数组与队列的总结1.数组与队列 1.数组: 1.数组一旦规定其长度就不能再改变。 2.可以给数组中指定位置的元素赋值,即修改它的值。 3.一维数组: 一维数组定义的语法格式: 1.类型名[] 数组名 = new 类型名[数组长度]; 2.类型名[] 数组名 = new 类型名[数组长度]{数据元素值}; 4.二维数组: 1.二维数组实际上是一个二维表。 2.二维数组可以...
2011-03-28 23:50:31
140
java学习总结(事件处理)
学了事件处理后,我学习了做一个简单的画板程序,该画板简单到只能选择颜色,画直线、矩形、圆形和填充圆。这个程序中我用到了接口,抽象类,使用内部类简化事件处理方式。1.类实现接口必须重写接口中所有的方法2.在内部类中可以new 接口名 如:btnColor.addActionListener(new ActionListener() { public void actionPerf...
2011-03-18 15:04:44
180
java学习总结(swing组件)
swing组件用容器类组件和元素组件。 Container(容器)组件:用于管理其他界面组件的组件,例如:JFrame(窗体组件),JPanel等。 元素组件:用于构成各种用户界面的组件,例如:JLabel(标签),JTextField(文本框),JButton(按 钮)等。任何元素组件都有一个.addActionListener(java.awt.ActionListener listener)...
2011-03-18 14:43:32
133
java学习总结(抽象类)
抽象类常用作“适配器”,因为无论一个接口中定义了多少方法,子类都必须实现。import java.awt.event.MouseEvent;import java.awt.event.MouseListener;public class Mouse implements MouseListener { @Override public void mouseClicked...
2011-03-18 13:59:26
124
java学习总结(类的继承)
这是第五次课后的总结。这次课学的是类的继承。内容有:1.类继承的实现和作用 前面已经学了类的语法格式,现在学了类的继承。类的继承是用extends关键字。 示例: public class UNStudent extends Student{ //方法和属性 } 类的继承作用:子类继承父类后,子类会继承父类的属性和方法,根据需要子类可以重写父类的 方法。 注意点:除了pri...
2011-03-15 11:34:10
125
java学习总结(类与对象)
我已经去蓝杰上了四次课了。1、第一节学的是Java基础入门,其中有Java开发环境配置,Jdk的安装以及环境变量的设置,还有java的基本数据类型。数据类型有值类型和应用类型,值类型有:int、byte、float、double、long、boolen。2、第二节学了类与对象。掌握了什么是类以及类的实例化。最初写的是很简单的类,从练习中慢慢熟悉了定义类的格式。如:写一个学生类public c...
2011-03-14 23:10:41
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人