Guofeng Blog

「离开世界之前 一切都是过程」

突破Android P的非公开API限制

突破Android P的非公开API限制 参见 前端, 最近,Android 开发者估计比较不爽,因为尚在开发阶段的 Android P 已经明确表示要封杀非公开 API 的调用,没法像以前一样愉快地玩黑科技,来自 360 的刘洪凯经过研究,发现了绕过限制的三种方法,在此分享出来。 首先需要强调的是,为什么要突破限制,因为安卓中许多技术需求需要使用系统隐藏 API 完成。目前大量的安卓...

手写一个简化版Tomcat

手写一个简化版Tomcat 参见 刘半仙, Tomcat作为Web服务器深受市场欢迎,有必要对其进行深入的研究。在工作中,我们经常会把写好的代码打包放在Tomcat里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么Tomcat是如何工作的? 一、Tomcat工作原理 ​ 我们启动Tomcat时双击的startup.bat文件的主要作用是找到catal...

自己手写一个Mybatis框架(简化)

自己手写一个Mybatis框架(简化) 参见 自己手写一个Mybatis框架(简化), 转载序言:作为安卓开发,从 Java 语言过来,自然需要对 Java 的核心阵地 J2EE 相关框架有所了解,以扩展知识的广度,刚好看到了作者的这一系列文章,非常好,我下载作者的 demo 之后,debug 了一遍,感觉理解很深刻。这里给自己做个笔记,也给读者一个比较合适的学习方式:看文章,下源码,阅...

Java 序列化新成员Externalizable

Java 序列化新成员Externalizable 参见 Java 序列化, Java 终于明白了原有序列化 Serilizable 存在的性能和空间问题了,其实这点早就在 Android 系统中被 Parcelable解决了,其方式也是由开发者手动 write 和 read 对象的信息。不过在 Android 中主要是在不同进程之间传递序列化对象,也就算内存中传递,当然也可以扩展到...

珍藏版本-JVM 大厦

珍藏版本-JVM 大厦 感谢 crazysunj 出品如此好文! 相对于C、C++这些高性能语言,Java有着让此类程序员羡慕的功能:内存自动管理。似乎这样,Java程序员不用再关心内存,也不用去了解相关知识。但结果真的是这样吗?特别对于我们这种Android程序员来说,对内存可是吃得死死的,一旦出现较为复杂的内存泄露和溢出方面的问题,简直就是噩梦。因此,对Java内存管理有个大体的了解似...

来吧!区块链Demo

来吧!区块链Demo 参见 看完此文再不懂区块链算我输,用Python从零开始创建区块链, 说说感悟 参照此文,下载源码,本地搭建环境,然后模拟区块链运行机制跑了一会儿 Demo。 的确对区块链有很深入的认识,所以在这里记录一下,给大家一个学习的参考。 建议 上文参考链接是从代码的角度来讲的,如果大家想从原理上理解,参考如下: 区块链入门教程 比特币入门教程 加密货币...

Facebook UI 框架 Litho初探

Facebook UI 框架 Litho初探 参见 Litho 官网 Demo 参见 LithoDemo Litho是什么 Ligho 是 Facebook 出品的专门为构建Android UI界面的声明式框架,仅需要通过注解以及简单的 API 来编写高度优化的 Android UI 界面。其初衷是为了简化基于 RecycleView 的滑动式界面。 只需要定义一个简单的函数,接受输入...

Google Flutter 跨平台框架初探

Google Flutter 跨平台框架初探 参见 Flutter 官网, 环境配置 下载 Flutter SDK 在当前用户目录clone flutter SDK 代码: 1 2 git clone -b beta https://github.com/flutter/flutter.git 配置 Flutter 环境 下载后的路径:Users/your-name/Fl...

Java Collection 容器集合

Java Collection 容器集合 参见 Java 容器, Java容器类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。从本文开始将开启一个系列详细分析Java容器中的每个成员,包括源代码分析,性能分析,不同容器之间对比等等,链接将同步更新在本文和置顶博文内。 Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类...

Java 并发Concurrent

Java 并发Concurrent 参见 Java 并发工具箱, 概述 java.util.concurrent 包是专为 Java并发编程而设计的包。包下的所有类可以分为如下几大类: locks部分:显式锁(互斥锁和速写锁)相关; atomic部分:原子变量类相关,是构建非阻塞算法的基础; executor部分:线程池相关; collections部分:并发容器...