自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (10)
  • 收藏
  • 关注

原创 jOOR反射封装库使用介绍

jOOR提供了一种更为直观的方式来构建JDK原生的反射调用,因为JDK提供的反射API使用起来较冗长(它对包java.lang.reflect进行了简单封装,使得反射更加方便)。

2017-02-22 11:42:35 2748

原创 java中synchronized关键字的认识&记录

通过具体项目中在线程间同步遇到的问题(app无响应ANR)来阐述synchronized关键字的使用场景。

2017-02-21 20:27:57 9975

原创 android Debuger 出现:"Waiting for Debugger - Application XXX is waiting for the debugger to Attach"

如果在dubug android 程序时出现这样的提示,然后就动不了,重启下adb 就进去就OK。(adb kill-server、 adb start-server)

2011-08-14 15:36:57 9239 1

转载 LinkedList、ArrayList、Vector

LinkedList:实现了List接口,它内部使用了一个双链表来实现,非同步。这样,如果无素经常需要在链表中插入或删除,它就比ArrayList更有效率。ArrayList:实现了List接口,它内部通过数组来实现,非同步。 Vector:同样实现了List接口

2011-08-14 11:08:07 715

转载 .classpath文件分析

Android .classpath文件的作用eclipse中需要关联到第三方JAR文件时,可以直接添加JAR文件,也可以增加环境变量的形式来添加JAR文件,当然原理都是一样的,都是引用 JAR文件,除了可以直接右点击工程,属性,在”Java Build Path”中

2011-08-11 11:20:44 3644

原创 Android 工程:Unknown error: java.lang.NullPointerException.

从googleCode下载下来的很多工程大多都会有这样的错误,找到答案:

2011-08-11 10:51:26 5877

原创 adb rejected install command with: device offline

解决办法:1. adb kill-server  2.adb start-server

2011-08-09 15:49:23 4403 1

原创 onCreateDialog 时出错

在创建各种Dialog时,通过重写Activity其类的方法 protected Dialog onCreateDialog(int id) 来创建Dialog,在需要显示的地方调用showDialog(int id),显示即可。在其中创建Dialog时,总是失败,究其原因:

2011-08-08 18:01:09 954

原创 eclipse 重新编译工程

project--->cleanclean之后project--->build

2011-08-01 15:47:47 1250

转载 找不到R.java 解决方法

安装了eclipse,AndroidSDK,新建一个工程,编译,提示找不到R.java错误:ERROR: F:\Android\... ...\R.java: No such file or directory 解决方法:1.-Open Eclip

2011-08-01 09:34:10 1661

原创 Android工具HierarchyView.bat运行错误

HierarchyView.bat查看UI布局层级结构的工具出错:"cannot find adb version"解决办法:添加path环境变量“...\android-sdk-windows\platform-tools”

2011-07-11 09:57:57 627

转载 内存映射文件

内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请

2011-06-22 17:08:00 820

原创 zthread学习 实例十二 ZThread库基本结构的规纳

 1、四大基类 CancelableCancelable提供了通用的方法来定义语义,调用了cancel()的Cancelable对象,将被置为disable。调用过cancel()ed的对象不必立即中止工作。通常被cancel()ed的对象尽可能快的继续执行完当前分配给它的工作,然后再变得不可用;但它不能接受任何新分配给它的工作。cancel()函数:使一个Cancelab

2011-06-03 16:40:00 2632

原创 zthread学习 实例十一 信号量机制

ZThread库提供了另外一种同步机制——信号量,它定义了两种信号量:Semaphore(带上界) 和 CountingSemaphore(不带上界),都类似于传统的信号量,下面例子说明了其用法:#include "stdafx.h"#include "Display.h"#include using namespace std;using namespace ZThread

2011-06-03 11:26:00 2240

原创 zthread学习 实例十 线程间的协助(四)——读者、写者

FairReadWriteLockBiasedReadWriteLock

2011-06-01 14:44:00 1505

原创 zthread学习 实例十 线程间的协助(三)——死锁

