<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[编程菜鸟进阶之路]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u014135607</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014135607]]></copyright><item><title><![CDATA[云计算之概念——IaaS、SaaS、PaaS、Daas]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/106843601</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/106843601</guid><author>u014135607</author><pubDate>Thu, 18 Jun 2020 21:25:18 +0800</pubDate><description><![CDATA[云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备，计算设备一般是指CPU、内存和硬盘，输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。



 一个软件在执行以完成某项任务的时候，如果用到的计算设备和输入/输出设备不是通过主板连接，而是通过网络连接，那么这个过程就叫云计算。







举几个例子来说明一下：



1、我远程到客户电脑给客户处理问题，输入/输出使用的是我的鼠标、键盘和显示器，...]]></description><category></category></item><item><title><![CDATA[android native内存泄漏检测原理]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/105568048</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/105568048</guid><author>u014135607</author><pubDate>Thu, 16 Apr 2020 23:26:49 +0800</pubDate><description><![CDATA[android native内存泄漏检测原理初始化释放和分配函数的处理获取泄漏信息header的作用内存泄漏显示
本文根据Android 8.1编写，代码路径在bionic目录下。
初始化
每个进程都会执行函数malloc_init_impl初始化内存分配框架。
初始化函数
void* malloc_impl_handle = dlopen(DEBUG_SHARED_LIB, RTLD_NOW |...]]></description><category></category></item><item><title><![CDATA[Android-常用的颜色（链接）]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/81608560</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/81608560</guid><author>u014135607</author><pubDate>Sun, 12 Aug 2018 17:47:21 +0800</pubDate><description><![CDATA[1. Android-常用的颜色代码值   https://blog.youkuaiyun.com/u014616515/article/details/53292965

2.安卓开发中常见的RGB颜色表 https://blog.youkuaiyun.com/weixin_36431280/article/details/53307495

3.Android颜色对照表  https://blog.youkuaiyun.com/...]]></description><category></category></item><item><title><![CDATA[Valgrind: Memory still reachable with trivial program using]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/81608465</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/81608465</guid><author>u014135607</author><pubDate>Sun, 12 Aug 2018 17:37:34 +0800</pubDate><description><![CDATA[Take the following trivial program:


#include &amp;lt;iostream&amp;gt;
int main() {
  return 0;
}


If I run this using valgrind, I'm told that there are 72,704 bytes in 1 blocks that are still reachable. Th...]]></description><category></category></item><item><title><![CDATA[面试相关问题（Android /C++）]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80717636</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80717636</guid><author>u014135607</author><pubDate>Sun, 17 Jun 2018 11:51:21 +0800</pubDate><description><![CDATA[（一）几个重要的知识点：
1.一篇文章了解相见恨晚的 Android Binder 进程间通讯机制
https://blog.youkuaiyun.com/freekiteyu/article/details/70082302
2.linux设备驱动uevent详解，高通平台battery上报电量实例
https://blog.youkuaiyun.com/radianceblau/article/details/780...]]></description><category></category></item><item><title><![CDATA[IT职业技能图谱]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80711854</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80711854</guid><author>u014135607</author><pubDate>Sat, 16 Jun 2018 11:10:16 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[USB枚举过程]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80601353</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80601353</guid><author>u014135607</author><pubDate>Wed, 06 Jun 2018 21:27:22 +0800</pubDate><description><![CDATA[1. 枚举是什么?       枚举就是从设备读取一些信息，知道设备是什么样的设备，如何进行通信，这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备，很重要的一点就是USB的枚举过程，只要枚举成功了，那么就已经成功大半了。       USB架构中， hub负责检测设备的连接和断开，利用其中断IN端点(Interrupt IN Endpoint)来向主机（Host）报告。在系统启动时，...]]></description><category></category></item><item><title><![CDATA[linux 学习之路（学linux必看）]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80426733</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80426733</guid><author>u014135607</author><pubDate>Wed, 23 May 2018 21:41:36 +0800</pubDate><description><![CDATA[转载自：http://www.oschina.net/question/587367_156024很多同学接触Linux不多，对Linux平台的开发更是一无所知。 而现在的趋势越来越表明，作为一个优秀的软件开发人员，或计算机IT行业从业人员， 掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验，及对 Linux，更是类UNIX系统，及开源软件文化， 谈谈Linux的...]]></description><category></category></item><item><title><![CDATA[USB chirp信号测试]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80411855</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80411855</guid><author>u014135607</author><pubDate>Tue, 22 May 2018 21:29:17 +0800</pubDate><description><![CDATA[以下的内容转载自USB chirp信号测试，在这篇文章中详细的解释了USB高速设备的握手过程，以及通过分析D+和D-上面的波形来进行说明。很赞的一篇文章。1 信号及原理分析1.1 KJ信号说明USBchirp信号分为K信号和J信号。根据USB速率将chirp信号做如下区别：USB速率  Chirp  DP  DM  空闲状态 Low  Speed  K  1  0  K J  0  1 Full ...]]></description><category></category></item><item><title><![CDATA[公钥，私钥和数字签名]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80259070</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80259070</guid><author>u014135607</author><pubDate>Wed, 09 May 2018 20:28:00 +0800</pubDate><description><![CDATA[一、公钥加密 假设一下，我找了两个数字，一个是1，一个是2。我喜欢2这个数字，就保留起来，不告诉你们(私钥），然后我告诉大家，1是我的公钥。我有一个文件，不能让别人看，我就用1加密了。别人找到了这个文件，但是他不知道2就是解密的私钥啊，所以他解不开，只有我可以用数字2，就是我的私钥，来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a，加密后成了b，放在网上。别人偷到了这个文件，但...]]></description><category></category></item><item><title><![CDATA[Android O新增的关于usb的三个属性 sys.usb.configfs，sys.usb.ffs.ready，sys.usb.ffs.mtp.ready]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/80011192</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/80011192</guid><author>u014135607</author><pubDate>Thu, 19 Apr 2018 21:26:17 +0800</pubDate><description><![CDATA[1.sys.usb.configfs该属性默认为0，通过判断kernel是否支持configfs，即判断/config/usb_gadget存在设置为1.代码在init.qcom.usb.sh中（高通平台下）。2.sys.usb.ffs.ready当sys.usb.config设置为none时，设置sys.usb.ffs.ready为0.每次设置的属性有adb时，会先start adbd。如sys...]]></description><category></category></item><item><title><![CDATA[浅析Android下的Android.mk文件（补充）]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79995741</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79995741</guid><author>u014135607</author><pubDate>Wed, 18 Apr 2018 19:55:05 +0800</pubDate><description><![CDATA[        指定了LOCAL_MODULE_TAGS:=optional和PRODUCT_MODULE_CLASS、PRODUCT_MODULE_PATH都不起作用。必须添加PRODUCT_PACKAGES+=(模块名)。         LOCAL_MODULE_TAGS:=optional不是所有模块编译。optional: don't include this(见http://andro...]]></description><category></category></item><item><title><![CDATA[在Android.mk文件中输出打印消息]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79980380</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79980380</guid><author>u014135607</author><pubDate>Tue, 17 Apr 2018 20:36:24 +0800</pubDate><description><![CDATA[以下Android.mk文件可以打印$(warning $(parameter))的内容，其中parameter表示变量。也可以写$(error $(parameter))，如：system/sepolicy/Android.mk文件中的$(error BOARD_SEPOLICY_REPLACE is no longer supported; please remove from your Bo...]]></description><category></category></item><item><title><![CDATA[Android.mk文件中LOCAL_CFLAGS常见设置]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79980018</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79980018</guid><author>u014135607</author><pubDate>Tue, 17 Apr 2018 20:18:19 +0800</pubDate><description><![CDATA[-DLOCAL_CFLAGS += -DXXX   相当于在所有源文件中增加一个宏定义#define-O代表默认优化，可选：-O0不优化，-O1低级优化，-O2中级优化，-O3高级优化，-Os代码空间优化 -W[no-]&amp;lt;警告选项&amp;gt;     no- 表示诊断时忽略这个警告   编译器的警告设置参数，拥有众多的选项，下面举一些常用的例子：     -Woption 让编译器给出optio...]]></description><category></category></item><item><title><![CDATA[注释多行shell命令]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79967127</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79967127</guid><author>u014135607</author><pubDate>Mon, 16 Apr 2018 21:52:26 +0800</pubDate><description><![CDATA[方法一: '
被注释的多行内容 
'方法二:&amp;lt;&amp;lt;eof
被注释的多行内容 
eof方法三:&amp;lt;&amp;lt;!
被注释的多行内容 
!方法四 if false ; then 
    被注释的多行内容 
 fi方法五（&amp;amp;&amp;amp;和||的就近原则）((0)) &amp;amp;&amp;amp; {
被注释的多行内容
}方法六: &amp;lt;&amp;lt; 字符  #这里的字符可以是数字或者字符都可以
被...]]></description><category></category></item><item><title><![CDATA[Android监听UEvent事件的测试程序]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79966983</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79966983</guid><author>u014135607</author><pubDate>Mon, 16 Apr 2018 21:41:03 +0800</pubDate><description><![CDATA[Android在源码目录:system/extras/tests/uevents/中，可以监听底层UEvent事件上报的程序，其实现如下: 一、源码实现 uevent.c/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the ...]]></description><category></category></item><item><title><![CDATA[linux之configfs简介和编程入门]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79949571</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79949571</guid><author>u014135607</author><pubDate>Sun, 15 Apr 2018 15:18:19 +0800</pubDate><description><![CDATA[一、什么是configfs是一种基于ram的文件系统configfs is a ram-based filesystem that provides the converse of sysfs's functionality.  Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-ba...]]></description><category></category></item><item><title><![CDATA[腾讯 soter 原理]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79874351</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79874351</guid><author>u014135607</author><pubDate>Mon, 09 Apr 2018 23:00:50 +0800</pubDate><description><![CDATA[TENCENT SOTER之所以能实现支付级别的指纹授权安全性，主要原因有三：所有关键数据存储与操作均根本依赖TEE厂商在设备出厂之前安全环境会专门生成TENCENT SOTER设备根密钥生物授权的实质是密钥签名，TEE级别保证“无授权，不签名”。Soter 架构TENCENT SOTER中，一共有三个级别的密钥：ATTK，App Secure Key(ASK)以及AuthKey。这些密钥都是RS...]]></description><category></category></item><item><title><![CDATA[Android中hw_get_module函数分析]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79840130</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79840130</guid><author>u014135607</author><pubDate>Sat, 07 Apr 2018 12:45:08 +0800</pubDate><description><![CDATA[该函数定义在hardware/libhardware/hardware.c文件中，定义如下：int hw_get_module(const char *id, const struct hw_module_t **module)
{
    return hw_get_module_by_class(id, NULL, module);
}
hw_get_module()函数利用HAL层注册信息i...]]></description><category></category></item><item><title><![CDATA[【BUG分析】persist属性设置的太早不起作用，并且不会写到磁盘中]]></title><link>https://blog.youkuaiyun.com/u014135607/article/details/79600323</link><guid>https://blog.youkuaiyun.com/u014135607/article/details/79600323</guid><author>u014135607</author><pubDate>Sun, 18 Mar 2018 14:28:29 +0800</pubDate><description><![CDATA[persist属性设置的太早不起作用，并且属性不会写到磁盘中。而且会被加载存到/data/property/目录中的属性覆盖掉。system\core\init\property_service.cpp中代码如下：static int property_set_impl(const char* name, const char* value) {
    size_t namelen = strl...]]></description><category></category></item></channel></rss>