240 发简信
IP属地:广东
  • Android-注解处理器-手写Butterknife

    大家可能都用过Butterknife,今天就从0到1写一个Butterknife,首先通过反射的方式实现,接着再改为注解处理器实现,通过这个例子...

  • NDK学习笔记

    整理了一份NDK学习笔记,分享给需要的朋友: https://github.com/jdqm/ndk[https://github.com/jd...

  • Google Play In-app Billing API version is less than 3

    有一段时间没写文章了,今天分享一个最近遇到的坑。先说结论,账号问题,不是代码问题。 最近在做海外版App的时候有个需求是接入Google支付,接...

    0.7 12074 4 7 1
  • Resize,w 360,h 240
    Android单元测试只看这一篇就够了

    单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,可以轻松地验证单个单元的逻辑是否正确,在每次构建之后运行单元测试,可以帮助您快速...

    16.7 94699 20 201
  • Resize,w 360,h 240
    Gradle(1)- Groovy基础

    Gradle是目前Android主流的构建工具,不管你是通过命令行还是通过Android Studio来build,最终都是通过Gradle来实...

  • Resize,w 360,h 240
    JVM(5)-线程安全与锁优化

    1.线程安全 如果一个对象能安全地被多个线程同时使用,那么它就是线程安全的。 当多个线程访问同一个对象时,如果不需要考虑这些线程在运行时环境下的...

  • Resize,w 360,h 240
    JVM(4)-Java内存模型与线程

    线程对变量的修改都是在工作内存中进行的,那工作内存与主存之间的交互是如何进行的? 1. 8个原子操作 lock(锁定): 作用于主内存变量,它把...

  • Resize,w 360,h 240
    JVM(3)-类加载机制

    1. 类加载的七个阶段 1.1加载 通过一个类的全限定名来获取定义此类的二进制字节流; 将这个字节流所代表的静态存储结构转化为方法区的运行时数据...

  • Resize,w 360,h 240
    JVM(2)-垃圾收集器与内存分配策略

    一、垃圾收集器 1.如何确定对象已死 1.1.引用计数法-Reference Counting 给对象添加一个引用计数器,当有新的地方引用它时,...

个人介绍
技术这条道路,不能停歇。
Github: https://github.com/jdqm/