同时满足以下4种条件,死锁就会发生:1、相互排斥。线程使用的资源至少有一个必须是不可共享的。在这种情况下,一根筷子一次只能被一个哲学家使用。2、至少有一个线程必须持有某一种资源,并且同时等待获得正在被另外的线程所持有的资源。也就是说要发生死锁一个哲学家必须持有一根筷子并且等待另一根筷子。3、不能以抢占的方式剥夺一个线程的资源。所有线程只能把释放的资源作为一个正常事件。他们不会从别的哲学家手中抢夺筷子。4、出一个循环等待。一个线程等待另外的线程所持有的资源,而这个等待的线程又等待另一个线程所持

2011-05-31 21:43:00 2431

原创 zthread学习 实例十 线程间的协助(二)

生产者-消费者广播

2011-05-31 19:44:00 6812

转载 Overlay相关资料

Overlay(覆盖)是一种数字视频的显示技术,它允许数字信号不经过显示芯片处理,而直接通过显存输出到显示器屏幕上。Overlay显示模式最大的 用途在于优化视频播放。

2011-05-31 14:42:00 1209

原创 zthread学习 实例十 线程间的协助(一)

线程间协作:多个线程一起工作来共同解决某个问题(问题的某一部分必须在另一部分被解决之前解决完毕)

2011-05-30 14:18:00 1655

原创 zthread学习 实例九 任务终止(二)——中断方式

终止一个阻塞线程和终止一个非阻塞线程的方式

2011-05-27 17:37:00 2371

原创 zthread学习 实例八 任务终止(一)——观赏植物园

      前面的几个例子中,使用了“退出标志”或Cancelable接口以适当的方式来终止一个任务,但某些情况下任务必须突然结束掉,这样终止任务将会所产生一些问题。举例:模拟计数,公园委员会想要了解每天有多少从通过公园的 多个 入口进入了。首先是一个互斥输出类,避免多个线程输出出现的混乱#ifndef DISPLAY_H#define DISPLAY_H#include "zthread/Cancelable.h"#include "zthread/ZThread.h"#include

2011-05-27 12:22:00 6078 1

原创 zthread学习 实例七 线程本地存储

消除任务在共享资源上发生冲突问题的第二种方法是 消除共享变量,对使用同一个变量的不同线程,可以为同一个变量创建不同的存储单元。因此,如果有5个线程使用一个含有变量x的对象,线程本地存储会自动为变量产生5个不同的存储单元。

2011-05-22 17:50:00 1612

原创 zthread学习 实例六 访问控制

Guard模板很方便的定义了同步机制,它在创建时用acquire()来获得一个Lockable对象,被销毁时用release()来释放这个锁。Guard对象的创建很好的利用了变量作用域概念。

2011-05-22 16:46:00 1718

原创 zthread学习 实例五 非任务对象的生存期

在使用线程处理时,必须确保非任务对象在任务需要它们的时候长期保留在活动状态,如果在任务完成之前,那些被任务使用的非任务对象已经被销毁,此时会导致非法访问存储单元。因此,那些被共享的非任务对象总要在堆中new出来,并且确保没有其他任务对象引用它时才动态销毁,此时就是引用计数。 ZThread库有一个引用计数的模板CountedPtr,它自动执行引用计数(执行拷贝构造函数时),并在引用计数归0时delete这个对象。每当有对象有被多于一个任务使用时,几乎总是需要使用CountedPtr来管理那些对象,以防由对角

2011-05-22 11:27:00 1484

原创 zthread学习 实例四 让步、休眠、优先级

1、让步Thread::yield()可以介入CPU的调度,使CPU强制放弃执行当前线程。2、休眠Thread:sleep()可以使线程停止执行一段时间。Thread:sleep()可发抛出一个Interrupted_Exception,该异常必须在run()函数中捕获,因为异常是不会跨线程传播的,只能在线程内部处理。3、优先级Thread::setPriority()、Thread::getPriority(),可以人为的改变到线程执行的优先

2011-05-21 23:10:00 2207

原创 zthread学习 实例三 使用Executor器来执行线程

Executor的种类,一个Executor对象,知道如何创建合适的语境来执行Runnable对象,不同的Executor对象有不同的任务执行方式,Executor是一个虚基类,其下派生了四种执行器:1、ThreadedExecutor:该执行器为每一个任务创建一个线程,当任务过多时,会导致过多的开销。 2、PoolExecutor:线程池,以一个有限的线程集来执行提交的任务。预先将开销很大的线程分配工作一次性做完,在可能的时候重用这些线程,这样做可以节省很多时间,因为不会为每一个线

