-
笔记:Machine Learning by Andrew Ng
只记录「以前」不知道或没注意或忘掉的信息。
-
基于命名空间的动态链接—— 隔离 Android 中应用程序和系统的本地库
Android 提供针对 Java 的 SDK 和针对本地应用的 NDK 作为 API 。对于私有接口,Java 库通过 Java 类加载器 (ClassLoader) 对应用程序隐藏,而本地共享库库可以很容易地被访问。另一方面,Oreo 的 Project Treble 旨在通过将 Android 实现分为Framework 和 Vendor 两个部分来解决碎片化的生态系统。这种代码划分需要在一个进程中分别管理两个本机库的集合。面对这些挑战,Android 动态链接器引入了 命名空间 (namespace)来隔离动态链接空间。 Android 系统部署 命名空间 以防止应用程序与私有本地库动态链接,并在不同的沙箱中管理 Framework 和 Vendor 库。本文分析了Android Oreo 的 命名空间 ,包括动态链接器的机制以及它与高层策略的相互配合,并讨论了其影响和收益。
-
转基因食品的问题
我不打算讨论转基因食品对人体是否有害,这不是我的专业范畴。我想讨论的是基于某种潜在的威胁,我们是否要接纳转基因。
-
九月的降临
汪洋中的一条船
-
Namespace based Dynamic Linking - Isolating Native Library of Application and System in Android
Android provides Software Development Kit (SDK, for Java) and Native Development Kit (NDK, for native language such as C and C++) as public Application Programming Interface (API, includes libraries). For private interface, Java libraries are hidden from applications by Java ClassLoader, while native libraries could easily be accessed previously. On the other hand, Project Treble of Android Oreo, aiming to address fragmented ecosystem by dividing Android implementation into Framework and Vendor part, needs to manage native libraries of two sets in one process separately. With these challenges, Android dynamic linker introduces namespace which isolates dynamic linking space. Android system deploys namespace to prevent applications from dynamically linking against private native libraries, and host Framework and Vendor libraries in different sandboxes. This article analyzes the namespace of Android Oreo, including the mechanism of dynamic linker as well as its inter-cooperation with system level namespace policy, and discusses the impacts and benefits.
-
官僚系统的失灵
看过一篇《官僚制控制体系的失灵与变革》,其中主要论述的是在复杂多样化时代背景下,传统官僚体制无法敏捷地对日新月异的变化做出反应,官僚体系愈加庞大而又对新挑战应接不暇。这表明传统体系已经很难在新时代产生效益。作者并未给出有效的变革方法,毕竟,这得是圣贤大哲思想家的才能。近来有感于公司战略变动与底层应对各方面的矛盾冲突,随意谈论点。但我意并不在官僚系统与当今社会的矛盾冲突,而在于官僚体系中的内在矛盾。
-
Java Native Interface - the Essentials
The Java™ Native Interface (JNI) is a powerful feature of the Java platform. Applications that use the JNI can incorporate native code written in programming languages such as C and C++, as well as code written in the Java programming language.
-
我们的龙芯3号:致龙芯15周年
「苟利国家生死以,岂因祸福避趋之」当之无愧!
-
西江月·夏江
好久没有酸一酸……
-
Android Dynamic Linker in Marshmallow
Dynamic linker, links shared libraries together to be able to run, has been a fundamental mechanism in modern operating system and rich software ecosystem over the past decades. Dynamic linker is always highly platform-customized since it's coupled with binary format of a system. This article introduces the basic conception of dynamic linker and takes Android (Marshmallow) dynamic linker as example to discuss the implementation. We will see that dynamic link is a engineering-purpose mechanism rather than a theory-born one.