HalfStackDeveloper

  • 首页
  • 关于
  • 归档
  • 标签

Jvm之用java解析class文件

发表于 2017-02-02   |     |   阅读次数

前言:

身为一个java程序员,怎么能不了解JVM呢,倘若想学习JVM,那就又必须要了解Class文件,Class之于虚拟机,就如鱼之于水,虚拟机因为Class而有了生命。《深入理解java虚拟机》中花了一整个章节来讲解Class文件,可是看完后,一直都还是迷迷糊糊,似懂非懂。正好前段时间看见一本书很不错:《自己动手写Java虚拟机》,作者利用go语言实现了一个简单的JVM,虽然没有完整实现JVM的所有功能,但是对于一些对JVM稍感兴趣的人来说,可读性还是很高的。作者讲解的很详细,每个过程都分为了一章,其中一部分就是讲解如何解析Class文件。

这本书不太厚,很快就读完了,读完后,收获颇丰。但是纸上得来终觉浅,绝知此事要躬行,我便尝试着自己解析Class文件。go语言虽然很优秀,但是终究不熟练,尤其是不太习惯其把类型放在变量之后的语法,还是老老实实用java吧。

阅读全文 »

java内存管理初探

发表于 2016-12-30   |     |   阅读次数

前言

前不久为知笔记宣布收费,用不惯印象笔记和有道的我,便充了一年的会员,既然钱已经花了出去,就不能像以前一样,不懂得珍惜,刚好最近在重读《深入理解java虚拟机》,关于内存管理这块又多了一些收获,便记录下来,顺便整理成博客,还是毛主席教导的好:好记性不如烂笔头啊!文中前部分简摘自周志华老师的《深入理解java虚拟机》,后部分为个人的一些验证和总结。

阅读全文 »

一步反编译apk

发表于 2016-12-15   |     |   阅读次数

前言

昨天因为一件事需要反编译apk,查看dex文件里的class,于是我按照传统的做法一步步来反编译,可真是烦死我了。

阅读全文 »

轻松自制flyme悬浮球

发表于 2016-11-27   |     |   阅读次数

前言

去年用了一整年的MX4Pro,魅族留给我最大的印象就是悬浮球了(质量问题我就不说了),左右滑动切换应用、上拉返回桌面、下拉打开通知栏、轻触返回…,一切都那么丝滑。然而自从上半年换成了s7dege,我感觉怎么也习惯不了没有悬浮球的生活了。

阅读全文 »

如何利用RecyclerView打造炫酷滑动卡片

发表于 2016-11-10   |     |   阅读次数

前言

前段时间一直在B站追《黑镜》第三季,相比前几季,这季很良心的拍了六集,😄着实过了一把瘾。由于看的是字幕组贡献的版本,每集开头都插了一个app的广告,叫“人人美剧”,一向喜欢看美剧的我便扫了一下二维码,安装了试一试。我打开app,匆匆滑动了一下首页的美剧列表,然后便随手切换到了订阅页面,然后,我就被订阅页面的动画效果吸引住了。

阅读全文 »

tinker源码研读(一):补丁生成之DexDiff原理简析

发表于 2016-10-19   |     |   阅读次数

前言

微信的热修复框架Tinker已经在国庆节之前开源了,成为了github.com/Tecent下第一个项目,刷爆了各位开发者的朋友圈。作为一个超级APP的HotFix库,Tinker不仅值得我们compile,更值得我们read。

阅读全文 »

基于Instant Run思想的HotFix方案实现

发表于 2016-09-23   |     |   阅读次数

前言

近一年来,各种HotFix库层出不穷,各家大厂百花齐放,QQ空间最早提出了自己的热修复实现,接着阿里也开源了自家的AndFix(貌似阿里百川已经给开发者提供了新的Hotfix功能),现在微信又有了Tinker,各家都如此关心HotFix,无非是线上版本的bug对产品影响太大,尤其是DAU比较高的app,更是不能容忍。前几天看到美团基于Instant run原理推出了自己的Hotfix库,不过貌似没有开源,于是自己就按照Instant run的原理也鼓捣出了一个简单的HotFix实现,可以在不重启App和Activity的条件下实现修复,代码地址会在文章最后贴出,供大家研究学习。

阅读全文 »

Android Binder解密

发表于 2016-09-10   |     |   阅读次数

前言

稍微看过Android FrameWork层的人应该都知道Binder,因为app与系统服务之间的通信基本上都是建立在Binder的基础上。之前对Binder也是云里雾里,似懂非懂,于是花了不少时间,看了很多资料和源码,才大致了解了Binder通信的原理,总结出来,如有错误,还望指正。

阅读全文 »

Android Handler 原理分析

发表于 2016-08-31   |     |   阅读次数

前言

(该文半年前写于CSDN,回头看看,觉得写的不太好,稍微修改一下)

平时开发app时,Handler简直已经被用烂了,它的主要工作就是负责子线程何主线程之间的通信。我相信你已经对Handler的使用熟能生巧了,但是你真的了解它吗?

阅读全文 »

浅谈Instan Run中的热替换

发表于 2016-08-10   |     |   阅读次数

前言:

自从Android Studio 2.0发布以来,相信广大的攻城狮朋友们都已经用上了Instant Run这个新特性,还没用上的朋友们,赶紧去Google官网了解一下吧 https://developer.android.com/studio/run/index.html#instant-run

阅读全文 »
XiandengWang

XiandengWang

10 日志
6 标签
© 2017 XiandengWang
由 Hexo 强力驱动
主题 - NexT.Mist