自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 智能搜索算法--从A*算法开始说起

首先解释一下状态空间搜索。状态空间搜索法就是将问题求解过程表现为从 初始状态到目标状态寻找这个路径的过程。通俗点说,就是在解一个问题时,找到一条解题的过程可以从 求解的开始到问题的结果。由于求解问题的过程中分枝有很多,主要是求解过程中求 解条件的不确定性,不完备性造成的,使得求解的路径很多这就构成了一个图,我们说这个图就是状态空 间。问题的求解实际上就是在这个图中找到一条路径可以从开始到结果。

2013-10-20 00:10:39 3906 3

原创 粒子群算法原理及C++代码实例

粒子群优化算法(PSO)是一种进化计算技术(evolutionarycomputation),1995年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序

2013-09-30 01:38:51 14130 10

原创 二维三次卷积插值算法

在生产或生活中,我们往往只能得到有限的关于某个物理量的离散点(比如一张图片,我们只能得到其原大小内每个坐标处的颜色信息),但是很多时候,我们还需要不在已有栅格点的物理量信息(比如图像缩放时)。此时,就需要某种估计方法,用于得到该坐标处的物理量值,此时就需要通过插值得到。常用的插值算法有很多,从简单的线性插值,Lagrange插值,Newton插值,到较复杂的Herminate插值,二维三次卷积插值

2013-09-08 13:36:21 8339 2

原创 Android Binder机制分析(5) Binder_ioctl()分析

在博客Android Binder机制(3)本地服务注册过程这篇博客中我们详细讲解了本地服务的注册过程,除了一个地方之外,那就是IPCThreadState::waitForResponse()方法中的talkWithDriver(),而在talkWithDriver()中调用了binder_ioctl(),由于内容太多,所以专门写一篇博客进行分析。实际上,不只是在服务注册过程中会调用到Binder Driver中的binder_ioctl(),在服务检索、服务使用阶段都会调用到binder_ioctl

2016-04-17 11:42:08 6332 2

原创 Android Binder机制分析(4) Parcel类分析

在C++层和Java层各有一个Parcel类,它们在Binder通信机制中起传递数据的作用。在上一篇Blog中,在分析服务注册过程时,往data(Parcel对象)变量写入数据时,有这样的调用路径:BpServiceManager::addService()–>Parcel::writeStrongBinder()–>flatten_binder()–>finish_flatten_binder()由于finish_flatten_binder()方法中涉及到的东西太多,在上一篇博客就没有展开来

2016-04-16 22:21:13 5034 2

原创 Android Binder机制(3) 本地服务注册过程

本博客将讲解本地服务的注册过程,为了方便大家更好地理解,选择了MediaPlayer Service作为例子。启动并注册MediaPlayer Service的代码在frameworks/base/media/mediaserver/main_mediaserver.cpp中,如下...

2016-04-16 15:03:04 4645 1

原创 Android Binder机制(2) ContextManager注册过程分析

Context Manager对应的进程为servicemanager,它先于Service Server与服务客户端运行,首先进入接收IPC数据的状态,处理来自Service Server或服务客户端的请求。在init.rc脚本文件中也可以看到Context Manager在mediaserver与system_server之前运行了。每当Service Server注册服务时,Context Manager都会把服务的名称与Binder节点编号注册到自身的服务目录中,该服务目录通过根文件系统下的/s

2016-04-16 11:50:13 4205

原创 Android Binder机制(1):Binder架构分析

从这篇博客开始,将进入Binder机制的分析系列,顺序是先讲解Binder机制的框架,理解了整体思想后,再深入分析各层的细节实现,最后会实现一个自己的本地服务。1.Binder的历史BeOS是Be公司在1991年开发的运行在BeBOX硬件上的一款操作系统,与同期的其他操作系统不同,它是一款基于GUI设计的操作系统...

2016-04-16 11:01:41 2306

原创 Android系统服务概要

Android系统服务提供系统最基本、最核心的功能,如设备控制、位置信息、通知设定、消息显示等。这些服务分别存在于Application Framework与Libraries层之中。本文是Android系统服务分析系列的第一篇,将介绍Android系统服务的组成及启动过程等内容。

