自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

clj风清云淡的专栏

坚持,hold on!

  • 博客(24)
  • 资源 (7)
  • 收藏
  • 关注

原创 将Android.mk转换成Cmake使用

Android studio 2.2之后就引入了Cmake 编译Native code。我们可以通过gradle+cmakelists 配置脚本自动构建native code 生产so库。gradle(app/build.gradle)配置:在android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultCo

2017-09-26 10:36:50 8271

原创 Android Native Development Kit Cookbook 中 第二章 Manipulating strings in JNI代码错误问题

Android Native Development Kit Cookbook 中 第二章 Manipulating strings in JNI代码错误问题在stringtest.c 中有这也一段代码const jbyte *str;jboolean *isCopy;str = (*pEnv)->GetStringUTFChars(pEnv, pStringP, isCopy);这段代码是错误

2017-08-30 12:38:00 369

原创 设计模式之六大原则

设计模式面向对象的六大原则单一责任原则(Single Responsibility Principle 缩写SRP) 将独立的任务抽象成类开闭原则(Open Close Principle 缩写OCP) 对类,方法,模块扩展是开发的,但对类修改是封闭的里式替换原则(Liskov Substitution Principle 缩写LSP) 所有引用基类的地方必须能够透明的替换成子类对象,不

2017-07-15 22:18:35 388

原创 指针数组和数组指针

指针数组和数组指针指针数组: array of pointers 元素为指针的数组数组指针: a pointer to an array 指向一个数组的指针 int *a[4];//指针数组int (*b)[4];//数组指针,从声明看,表明(*a)这个指针指向的是4个元素的int数组int c[4] = {1,2,3,4};int i;for(i=0;i<4;i++){ a[i]=&

2017-07-05 17:23:56 398

原创 Android NDK 开发

Android NDK 开发JNI 基础Java 与 C/C++ 基本类型对应 Java jni 占用大小 byte jbyte 1 short jshort 2 int jint 4 float jfloat 4 long jlong 8 double jdouble 8 char jchar 2 b

2017-06-19 16:37:08 524

原创 Android ADB工具 adb,adbd,client,server之间的关系

Android ADB工具 adb,adbd,client,server之间的关系不多说我放一张图 可以看出他们之间的大致关系 adb 是在用户HOST端,adbd是在设备端(emulator/real device)大致流程是这样的 1、client调用某个adb命令 2、adb进程fork出一个子进程作为server 3、server查找当前连接的emulator/device 4、s

2017-06-08 23:03:33 2128

原创 Android view 自定义控件

Android view 自定义控件自定义View的思想1) 掌握View控件的基本功,比如View得弹性滑动、滑动冲突、绘制原理等 2) 面对新的的自定义View时,要能够对其分类并选择合适的实现思路 3) 积累自定义View相关经验,并逐步融会贯通对于以上的三点,逐步进行讲解,首先针对View控件的基本功 VelocityTracker 追踪手指滑动过程的速度 pri

2017-04-27 13:39:30 435

原创 Java内存原理

Java内存原理一、JVM运行时数据区 分别解析一下运行时数据区线程共享内存区域方法区: 线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。常量池也属于方法区的一部分,比如String常量池。堆: Java虚拟机所管理的内存中最大的一块。被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实

2017-03-30 13:43:48 459

原创 并行编程之volatile变量

并行编程之volatile变量在并行编程中,volatile变量算是一个最轻量级的同步规则了。volatile具有以下两种特性保证变量的可见性 可见性是指当一个线程修改了共享变量的值,其它线程能够立即得知这个修改。Java内存模型是通过在变量修改后将新值同步回主内存,在变量读取前从主内存刷新变量值这种依赖主内存作为传递媒介的方式来实现可见性,无论是普通变量还是volatile变量都是如此,普通

2017-02-24 10:20:00 726 1

原创 并行编程之指令重排

什么是指令重排?为什么会指令重排? 为了使得处理器内部的运算单元能尽量被充分利用,处理器可 能会对输入代码进行乱序执行(Out-Of-Order Execution)优化,处理器会在计算之后将乱序 执行的结果重组,保证该结果与顺序执行的结果是一致的,但并不保证程序中各个语句计算 的先后顺序与输入代码中的顺序一致,因此,如果存在一个计算任务依赖另外一个计算任务 的中间结果,

2017-02-10 12:07:47 1640

原创 Android APK反编译之工具篇

APK反编译之工具篇反编译工具介绍几个比较常用的反编译工具ApkTool 工具 主要是对apk进行压缩和解压缩,可以提取出apk文件的dex文件或者反编译成smali格式文件。 源码及下载地址!APKToolJadx 工具对于一些未加壳的APP可以直接使用 Jadx 工具打开APK查看里面的源码,相比ApkTool反编译出来的smali,它直接出来的是java语言形式的,可读性更高,但是很多a

2017-01-24 14:00:05 1290

原创 并行编程之先行发生原则

先行发生原则(happens-before)在并发环境下访问变量,我们如何确定该情况下是否线程安全,数据是否存在竞争,根据并行发生原则。什么是先行发生原则? 指Java内存模式中定义两项操作之间的偏序关系,如果说操作A先行发生于操作B,其实就是说在操作B之前,操作A产生的影响能被操作B观察到,“影响”包括修改内存中的共享变量的值、发送了消息、调用了方法等。举个例子:i = 1;//thread

2017-01-16 17:45:15 1293

原创 并行编程之Java内存模式

