自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (17)
  • 问答 (2)
  • 收藏
  • 关注

原创 个人公众号开通了

这段时间狂输出一些总结,感觉单纯在cdsn已经无法满足自己对这些东西的热爱,然后就开通了个人公众号,希望在公众号输出一些质量更好的总结文章。 写了一两篇公众号里面的文章,自己会更加揣摩一句话该怎么写,怎么能把这个知识点简练的总结出来,欢迎关注个人公众号。...

2021-10-08 16:30:40 327

原创 Android Gradle 中的实例之动态修改AndroidManifest文件(十)

前言逐步整理的一系列的总结: Android Gradle插件开发初次交手(一)Android Gradle的基本概念梳理(二)Android 自定义Gradle插件的完整流程(三) Android 自定义Task添加到任务队列(四)Android 自定义Gradle插件的Extension类(五)Android Gradle 中的Transform(六) And...

2021-09-23 14:46:27 7092 4

原创 小白自我提高学习设计模式笔记(五)—模板模式

前言结合着Android源码把所有的设计模式总结一下。小白自我提高学习设计模式笔记(一)—代理模式小白自我提高学习设计模式笔记(二)—装饰者模式小白自我提高学习设计模式笔记(三)—装饰者模式在Android开发的小试小白自我提高学习设计模式笔记(四)—责任链模式小白自我提高学习设计模式笔记(五)—模板模式 在小白自我提高学习设计模式笔记(四)—责任链模式一...

2021-09-09 11:55:47 231

原创 小白自我提高学习设计模式笔记(四)—责任链模式

前言结合着Android源码把所有的设计模式总结一下。小白自我提高学习设计模式笔记(一)—代理模式小白自我提高学习设计模式笔记(二)—装饰者模式小白自我提高学习设计模式笔记(三)—装饰者模式在Android开发的小试小白自我提高学习设计模式笔记(四)—责任链模式一 责任链模式...

2021-09-08 16:12:56 235

原创 Android Q R的适配(二)-隐私权限

Execution failed for task ':app:processHuaweiDebugMainManifest'.> Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an inte...

2021-09-02 14:52:17 2389 1

原创 AndroidQ R的适配(一)-分区存储的适配

一 分区存储的适配Android的文件系统分为内部存储(Internal Storage)和外部存储(External Storage)。1.内部存储(1)概念 该存储区域主要存储的是数据库、SharedPreferences等系统数据。主要有三种类型的文件内容:(1)system/:存放的系统数据 (2)data/:存放应用相关的数据 ,该区域的数据在应用卸载时里面的文件会全部删除。 (3)vendor/:用于存放厂商定制化的数...

2021-08-27 17:16:55 1250

原创 Android Gradle 中的字节码插桩之ASM(八)

JVM平台上,处理字节码的框架最常见的就三个,ASM,Javasist,AspectJ。我尝试过Javasist,而AspectJ也稍有了解,最终选择ASM,因为使用它可以更底层地处理字节码的每条命令,处理速度、内存占用,也优于其他两个框架。...

2021-08-20 16:23:54 2494 4

原创 Android Gradle 中的使用ASMified插件生成.class的技巧(九)

Code: stack=7, locals=7, args_size=3 //在操作数栈中调用System.currentTimeMillis() 0: invokestatic #3 // Method java/lang/System.currentTimeMillis:()J //将操作数栈中的数值存储到局部变量表索引值为3的位置,对应下面的 3: lstore_3 .

2021-08-20 16:07:58 929

原创 本地配置多个ssh密钥小记

之前在https://github.com中的项目发现提交代码的时候提示:MacBook-Pro:pattern j1$ git pushremote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-toke...

2021-08-20 10:35:59 288

原创 小白自我提高学习设计模式笔记(三)—装饰者模式在Android开发的小试

装饰者模式项目中的应用在一个Android应用开发中,在Application中可以通过调用registerActivityLifecycleCallbacks()来实现对Activity的生命周期进行监听,那么有的时候需要监听Activity的生命周期来实现下面几个功能:(1)通过监听Activity的生命周期来统计应用中打开的未被finish()的Activity,在应用完全退出的时候,将未被关闭的Activity执行finish(),防止在应用退出的时候黑屏显示;(2)通过监听Activi

2021-08-18 16:36:07 1613

原创 Android Gradle之Java字节码(七)

