自定义博客皮肤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)
  • 收藏
  • 关注

转载 Android深入浅出之Audio 第一部分 AudioTrack分析

Android深入浅出之Audio第一部分 AudioTrack分析一 目的本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如Thread,MemoryBase等。分析的流程是:l         先从API层对应的某个类开始,用户层先要有一个简单的使用流程。l         根据这个流程,一步步进入到J

2013-12-23 11:02:22 937

原创 以Android环境为例的多线程学习笔记(五)------------线程池

一:为什么要使用线程池?什么时候该使用线程池?主要有一下几点原因:一、创建一个新的线程是有一定的代价的;二、如果在一个程序中创建大量的线程的话,这会大大的降低程序的性能有时候甚至会导致虚拟机崩溃,所以就有必要去固定当前前程的数量以限制并发线程的数量,而线程池就刚好具有此功能,一个线程池中包含许多准备运行的空闲线程,当将任务以Runnable或Callable的对象形式交给线程池后,

2013-12-21 20:44:42 1513 1

原创 以Android环境为例的多线程学习笔记(四)----------Callable与Future

在JAVA的多线程机制中,Runnable接口可以用来封装一个异步运行的任务,但是它相当于是一个没有参数类型和返回值的异步方法,所以在JAVA中就又出现了callable机制,callable是一个参数化的类型接口,里面只有一个call方法,但是该方法是有返回值的,而且返回值类型就是参数类型。与callable接口相配套使用的就是Future接口,其作用就是用来保存异步运算的结果和和启

2013-12-21 17:15:33 3588 1

转载 Java中ConcurrentHashMap学习

ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结

2013-12-21 15:25:42 974

转载 线程安全类

在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。statck:堆栈类,先进后出hashtable:就比hashmap

2013-12-21 14:58:10 1056

原创 以Android环境为例的多线程学习笔记(三)-----------阻塞队列

对于许多多线程的问题,其实是可以通过使用一个或多个队列以安全的方式将其形式化的,即使用队列可以安全的从一个线程向另一个线程传输数据。其中阻塞队列就是一种很有用的工具,工作者线程可以周期性的将中间结果存储在阻塞队列中,而其他工作者线程则可以移出中间结果并进行加以修改,而且在其运行的同时队列还会自动的平衡负载。-----------YYC本部分则以用阻塞队列的方式解决生产者和消费者问题

2013-12-20 20:38:01 1981

转载 第七部分 线程间通信

文章出自:http://blog.csdn.net/cuiran/article/details/6133745线程间通信我们所掌握的线程通信手段还只限于主线程通过唤醒,中断机制向子线程发出信号,或者在通过创建子线程时候向构造方法传入数据,以及设置子线程的公有属性。但是仅凭这些事难以胜任要求的。 在多线程开发领域,线程与线程之间需要交换信息。这是一种

2013-12-19 23:16:51 884

转载 第六部分 线程组

文章出自:http://blog.csdn.net/cuiran/article/details/6133745线程组线程组是java线程编程所持有的概念。在Java中,线程组是指java.lang.ThreadGroup类的对象,每个线程都隶属于唯一的一个线程组,这个线程组在线程创建时指定并在线程的整个生命周期内都不能更改。可以通过调用包含ThreadGroup类

2013-12-19 23:15:28 730

转载 第五部分 给程序添加退出事件

文章出自:http://blog.csdn.net/cuiran/article/details/6133745java.lang.Runtime类提供了一个addShutdownHook()方法。添加虚拟机关闭钩子。有以下用途:① 应用程序正常退出。在退出时只需特定的业务逻辑。② 虚拟机非正常退出,如用户按下“Ctrl+C”组合键,操作系统关闭。在退出时候执行必要的挽

2013-12-19 23:14:11 757

转载 第四部分 线程的终止