2016-04-16 10:41:04 1109

原创 排序算法之选择排序

算法基本思想            选择排序方法的基本思想是:第i趟排序是从线性表后面的n-i+1个数据元素中选择一个值最小的数据元素,并将其与它n-i+1个数据元素中的第1个数据元素交换位置.经过这样的n-1趟排序以后,初始的线性表成...

2015-08-01 15:23:58 1094

原创 ListView.setOnItemClickListener不起作用的原因

ListView.setOnItemClickListener不起作用的原因

2015-05-21 21:41:53 1772

原创 Android中跨进程通信传递Parcelable对象时出现android.os.BadParcelableException: ClassNotFoundException when unmarsh

Android中跨进程通信的方法用得较多的是MessengerService和AIDL,根据Google开发文档,推荐使用MessengerService,但是利用它传递Parcelable对象时出现android.os.BadParcelableException: ClassNotFoundException when unmarsh,本文分析了出现的原因以及解决方法。

2015-04-27 20:41:12 6643

原创 Ubuntu14.04 64bit安装Android Studio

使用32bit的Ubuntu安装Android Studio没什么问题,但是使用64bit的Ubuntu时则会出现许多的小问题,本文提供了相应的解决办法。

2015-04-04 12:06:15 3267

原创 json开发的一个细节:服务端及客户端的json所用的jar包不同

json开发的一个细节:服务端及客户端的json所用的jar包不同,一般来说Android客户端就直接使用内置的json jar包进行开发,但是服务端则需要更加完全的jar包,否则在创建时会出错。本文提供了服务端需要的完全的jar包下载

2015-02-26 23:56:56 1862

