自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 进程和线程

目录1、进程和线程小结2、进程的生命周期3、线程的生命周期4、对比总结总结1、进程和线程https://www.liaoxuefeng.com/wiki/1016959663602400/1017627212385376很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢...

2019-08-30 14:56:27 99

转载 【Android】源码分析 - Activity启动流程

目录相关文章:一、启动Activity的方式二、从Activity的源码入手2.1 startActivity()2.2startActivityForResult()2.3execStartActivity()2.4 ActivityManagerNative是什么?2.5ActivityManagerService(AMS)相关文章:Androi...

2019-08-30 10:07:57 970

原创 ARouter系列1:使用

目录相关文章:官方地址:一、添加依赖:1、app的build.gradle2、UserCenter的build.gradle二、在Application进行初始化:三、开始使用1)首先:在目标Activity/Fragment类上面写上 Route path 注解。2)然后:在启动 Activity/Fragment类里面加入Arouter 代码;四、面试题...

2019-08-26 12:03:17 917

原创 面试题:TCP相关

相关文章:tcp十一种状态及问题处理方法(1w阅读量,详细)TCP的11种状态Android面试题:TCP/IP(自己的)面试题:TCP的三次握手、四次挥手(自己的)面试题:1、TCP 有哪些状态?2、三次握手、四次挥手。为啥是三次不是两次?...

2019-08-26 11:11:32 136 1

原创 MySQL下载安装详情教程

0、相关文章:1、下载:下载路径:https://dev.mysql.com/downloads/windows/installer/8.0.html2、安装:

2019-08-23 15:20:15 163

原创 使用IntelliJ IDEA配置Tomcat

相关文章:使用IntelliJ IDEA配置Tomcat

2019-08-23 12:00:38 169

原创 IntellIJ IDEA 配置 Maven

相关文章:IntellIJ IDEA 配置 Maven 一.配置Maven环境1、下载apache-maven文件,选择自己需要的版本地址:http://maven.apache.org/docs/history.html2、解压所下载文件本人解压到:D:\server\maven\apache-maven-3.6.13、配置Maven环境变量a、 MAVEN_HO...

2019-08-23 11:04:47 99

原创 CAS机制详解

目录相关文章:一、什么是CAS?1.1、Demo11.2、什么是原子操作?1.3、JDK中相关原子操作类1.3.1、原子更新基本类型,1.3.2、原子更新数组类型1.3.3、原子更新引用类型1.3.4、原子更新字段类1.4、优化Demo21.5 详细解析CAS相关文章:java高并发:CAS无锁原理及广泛应用(2w阅读量)漫画:什么是 CAS...

2019-08-22 11:36:35 529

原创 Java面试题二:synchronized 和 volatile 、ReentrantLock 、CAS 的区别