前言所谓的java字节码就是java虚拟机能够识别可执行的指令,而.dex文件就是Android Dalivk虚拟机可以识别执行的指令文件。Android Studio查看字节码文件Android Studio默认打开的.class文件看到的并不是字节码文件,需要安装一个ASM Bytecode Viewer插件。在Android Studio->Preferences-<Plugins中搜索ASM Bytecode Viewer安装,如图所示:...

2021-08-09 15:34:27 788

原创 Android Gradle中的productFlavors

前言前段时间在研究

2021-08-03 12:00:49 7679 2

原创 Android Gradle 中的Transform(六)

前言逐步整理的一系列的总结: Android Gradle插件开发初次交手(一)Android Gradle的基本概念梳理(二)Android 自定义Gradle插件的完整流程(三) Android 自定义Task添加到任务队列(四)Android 自定义Gradle插件的Extension类(五)Android Gradle 中的Transform(六) ...

2021-07-16 17:08:01 2312 8

原创 Android 自定义Gradle插件的多层属性扩展(五)

前言逐步整理的一系列的总结: Android Gradle插件开发初次交手(一)Android Gradle的基本概念梳理(二)Android 自定义Gradle插件的完整流程(三)Android 自定义Task的放到插件的任务队列(四)Android 自定义Gradle插件的Extension类(五) 在Android 自定义Gradle插件的完整流...

2021-07-05 11:17:28 1541

原创 Android 自定义Task添加到任务队列(四)

目录前言一 关系梳理二 在自定义插件中添加Task1.添加属性扩展2.将HandleTemplateTaskInProject添加到插件的project中三 总结前言逐步整理的一系列的总结:Android Gradle插件开发初次交手(一)Android Gradle的基本概念梳理(二)Android 自定义Gradle插件的完整流程(三)Android 自定义Gradle插...

2021-06-24 15:07:58 1408 4

原创 Android 自定义Gradle插件的完整流程(三)

