- 博客(93)
- 资源 (33)
- 收藏
- 关注
原创 (十六)Spring Boot 集成 Dubbo 和 Zookeeper —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、Zookeeper1.概述ZooKeeper 是一个开源的分布式应用程序协调服务,提供的功能包括命名服务、配置管理 、 集群管理、分布式锁等 。( 1 )命名服务 : 可以简单理解为电话簿 。 电话号码不好记,但是人名好记 。要打谁的电话 , 直接查人名就好了 。在分布...
2019-07-27 17:09:52
538
原创 (十五)Spring Boot 应用监控 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、应用监控Spring Boot 提供的大部分模块都是用于开发业务功能或者连接外部资源 。 除此之外,Spring Boot 还提供 了 spring-boot-starter-actuator 模块,该模块主要用于管理和监控应用,是一个暴露自身信息的模块 。spring-...
2019-07-22 20:42:08
301
原创 (十四)Spring Boot 集成 Spring Security —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、Spring Security在 Web 应用开发中,安全是非常重要的。如果在应用开发初期没有考虑安全问题,那么后期要修复安全漏洞,可能需要对整个架构进行调整,成本较大。所以,在项目的初期就要把安全问题给考虑起来。Spring Security 安全框架除了包含基本的认证...
2019-07-17 20:35:48
362
原创 (十三)Spring Boot 集成 MongoDB 数据库 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、MongoDB1.介绍MongoDB 是一个高性能、 开源、无模式的文档型数据库,是一种 NoSQL 数据库, 主要功能特性有 : 面向集合存储、易存储对象类型的数据、支持动态查询、文件存储格式为 BSON (一种 JSON 的扩展) 、支持复制和故障恢复等 。Mong...
2019-07-17 20:35:07
212
原创 (十二)Spring Boot 全局异常处理和 Retry 重试 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、全局异常在 Web 应用中,我们经常需要处理错误情况。Spring Boot 默认提供了一个映射 /error,在处理中抛出异常之后,就跳转到这个映射中,并且最终会跳转到一个全局的错误界面。启动 Spring Boot,随便输入一个地址,就会触发异常,跳转到错误界面。错...
2019-07-14 18:43:36
660
2
原创 (十一)Spring Boot 集成异步消息和异步调用 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除
2019-07-10 22:17:16
334
原创 (十)Spring Boot 集成 MyBatis —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除整合 MyBatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。目前在项目中经常被使用。1.引入依赖在 pom.xml 中添加 Spring Boot 对 MyBatis 的依赖。pom.xml: <depen...
2019-07-09 19:41:19
306
原创 (九)Spring Boot 集成 Quartz 定时器和发送 Email —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、QuartzQuartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 允许程序开发人员根据时间的间隔来调度作业。...
2019-07-09 19:40:38
1209
原创 (八)Spring Boot 集成 Log4j —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、Log4jLog4j 是 Apache 的一个开源项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件,甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息...
2019-07-09 19:39:21
234
原创 (七)Spring Boot 集成 Redis 缓存 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、RedisRedis 是一个基于内存的单线程高性能 key-value 型数据库,读写性能优异 Redis 支持丰富的数据类型,包括 string(字符串) 、 list(链表 )、set(集合)、zset ( sorted set 有序集合)和 hash (哈希类型〉。...
2019-07-09 19:38:40
242
原创 (六)Spring Boot 使用过滤器和监听器 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、使用过滤器1.过滤器过滤器 Filter 是 Servlet 技术之一,通过 Filter 技术,可以对 Web 服务器管理的资源:如 Jsp、Servlet、静态图片文件或静态 htm l文件等进行拦截,从而实现一些特殊的功能。例如实现 URL 级别的权限访问控制、过滤...
2019-07-04 19:11:40
210
原创 (五)Spring Boot 事务支持 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、Spring 事务Spring 事务主要是用来保证数据的完整性和一致性。Spring 在不同的事务管理 API 之上定义了一个抽象层,而应用程序开发人员不必了解底层的事务管理 API,就可以使用 Spring 的事务管理机制。Spring 既支持编程式事务管理(也称编码式...
2019-07-03 21:11:25
203
原创 (四)使用 Thymeleaf 模板引擎 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、Thymeleaf 简介Thymeleaf 是一个优秀的面向 Java 的 XML/XHTML/HTML5 页面模板,并具有丰富的标签语言和函数。因此,在使用 Spring Boot 框架进行页面设计,一般都会选择 Thymeleaf 模板。常用表达式:${...} ...
2019-07-03 15:23:07
229
原创 (三)Spring Boot 集成 Spring Data JPA —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除
2019-07-02 21:24:59
281
原创 (二)Spring Boot 集成 MySQL —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、集成 MySQLSpring Boot 拥有功能非常强大的资源库,借助于 Spring Boot,我们可以十分方便的调用数据库。1.依赖在 pom 文件添加 MySQL 所需的依赖。pom.xml: <!--MySQL 连接 Java 的驱动程序...
2019-07-02 09:30:11
490
原创 (一)第一个Spring Boot 项目 —— 《一步一步学 Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、搭建 Spring Boot 项目1.创建项目这边工具采用的是 IntelliJ IDEA ,使用 Spring Initializr 进行项目的创建,Spring Initializr 应该是创建 Spring Boot 项目最方便的一种方式。单击 File ——&g...
2019-06-29 21:41:50
344
原创 前言 ——《一步一步学Spring Boot 2》读书笔记
本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》如果喜欢,可直接购买书籍。如有侵权,请联系删除一、背景最近准备开始学习一 Spring Boot,最初考虑过购买视频教程或一些书籍,个人是比较倾向于视频,感觉视频教程比较容易学习。没有找到合适的相关视频,要么觉得内容不太适合,要么就是价格不太适合 ~ ~(直接点就是穷…),最后才决定找几本相关的书籍进行自学,最终选择以《一...
2019-06-29 19:52:15
313
原创 (十九)7-Zip 压缩
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。
2019-06-25 12:26:33
7415
1
原创 (十八)Protobuf —— 优化序列化,替换 Json
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、Protobuf 介绍google 开源项目。序列化数据结构的方案(Json 、XML 也是),通常用于编写需要数据交换或者需要存储数据的程序。这套方案包含一种用于描述数据结构的接口描述语言(Interface Description Language)和一个生成...
2019-04-28 11:37:06
2940
原创 (十七)WebP 的测试与使用
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、WebP1.什么是 WebPWebP(发音 weppy),是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自视频编码格式 VP8,被认为是 WebM 多媒体格式的姊妹项目,是由 Google 在购买 On2 Technologies 后发展出来...
2019-04-25 22:06:01
2224
原创 (十六)Android 进程保活
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、进程的优先级Android 系统将尽量长时间地保持应用进程,但为了新建进程或运行更重要的进程,需要清除旧进程来回收内存。 为了确定保留或终止哪些进程,系统会对进程进行分类。 需要时,系统会首先消除重要性最低的进程,然后是清除重要性稍低一级的进程,依此类推,以回收系...
2019-01-26 14:48:12
901
原创 (十五)Dex 加密之 Application 替换
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、Application 创建流程我们知道,当用户点击桌面上的 app 图标进行启动一个 app,是由 Zygote 进程 fork 一个子进程而来的。然后将 ActivityThread 加载到子进程中,这时候会调用 ActivityThread 中的 main ...
2019-01-11 17:21:16
760
1
原创 (十四)Tinker 热修复原理及手写实现
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、热修复热补丁方案有很多,其中比较出名的有阿里的 AndFix、美团的 Robust 以及 QZone 的超级补丁方案。以及我们要分析的 Tinker 热修复。TinkerQZoneAndFixRobust类替换yesyesnon...
2018-12-09 21:35:04
1560
7
原创 (十三)Dex 加解密与多 Dex 加载
版权声明:本文为博主原创文章,未经博主允许不得转载。本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、加密原理一个安卓 apk 里面包含有 AndroidManifest.xml、classes.dex、resources.arsc 等文件,java 代码主要存在于 classes.dex 中。把 classes.dex 文件拆分为两个 dex 文件,其中主 d...
2018-11-06 16:09:14
2994
原创 (十二)Proguard 的使用与配置 —— 代码混淆
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、反编译我们进行 apk 开发的时候,有时候一些效果写不出来,没有思路,这时候会去查看其他应用的源代码,参考怎么实现的,在这里需要对打包好的 apk 进行反编译查看。安卓常用的反编译工具1.apktool:下载地址:https:/...
2018-09-13 09:52:21
1500
原创 (十)ThreadPoolExecutor 源码分析 —— 线程池
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、生产者消费者模式我们在多线程开发中经常会使用到生产者消费者模式,所以在这边先进行生产者消费者模式的简单介绍。为什么要使用生产者消费者模式: 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产...
2018-08-09 20:56:41
302
1
原创 (九) AsyncTask 使用及源码分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、概述...
2018-08-08 17:01:12
269
原创 (八)JobSchedule 的使用以及源码分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、概述JobScheduler 是在 Android 21 新增加的特性,他可以把一些不是很紧急的任务,放到合适的时候进行批量处理,在电量优化中有很大的作用。1.把任务整合起来,等到充电状态或者/Wifi 连接情况下进行执行,充电时候就不会在...
2018-08-06 21:54:12
3938
原创 (七)电量分析 —— 优化耗电
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、耗电量手机各个硬件模块的耗电量是不一样的,有些模块非常耗电比如移动蜂窝网络、GPS,而有些模块则相对显得耗电量小很多。电量测试电量测试就是测试移动设备电量消耗快慢的一种测试方法。一般用平均电流来衡量电量消耗速度。平均电流越小,说明设...
2018-08-06 15:30:14
3000
原创 (六)巨图加载 —— 优化图片内存
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、BitmapRegionDecoder当一张图片的分辨率特别大的时候,我们把这张图完整的加载进来,在屏幕上并没有办法显示这张图片的全部内容。但是,全部加载进来的话,还会占用较大的内存,严重时候会产生 OOM。这时候我们可以使用 BitmapRe...
2018-07-19 20:47:29
498
原创 (五)图片压缩 —— 优化图片文件、内存
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、图片压缩Android 中图片是以 Bitmap 形式存在的,而且 Bitmap 是比较占内存的。所以,如果能对 Bitmap 进行压缩,对内存优化这块有很大的帮助。我们首先需要知道 Bitmap 占用内存的计算方式:图片长上的像素点 * ...
2018-06-13 16:18:10
4176
原创 (四)垃圾回收算法与垃圾收集器 —— 优化内存抖动
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。
2018-06-03 14:12:06
625
原创 (三)内存泄漏与排查 —— 优化内存泄漏
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、java 堆栈SUN 公司的 java 规范中,运行时数据区域分为两大块,一个是共享数据区,一个是线程私有。其中共享数据区包括方法区和堆,线程私有包括程序计数器 PC,虚拟机栈和本地方法栈。1.线程私有程序计数器 PC:很小...
2018-06-01 23:28:43
1183
原创 (二)布局渲染流程与原理 —— 优化卡顿
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、CPU 和 GPU...
2018-05-27 16:42:41
1033
原创 (一)APP 启动原理 —— 优化启动黑白屏
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、启动黑屏、白屏有的 App 在启动时会出现一段时间的黑屏或者白屏。这就是俗称的启动黑白屏的问题。这期间弄得用户不知道该干嘛,体验不好。App 启动时间是什么 ,从哪里开始 (我们要知道启动时间是怎么算出来的) https://segmen...
2018-05-22 20:21:35
1374
原创 (十三)Android 修改系统启动动画
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、原理分析生活中使用的华为、小米、三星等手机,在开机的时候显示的各个产商的 logo,而不是像我们安卓模拟器那样是一个安卓机器人和 Android 文字。这是因为哥哥产商修改了各自手机的开机启动动画。在上一篇文章 中的 一、虚拟机的启动下的1...
2018-05-07 23:45:11
1933
3
原创 (十二)Android 系统启动原理(art 虚拟机)
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、虚拟机的启动Android 是一个 Linux 的虚拟机,当虚拟机启动的时候,会执行手机根目录下的 init.rc(实际上就是 .sh 文件) 这个可执行文件。在 init.rc 中,有一行 on init 执行命令。这是调用 init...
2018-05-06 19:30:55
769
原创 (十一)Android AndFix 热修复原理
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、so 的插件化在进行 Android 的热修复讲解之前,先大概讲一下 so 的插件化,这在热修复中需要用到。一个 so 可以通过路径去加载另外一个 so,从而实现一个 so 库调用另外一个 so 库中的方法。先来一个被调用的 so,这个s...
2018-04-26 21:09:12
602
原创 (十)Android AndFix 热修复使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、AndFix 和 Tinker热修复的作用以及好处不在这边描述,现在用的较多的热修复有 阿里的 AndFix 和 腾讯的 Tinker 。Tinker:通过分包技术,一个应用打包的时候可以达成多个 dex 包,当某个 dex 包中的代码出现...
2018-04-22 19:59:10
264
DrawerLayout 打造炫酷侧滑菜单
2017-11-09
ItemTouchHelper Demo 以及拓展
2017-11-04
安卓 3D 翻转效果 demo
2017-10-21
Animator 开场动画 预加载
2017-10-03
TableView 源码-可直接使用
2017-09-24
SVG实例-可交互式中国地图
2017-08-29
模拟 qq 消息气泡 demo
2017-08-01
自定义控件-圆形进度条
2017-05-25
Paint 基础 demo
2017-05-24
瀑布流布局 WaterfallLayout
2017-05-22
流式布局 FlowLayout
2017-05-21
red5入门教程 配套代码
2016-01-01
7ZipProject.zip
2019-06-25
安卓 Protobuf demo
2019-04-28
安卓进程保活 demo ,资源有文章链接
2019-01-26
安卓 Application 替换
2019-01-11
安卓多 dex 加载和 dex 加解密
2018-11-06
巨图加载 BitmapRegionDecoder
2018-07-19
安卓手写图片缓存 demo
2018-06-29
MemoryAnalyzer 内存分析 MAT
2018-06-01
AndFix davlik 虚拟机热修复实现
2018-04-26
Android 增量更新代码
2018-02-07
bsdiff-4.3、bsdiff4.3-win32、bzip2-1.0.6
2018-02-07
java 手写实现 Android Handle 机制
2018-02-02
手写 CoordinatorLayout
2017-12-15
MaterialDesign 整合使用
2017-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人