Java内存模式以前我在看一些并行编程的书时候,老是有些模糊,后来看到《深入理解Java虚拟机 第二版》这边书在并行哪章时候,才逐渐清晰,现在就来讲讲Java内存模式。 - 主存和工作内存 1. 主存 保存了有关对象class属性字段,全局变量等信息 2. 工作内存指线程相关存储信息。 一般来说,工作内存会得到主存中的一部分内存信息拷贝,当工作内存更新了某些变量值得时候必须要回写

2017-01-06 13:50:50 586

原创 Mac 环境下配置bcprov-ext-jdk jar 文件

Mac 环境下配置bcprov-ext-jdk jar 文件下载bcprov-ext-jdk.jar下载bcprov-ext-jdk.jar(选择你的适当的jdk版本下载)将下载的文件拷贝到JAVE_HOME/jre/lib/ext目录下 如果你不知道你的Mac Java_home 目录是/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Co

2015-05-24 16:22:02 3335

原创 VLC for android on unbutu 14.04 编译的几个问题总结

官网:https://wiki.videolan.org/AndroidCompile/#Environment_setup按照官网进行环境配置(android 开发人员这些应该不是问题),需要注意的是几个系统环境变量必须要这样定义ANDROID_SDKANDROID_NDKexport PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDRO

2014-07-08 21:37:27 3650 3

原创 Android webview 一些奇怪的问题

最近在做Android webview 控件相关的开发,发现一下问题,这里做一下总结:1.关于清除webview缓存的事(搜索相关文章)   这个有个非常奇怪的问题,为了不使用缓冲,将webview设置如下WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true

2014-07-02 18:42:08 4319

原创 android 2.3.6Gallary源码导入到Eclipse中编译

android 2.3.6 Gallary源码太out了吧,是的,很out。只是作为

2014-05-25 18:12:18 929

转载 android root权限破解分析

原文链接地址:http://ihyperwin.iteye.com/blog/1757491破解android的root权限的本质是:在系统中加入一个任何用户都可能用于登陆的su命令。或者说替换掉系统中的su程序,因为系统中的默认su程序需要验证实际用户权限,只有root和 shell用户才有权运行系统默认的su程序,其他用户运行都会返回错误。而破解后的su将不检查实际用户权限,这样普通的用户

2014-03-06 17:16:25 1710

原创 android Activity 跳转回传数据

由一个activity A启动另一个activity B,在activity B 执行相关逻辑。现在的目的是,要执行完activity B后回传我们需要的数据。    我们一般使用activity 中的startActivityForResult方法启动我们的activity B。同时需要在activity A中实现  protected void onActivityResult(int

2013-12-19 17:03:14 3121

原创 init进程

init是在内核启动后,在用户空间启动的第一个用户级进程init进程。内核在经过start_kernel() ---> init_post() ---->run_init_process()  ------>启动init进程。在内核启动过程中,需要设置内核启动选项时,应设置为"init = /init"。如果不存在该文件或未指定,则在/sbin 、/etc、 /bin目录中查找init文件。a

2013-10-20 15:34:27 1201

原创 android BroadcastReceiver

BroadcastReceiver 接收来自sendBroadcast()发送的广播。这样发送的广播都为全局广播,应用程序会通过intentfilter进行匹配。有时候,我们不希望发送全局广播,而是希望在应用程序自己内部来进行广播的发送和接收。我们可以使用LocalBroadcastManager 这个类。使用这个类相当于全局广播来说有如下优点:1.广播数据在本应用范围内传播,你不用担心隐

2013-10-09 14:23:12 1124

转载 UML类图与类的关系详解

文章来源:http://www.uml.org.cn/oobject/201104212.asp在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实

2013-05-31 18:38:46 890

原创 类的多态性

多态性:是向一个对象发出的同一个消息(即调用对象的某个成员函数),而得到不同的操作结果1.编译多态性(1)在一个类中的声明的重载成员函数的静态绑定(2)派生类中重载和覆盖基类中的成员函数的静态绑定基类与派生类相同的成员是隐藏的,如果要调用基类的被隐藏的成员,则必须使用作用域运算符“::”,即在函数名前加上“基类名::”用来绑定基类的函数。在C++中,定义为基类的指针变量,可以指

2011-01-03 21:30:00 709

原创 类的继承

                                                        类的继承(1)#include          class A          {            public:                  void funA();            protected:                

2010-12-31 22:11:00 828

androidGallary_2.3.6

可以直接将源码加入在您的eclipse工具中使用并编译

2014-05-25

android RPC原理总结及源码

演示远程调用服务,使用AIDL定义,详细阐述了RPC机制。

2013-06-15

android SDK 源码

从android 4.1 源码中抠出了android 4.1 SDK 源码。有兴趣的可以加入到eclipse中查看源码。

2013-06-14

线程同步Java代码(生成者消费者问题)

为了保护数据,使得两个线程互斥访问临界资源。 本代码根据生成者消费者问题,编写java线程同步代码。

2012-09-12

使用虚拟机的Linux系统中,安装mysql数据库镜像文件

该文件可以在安装有Linux的虚拟机中,mysql数据库安装的镜像文件。只需要将文件挂载即可安装。

2012-04-08

wakemeup电脑定时器

wakemeup是一款比较好的电脑定时器,为你安排好时间!

2010-12-14

WebSaver_4.7.0.606_setup.exe

WebSaver_4.7.0.606_setup.exe一款很有用的网络资源软件哦!

2010-12-14

空空如也

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

TA关注的人

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