原创 Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [from User

Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [from User user where user.name=?0 and user.pass=?1]at org.hibernate.hql.ast.util.SessionFactoryHelper.requi

2015-01-19 23:28:34 2189

原创 java.lang.Error:Properties init:Could not determine current working directory

今天在CentOS中安装好jdk并设置环境变量之后,输入java -version竟然出现以下错误:java.lang.Error:Properties init: Could not determine current working directory at java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(System.java:1069)

2014-12-14 22:31:52 17396 3

原创 CentOS 5.10安装无线网卡驱动全面总结

这几天因为想尝试一下CentOS,所以就在笔记本上安装了一个CentOS 5.10,但是安装完之后问题来了:它不像Ubuntu那样安装后之后就有相应的无线网卡驱动。所以如果要使用YUM安装或更新软件的话,第一件事就是安装无线网卡驱动。但是网络上很多相关的文章都省略了很重要的一步,就是在安装驱动前的准备工作,所以即使按它的步骤也根本安装不成功。这中间的过程实在异常曲折,而且因为网络上很多人的文章是在已经能上网(比如通过有线上网)的前提下来安装无线网卡驱动,那自然简单许多。为了让后来者能更轻松地fix这个问题,

2014-12-13 13:39:56 2333

原创 Android中100行代码实现可上下拉动的自定义ListView

之前在网上也看到一些所谓的下拉刷新的例子,但是总感觉是把简单的事情复杂化了,动辄300多行甚至600多行的代码,其实主要就是对触摸事件作出反应嘛,根本用不着这么麻烦。下面先实现一个可上下拉动的ListView,再实现一个带有Header的可下拉刷新的ListView,示例代码都力求简洁。

2014-12-02 00:26:01 1605

原创 Android中的网络编程系列(一):URLConnection

Android中的网络编程内容较多,包括Socket,URL,HttpURLConnection,Apache HttpClient,WebView等。本文是该系列的第一篇文章,主要讲解URL的用法,最后通过一个有效的URL获取了网络上的图片并在手机上显示了出来...

2014-11-30 22:32:50 1146

原创 Android中的文件读写全面总结

在深入分析Java中的I/O类的特征及适用场合 一文中,我详细介绍了Java中的I/O,但是,如果以为Android中的I/O与Java中一样,那就大错特错了。实际上,它们有一定的相同之外,比如对于文件流采用缓冲流进行包装;但更多的是区别,因为Android系统中的文件存放位置不同,读取方式也不一样,而且如果涉及到sd卡中的文件读写,还需要添加相应的权限。所以建议将本文和《深入分析Java中的I/O类的特征及适用场合》这篇文章对比查看,这样对于输入输出能更加运用自如,在处理网络编程时能处理得更好。

2014-11-30 21:36:31 1675

原创 深入分析Java中的I/O类的特征及适用场合

Java中有40多个与输入输出有关的类,如果不理清它们之间的关系,就不能灵活地运用它们。 本文利用EA绘制了I/O相关的类的关系,特别是继承关系示意图,并且对常用的I/O类进行了深入分析,最后,通过10多个实例进行对比...

2014-11-17 01:16:19 1998

原创 Android中的跨进程通信方法实例及特点分析(二):ContentProvider

在Android中有些数据(如通讯录、音频、视频文件等)是要供很多应用程序使用的,为了更好地对外提供数据,Android系统给我们提供了Content Provider使用,通过它可以访问上面所说的数据,例如很多音乐播放器中的扫描功能其实就用到了Content Provider(当然,也有的播放器是自己去实现更底层的功能),其他如联系人、图片浏览等也都用到了ContentProvider。本文详细讲解了ContentProvider,并且通过一个提供学生信息的实例进行了演示...

2014-11-16 15:26:59 1481

原创 Android中的跨进程通信方法实例及特点分析(一):AIDL Service

Android中有4种跨进程通信方式,分别是利用AIDL Service、ContentProvider、Broadcast、Activity实现。虽然都是能实现跨进程通信方式,但是各自的特点不一样,适用的场景也各不相同。本文通过4个例子重点讲述了AIDL Service在跨进程方面的应用,同时考虑了利用onStartCommand来实现Service的跨进程解决方案,并且比较了其优劣。最后讲述了Service的一个重点应用:前台Service。

2014-11-10 04:06:37 2221

原创 使用Ant打包时出现程序包javax.servlet.http不存在的错误

使用Ant打包时出现程序包javax.servlet.http不存在的错误

2014-11-08 09:43:37 6147

原创 java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z解决方法

java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z解决方法

2014-11-05 23:57:51 10299 2

原创 Unable to load configuration. - bean - jar:file:../../ComputerScience/JavaEE/workspace/.metadata解决办法

unable to load configuration. - bean - jar:file:/../workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WorkSystem/WEB-INF/lib/struts2-core-2.3.16.3.jar!/struts-default.xml:64:179的原因及解决办法

2014-11-05 08:26:26 7922

原创 java.lang.NoClassDefFoundError: ognl/PropertyAccessor解决办法

java.lang.NoClassDefFoundError: ognl/PropertyAccessor解决办法

2014-11-05 07:28:19 9526

原创 Hibernate4.3.6 Final+Spring3.0.5配置出错提示及解决方法

利用Struts2+Spring3.0.5+Hibernate4.3.6 Final进行服务端的架构,但是由于Spring3.0.5与Hibernate4.3.6组合的配置和使用Hibernate3.x.x相比有较大的变化,所以在部署时会遇到较多的问题,本文将经常会遇到的问题汇总了一下,希望大家在部署服务端时能少走一些弯路。

2014-11-03 09:02:07 2486

原创 org.hibernate.MappingException: An association from the table order_intem_inf refers to a unmapped

Hibernate中因未写完整路径名而出错...

2014-10-19 00:16:22 3884

原创 MySQL server version for the right syntax to use near 'type=InnoDB' at line 1

ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1的解决办法

2014-10-17 08:14:38 10832 1

原创 Struts2中指定的校验文件不起作用的原因

Struts2中指定的校验文件不起作用的原因

2014-10-05 11:04:55 3139

原创 There is no Action mapped for action name mylogin!regist错误原因

大家都知道,可以利用DMI(Dynamic Method Invocation,动态方法调用)进行一个Action对应多个表单动作,今晚尝试了登录与注册两个表单动作的示例时,却总是弹出"There is no Action mapped for action name mylogin!regist"的错误,check了好多遍,struts.xml及JSP文件都没有错,src也能编译通过,但是点击注册时却总是弹出上面的错误...

2014-09-29 00:31:07 2313

原创 深刻理解Java中形参与实参,引用与对象的关系

虽然Java中传递的是引用,可以轻易地实现对对象的改变,但是仍然要注意形参与实参、引用与对象的关系,千万不要简单地以为传引用就一定可以实现对象的改变,否则可能犯下低级错误。本文通过实例对比讲解传递引用易犯的错误及正确的使用方法。

2014-06-15 16:09:28 3867 1

原创 利用命令行引用外部jar包以使程序正常运行的4种方法

平时写一些小的Java Demo时我比较喜欢用UltraEdit或记事本写完后,直接利用命令行进行编译和运行。这样的好处就是方便快捷。相信有这个习惯的人应该还大有人在。但是如果要引用外部jar包,应该如何操作呢?在写JDBC的一些Demo时,由于要利用jar包来加载相应的数据库,每个Demo都用到了外部jar包,所以特地总结了一下利用命令行引用外部jar包的方法,归纳起来有以下4种:

2014-06-15 11:57:10 4283

原创 畅销书对Java中Iterator的理解误区

最近放假,闲来无事,便翻看以前看过的一些书,竟然发现有些书本(甚至是一些畅销书)对Java中Iterator有很大的误解,比如某畅销书在Collection那一章有这么一句话:“当使用Iterator对集合元素进行迭代时,Iterator并不是把集合元素本身传给了迭代变量,而是把集合元素的值传给了迭代变量,所以修改迭代变量的值对集合元素本身没有任何影响。”但是经过自己实例测试发现根本不是这样!

2014-06-02 17:37:07 1550

原创 Android中利用命令行进行截屏并导出到电脑上

本文详细介绍了在Android中利用shell命令进行截屏的方法,并且讲解了利用pull命令从手机中导出文件到电脑上的方法,最后讲解了几个容易出错的地方。

2014-05-31 22:39:30 3887

原创 Java中的枚举类为何不能有public构造器

从Java 5开始有了枚举类,需要注意的是enum定义的类默认继承的是java.lang.Enum类而不是Object类。同时注意枚举类不能派生子类(类的默认修饰符为final),其原因基于它只有private构造器,那为什么要设计成这样呢?其实很容易想明白,所谓枚举类就是有包含有固定数量实例(并且实例的值也固定)的特殊类,如果其含有public构造器,那么...

2014-05-28 02:14:43 6474

原创 Java中初始化块的真实作用

对于普通的类而言,可以放在初始化块中的初始化工作其实完全可以放到构造函数中进行,只不过有时会带来些许不便,如有多个构造器,就要在多个地方加上初始化函数完成初始化工作,而如果放到初始化块中的话则只要写一次即可。显然,使用初始化块的代码比不使用初始化块的代码要更简洁。但是,如果只是这一点便利的话,还不足以使用初始化块,其实初始化块真正体现其独一无二的作用是在匿名内部类中,由于是匿名内部类,因而无法写构造方法,但是很多时候还是要完成相应的初始化工作,这时就需要用到初始化块了,特别是Android中大量地使用匿名内

2014-05-27 10:36:18 5191 1

原创 Java中内部类揭秘(一):外部类与非静态内部类的”相互可见性“

我们都知道,外部类对非静态内部类是完全透明的,即非静态内部类可以访问外部类包括private成员在内的所有成员,但是,另一个常常被大家忽略的地方是外部类也可以在类的内部通过新建内部类对象来访问非静态内部类包括private在内的所有成员,下面将通过示例进行展示。

2014-05-26 21:35:47 1952

原创 深刻理解Java中final的作用(一):从final的作用剖析String被设计成不可变类的深层原因

本文主要通过3个例子论述了final修饰基本类型变量及引用变量时的差异,特别是final修饰引用变量时要注意的安全问题,否则容易被黑客利用。最后从前面的例子及博客中讨论Java中String被设计成不可变类的深层次原因

2014-05-24 00:02:29 4631

json相关jar包合集

完整的json相关jar包,在做json相关开发时要用到。另外,在使用时请注意GPA协议。

2015-02-26

MenuSample

Android中菜单示例,适合初学者,代码很容易看懂。

2013-04-18

C#文件操作方法归纳

对C#中的各种文件操作方法进行了归纳,并结合实例进行了讲解

2012-11-30

空空如也

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

TA关注的人

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