文章出自:http://blog.csdn.net/cuiran/article/details/6133745对于终止运行中的线程,Thread类原本提供了一个人方法:stop();但方法已经被禁用。就目前而言,我们可以利用线程的休眠和中断机制,在子线程中有意地为调度线程安排中断机会。下面例子就是利用线程的休眠和中断机制来终止线程。【StopThread】

2013-12-19 23:12:52 744

转载 第三部分 线程的休眠和中断

文章出自:http://blog.csdn.net/cuiran/article/details/6133745线程的休眠状态和就绪(包括等待)状态的不同之处在于,处于休眠状态的线程并不释放运行资源,在休眠结束后。不用等待被JVM线程调度器再度选中,而可以直接进入运行状态。结束休眠状态有两种途径:①休眠时间到达后,线程重新进入运行状态。②处于休眠状态的线程遇上j

2013-12-19 23:11:47 1249

转载 第二部分 线程的等待和唤醒

文章出自:http://blog.csdn.net/cuiran/article/details/6133745从这个图中可以看出,等待状态是一种特殊的状态。使线程陷入等待实际上是暂时剥夺线程当前拥有的CPU时间片和获取CPU时间片的资格,使其返回到就绪状态。除非被唤醒,否则等待时间已满,该线程将一直等待。不会被JVM线程调度器选中并赋予CPU时间片。处

2013-12-19 23:10:44 1010

转载 第一部分 浅谈线程的状态

文章出自:http://blog.csdn.net/cuiran/article/details/6133745首先可以看一些关于线程的状态图有六种状态。   就这个图,我们简单的说一下管理线程的常用方法。l  Thread类的构造方法:调用Thread类的构造方法之后,线程仅处于创建状态,并没有获得任何资源。l Thre

2013-12-19 23:08:47 1138

原创 以Android环境为例的多线程学习笔记(二)-----------------锁和条件机制

现在的绝大多数应用程序都是多线程的程序,而当有两个或两个以上的线程需要对同一数据进行存取时,就会出现条件竞争,也即是这几个线程中都会有一段修改该数据状态的代码。但是如果这些线程的运行顺序推行不当的话是很容易造成死锁现象的。所以在JAVA中为了防止出现这种现象的出现就产生了锁和条件机制用来对实现各个线程之间互斥的去访问这段临界区的代码,唉!由于我也是才刚学多线程并发编程,也不可能有多深多

2013-12-19 23:02:26 1106

原创 C#中foreach语句的迭代器实现机制

C#中的foreach语句可用于循环遍历某个集合中的元素,而所有的只要支持了IEnumerable或IEnumerable泛型接口的类型都是可以用foreach遍历的。其具体的遍历实现过程就是利用C#中的迭代器中的方法来按照特定顺序遍历的。在.NET中IEnumerator和IEnumerator就是对迭代器的抽象,如果要自定义的类型也支持foreach循环则首先须要声明该类支持IEnum

2013-12-18 22:55:57 3225

转载 C++多态、虚函数浅析

刚才在一朋友空间里看到这篇文章,感觉非常不错,详细的解释了C++中多态和虚函数的实现机制,特转载一下:出自:http://user.qzone.qq.com/1529486906/blog/1386947592 3.3.1 C++多态、虚函数浅析多态(Polymorphism),按字面的意思就是“多种形状”。多态性是允许将父对象设置成为和一个或更多的他的子对象相

2013-12-16 22:11:11 835

原创 以Android环境为例的多线程学习笔记(一)------- 线程的创建

多进程和多线程的本质区别在于其实每一个进程都拥有自己的一整套变量,说白了,可以拥有各种资源,而线程则是共享数据的,同时也正是因为共享数据从而使得在线程之间的通信要比在进程之间的更有效、更容易。由与我近段时间在学些Android所以本部分的代码都以Android开发环境为基础,但其实这本质也就是JAVA中的多线程,两者是没有太大区别的:首先Thread类就是线程类,可以用它来创建一个新的

2013-12-15 22:17:06 1384

原创 C#中的泛型程序设计总结

