logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android设计模式详解之迭代器模式

迭代器模式又称为游标模式,是行为型设计模式;提供一种方法顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示;遍历一个容器对象时;UML类图:迭代器接口,负责定义、访问和遍历元素的接口;具体迭代器类,实现迭代器接口,并记录遍历的当前位置;容器接口,负责提供创建具体迭代器角色;具体容器类;迭代器模式发展至今,几乎每一种高级语言都已经内置实现,极少需要自己去实现迭代器;支持以不同的方式去遍

文章图片
#android#设计模式#迭代器模式
玩转数据结构之Java实现线段树

线段树是一种二叉搜索树,线段树的每个结点都存储了一个区间,也可以理解成一个线段,在这些线段上进行搜索操作得到你想要的答案。线段树的适用范围很广,可以在线维护修改以及查询区间上的最值,求和。更可以扩充到二维线段树(矩阵树)和三维线段树(空间树)。对于一维线段树来说,每次更新以及查询的时间复杂度为O(logN)。ღ( ´・ᴗ・` )

文章图片
#java#数据结构#开发语言
LeetCode Java两个单链表相交的一系列问题

采用快慢指针方式,快指针每次走两步,慢指针每次走一步,如果遍历结束也不相遇,则此链表无环,当两者相遇时,移动快指针到链表头,然后快慢指针每次走一步,再次相遇,则此节点必是入环节点;如果两个链表长度一致,则直接遍历链表,找到同一个节点返回即可,如果长度不一致,则需要先对齐链表长度,然后再遍历链表,找到同一个节点返回;给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交。要

文章图片
#leetcode#java#链表
Android设计模式详解之观察者模式

观察者常用于订阅-发布系统,能够将观察者和被观察者进行解耦,降低两者之间的依赖;定义对象间一种一对多的依赖关系,使得每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并被自动更新。关联行为场景,需要注意的是,关联行为是可拆分的,而不是组合关系;事件多级触发场景;跨系统的消息交换场景,如消息队列、事件总线的处理机制。UML类图:抽象主题,被观察者的角色,抽象主题角色把所有观察者对象的引用保存到

文章图片
#android#设计模式#观察者模式
Android Apk加固原理解析

对APP进行加固,可以有效防止移动应用被破解、盗版、二次打包、注入、反编译等,保障程序的安全性、稳定性。常见的加固方案有很多,本文主要介绍如果通过对dex文件进行加密来达到apk加固的目的;ღ( ´・ᴗ・` )

文章图片
#android#android studio#ide
Android Framework 系统架构学习

要理解framework层源码,掌握这3种基本的进程/线程间通信方式是非常有必要,当然Linux还有不少其他的IPC机制,比如共享内存、信号、信号量,在源码中也有体现,如果想全面彻底地掌握Android系统,还是需要对每一种IPC机制都有所了解。Google提供的5层架构图很经典,但为了更进一步透视Android系统架构,本文更多的是以进程的视角,以分层的架构来诠释Android系统的全貌,阐述A

文章图片
#android#系统架构#学习
深入理解Java虚拟机

JVM(Java Virtual Machine,Java 虚拟机)顾名思义就是用来执行 Java 程序的“虚拟主机”,实际的工作是将编译生成的.class 文件(字节码)翻译成底层操作系统可以运行的机器码并且进行调用执行,这也是 Java 程序能够跨平台(“一次编写,到处运行”)的原因(因为它会根据特定的操作系统生成对应的操作指令),Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持

文章图片
#java#jvm#开发语言
到底了