Open软件开发小组

52 篇文章
15 人订阅

全部文章

open

深度解密Android中基于plt/got的hook实现原理

我们日常开发中编写的C/C++代码经过NDK进行编译和链接之后,生成的动态链接库或可执行文件都是ELF格式的,它也是Linux的主要可执行文件格式。我们今天就要...

13420
open

简述面向对象六大设计原则

怎么写出优雅的代码?看了一些开源库比如OkHttp、Retrofit等,真的很佩服里面的设计之精巧,对于设计模式的应用恰到好处。然而在项目中,我们在业务开发的时...

5610
open

Android面试题集

郭孝星,程序员,吉他手,主要从事Android平台应用架构以及公司技术品牌推广方面的工作。

11310
open

略懂Java编程(一):Java世界里的对象

我们每天都与机器打交道,我们的眼里只有if、else,或者Exception。然而,回归了到真实的世界,总是那么的复杂,那么多的纠结。但是,回到...

9320
open

为什么我写的程序有bug(一):逻辑篇

逻辑性错误也是出现bug的重灾区,有很多是因为逻辑性比较复杂,这个倒是可以理解。但是,很多时候出现的问题查了半天最后真想给自己一巴掌。人傻没办法,自己折腾自己。...

8620
open

简述JVM基础(七):Java 内存模型与线程

由于在进行运算时如果直接操作内存效率会比较低,用CPU又比较消耗资源,所以在中间加了一层高速缓存区,作为内存和处理器之间的缓存。进行运算时可以先在高速缓存区进行...

9610
open

简述JVM基础(六):虚拟机字节码执行引擎

物理机的执行引擎是直接在物理硬件如CPU、操作系统、指令集上运行的,但是对于虚拟机来讲,他的执行引擎由自己实现。 执行引擎有统一的外观(Java虚拟机规范),不...

8610
open

简述JVM基础(五):虚拟机类加载机制

我们一定心里有个疑问,我们那个多态是怎么回事?我们指定的一个接口,却可以等到运行时可以对应于不同的实现类。这是因为,Java有个特性就是依赖运行期动态加载和动态...

6410
open

简述JVM基础(四):类结构文件

Class文件是以8个字节为单位的二进制流,紧凑排列,中间没有空隙;如果想查看一个Class文件除了通过winHex编译器看到字节码,也可以通过javap -v...

5710
open

简述JVM基础(三):垃圾收集器与内存分配策略

了解了JVM中的内存分配以及数据存储的情况,那么怎么分配的方式是最高效的,对于已经过期无用的内存占用我们怎么回收起来,这个活必须得有人来干。好在JVM自带有垃圾...

9020
open

简述JVM基础(二):Java内存区域与内存溢出异常

我们在进行Java开发的时候,很少关心Java的内存分配等等,因为这些活都让JVM给我们做了。不仅自动给我们分配内存,还有自动的回收无需再占用的内存空间,以腾出...

8410
open

简述JVM基础(一):走进Java

作为一名Android开发工程师,从用Java写的第一个HelloWorld至今差不多有三年了。一日在家不小心打开了《深入理解Java虚拟机》,就有一种非常想迅...

6210
open

【GitLab专题】如何进行备份恢复与迁移?

前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是...

8310
open

深入理解Activity启动流程和AMS框架(三)

Intent中定义了一个标志FLAGACTIVITYNEW_TASK,在startActivity的Intent参数中加入该标志就能开启一个新的Task。但是,...

9510
open

深入理解Activity启动流程和AMS框架(二)

ActivityThread中的成员变量mActivities中保存了所有ActivityClientRecord对象,该类中重要的成员变量如下:

10510
open

深入理解Activity启动流程和AMS框架(一)

Android应用程序的载体是APK文件,它是一个组件和资源的容器。APK文件和我们常见可执行文件的区别是:每个可执行文件在一个单独的进程中,但是APK文件可能...

13310
open

Android后台发送邮件进行日志反馈

最近在和解决用户反馈的问题,但是出现了不方便的事情.就是获取用户操作日志的问题.想来想去还是用比较隐晦的方法---发送邮件.(需要告知用户,不然会当成流氓的!)

7910
open

FastJson那些事

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Jav...

10420
open

Android Binder 分析系列——原理(下)

图中我把相关的 jni 里面类也画了出来,这样就能更加明显的看到 java 层和 native 层的对应关系。

7810
open

Android Binder 分析系列——原理(上)

分析之前说一下原理。为要 android 要搞这么复杂的一个东西。那是因为 android 是个多进程的系统,进程间的数据交换、相互调用(某几...

10010

扫码关注云+社区

领取腾讯云代金券