今天总结了一下的C#泛型程序设计,就觉得其实C#中的所谓的泛型程序设计和C++中相对应的模版、泛型设计的功能和机制是很相似的,在C++中有“函数模版 ”和“类模版 ”,而在C#中则有相应的“泛型方法”和“泛型类”。A:先说说“泛型方法”吧,C#中的泛型方法是指使用了类型参数的方法成员,For example:public static void Swap(ref T x,ref

2013-12-13 22:22:51 2041

原创 对C#中的接口的思考(二)

现在接着上篇博客写,上次是写到了关于C#中接口出现的意义的第二点:实现多继承。在C#语言中本身就有规定一个类只能有一个直接基类,也就是不允许出现多继承,这个主要是基于两个方面原因的考虑: --------------------YYC一、多继承很容易出现“二义性”,也就是在两个或以上的基类中出现了相同名字的方法时,在其派生类中通过base关键字调用父类中该方法时就会引发歧义。

2013-12-12 14:04:46 1324

原创 对C#中的接口的思考(一)

思考一: C#中接口和抽象类的使用上的区别:                ---------------YYC                1、抽象类不能被实例化,但能拥有自己的成员字段和非抽象的方法,但接口比抽象类更加抽象,其成员只能是                    一般的方法、属性和索引函数而不能拥有自己的成员字段和构造函数。                2、用a

2013-12-11 23:47:36 3063

原创 C#中委托和方法学习心得

最近一直在回想C#中的委托和事件机制,突然觉得其实C#中的委托和时间机制其实真的和C++中的函数指针就是一样一样,可能因为C#中没有指针所以就弄出了支持委托和事件的机制。C#中它将方法做为特殊的对象进行封装起来,从而实现了将方法名做为变量来使用和进行赋值操作,C#中定义“函数指针”要用delegate关键字进行修饰。之后就可以直接可以用“函数指针”定义对象或者对象数组并进行赋值,赋值操作完

2013-12-11 22:12:47 1489

原创 C#自定义异常类型的方法和注意项

C#中的异常都是从SystemException(系统异常)和ApplicationException(应用程序异常)两个类派生而来, 在自定义异常类时通常都是从ApplicationException派生,只有在开发.NETFramework的扩展类库时才考虑从SystemException派生。在定义自己的派生异常类时通常要注意一下几点:        一:如果你的异常是需要写入文件的

2013-12-08 21:54:55 5960

转载 android-Service和Thread的区别

1.服务不是单一的进程。服务没有自己的进程,应用程序可以不同,服务运行在相同的进程中。2.服务不是线程。可以在线程中工作。一.在应用中,如果是长时间的在后台运行,而且不需要交互的情况下,使用服务。同样是在后台运行,不需要交互的情况下,如果只是完成某个任务,之后就不需要运行,而且可能是多个任务,需需要长时间运行的情况下使用线程。二.如果任务占用CPU时间多,资源大的情

2013-12-08 20:23:21 4635

原创 C#对象序列化详解

C#中的序列化主要是通过一个格式化工具获取某个自定义类型对象中的所有数据成员并写入传入的一个文件流中,或者从文件流对象中              解析出某个自定义类型对象中的所有数据成员并赋值到一个该类型对象中。从而实现了用二进制流来处理对象的存储问题。              其中C#里的格式化工具可以分为BinaryFormatter(二进制格式化工具)、SoapFormatter

2013-12-08 17:30:58 3094

原创 C#中流的读写器BinaryReader、BinaryWriter,StreamReader、StreamWriter详解

