自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java集合类读书笔记

jhdfjkd

2020-09-26 21:51:14 134

原创 屏蔽部分 AIDL 接口实践

一、背景一个Android通用服务开放给第三方调用,一般会以jar或者aar形式提供给第三方集成,而Server端实现在一个独立的进程上,两者通过AIDL进行通信。但是AIDL自动生成的java接口,权限为public,这意味着集成方能够看到所有开放的接口。public interface IContractorServiceManager extends android.os.IInterf...

2020-03-21 18:54:10 333

原创 ReferenceQueue 跟 Reference 源码阅读要点

一、导语本文面向的读者为:对软引用、弱引用、虚引用类有一定了解,并且大致通读过 java.lang.ref.Reference.java与java.lang.ref.ReferenceQueue.java源码后,仍然有疑惑的人。本文基于 jdk 源码分析,因为 android 这部分的代码跟 jdk 的不一样,故请勿混淆。二、要点罗列1、java.lang.ref.Reference相关机...

2019-06-21 18:52:28 418 1

原创 【随笔】一个源文件有多个类,有什么有趣的事情发生

public class TestClass { // 虽然是 private 的,但是可以被继承 private static class F { // 虽然是 private 的,但是可以被子类调用 // 子类没有调用 super(),super(""), 默认调用该父类构造器 private F() { out.println("F()"); } priva...

2019-05-22 21:18:20 123

原创 【随笔】Fiddler 抓取 Android / IOS 设备报文要点

一、问题背景笔者 Android 开发,在维护项目过程中免不了与第三方后台打(che)交(pi)道,在此过程偶尔需要对抗后台的经验主义,拿出证据说明是后台的问题,而报文作为 B / C 的交互数据,自然可以作为证据。报文的抓取目前我知道两种方式:Tcpdump:需要向设备添加 tcpdump 工具或者增加一个物理硬件(Hub)来抓取报文,且无法解析 HTTPS 报文;Fiddler / ...

2019-05-17 10:54:45 287

原创 LruCache 源码解析

一、抛个问题判断分析题:LruCache 能够减少磁盘读写的次数。二、简要总结LruCache 是一种比较简单的缓存实现,更好的实现应该要记录每个数据被调用的次数,按照 “ 最经常使用数据优先级最高 ” 的原则进行缓存。LruCache 使用 LinkHashMap 作为内部数据结构,来实现 Least Recently Used 缓存。LinkHashMap 与 HashMap 相比,...

2019-02-28 16:10:56 179

原创 J2EE 自学系列 —— Servlet 与浏览器 Request 和 Response 乱码解决方案

一、问题背景我在浏览器端使用 GBK 编码,以 GET 方式向 Servlet 发送了一个 request(包含中文),结果无论我怎么解码,都无法还原回原来的中文。二、解决方案我们需要去%CATALINA_HOME%/conf/server.xml,增加一行配置:useBodyEncodingForURI="true"在 Servlet 获取属性前,先调用req.setCharacter...

2019-02-21 16:36:01 109

原创 J2EE 自学系列 —— IntelliJ IDEA 配置 Tomcat,部署第一个 Web 应用

一、机器环境操作系统:Windows 7JDK 版本:1.8.0_171(64 位)Tomcat 版本:9.0.16IntelliJ IDEA 版本:183.5429.30注:本文主要是为了解决在 IDE 环境,如何快速部署一个 Web 应用到浏览器中。由于笔者在部署过程中遇到了一些麻烦,并且自己的解决方法跟网上的文章有差别,这些差别可能与 IDE 的版本差异有关,故此处笔者先指出本机...

2019-02-13 18:47:00 344

原创 写给大忙人看的 Java SE 8练习题(六)

系列文章:写给大忙人看的 Java SE 8练习题(一)写给大忙人看的 Java SE 8练习题(二)写给大忙人看的 Java SE 8练习题(五)代码地址:代码地址题目:1、编写一个程序,跟踪一组线程中最长的字符串。你可以使用一个 AtomicReference 和一个合适的累加器。public static void main(String[] args) { Strin...

2019-01-21 14:53:01 494

原创 写给大忙人看的 Java SE 8练习题(五)

系列文章:写给大忙人看的 Java SE 8练习题(一)写给大忙人看的 Java SE 8练习题(二)前言:由于第三章题目跟 JavaFX 关联较大,本人不太感冒,因此就不贴博文了,部分练习题参考答案可点击 github 查看第三章主要是 lambda 编程的相关技巧第四章主要是与时间相关的 API 练习,难度不大代码地址:代码地址题目:1、请不使用 plusDays 来...

2019-01-17 12:01:33 621 2

原创 写给大忙人看的 Java SE 8练习题(二)

前言:不要盲目相信并行的效率比串行高(于个人,原因未知。猜测:一部分原因是需要评估使用并行方式所创建的线程,线程调度以及同步处理等所造成的资源损耗,与串行方式相比的效益如何,比如单个线程计算量小且有同步的需求,那么并行一般比串行效率低。这部分简单理解下就好,不一定是正确的)如下图所示,调换代码块 A、B 的位置,两者的运行效率发生了变化——代码块后运行的效率较高(于个人,原因未知)// ...

2019-01-11 11:15:23 277 1

原创 写给大忙人看的 Java SE 8练习题(一)

前言:这段时间接触了 java.util.Optional 类来处理对象判空问题,在此基础上看到了许多 jdk 1.8 的语法,于是拿起之前购置的这本《写给大忙人看的 Java SE 8》进行学习。学完第一章后,在练习题的代码中运用了 java.util.Optional API,但直观感受并不是十分美妙(也可能是我用的太过魔怔了,没有理解该类的使用场景),如大家对我的代码有其他更优雅的写法,...

2018-12-26 17:38:03 1026 1

原创 在 Android N 如何编译 android-support 等包并依赖到项目工程中

背景:       之前在修改项目原生设置 Settings.apk 的问题时,曾经想修改 support-v7 包中的 RecyclerView.java 文件,但是基于Android N 的环境下,修改后的代码一直没有编入到 Settings.apk。后来从另外的一个角度对问题进行了修改,避开了修改 android-support 包的雷区。最近在学习 support-v4 包中 ViewP...

2018-10-23 16:35:08 521

空空如也

空空如也

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

TA关注的人

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