目录0、相关文章:1、synchronized关键字的作用2、volatile关键字的作用3、volatile和synchronized的作用和区别是什么?4、CAS机制详解5、ReentrantLock(重入锁)详解六、ReenTrantLock可重入锁(和synchronized的区别)总结0、相关文章:Java中线程安全的体现(原子性、可见性、有序性)(自...

2019-08-21 16:47:51 4004

原创 Java面试题一:HashMap 和 HashTable 以及 ConcurrentHashMap的原理和区别

目录相关文章:问题分析:一、HashMap、HashTable、ConcurrentHashMap的原理HashTableHashMapConcurrentHashMap二、HashMap、HashTable和ConcurrentHashMap的区别。更加简略回答:简略回答:较为详细回答:1、继承的父类2、底层实现3、线程安全性不同4、是否提...

2019-08-21 16:44:03 413

转载 jdk8-HashMap源码注释中文翻译

/* * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.util; import sun.misc.Shar...

2019-08-21 11:18:22 276

原创 面试题学习与复习三(综合篇:Java、网络协议、Android、算法等)

目录相关文章:一、Java部分二、计算机网络部分三、Android部分四、算法五、HR面六、最后相关文章:2019.07 Android 面试真题集锦一、Java部分面试题学习与复习:Java相关面试题汇总二、计算机网络部分面试题学习与复习:计算机网络相关面试题汇总三、Android部分面试题学习与复习:Android相关面试题汇总四...

2019-08-20 11:43:23 524

原创 面试题学习与复习二

目录1、Glide 缓存原理,如何设计一个大图加载框架。2、LRUCache 原理;3、项目开发中遇到的最大的一个难题和挑战;4、说说你开发最大的优势点5、MVC、MCP、MVVP 的区别和各种使用场景,如何选择适合自己的开发架构?6、事件分发机制。7、单例模式双重加锁,为什么要这样做。8、Handler 机制原理,IdleHandler 什么时候调用。1、Gl...

2019-08-20 11:02:34 288

原创 Framework面试三:说说Activity的启动流程(生命周期管理)

相关文章:Activity生命周期管理一、这道题想考察什么?1、启动Activity会经历哪些生命周期回调?【Android】源码分析 - Activity启动流程2、冷启动大致流程,涉及哪些组件,通信过程是怎么样的?3、Activity启动过程中,生命周期回调的原理?...

2019-08-20 10:17:25 1187

原创 模块化开发二:通用组件封装

一、AppManager封装二、HeaderBar封装三、ProgressLoading封装四、 通用工具组件导入与介绍

2019-08-16 15:46:01 303

转载 《深入理解Java虚拟机》

JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。Java 程序设计语言 Java 虚拟机 Java API类库JRE 是什么?JRE 是支持 Java 程序运行的标准环境。Java SE API 子集 Java 虚拟机...

2019-08-16 09:31:53 97

原创 模块化开发一:架构搭建

目录一、Module与独立APP切换1、在gradle.properties文件中设置一个参数:isUserModule = false2、在UserCenter的build.gradle中加入以下判断:3、创建两个manifest文件,因为两种情况下需要读取的manifest文件是不同的4、在UserCenter的build.gradle中的buildTypes同级下面配置s...

2019-08-15 09:05:00 877

转载 ContentProvider的简单使用

contentprovider虽然是四大组件之一,但是实际开发中应用实在是太少了,所以我经常会忘记它的用法,为了巩固记忆方便回忆,写一个简单的demo来让自己快速回忆contentprovider的用法。本demo是contentprovider的跨进程通信的用法,即创建了两个工程,进程一自定义了contentprovider,进程二通过ContentResolver来访问进程一中的conte...

2019-08-14 16:29:27 163

原创 面试题学习与复习一

目录相关文章:1、Activity如与Service通信?2、Service的生命周期与启动方法有什么区别?3、广播分为哪几种,应用场景是什么?4、广播的两种注册方式有什么区别?5、广播发送和接收的原理了解吗?6、ContentProvider、ContentResolver与ContentObserver之间的关系是什么?7、遇到过哪些关于Fragment的问题,...

2019-08-14 09:05:19 368

原创 Kotlin学习七:Kotlin应用与展望

一、二、

2019-08-13 14:27:41 127

原创 Kotlin学习六:Java与Kotlin混合开发

一、基本互操作二、三、四、

2019-08-13 14:26:28 256

原创 Kotlin学习五:协程

一、什么是协程?协程协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。二、三、...

2019-08-13 11:00:38 183

原创 Kotlin学习四:DSL(领域特定语言)

DSL:domain-specific language,领域特定语言。指的是专注于某个应用程序领域的计算机语言。例如:HTML、gradle、SQLGradle kotlin脚本编写:group = "cn.kotliner.kotlin"version = "1.0-SNAPSHOT"buildscript { extra["kotlin_version"] =...

2019-08-13 09:16:58 354

原创 Kotlin学习三:高阶函数

目录一、高阶函数的基本概念二、常见高阶函数1、关于list映射2、flatMap3、综合14、综合2三、尾递归优化四、闭包五、函数复合六、科理化七、偏函数八、小案例一、高阶函数的基本概念class Hello { fun world() { println("Hello World") }}c...

2019-08-12 10:50:41 264

原创 Java中静态内部类和非静态内部类有什么区别?

类似文章:Java中静态内部类和非静态内部类有什么区别?Java静态内部类public class InnerClassJava { private int a; public class Inner { public void hello() { System.out.println(InnerClassJava.this....

2019-08-12 09:48:20 600

原创 Windows环境IDEA配置gradle

相关视频:https://www.imooc.com/video/14781一、安装好JDK环境二、到官网下载官网:https://gradle.org下载地址:https://gradle.org/releases/找到要下载的版本,选择binary-only就可以了。三、解压:四、保存以上地址,配置环境变量4.1 配置 GRADLE_HOME...

2019-08-10 20:06:42 453

转载 Java字节码指令收集大全

网上找的没有指令码这列 自己把它加上 更方便查阅指令从0x00-0xc9 没有0xba 常量入栈指令 指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 ...

2019-08-10 11:37:19 167

原创 Java的装箱与拆箱

参考文章:5分钟彻底理解-Java自动装箱、拆箱基本数据类型对象包装类:为了更方便地操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为,丰富了该数据的操作。原始类型 包装类型 boolean Boolean byte Byte char Character float Float int Integer lon...

2019-08-08 17:14:13 123

原创 插件化学习一:

一、插件化相关知识出现背景:app的体积越来越庞大,功能模块越来越多 模块耦合度高,协同开发头痛成本极大 方法数可能超过65535个,占用内存过大如何解决:将一个大的apk按照业务分隔成多个小的apk 每个小的apk既可以独立运行又可以作为插件使用哪些优势:业务模块基本完全解耦 高效并行开发(编译速度更快) 按需加载,内存占用更低等等基本概念:宿主:主APP,...

2019-08-07 10:43:19 120

转载 Java之——实现对文件进行MD5加密

package com.lyz.utils.file.md5; import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.nio.MappedByteBuffer;import java.nio.channe...

2019-08-06 17:49:11 617

原创 热修复学习七:引入热修复后版本管理

加入动态更新后如何管理我们的代码分支加入动态更新后如何管理我们的发版节奏代码分支管理策略以下是一般情况下的代码分支管理:master是发布版本分支(核心分支),dev是开发版本,michael,bob是具体开发人员的开发分支(开发完毕后会被删除)主要注意的是:一、master分支只能进行代码的合并以及分支的merge、brige,一定不能进行代码的提交(commit)和修...

2019-08-06 12:14:27 189

原创 热修复学习六:Tinker详解一

一、Tinker官网介绍官网:https://github.com/Tencent/tinker/wiki二、Tinker核心原理基于android原生的ClassLoader,开发了自己的ClassLoader 基于android原生的aapt,开发了自己的aapt 微信团队自己基于Dex文件的格式,研发了DexDiff算法三、使用Tinker完成bug修复1、集成阶段...

2019-08-05 14:36:42 1013

转载 Realm for Android Studio 3.0+的环境配置解析

报错:Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor' configuration instead.开发Android App的小伙伴们,在选择数据库框架的时候,Realm是必须了解的,它一个可以替代SQLite以及ORMlib...

2019-08-05 11:35:42 366

转载 解决 Resolved versions for app (26.1.0) and test app (27.1.1) differ的几个办法

1.Rebuild Project,但是每次打开程序都要Rebuild Project一次2.3.在app的build.gradle里面加上这句话 ,在android{ }前面加上。configurations.all { resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'...

2019-08-05 11:14:18 195

转载 Realm-Android

相关文章:Realm-AndroidRealm For Android详细教程一、Realm简介数据库Realm,是用来替代sqlite的一种解决方案,它有一套自己的数据库存储引擎,比sqlite更轻量级,拥有更快的速度,并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,自动数据同步,简单身份验证,访问控制,事件处理,最重要的是跨平台,目前已有Java,Ob...

2019-08-05 10:54:29 250

原创 热修复学习五:AndFix详解二

目录一、将AndFix组件化二、AndFix源码详解三、AndFix优劣一、将AndFix组件化分析我们实际开发中使用AndFix解决bug的步骤详细的时序图:二、AndFix源码详解三、AndFix优劣原理简单,集成简单,使用简单,即时生效 只能修复方法级别的bug,极大的限制了使用场景...

2019-08-03 11:38:08 126

原创 热修复学习四:AndFix详解一

目录一、AndFix的基本介绍二、AndFix执行流程及核心原理三、使用AndFix完成线上bug修复1、集成阶段2、准备阶段3、patch生成阶段apkpatch命令及参数详解使用apkpatch命令生成apatch包patch安装阶段一、AndFix的基本介绍官方介绍:alibaba/AndFix以后学习任何新技术,优先去官网查看文档,然后再考...

2019-08-02 16:04:50 512 1

原创 热修复学习三:ClassLoader原理讲解

目录一、Java中的ClassLoader回顾二、Android中的ClassLoader作用详解1、Android中ClassLoader的种类a、BootClassLoaderb、PathClassLoaderc、DexClassLoaderd、BaseDexClassLoader2、Android中ClassLoader的特点3、ClassLoader源码...

2019-08-02 11:56:58 139

原创 热修复学习二:虚拟机详解

目录一、Java虚拟机结构解析JVM整体结构讲解整体结构图:Java代码的编译和执行过程编译流程:类加载器 classloader内存管理Java栈区本地方法栈方法区Java堆区垃圾回收垃圾收集算法垃圾回收算法触发垃圾回收二、Dalvik与JVM的不同三、ART比Dalvik有哪些优势一、Java虚拟机结构解析JVM整体...

2019-08-02 09:16:23 113

原创 热修复学习一:class文件和dex文件

目录一、热修复热修复的使用:热修复解决的问题:二、插件化插件化的使用:插件化解决的问题:三、class文件详解什么是class文件如何生成一个class文件class文件的作用class文件格式详解ClassFile 结构体access_flagsconstant_pool[ ]class文件弊端四、dex文件详解什么是dex文件...

2019-08-01 16:43:53 277

空空如也

空空如也

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

TA关注的人

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