问题一:为什么要出现与文件流配套的读写器类型呢?                   主要是因为文件流对象在读写字节的效率是相当高的,但是在处理其他类型的数据时会比较麻烦,                   所以就出现了二进制读写器和文本读写器来解决这一问题。  -----------YYC            FileStream fsl = File.Open("E

2013-12-08 11:21:17 9912

原创 C#byte字节流读写乱码问题

刚才在练习文件流的读写时,突然发现存入byte类型的数据后读出来的却是乱码,仔细想想后才发现原来是自己对byte类型的理解有误,特分享一下,在c#中byte占8个位,是无符号字节型整数,取值是0-255的范围,说白了它也是数值类型,所以在通过(char)b强制类型转换时实质上得到的字符是对应Unicode码表中对应的符号,而Unicode码表中有些字符是无法显示的,如tab键等,所以会

2013-12-07 23:40:26 6205

原创 C#中FileStream文件流详解

FileStream对象的获得既可以通过File类的静态方法Open(),Create()等获得,也可以通过其本身的构造函数FileStream(string path,FileMode mpode)           File类只能进行一次性的处理全部文件内容,而文件流FileStream对象则以流的形式读写文件中的指定内容,           FileStream既可以通过Writ

2013-12-06 22:39:11 10516

原创 C++实现离散数学求主合取范式和主析取范式

-------YYC#include#include#include#includeusing namespace std;/**说明:*     用!表示 否定*     用& 表示 合取*     用| 表示 析取*     用- 表示 条件*     用~ 表示 双条件*/list> inlist_value_map ;//用于记录所有

2013-12-06 17:14:06 9555

原创 C++实现离散数学中求合式表达式

在输入任何一个合式公式后,该段程序就会自动检测里面的命题变元,并要求为之输入真假值,在输入完毕后就会得出该合式公式的真假值,运用的是递归的思想。----------YYC#include#include#includeusing namespace std;/**说明:*     用!表示 否定*     用& 表示 合取*     用|

2013-12-06 17:10:49 2935

原创 C++实现离散数学“五个房子,不同颜色,不同国家...”问题

有五座房子,每座房子的颜色不同,里面分别住着不同国家的人,每个人都有自己养的不同宠物、喜欢喝的不同饮料、抽的不同牌子的烟。现已知以下一些信息:1>英国人住在红色的房子里;2>西班牙人养了一条狗;3>挪威人住在左边的第一个房子里;4>黄房子里的人喜欢抽kools牌的香烟;5>抽chesterfields牌香烟的人与养狐狸的人是邻居; 6

2013-12-06 17:02:04 4788

原创 C#中File静态类及其常用静态方法实例详解

刚才写了一个小的测试程序,全面详述了c#中的关于文件操作的各种静态方法的用法,现分享一下----------YYCusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;

2013-12-06 16:49:42 3556 1

原创 C#实现离散数学中Kn图一笔画模拟

用C#实现离散数学中的Kn图模拟,该实验中用自己设计的算法实现了一笔画成n各结点的无向完全图动画模拟。由于本实验没有做异常处理,所以n值只能输入奇数,且必须先点击画点,后才能开始画图。--------------YYCusing System;using System.Collections.Generic;using System.ComponentModel;u

2013-12-06 16:01:22 4484

Uninstall_vs.zip

vs卸载工具,需要使用一个工具名称叫“Setup.ForcedUninstall.exe”工具,右击使用管理员权限点击运行,然后手动输入“Y”,然后等待卸载结束

2019-10-12

Linux C 入门到精通 明日科技(著) 完整本_第三部分 。

Linux C 入门到精通 明日科技(著) 完整本_第三部分 。

2017-12-20

Linux C 入门到精通 明日科技(著) 完整本_第二部分

Linux C 入门到精通 明日科技(著) 完整本_第二部分 。

2017-12-20

android中json的用法

该文档完整的讲述了android中json的用法,包括json数据的存储和读取,还有解析json数据等。

2013-09-06

C++中list的用法

完整的讲述了C++中list各种用法。非常适合初学者

2013-09-06

C++中模版的用法

精讲了C++中模版的用法,包括函数模版,类模版等。

2013-09-06

dos命令用法大全

dos命令用法大全,能提高你对DOS的操作水平。很实用!

2013-08-02

基于Android+API的人脸检测论文

基于Android+API的人脸检测方法论述

2013-07-24

空空如也

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

TA关注的人

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