自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

A星寻路算法

        最近再弄cocos2d-x lua手游开发,我相信大家在开发手游时经常容易碰到寻路问题。寻路算法也挺多的,这里主要总结我在开发时使用的A satrt寻路算法。       A星算法是基于启发式函数的一种寻路算法,A start的介绍就不重复了。主要是说明如何使用A start寻路算法。如图要从起点A移动到终点B,地图中  表示可行走的方块。         ...

2015-08-02 22:38:58 418

模板方法设计模式

        模式是一个解决方案,一个模式解决了一类特定的问题,当我们再次遇到同样的问题时,我们仍然可以使用它解决同样的问题,这里介绍使用模板方法设计模式。       在开发中我们时常可以使用模板方法设计模式,这里我们就以简单的上班为例。上班一族每个工作日去上班都要经过  洗漱---上班方式(交通工具)--开始工作   三个步骤,我们写一个程序来模拟这个过程public class...

2015-06-29 16:49:51 151

java接口回调

        java接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。             看概念总是难以理解,下面以实例说明:       定义一个函数来获取文件的字节数组,此时我们...

2015-06-16 00:15:10 256

Bundle自定义数据传递

      我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity 把数据放到Intent里 btn2.setOnClickListener(n...

2015-06-09 20:47:26 616

java的类加载器ClassLoader

     类在执行之前会执行三个步骤:加载 ->   连接  -> 初始化 1.类的加载     类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个Class对象,用来封装类在方法区的数据结构。可以把堆区的Class理解为方法区的一面镜子,对应方法区的类的数据结构,通过这面镜子实现类的调用。 加载....

2015-06-08 22:09:40 134

据说一半以上的java程序员会出错的题

         大三即将结束,经过一段时间的较为系统的自学java, 突然看到一个自称一半以上的java程序员都会出错的程序尤为感兴趣。便深究了一番     程序代码如下:package com.longpo;class Person { private static Person person = new Person(); public static int ...

2015-06-04 19:22:59 104

观察者设计模式

         观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。我们常用的事件机制内部实现就使用了观察者模式。java类也帮我们实现了观察者模式。下面举实例来讲解观察者设计模式,为了便于更好的理解观察者模式,先自己编写观察者模式,不调用java自带的接口和实现类。      事例:现在人都喜欢网购,当你看上一件商品时你...

2015-06-01 19:32:25 73

装饰者设计模式

       装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象.以下情况使用Decorator模式1. 需要扩展一个类的功能,或给一个类添加附加职责。2. 需要动态的给一个对象添加功能,这些功能可以再动态的撤销。3. 需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。4...

2015-05-28 19:06:01 117

代理设计模式

      代理设计模式(Proxy)主要为其他对象提供一种代理方式以控制对这个对象的访问,在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。     其实代理说白一点就是真实对象的代表,在访问对象时引入...

2015-05-27 18:29:02 74

简单工厂设计模式

       简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。      简单工厂模式的核心,它负责实现创建所有实例...

2015-05-25 17:40:08 73

单例设计模式

       单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。      单例设计模式保证一个类只有一个实例,并提供访问它的全局访问点。单列设计模式步骤1.构造函数私有化2.声...

2015-05-25 17:00:26 105

java内部类

      在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。       内部类主要分为成员内部类,方法内部类,静态内部类,匿名内部类。 1.成员内部类...

2015-05-19 19:41:31 71

java解析xml

          XML 指可扩展标记语言XML ,被设计用来传输和存储数据。从某种角度来说,XML是数据封装和消息传递技术。许多框架的配置文件都是使用XML,所以有必要学习XML。          java的XML解析主要有两种方式:DOM和SAX。 1.DOM解析XML     DOM与语言平台无关,将XML文档建立一个完整的文档树,在内存中解析和存储XML文档,允许随机...

2015-05-07 22:38:42 106

Android POST GET请求

          Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍常用的两种网络请求方式POST,GET。首先要区别POST和GET请求1. GET是从服务器上获取数据,POST是向服务器传送数据。2. GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP post机...

2015-05-06 13:09:03 184

java操作Json数据

          最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。      这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,...

2015-05-04 23:20:53 149

jni处理java数组

              使用jni来操作java中的数组对象。java数组分为基本类型数组和对象数组。在jni中可以使用GetArrayLength(jarray array)来获取这两组数组的长度。  1.基本类型数组jni提供两个重要函数来处理java数组(1) Get<Type>ArrayElements(<Type>Array arr ,...

2015-05-02 16:58:52 323

原创 jni jstring与char *转换

//jstring to char* char* jstringTostring(JNIEnv* env, jstring jstr) {        char* rtn = NULL; jclass clsstring = env->FindClass("java/lang/String"); jstring strencode = env->NewStringUTF("utf-...

2015-05-01 15:44:03 400

jni创建java对象

            在本地方法实现代码中创建java对象,其中还主要涉及到jni和java之间中文字符串的的乱码问题。 1.创建java对象首先在java端自定义一个Person类如下package com.example;public class Person { public String name; public int age; ...

2015-05-01 15:33:48 1490

jni操作java属性和方法

              之前实现了简单的jni入门实例, 这篇博客将主要介绍使用jni在c++调用java的属性和方法。 本地方法函数有两个参数,JNIEnv *和jobject,这两个参数非常重要 1.JNI数据类型为了方便记忆和书写java数据类型与c++数据类型的对应,jni对数据进行封装。具体为下 2.获取java属性和方法    首先需要获取对...

2015-04-30 20:04:12 223

java jni详细入门实例

         JNI是Java Native Interface的缩写,译为Java本地接口。它允许Java代码和其他语言编写的代码进行交互。可以再java中调用C/C++的代码。本文使用一个简单的示例演示JNI的使用。 我的Eclipse的工作目录为:D:\workspace Eclipse的项目结构:  1.在java类中声明一个native方法,运行在bi...

2015-04-28 18:40:25 254

java反射机制

           在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。Class类是反射的根源。 1.获取Class对象得到Class类对象有三种方式1.使用Object类中的getClass()方法2.类.class3.通过Class类的f...

2015-04-28 16:55:01 66

java的Socket

         java API为我们网络通信提供了服务器套接字ServerSocket类和客户端套接字Socket,Socket是网络驱动层提供给应用程序编程的接口和一种机制。下面提供具体实现例子 服务端--ServerSocket     ServerSocket类实现了服务器的套接字,主要方法ServerSocket(int port)-----创建绑定到特...

2015-04-27 18:46:47 68

java线程

         程序本身是一个静态的概念,而进程是程序的一次执行过程,每一个进程都有自己的地址空间。线程实际上是在进程的基础之上的进一步划分。一个进程至少对应一个线程,线程之间共享一个内存空间,线程之间可以相互切换,并发执行。 一.线程的实现      java中实现线程有两种方式:1.继承Thread类2.实现Runnable接口(这种方式用得比较多) 继承Th...

2015-04-22 16:54:23 59

java集合---Map接口

       Map使用键值对来存储数据,将键映射到值对象,一个映射不能包含重复的键,每一个键最多只能映射到一个值。Map接口的具体实现类:HashMap,Hashtable,TreeMap,LinkedHashMap 1)HashMap    基于哈希表(哈希表学习地址)的Map接口实现。允许使用null值和null键,不保证映射的顺序,特别是不保证顺序恒久不变。它除了非同步和允许...

2015-04-21 23:13:54 63

java集合---Collection接口

     java的集合分为三大接口,分别是Collection,Map,Iterator,集合接口和类在java.util包中,此次主要介绍三大接口之一的Collection接口。     一些Collection允许有重复元素,而另一些则不允许,一些Collection是有序的,另一些则是无序的。Collection不提供接口的任何直接实现,它提供更加具体的子接口List和Set。...

2015-04-21 21:32:18 118

java的IO流总结

     IO流即输入输出流,流是一组有顺序的,有起点和终点的字节结合,是对数据传输的总称。即数据在两设备间的传输称为流,流的本质是数据传输。     按照数据流的方向可分为:输入流和输出流     按照处理数据单位不同可以分为:字节流和字符流。    给出相应的IO结构图:   最近课程较忙,趁周末把学习一端时间的IO流整理汇总一下。拿出来给大家分享,也是对自己学习的...

2015-04-20 01:40:50 74

IO流之数据流DataOutputStream和DataInputStream

         DataOutputStream数据输出流允许应用程序以适当方式将java基本数据类型写入输入流中,然后,应用程序可以使用DataInputStream数据输入流将数据读入。 1.DataOutputStream数据输出流可以以java基本数据类型写入输出流中,示例代码:public static void main(String[] args) throw...

2015-04-19 22:39:31 246

IO流之字节数组流和字符串流

 1.字节数组流      字 节数组输出流ByteArrayOutputStream实现了一个输出流,其中的数据被写入一个byte数组,缓冲区会随着数据的不断写入而自动增长。 关闭ByteArrayOutputStream流无效,此类中的方法在关闭该流后还可以使用,而不会产生任何IOException,数据存放在内存。      字节数组输出流ByteArrayInputStream...

2015-04-19 16:05:35 212

IO流之对象流ObjectOutputStream和ObjectInputStream

        Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会 比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序 列化就能够帮助我们实现该功能。        使用Java对象序列化,在保存对象时,会把其...

2015-04-18 20:45:59 156

IO流之打印流PrintStream和PrintWriter

      打印流主要用于输出,可以根据类型很方便的进行输出。打印流分为两种 字节打印流:PrintStream字符打印流:PrintWriter    下面来看看打印流的使用。 1.字节打印流:PrintStream示例代码:public class Test { public static void main(String[] args) {...

2015-04-18 17:24:19 220

IO流之转换流OutputStreamWriter和InputStreamReader

         字符流的底层还是使用字节流实现的,所以字节流时刻转换为字符流的。转换流主要使用到OutputStreamWriter:将字节输出流转换为字符输出流形式InputStreamReader:将输入的字节流转换为字符流输入形式  1.OutputStreamWriter(字节输出流-->字符输出流)          OutputStreamWrite...

2015-04-16 02:08:29 141

IO流之缓冲流

        缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装。当对文件或其他目标频繁读写或操作效率低,效能差。这时使用缓冲流能够更高效的读写信息。因为缓冲流先将数据缓存起来,然后一起写入或读取出来。所以说,缓冲流还是很重要的,在IO操作时记得加上缓冲流提升性能。        缓冲流分为字节和字符缓冲流字节缓冲流为:BufferedInputS...

2015-04-14 01:54:54 99

IO流之FileWirter和FileReader

         本篇博客主要介绍字符流FileWirter和FileReader流,主要用于操作文件内容。 一.FileWriter(文件输出字符流)     FileWriter与FileOutputStream类似,不过FileWriter是字符流,而FileOutputStream是字节流。构造方法:1.public File(FIle file)throws IOE...

2015-04-13 18:18:39 126

IO流之FileInputStream和FileOutputStream

     IO流即输入输出流,流是一组有顺序的,有起点和终点的字节结合,是对数据传输的总称。即数据在两设备间的传输称为流,流的本质是数据传输。    IO流可以分为字节流和字符流。给出相应的IO结构图:             在接下来的一段时间里,将会慢慢介绍各种流的使用,本篇博客先介绍字节流的FileOutputStream和相对应的FileInputStream。 ...

2015-04-13 02:01:00 149

java的File类

     File类是表示文件和目录名的抽象表示形式。File类可以实现文件的创建,删除,重命名,获取路径,创建时间等等,是唯一一个与文件本身有关的操作。所以有必要好好学习File类。 主要使用方法:1.public File(String pathname)----根据文件路径构造File实例2.public boolean createNewFile()throws IOE...

2015-04-11 21:50:51 78

java对象比较器和克隆

      一.比较器Comparable和Comparator             上一篇博客介绍了工具类Arrays工具类 。我们可以对基本类型的数组调用Arrays.sort()函数来进行数组的排序。排序操作在日常开发中经常要使用到。那么String类和自定义类能不能使用Arrays.sort()来进行排序呢。下面我们来试试,如下:public class Mystrin...

2015-04-11 02:41:31 64

java的Arrays工具类

              java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。静态方法是属于类的,不是属于类的对象。所以可以直接使用类名加方法名进行调用。Arrays作为一个工具类,能很好的操作数组。下面介绍主要使用的几个函数。 1.fill方法    fill方法主要用来填充数组,这里我们举最简单的int类型吧(其它类型的一样)看Arrays...

2015-04-09 19:19:17 102

String,StringBuffer和StringBuilder区别

          在实际开发中,我们会经常使用到字符串连接的操作,以前我习惯喜欢用String的‘+’来操作,觉得非常方便好用,最近认真学习了String,StringBuffer和StringBuilder这三个类,才发现使用String来连接字符串,代码性能会很低。下面我们就字符串连接来分析这三种方式。  1.String             打开String的源码...

2015-04-09 01:17:39 106

java的多态性

            多态性是面向对象的三大特性之一.(封装,继承,多态),多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定...

2015-04-08 01:14:30 85

java的继承extends

          “继承”是面向对象软 件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方 法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。 继承的基本概念1.继承是面向对象的三大特性之一。(...

2015-04-07 00:25:41 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除