自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持之以恒

一个初级菜鸟的成长之路

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

原创 ActivityManagerService梳理,以及涉及AMS的Activity启动流程分析

AMS概览ActivityManagerService是android系统中一个特别重要的系统服务,也是和上层APP打交道最多的系统服务之一。AMS主要负责四大组建的启动、切换、调度以及应用进程的管理和调度工作。所有的APP应用都需要与AMS打交道。ActivityManager的组成主要分为以下几个部分:1.服务代理:ActivityManagerProxy实现,用于与server端提供的系统服务进行进程间通信2.服务中枢:ActivityManagerNative继承自Binder,并实

2021-02-26 10:32:54 404

原创 PackageManagerService 整体以及Settings相关逻辑

PackageManagerService(简称PKMS),是Aandroid系统中核心服务之一,负责应用程序的安装、卸载、信息查询等工作。PMS概述:Android系统启动时,在SystemServer的main函数中会启动应用程序管理服务器PKMS。[-->SystemServer.java]private void startBootstrapServices() { mPackageManagerService = PackageManagerService.main

2021-02-25 16:26:40 566

原创 Android Handler整体梳理以及热点问题解析

1.Handler整体概括在Android开发中会经常在子线程中进行一些操作,当操作完成后会通过Handler发送一些数据到主线程,通知主线程做相应的操作,Handler原理:子线程 Handler 主线程 其实构成了线程模型中的经典问题 生产者-消费者 模型。 生产者-消费者模型:生产者和消费者在同一时间段内用同一个存储空间,生产者往存储空间添加数据,消费者从存储空间中取走数据。优点:保证数据生产消费的顺序(通过MessageQueue先进先出)-不管是生产者(子线程)还是消费者(主线程.

2021-02-25 15:59:02 255

原创 基于Android10的adb install流程分析

最近没有时间进行详细的分析了,只画了一张时序图,梳理了adb install package 的整个流程,从commandline.cpp到PackageManagerService.java的整个流程,中间c++到Java的过程没弄清,之前在Android O的时候是通过一个pm脚本,然后直接调用Pm.java,Pm.java中调用PackageManagerService中的method,从而...

2020-01-10 15:51:50 1088 1

原创 基于Android10的Service的启动流程

一直与Service打交道,确从来没有真正了解过Service的启动流程是怎样的,onCreate,onStartCommand等是在哪里被调用的,所以今天打算通过Android Q的代码来重新认识它。首先添加一张不怎么标准的时序图,仅供参考Android的Activity,Service,Broadcast,Provider都有一个共同的父类Context,比如我们在activity...

2020-01-08 16:39:29 1950

原创 静态属性和静态方法能否被继承

静态属性和静态方法是可以被继承的,子类可以调用父类所有的静态属性和静态方法如果子类有和父类同名的静态属性和静态方法没有向上转型的时候,子类只可以调用定义在自己类中的静态属性和静态方法,就会把同名的父类的静态属性和静态方法隐藏如果向上转型Father father = new Son(),这时候father只会调用父类自己的静态属性和静态方法,不会调用子类的静态属性和静态方法子类不能重写父...

2020-01-07 15:31:01 4751 1

原创 排序算法总结

########关于c++数组的理解给定一个数组int array[10] = {9,8,7,10,6,1,0,'\0'};可以直接用int length = sizeof(array)/sizeof(array[0]); 求得数组的长度,求得长度的操作一定要在数组被当做参数传递之前进行。例如:如果通过一个求数组长度的函数来求数组长度int getArrayLength(int array...

2019-06-13 16:21:37 123

原创 IDEA-maven-spring环境配置

1.到官网下载idea:https://www.jetbrains.com/idea2.破解idea;3.下载安装jdk,配置环境变量  计算机-》属性-》环境变量-》系统环境变量  new JAVA_HOME C:\software\jdk  PATH ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin  new CLASSPATH %JAVA_HOME%\li...

2018-12-20 16:18:08 269

原创 写一篇自我惊醒的文章,改掉让自己失败的七个坏习惯

1.犹豫不决,当我们想做某件事情的时候,瞻前顾后,不仅仅想做的事情完成不了,当下的事情也做不好,这种习惯比鲁莽更可怕2.拖延,六点下班的时候告诉自己回去立马学习,吃着饭学习,回到宿舍就暗示自己,吃饭呢放松一小下,然后打开直播,边吃饭边看直播,然后学习的事情就往后顺延,然后八点了告诉自己该学习了,然后想了想今天是周五了,放松一下吧,明天在学习,就这样明天上午也许又会因为其它一些事情往后顺延,这种...

2018-08-31 11:15:34 1342 3

转载 基于Spring AOP的JDK动态代理和CGLIB代理(转)

一.AOP的概念         在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提...

2018-08-16 08:58:38 120

转载 Java的强引用,软引用,弱引用以及虚引用

Java四种引用包括强引用,软引用,弱引用,虚引用。Java四种引用包括强引用,软引用,弱引用,虚引用。 强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后...

2018-08-10 14:06:15 154

转载 实用tcpdump使用命令

//查看本机与mysql的操作命令 注意 -i any表示监听所有网络接口,我们也根据自身情况选择网络接口 #tcpdump -i any -w - dst port 3306 |strings //查看本机58895上与mysql的命令 注意 -i any 表示监听所有网络接口,我们需要根据自身情况选择网络接口 #tcpdump -i any -w - dst port...

2018-07-11 16:21:37 3680

转载 intent Action笔记

Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 2 3 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter>元素来过滤。 4 5 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Co...

2018-06-26 10:57:24 185

原创 linux查找jdk安装路径

如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查找定位JDK的安装路径?是否有一些局限性呢? 下面总结了一下如何查找JDK安装路径的方法。1:echo $JAVA_HOME使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径[root@localhost ~]# java -versionja...

2018-05-17 17:17:23 14182

转载 java常用框架和工具

JAVA 常用框架和工具集成开发工具(IDE):Eclipse、MyEclipse、Spring Tool Suite(STS)、Intellij IDEA、NetBeans、JBuilder、JCreatorJAVA服务器:tomcat、jboss、websphere、weblogic、resin、jetty、apusic、apache负载均衡:nginx、lvsweb层框架:Spring MV...

2018-05-15 10:57:04 1287

转载 Android中Context理解

Context对于Android开发人员来说并不陌生,项目中我们会经常使用Context来获取APP资源,创建UI,获取系统Service服务,启动Activity,绑定Service,发送广播,获取APP信息等等。那么Context到底是什么?Context又是怎么来实现以上功能的?在什么场景下使用不同的Context?一个APP中总共有多少个Context?这篇博客将从源码角度带你分析Andr...

2018-04-26 17:00:06 9576

原创 C++知识点/面试

一、编程语言1.根据熟悉的语言,谈谈两种语言的区别?主要浅谈下C/C++和PHP语言的区别:1)PHP弱类型语言,一种脚本语言,对数据的类型不要求过多,较多的应用于Web应用开发,现在好多互联网开发公司的主流web后台开发语言,主要框架为mvc模型,如smarty,yaf,升级的PHP7速度较快,对服务器的压力要小很多,在新浪微博已经有应用,对比很明显。2)C/C++开发语言,C语

