自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baiiu

每天前进三十公里

  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言 基础知识整理

前言本文整理C语言基础知识,用于开发中日常查阅。C数据类型类型描述基本类型它们是算术类型,包括两种类型:整数类型和浮点类型枚举类型它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量派生类型它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。void类型类型说明符 void 表明没有可用的值。printfCode格式描述%c字符%d带符号整数%i带符号整数%e科学计数法,使用小

2020-12-28 11:49:26 1047 1

原创 JNI原理 模仿System.loadLibrary和dlopen使用

前言如下图所示,OpenNativeLibrary代码中使用了dlopen打开动态库,本文按照该源码中调用dlopen、dlsym来调用so里的方法,加强一下理解。本文就是模仿源码、模仿System#LoadLibrary流程,在Java层获取到要调用so路径后,传入c层调用dlopen打开,并通过dlsym调用方法后dlclose结束。函数说明dlopen()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。RTLD_LAZYEach external function

2020-12-25 19:02:32 3919 6

原创 JNI原理 System.loadLibrary源码分析

前言本文介绍System.loadLibrary原理。Java层源码流程System#loadLibrary-> Runtime#loadLibrary0–> BaseDexClassLoader#findLibrary–> DexPathList#findNativeLibrary->Runtime#nativeLoad,走向c层源码主要是从nativeLibraryPathElements中找到so路径,遍历所有路径找到存在的so,不存在则抛出Unsatisfi

2020-12-24 20:55:17 3358 1

原创 C语言 C内存模型

参考:C语言内存模型(内存组织方式)C语言程序的内存布局(内存模型)程序代码区(code area)存放函数体的二进制代码。全局区数据区(data area)全局数据区划分为三个区域。初始化的全局变量和静态变量在一块区域;未初始化的全局变量和未初始化的静态变量在相邻的另一块区域;常量数据存放在另一个区域里。这些数据在程序结束后由系统释放。我们所说的BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started.

2020-12-21 13:04:03 701 1

原创 Java并发 lockInterruptibly导致IllegalMonitorStateException异常研究

前言使用ReentrantLock过程中遇到IllegalMonitorStateException崩溃,于是研究一番。复现使用如下代码可以复现:public class LockTest { public static void test() { Thread thread = new Thread(new TestRunnable()); thread.start(); // 加上sleep代码不会IllegalMonitorStateE

2020-12-17 19:23:10 641 4

深入理解Android内核设计思想第一版高清完整带目录

第一版,带目录,高清完整 《深入理解Android内核设计思想》适用于Android 4.3以上的版本。全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、Binder机制、GUI显示系统、多媒体管理、输入系统等核心技术在Android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。全书分为编译篇、系统原理篇、应用原理篇、系统工具篇共4篇22章,基本涵盖了参与Android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量在源代码分析外为读者提供更易于理解的思维方式。 《深入理解Android内核设计思想》既适合Android系统工程师,也适合于应用开发工程师来阅读提升Android开发能力。读者可以在《深入理解Android内核设计思想》潜移默化的学习过程中更深刻地理解Android系统,并将所学知识自然地应用到实际开发难题的解决中。

2018-05-06

空空如也

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

TA关注的人

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