2011-05-21 22:16:00 2997

原创 zthread学习 实例二

关于任务的结束:我们有一个CDisplayTask* pTask这样的任务指针,似乎我们可以在任务结束后使用delete来终止该任务,但这样会使程序变得不可靠,因为我们在销毁任务时,它可能正在做某些重要的处理。 由任务自己决定什么时候结束是最安全的。可以设一个标志,任务循环检查该标志,从run()退出时,先进行现场的清理工作,以此来达到线程的安全退出。

2011-05-21 21:15:00 1630

原创 zthread学习 实例一

分配给线程的任务必须是从堆中创建的 【Thread t(new LiftOff(5,i));】,而且通过new出来的任务不需要我们管理,Thread会自己管理该任务,当该任务的引用计数为0时,自动delete该任务。 还可以看到: for (int i = 0; i

2011-05-21 09:48:00 1970

原创 VC类制数据类型与转换

<br />一、类型说明<br />1、CString 是一个完全独立的类,类中使用动态的TCHAR数组,且封装了"+"等操作符和字符操作方法。<br />2、char* 是指向ANSI字符数组的指针与传统的C、C++兼容。<br />3、LPSTR是指向'/0'结尾的ANSI字符数组的指针,LP的含义是长指针(Long Pointer),在32位机上与P(矩指针)没有区别,与char* 能互换使用。<br />4、LPCSTR中增加的'C',其含义为Constant(常量),表明这种类型的实例为能被使用函

2010-09-14 16:57:00 698

原创 (汇编)根据输入的成绩求每个成绩的名次

;对输入的成绩,输出每个成绩的名次,相同的成绩有相同的名次data segment grade dw 78,79,50,99,85,46,12,36,89,87,89,87,45,87 ;成绩数组(dw字变量) count equ ($ - grade)/type grade ;统计成绩个数 rank dw count dup(?) ;存放名次的数组 (dw字变

2009-05-06 20:21:00 2245

原创 汇编指令周期

Mnemonic Byte Cyc ADD A,@Ri 1 1 ADD A,Rn 1 1 ADD A,direct 2 1 ADD A,#data 2 1 ADDC A,@Ri 1 1 ADDC A,Rn 1 1

2009-04-09 12:19:00 3657

原创 显示AL中的16进制数

;显示AL中的16进制数data segmentdata endsstack segmentstack endscode segment assume ds:data,ss:stack,cs:codestart: mov ax,data mov ds,ax xor ax,ax ;AX清零 mov al,8eh ;显示的

2009-04-07 22:23:00 2389

利用内存映射文件实现的进程间的通信实例

利用内存映射文件实现的进程间的通信实例,仅以学习之用。。

2011-06-27

ZThread库 Wince下的DLL版

已经通VS2005编译成功,附带有Demo ZThread库是一个功能强大的线程库,可能不是很适合在wince下做开发,但对于运用熟练的仍可以以少量的线程来完成所需任务。

2011-06-02

ZThread库 动态库DLL版

已经通过VS2005编译成功,导出了大部分常用接口,可以根据自己需要再导出其他接口

2011-06-02

ZThread库的静态库Lib版

已经通过VS2005编译成功,里面附带Demo

2011-06-02

兼容Wince 基于API串口通讯类.rar

基于Windows API串口通讯类 已在具体应用中用到,兼容Wince

2011-05-27

WriteToLog日志功能C++实现

WriteToLog 支持多线程 不用用户代码干预

2011-01-20

TCPMP播放器源码

能在多个平台兼容(win32、WinCE..) 支持大部分音频和视频格式

2011-01-20

error

errorerrorerror

2009-04-12

ip协议的试题 对ip地址的解析

在一个子网掩码为255.255.248.0的网络中,()是合法的网络地址?

2008-11-20

数字逻辑课件 第二章计算机逻辑部件的介绍

一个学习数字逻辑的课件 运算器、控制器、存储器

2008-11-16

空空如也

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

TA关注的人

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