江湖迈杰的博客

江湖迈杰的博客

江湖迈杰的博客

江湖迈杰的博客

江湖迈杰的博客

JVM的垃圾回收(三) -- JVM垃圾收集器

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 前言 在之前的两篇博客,我们大致介绍了,常见的垃圾回收算法及JVM中常见的分类回收算法。这些都是从算法和规范上分析Java中的垃圾回收,属于方法论。 在JVM中,垃圾回收的具体实现是由垃圾收集器(Garbage Collector)负责的。 在JVM中,具体实现有Serial、ParNew...

JVM的垃圾回收(二) -- JVM中的分代垃圾回收机制

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 JVM 的内存模型 JVM的内存模型,往往是指Java程序在运行时内存的模型,运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区。 方法区(Method Area) 方法区的作用与传统...

JVM的垃圾回收(一) -- 常见的垃圾标识和回收算法

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 为什么需要垃圾回收? 在程序运行时,程序为了计算需要,往往会申请一大块的内存空间,将它们分配给相应的变量。 当程序执行结束后(准确的说是相关变量使用完毕,例如,对于函数中的局部变量而言,这个时刻可能是对应的函数调用结束),相关的内存不再使用,需要对这块区域进行垃圾回收。 进行垃圾回收的好处是可...

代理模式

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 代理模式 代理模式是设计模式中一种常见的设计模式,我们往往通过代理模式可以拦截目标方法的执行,进行自己想要的业务需求,例如日志拦截,权限校验等工作。 代理模式的实现方式如下: 在代理模式中,我们将类分为以下三类角色 抽象对象Subject,代理对象Proxy,以及真实对象RealSu...

二叉树的遍历算法

声明:我已委托「维权骑士」(rightknights.com)为我的文章进行维权行动。 二叉树的遍历算法 二叉树遍历算法是面试过程中的常见考题,面试官常常要求应聘者写成树的三种遍历(前序、中序、后序)算法,当然要完成这个任务非常简单,每一种遍历方式的代码不超过10行。假设树中节点的结构如下 class TreeNode{ int val; TreeNode left,r...

ExoPlayer探营

1.什么是ExoPlayer ExoPlayer是谷歌官方主导基于低层媒体API(如MediaCodec,AudioTrack,MediaDrm)开发的Android媒体播放库,整体上的特点如下: 高度的可定制性,开发者可以根据实际需求对其进行修改 提供一系列MediaPlayer不提供的特性,例如,支持动态的自适应流HTTP(DASH) 和平滑流 独立于Android系统...

小试RxJava原理

RxJava的Hello World 在开始介绍RxJava的源码之前,我们先来写一个RxJava的Hello world吧! Observable .create(new Observable.OnSubscribe<Integer>() { public void call(Subscriber<? super Integer...

Android上的网络响应日志技巧

在开发Android应用程序的过程中,你或许需要从远处服务器中加载数据。而在开发过程中,你可能要经常查看应用从网络中获取到的数据的内容。 如果你最近几年在开发Android应用,或许你使用过(或者听说过)Retrofit来处理网络请求。如果没有,我建议你了解一下,因为他实在太棒了。 所以,使用Retrofit时,在监听网络请求方面,你有哪些选择呢? Retrofit / OkHttp的...

Layouts, Attributes, and you

原文链接 : Layouts, Attributes, and you 原文作者 : ianhlake 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转载权,未经允许,不得转载! 译者 : mijack 校对者: mijack 状态 : 未完成 这是一个老生常谈的问题...

Android逆向工程101 – Part 5

到目前为止,在之前关于Android逆向工程的介绍中,我们已经知道了APK文件的格式,如何使用使用AAPT提取应用程序中和Android SDK相关的有用信息,如何将DEX字节码转化成更具可读性、易于编辑的格式以及如何反编译和修改Android应用程序的源代码和资源。 本文是这个系列的最后一篇文章,我们将介绍Androguard,一个可以处理Android文件的python工具 根据官网...