2018-01-11 11:11:48 497

原创 数据结构书籍

数据结构书籍

2017-09-29 10:43:33 484

原创 Require.js

require.config({    paths: {      "jquery":"lib/jquery.min",      "underscore":"lib/underscore.min",      "backbone":"lib/backbone.min"    }  });

2017-09-05 13:59:04 202

转载 Javascript-bind绑定函数

bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值。语法:fun.bind(this,arg1,arg2,….)Bind()方法会创建一个新的函数,称为绑定函数,fun方法在this环境下调用。该方法会传入两个参数,第一个参数作为this,第二个及以后的参数则作为函数的参数调用。   this.a = 1; 2 var module = { 

2017-09-05 13:28:52 588

Handler.pptx

根据代码实例总结的关于Android Handler的理解,适合刚刚接触Handler的小白,描述的都是看代码需要的关键点,没有额外的赘述,适合新手,通俗易懂。

2020-01-08

面试题总结

java面试题总结,数据结构操作系统,计算机网络,多线程等等

2018-08-27

mybatis逆向工程jar包

在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xml,xxxMapper.java文件,这显然需要花费巨大的精力,而且可能由于表字段太多,写错了而不知道也是可能的。   所以我们在实际开发中,一般使用逆向工程方式来自动生成所需的文件

2018-08-21

Spring4相关的所有jar包

有spring相关的所有jar包,包括springbeans,springaop,springcontext,springcontext-support,springcore,springexpression,springjdbc,springtx,springweb,springwebmvc, 还有dom4j等其他很多jar包,保准不骗人

2018-08-16

c++面试经验篇、笔记要点!!!

学习c/c++过程中总结的经验,再次与大家分享,希望大家可以共同进步,都能找到满意的工作!!

2018-03-19

空空如也

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

TA关注的人

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