在Android Gradle的基本概念梳理(二

2021-06-23 17:16:22 1484 1

原创 Android Gradle的基本概念梳理(二)

在Android Gradle插件开发初次交手

2021-06-11 16:18:46 1667 3

原创 小白新手SpringCloud开发简单总结(二)-SpringBoot概念

前言在小白新手SpringCloud开发简单总结(一)-SpringCloud概念中提到了SpringCloud是一个微服务治理框架。而SpringCloud中的每个服务是基于SpringBoot框架创建的。那么先看下SpringBoot的一些概念。一 SpringBoot概念1.基本概念的引入在前面的小白新手web开发简单总结(十八)-阶段总结中在创建一个web应用的项目的时候,从最基本的一个maven工程,逐渐在这个基础上累加下面的功能,才得到一个完整的web应用:1.配置web应用

2021-05-28 15:48:12 1831

原创 小白新手SpringCloud开发简单总结(一)-SpringCloud概念

一 SpringCloud微服务框架。对优秀组件进行整合。基于Springboot进行构建。构建服务的过程需要:服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。二 几个常见概念1.服务发现...

2021-05-26 17:22:13 969 2

原创 小白自我提高学习设计模式笔记(二)—装饰者模式

一 装饰者模式1.定义动态给对象添加一些额外的属性或行为。而继承会产生大量的子类。Java提供的对象不能满足现有的功能,装饰者模式就是对原有对象增强。通常有四部分组成:Component:一个抽象类或一个接口。装饰者和被装饰者共同的父类,用来定义基本行为Concrete Component:定义具体对象。即被装饰类。Decorator(装饰类):是Component子类,是一个抽象类或者接口。是具体装饰类共同实现的抽象类(也可以是接口),并且持有一个Component类的对象引用

2021-05-25 13:59:42 128 1

原创 Android 跨进程通信-(十一)Binder机制之ServiceManager对系统Service的管理

前言在Android 跨进程通信-(二)Binder机制之ServiceManager主要是总结了ServiceManager进程是怎么和Binder驱动进行通信的。我们知道ServiceManager是用来管理系统Service的,那么到底是怎么完成系统Service的注册和查询呢?...

2021-05-18 15:13:54 1412 1

原创 Android 跨进程通信-(十)Binder机制传输数据限制—罪魁祸首Binder线程池

前言在Android 跨进程通信-(三)Binder机制之Client中提到2.APP进程初始化在通过ProcessState来获取驱动设备文件"/dev/binder/"文件描述符,并且在用户和内核的虚拟空间的时候,会开辟1M-8K的内存空间,用于当前进程与Binder驱动进行传递数据,但是在实际传输过程中,其实并不能达到这么大的数据。这次主要是详细总结下这个原因...

2021-05-13 15:58:28 3551 2

原创 Android 跨进程通信-(九)从源码分析AIDL跨进程通信实现

前言在Android 跨进程通信-(八)AIDL中的代理模式之源码分析中其实主要还是在总结AIDL中的代理模式的体现,也提到了Client和Server之所以能够进行交互数据,最主要的原因就是依赖Binder驱动,这次就是从Client和Server传递数据的过程在总结下流程,并且就是一一解决之前遇到的一些问题。简单的拿应用层的AIDL服务来看下这个源码的调用过程,大体分为:1.bindService()将Client和Server建立关系 2.Server通过onBind()将Stub返回.

2021-05-11 17:12:45 470 9

原创 Android 跨进程通信-(八)AIDL中的代理模式之源码分析

二 bindService前面在Android 跨进程通信-(四)Binder机制之Server也提到了一 几个常见的类1.IBinder接口类,表示一种跨进程通信的能力。public interface IBinder {}2.BinderFramework对Binder驱动封装的Java类。public class Binder implements IBinder { final class BinderProxy implements IBinder .

2021-05-08 17:27:31 1413 8

原创 Android 跨进程通信-(七)AIDL中的代理模式之创建AIDL实例

前言前面的一系列的Android 跨进程通信-(一)Binder概念引入Android 跨进程通信-(二)Binder机制之ServiceManagerAndroid 跨进程通信-(三)Binder机制之ClientAndroid 跨进程通信-(四)Binder机制之ServerAndroid 跨进程通信-(五)Binder机制之一次拷贝的原理Android 跨进程通信-(六)几句话描述Binder机制都是从源码的角度来了解了Binder机制的一些概念性的东西,Binder驱

2021-04-28 16:07:46 668

原创 Android 跨进程通信-(六)几句话描述Binder机制

前言Android 跨进程通信-(一)Binder概念引入Android 跨进程通信-(二)Binder机制之ServiceManagerAndroid 跨进程通信-(三)Binder机制之ClientAndroid 跨进程通信-(四)Binder机制之ServerAndroid 跨进程通信-(五)Binder机制之一次拷贝的原理经过前面五篇文章的总结,对Binder机制有了自己的一点认知,如果在面试中让我对Binder机制说一点内容,我会怎么去介绍呢?1.什么是Binder

2021-04-27 15:05:21 444

原创 Android 跨进程通信-(五)Binder机制之一次拷贝的原理

三 APP三 Server进程前面主要从源码的角度看了下APP进程是怎么创建出来的,那么Server进程又是如何创建的呢?在创建过程中是不是也会存在同样的逻辑呢?4.binder_ioctl()通过维护着很多switch的case匹配来处理对应着进程发过来的请求。通过一个Native发送过来的一个BINDER_WRITE_READ指令来看下一个简单的流程:(1)在ServiceManager进程中调用到framework/native/cmds/servicemanag...

2021-04-26 16:48:57 1088 1

原创 Android 跨进程通信-(一)Binder概念引入

前言主要对Android中的跨进程通信进行总结下,这篇先梳理下里面的涉及的一些概念一 多进程1.进程与线程进程:系统中正在运行的一个应用程序,某个程序一旦运行就是一个进程,是资源分配的最小单位; 线程:程序执行的最小单位,包含在进程中,一个进程可以包含多个线程。2.Android应用中的多进程(1)dalivk虚拟机Android系统的底层任务管理以及驱动都是基于Linux系统。一个Android系统其实就是一个Linux系统,通过adb shell进入连接的手机,就可以看到Li

2021-04-26 14:48:17 792 4

原创 Android 跨进程通信-(四)Binder机制之Server

前言在Android 跨进程通信-(二)Binder机制之ServiceManager和Android 跨进程通信-(三)Binder机制之Client已经总结了Binder机制中的ServiceManager和Client进程的创建过程,那么Server的进程是如何创建出来的呢?本次基于上次假设的一个APP去访问一个AIDL服务来进行分析,那么就看一个AIDL服务进程是怎么创建的呢?...

2021-04-22 16:13:59 571 1

原创 Android 跨进程通信-(三)Binder机制之Client

前言通过源码的角度来看下到底Binder机制是一个什么东西。如果不喜欢看源码,可以直接看每个章节的小结。一 ServiceManager在前面一篇Android 跨进程通信-(一)Binder概念引入中也总结过:Android在系统启动的时候,用户空间启动的第一个进程是init进程,在init进程中会启动Zygote进程,在Zygote进程会fork出SystemServer进程,也就是执行SystemServer的main函数,该文件位于framework/base/services/java

2021-04-20 17:59:24 934

原创 Android 跨进程通信-(二)Binder机制之ServiceManager

前言在前面一篇Android 跨进程通信-(一)Binder概念引入中也总结过:Android在系统启动的时候,用户空间启动的第一个进程是init进程,在init进程中会启动Zygote进程,在Zygote进程会fork出SystemServer进程,也就是执行SystemServer的main函数,该文件位于framework/base/services/java/com/android/server目录下,其中main()里面的主要代码如下:public final class SystemS

2021-04-16 15:08:49 896 1

原创 小白自我提高学习设计模式笔记(一)—代理模式

前言一 代理模式1. 定义通过引入代理类的方式来间接访问被代理类的对象。这样被代理类可以专心完成核心功能,代理类可访问和扩展被代理对象,使得代码更加间接,分工更明确。通常有三部分组成:(1)公共接口:抽象功能的接口;(2)被代理类:需要实现公共接口,实现核心功能;(3)代理类:需要实现公共接口,实现在执行被代理类功能之前进行预处理、过滤消息+传递消息给到被代理类+在被代理类功能执行之后进行后处理消息。代理类和被代理类之间存在一定的关联关系:在代理类中持有一个被代理类对象.

2021-04-08 14:25:58 175

原创 小白新手web开发简单总结(十八)-阶段总结

翻看这段时间的笔记,发现已经有16篇笔记了。小白新手web开发简单总结(一)-什么是Tomcat小白新手web开发简单总结(二)-什么是web.xml小白新手web开发简单总结(三)-一个简单的Web开发项目小白新手web开发简单总结(四)-web应用开发中的MVC小白新手web开发简单总结(五)-JSP页面的四元素小白新手web开发简单总结(六)-Spring的IoC容器小白新手web开发简单总结(七)-数据库HSQLDB小白新手web开发简单总结(八)-数据库HSQLDB

2021-04-06 13:47:40 205

原创 小白新手web开发简单总结(十六)-Web层优化(DispatcherServlet源码分析)

前言在小白新手web开发简单总结(八)-数据库HSQLDB实例中一直都是直接通过HttpServlet来处理浏览器发送过来的请求。而在Spring MVC中有一个专门前端控制器DispatchServlet,进行URL的请求处理。DispatchServlet1.什么是DispatchServletDispatchServlet实际上继承于HttpServlet,是一个标准的Servlet。Model在Controller和View进行数据传输。如果当前请求是页面...

2021-04-01 16:55:17 279 1

原创 小白新手web开发简单总结(十七)-DispatcherServlet中的url-pattern的一点反思

目录前言一 匹配路径1.在web.xml注册2.源码分析3.解决模糊匹配页面404二 后缀名匹配三 总结前言在小白新手web开发简单总结(十六)-Web层优化(DispatcherServlet源码分析)中也提到需要在web.xml配置DispatcherServlet的url-pattern用来过滤哪些浏览器发送过来的请求交给该DispatcherServlet来处理。在这个url-pattern配置过程中自己遇到一些问题,特意总结一下。前提基于@Reques.

2021-04-01 15:05:32 463 1

原创 小白新手web开发简单总结(十五)-数据库连接的相关优化( MyBatis的使用)

前言在ORM框架中通过Proxy模式实际上操作的是实体Model的代理类,该代理类中含有对实体Model属性的set方法,get方法负责从数据库读取数据。在小白新手web开发简单总结(十三)-数据库连接的相关优化( Hibernate的使用)中主要介绍的是Hibernate,该框架是一个全自动框架,相比较与Spring提供的JdbcTemplate具有以下优点:(1)不需要手动将ResultSet中的每行数据转换成实体类对象; (2)不需要手动传入增删改查的参数,框架将自动执行对应的SQL语句。

2021-03-25 14:33:27 188

原创 小白新手web开发简单总结(十四)-MySQL的安装与简单使用

1.进入到https://dev.mysql.com/downloads/,点击下面,进入相应的下载页到https://dev.mysql.com/downloads/mysql/2.在该页面中在对应的选项中点击download3.安装下载的mysql-8.0.23-macos10.15-x86_64.dmg文件,一路点击next,在Configuration的步骤中设置root账户的密码4.点击finish之后,打开系统偏好设置,点击MySQL5.此时该server已经启动

2021-03-19 12:29:04 284

原创 IDEA中运行Tomcat的时候报出: No artifacts marked for deployment

提示No artifacts marked for deployment

2021-03-17 10:41:05 10945 3

原创 小白新手web开发简单总结(十三)-数据库连接的相关优化( Hibernate的使用)

前言在小白新手web开发简单总结(十二)-数据库连接的相关优化(事务管理)中主要学习了Spring提供的事务管理的基本知识,明白了什么是事务,Spring在事务管理的两种方式,而像一些优秀的框架Hibernate/Mybatis在平时项目中怎么去使用呢?一Hibernate1.什么是HibernateHibernate对象关系映射框架,即ORM(Object-Relational Mapping)框架。在小白新手web开发简单总结(十二)-数据库连接的相关优化(事务管理)在验证声明式事.

2021-03-16 15:26:47 297

原创 Hibernate中的Librarian.hbm.xml文件里面的table以及字段显示红色-IDEA配置DataSource

在小白新手web开发简单总结(十三)-数据库连接的相关优化( Hibernate/Mybatis)的时候出现了新建的Librarian.hbm.xml文件里面的table以及字段显示红色,如图所示:其实出现这个原因就是我们的这个Librarian.hbm.xml没有关联对应的DataSource的原因。下面主要是通过几个步骤的配置来解决这个问题...

2021-03-12 21:23:01 662 2

自定义Toast解决Android关闭通知不显示

最近项目中出现一个问题,就是有的手机在关闭系统通知,结果项目中使用的原生Toast在有的手机上竟然不显示了,然后就去查系统源码,发现原来原生的Toast是基于NotificaitionManagerService实现的,难怪有些手机不显示。那些显示的手机厂商应该发现了这个问题,在系统修改了源码。特别记录下这个过程,并且附上可以解决这个问题的源码,供大家参考。

2020-09-01

Instascart.ipynb

数据集比较大,可以自行到官网下载https://www.kaggle.com/c/instacart-market-basket-analysis/data

2020-02-21

决策树来实现泰坦尼克生存情况

有一些泰坦尼克的数据集,里面的数据的特征包括了姓名、票的类别、存活、乘坐班、年龄、登录、目的地、房间、票、船和性别。我们用决策树来分析该问题

2019-12-04

knn来实现鸢尾花分类

因为整个项目包中包括一个python3.7的lib库,文件太大,所以需要自己将knn.py和放到PyCharm项目中

2019-11-15

preprocess.zip

由于使用PyCharm构建的项目中含有Python3.7的lib库,所以单独只上传.py文件和数据文件

2019-11-12

特征工程的特征提取实例

因为整个项目包中包括一个python3.7的lib库,文件太大,所以需要自己将linear.py和放到PyCharm项目中,有问题可以问我

2019-11-09

Python实现机器学习分类的评价指标

由于使用PyCharm构建的项目中含有Python3.7的lib库,所以单独只上传.py文件 分类的评价指标还在继续优化中分类的评价指标还在继续优化中分类的评价指标还在继续优化中

2019-10-29

一个简单的机器学习的线性回归实例

因为整个项目包中包括一个python3.7的lib库,文件太大,所以需要自己将linear.py和放到PyCharm项目中,有问题可以问我

2019-10-25

Android跨进程AIDL服务

一个完整跨进程的aidl服务,同时配合https://blog.csdn.net/nihaomabmt/article/details/82906937博文进行阅读代码可以更好的了解aidl服务

2018-10-09

iOS和Js互调的简单例子

在项目中有时候需要APP和Js之间相互调用方法来实现某些功能,本例子主要介绍iOS和Js是怎么实现相互调用对方的方法。

2018-05-17

Android和H5互调

在项目中有时候需要APP和H5之间相互调用方法来实现某些功能,本例子主要介绍Android和H5是怎么实现相互调用对方的方法。

2018-05-17

【eoe+Android特刊】1-22期

【eoe+Android特刊】1-22期 打包下载,很全面

2011-12-20

android_jni操作指南.pdf

android_jni操作指南,非常的全面的资料,大家可以很好的理解一下

2011-12-20

Linux-2.6.36-rc4移植(完整版).pdf

linux 内核移植的详细资料,可以很好的参考一下各模块的移植情况。

2011-12-15

brew 3.0 api接口说明

brew 3.0的接口说明,非常详细的资源,可以作为词典使用

2011-04-11

linux下的c库函数大全

linux下的c库函数大全,非常详细的工具库,方便查找!

2011-04-11

双向链表详细分析(很有用)

详细分析双向链表 1、双向链表(Double Linked List) 2、双向链表的结点结构和形式描述

2011-04-09

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

TA关注的人

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