- 博客(20)
- 收藏
- 关注
原创 字符串倒序输出
java实现://利用String类的toCharArray(),再倒序输出数组。public class javatest { public static void main(String[] args) { String originalString = "abcdefg"; String resultString = ""; char[] charArray = ori
2012-04-15 19:09:00
4452
原创 工厂模式
简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。 简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。不修改代码的话,是无法扩展的。工厂方法工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。在同一
2012-04-06 21:16:40
1117
原创 二叉树遍历算法
二叉树的遍历是指按照一定次序访问二叉树中的所有节点,且每个节点仅被访问一次的过程。是最基本的运算,是其他运算的基础。 二叉树有两种存储结构:顺序存储和链式存储 顺序存储: (对完全二叉树来说,可以充分利用存储空间,但对于一般的二叉树,只有少数的存储单元被利用)typedef struct { ElemType data[MaxSize]; int n;}
2012-04-06 09:33:11
17422
原创 Dalvik虚拟机探析
Dalvik虚拟机是google专门为android平台开发的一个java虚拟机,但它并没有使用JVM规范。Dalvik虚拟机主要完成对象生命周期的管理、线程管理、安全和异常管理以及垃圾回收等重要功能。 java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈上数
2012-03-30 13:11:21
5990
原创 实现Runnable接口和扩展Thread类
创建一个其中能运行线程的新类,有两种方式:一种方式是扩展java.lang.Thread类,另一种方式是扩展任意类,并实现接口Runnable。 (1)扩展java.lang.Thread类public class TwoThread extends Thread { //当启动一个新线程时,程序的入口是run()方法。在从刚刚调用run()方法之时到run()刚刚返回之时,新
2012-03-29 21:11:20
1225
原创 java内存区域探析
在C/C++开发中,自己需要进行内存管理,而java由于JVM的自动内存管理机制的帮助,不在需要为每一个new操作写配对的delete和free代码了,但由于内存泄露和益出方面的问题,在这小结下java内存区域中的一些知识。 java虚拟机运行时数据区如下:主要包括五个部分:程序计数器、java虚拟机栈、本地方法栈、java堆、方法区(运行时常量池)。(1)程序计数器(线
2012-03-29 20:57:01
1257
原创 并发访问对象和变量
单例模式中涉及到了synchronized和volatile,在这小结下synchronized和volatile来控制对象和变量的并发访问。易变成员变量修饰符volatile: volatile用于告诉VM:它不应当保存变量的私有拷贝,而应当直接与共享拷贝交互。 volatile强调“读”。在目前大多数的处理器架构上,volatile 读操作开销非常低 —— 几乎和非 vol
2012-03-29 19:53:59
2179
原创 面向对象(OO)基础和原则
面向对象基础:OO基础理解实现方式封装把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。继承概念的实现方式有三类:实现继承、接口继承和可视继承。多态将父对象设置成为和一个或更多的
2012-03-28 21:22:35
1637
原创 装饰者模式
装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。特点:①装饰者和被装饰着具有相同的超类型;所以在任何需要原始对象(被包装)的场合,都可以用装饰过的对象来代替他;②可以有一个或者多个装饰者包装一个对象;③装饰者可以在所委托被装饰者的行为之前或者之后加上自己的行为,以达到特定的目的;即对象可以在任何时候被装饰,所以可以在运行时动态地、不限量第用你
2012-03-28 20:14:52
843
原创 单例模式
单例模式确保类只有一个实例,并提供一个全局访问点。单例模式平时使用的机会不多,通常用于数据库连接或线程池。 单例模式:一个私有的构造器、一个静态变量、一个静态方法全局变量和单例模式比较 在java中,全局变量基本上是对对象的静态引用,可以提供全局访问。但有两个缺点:①不能确保只有一个实例,他会用许多全局变量指向许多小对象来污染命名空间;②急切实例化,在程序开始就创建好对
2012-03-28 20:11:20
721
原创 Android的按钮按下效果
package cn.zx.android; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnCl
2012-03-26 21:46:52
4924
原创 XMLHttpRequest对象
Ajax中关键是XMLHttpRequest对象,小结一下XMLHttpRequest对象。XMLHttpRequest方法:方法描述abort()停止当前请求getAllRequestHeaders()把HTTP请求的缩影响应首部作为键值对返回getResponseHeader(“header”)返回指定首部的串值
2012-03-24 13:24:59
1135
原创 字符串小结
一。字符串的三种机内表示方法:(1)定长顺序存储表示: 用一组地址连续的存储单元存储串值得字符序列,存储区长度固定。超过预定义的长度的字符串值,会被“截断”。#define MAXSTRLEN 255typedef unsigned char SString[MAXSTRLEN+1]; //0号单元存放字符串长度(2)堆分配存储表示: 以一组地址连续的存储单元存放字
2012-03-24 11:55:08
811
原创 JDBC小结
JDBC分为两组,分别面向应用程序开发人员和数据库驱动程序开发人员的API。 一。 最重要的java application API如下:java.sql.DriverManager: 用来加载不同的jdbc驱动程序并且为创建新的数据库连接提供支持。java.sql.Connection: 完成对某一个数据库的连接功能。java.sql.Stat
2012-03-23 20:03:22
1248
原创 构造器和静态工厂方法
获取类的一个实例,最常用的两种方法就是创建构造器和静态工厂方法。相对构造器,静态工厂方法的优势: (1)静态工厂方法有名称。同一个类的不同构造器只是在有无参数、参数长短和顺序的不同。而静态工厂方法可以根据用法自定义名称。 (2)在创建参数化类型实例的时候,可以简化代码。如Map> m=new HashMap>(); //构造器需要两次提供类型参数M
2012-03-23 19:19:20
2591
原创 请求方式GET和POST
WEB浏览器采用HTTP协议与服务器进行数据交互主要有两种形式,一种是GET,另一种是POST。这两种请求方式在发送数据的结构、服务器出了接收数据的方式以及对服务器状态的影响等方面有着不同的作用。GET和POST方式的不同之处 GET方式POST方式数据传输载体URLHTTP头键值对数据长度通常1024字节以内无限制安
2012-03-23 17:59:43
847
原创 Android中的socket
客户端: package com.zx.android; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnC
2012-03-22 14:18:33
1847
原创 javaI/O系统基础知识
编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象。“流”概念源于UNIX中的管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等,它屏蔽了实际的I/O设备中处理数据的细节。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是In
2012-03-22 13:46:02
833
原创 Android软键盘softboard(1)
从SDK 1.5版本以后,Android就开放它的IMF(Input Method Framework),让我们能够开发自己的输入法。而开发输入法最好的参考就是Android自带的Sample-SoftKeyboard,虽然这个例子仅包含英文和数字输入,但是它本身还算完整和清楚,对我们开始Android开发实战有很大帮助。什么是IMF: IMF(Input Method Fra
2012-03-22 13:25:24
2535
原创 空指针异常总结
1:NullPointerException由RuntimeException派生出来,是一个运行级别的异常。意思是说可能会在运行的时候才会被抛出,而且需要看这样的运行级别异常是否会导致你的业务逻辑中断。 2:空指针异常发生在对象为空,但是引用这个对象的方法。例如: String s = null; //对象s为空(null) int length = s.length();//发生空指
2011-07-02 12:33:51
14631
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人