自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (104)
  • 问答 (3)
  • 收藏
  • 关注

原创 dex文件生成、打包、加载

dex文件是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。

2023-10-17 20:41:48 285

原创 android系统编译

最后进入android桌面,就说明成功了。

2023-09-22 10:10:17 147

原创 【Android】系统源码下载及编译和android studio导入

BUILD 指的是特定功能的组合的特定名称,即表示编译出的镜像可以运行在什么环境,例如 aosp_arm64-eng 中的 aosp(Android Open Source Project) 代表 Android 开源项目,arm 表示系统是运行在 arm 架构的处理器上的,arm64 则是指 64 位 arm 架构处理器。删除后,则可以直接跳转到源码文件。参与编译的线程并不是越多越好,通常是根据你机器 cup 的核心来确定,公式为:core * 2,即当前 cpu 的核心的 2 倍。

2023-09-17 17:44:26 786

原创 WSL 的安装、报错解决、使用技巧

WSL 的安装、报错解决、使用技巧需要Windows10或以上系统版本。如果你的操作系统是Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11,并且你从来没有安装过WSL,你可以使用命令行简单的安装安装 WSL,使用管理员权限打开power shell运行命令完成安装, 详细教程。

2023-08-28 17:51:04 929

原创 使用 shadow 打jar包把添加依赖

在app的build.gradlebuildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "gradle.plugin.com.github.johnrengelman:shadow:7.1.2" }}在module下build.gradle处添加apply plugin: "com.git...

2022-05-17 10:52:34 1624

原创 android studio java-library 打包jar中没有主清单属性

android studio java-library 打包jar中没有主清单属性

2022-05-13 11:58:25 902 1

原创 如何查看apk包里的targetSdkVersion

1、找到sdk下aapt文件 ,在build-tools/sdk版本/aapt文件2 输入命令 aapt dump badging /Users/xxx/Documents/demo.apk

2021-07-20 11:03:30 1266

转载 java注解的实现原理

今天将从以下4个方面来系统的学习一下java注解什么是注解注解的用途注解使用演示注解的实现原理1.什么是注解注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解一般常用的注解可以分为三类:一类是Java自带的标准注解,包括@Override(标明重写某个方法)、@Deprecated(标明某个类或方法过时)和@SuppressWarni

2021-06-08 11:53:23 2757

原创 TextView超出限定长度显示省略号

<TextView android:layout_height="45dp" android:layout_width="wrap_content" android:text="何问起 hovertree.com" android:textSize="15sp" android:singleLine="true" android:layout_margin..

2021-04-15 10:08:09 673

原创 你写的单例模式,能防止反序列化和反射吗?

前言说起单例模式,相信大家都不会陌生。因为相比其他设计模式,实现一个单例模式是比较简单的。单例模式的意思就是一个类只有一个实例。获取类的实例,我们往往采用new关键字,但是要保证一个类只能有一个实例,所以不能让使用这个类的开发人员利用new关键字来创建实例。也就是不能让外部调用类的构造方法,所以很容易想到类的构造方法私有,这样开发人员就不能在类之外通过new的方法创建该类的对象了。由于外部不能通过new关键字来创建单例类的对象了,所以单例类本身必须提供一个静态方法,使得外部可以通过类名 + 方法名的方

2021-02-01 10:18:14 313

原创 在小米手机上调节亮度出现失常问题

小米的新版系统(大于MIUI9),取到的当前亮度值是远大于255的,应该是小米修改了系统亮度的最大值(不知道小米是出于什么原因修改的)。所以最大值要根据系统版本动态获取。public static final int MAX_BRIGHTNESS_VALUE = 230; //设置的最大亮度值 /** * 判断是否开启了自动亮度调节 * * @param context * @return */ public static boolean I

2020-12-15 17:30:43 1865

原创 Android应用程序的安装和显示过程

2020-11-19 00:06:58 156

原创 注解

1 注解的概念1.1 注解的官方定义首先看看官方对注解的描述:**An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annot

2020-11-18 15:58:59 146

原创 Linux/Ubuntu系统下反编译apk

Linux/Ubuntu系统下反编译apkenjarify 反编译apk,jadx 查看jar源码,apktool查看资源文件一、enjarify 反编译apk$ git clone https://github.com/google/enjarify.git$ cd enjarify$ ./enjarify.sh yourapp.apk二、jadx 查看jar源码1.build jadx$ git clone https://github.com/skylot/jadx.git$ cd

2020-09-25 10:25:19 1600 1

原创 android获取crash信息

public class ApiCrashHandler implements Thread.UncaughtExceptionHandler { private final Logger mLog = LoggerFactory.getLogger(ApiCrashHandler.class.getSimpleName()); private static ApiCrashHandler mCrashHandler; private Context mContext; p

2020-08-13 15:02:21 239

原创 addWindowToListlnOrdeLocked()的执行过程

addWindowToListln〇rdeLocked()的执行过程该 函 数 是 在 addWindow()中 被 调 用 的 , 其 作 用 是 将 新 建 的 WindowState对 象 添 加 到 mWindows列 表中 。 表 面 上 看 , 该 函 数 的 执 行 过 程 有 点 复 杂 , 但 其 执 行 的 目 的 就 是 当 添 加 新 建 的 窗 口 后 , mWindows列表 能 够 保 持 其 内 在 顺 序 上 的 固 有 规 则 , 因 此 , 如 果 按 照 这 种

2020-07-30 23:59:55 879

原创 删除窗口的时机

删除窗口的时机Android中 的 窗 口 和 Windows操 作 系 统 中 的 窗 口 管 理 有 一 个 明 显 差 别 ,就 是 窗 口 的 右 上 角 没 有 关 闭按 钮 , 即 用 户 不 能 直 接 关 闭 窗 口 。从 SD K 的 角 度 来 看 , SDK希 望 程 序 员 不 要 直 接 去 操 作 窗 口 , SD K 已 经 对 窗 口 进 行 了 各 种 封 装 ,Activity,菜 单 、 对 话 框 等 , 这 些 控 件 的 背 后 都 对 应 一 个 窗 口

2020-07-30 23:25:27 398

原创 assignLayersLockedO 的执行过程

assignLayersLocked() 的执行过程mWindows中 窗 口 的 排 列 顺 序 反 映 了 窗 口 应 该 被 层 叠 顺 序 , 而 assignLayersLocked()函 数 的 作 用 正 是根 据 mWindows自 身 的 顺 序 给 窗 口 的 mLayer进 行 赋 值 。 private final void assignLayersLocked() { int N = mWindows.size(); int curBaseLa

2020-07-30 22:14:28 260

原创 导 致 V iew 树重新遍历的总体诱因

导 致 V iew 树重新遍历的总体诱因下面介绍各种能引起View树重新遍历的操作,这些操作总的来讲可以分为三类。一类是导致视图大小发生变化;第 二 类是导致ViewGroup重新为子视图分配位置;第三类是视图显示情况发生变化需要 重 绘 。这 三 类 情 况 最 后 都 直 接 或 间 接 调 用 到 三 个 函 数 ,分 别 为 invalidateO、 requestLayoutO及requestFocus(),而这三个函数最终都会调用到ViewRoot中 的schueduleTraversa

2020-07-29 23:34:24 236

原创 V ie w 内默认消息派发过程

V ie w 内默认消息派发过程public boolean dispatchTouchEvent(MotionEvent event) { /** * 一 调 用 onFilterTouchEventForSecurity()处理窗口处于模糊显示状态下的消息。所谓的模糊显示是 * 指 ,应用程序可以设置当前窗口为模糊状态,此时窗口内部的所有视图将显示为模糊效果。这样做的目 * 的 是 为 了 隐 藏 窗 口 中 的 内 容 , 对 于

2020-07-29 23:31:17 184

原创 measure内部设计思路

host.measure()会 调 用 到View类 的 measure()函数,该函数然后回调onMeasure()。在一般情况下,host对象是一个ViewGroup实例,该ViewGroup会重载onMeasure(),当然如果host没有重载onMeasure(),则会执行View类中默认的onMeasureO。在一般情况下,程序员需要在重载的onMeaSure()函数中逐一对 所 包 含 的 子 视 图 执 行 measureO操 作 , 为 了 简 化 程 序 设 计 , ViewGrou

2020-07-29 22:35:47 152

原创 根视图内部(Activity)消息派发过程

首先来看mView.dispatchTouchEvent()的派发过程。该函数是在ViewRoot中调用的, mView的类型可能有两种情况,对于应用窗口而言, mView是一个PhoneWindow中的DecorView类型;对于非应用窗口而言, mView是一般的ViewGroup类型。在 DecorView中,首先判断是否存在Callback对象,它和按键消息派发时的Callback对象一样,就 是 Activity类 。 如 果 没 有 Callback对 象 , 则 直 接 调 用 Dee

2020-07-29 22:31:00 150

原创 触摸消息总体派发过程

** 和按键派发类似,当消息获取模块通过pipe将消息传递到客户端, InputQueue中的next()函数内部调 用 nativePollOnce()函数中会读取该消息。如果有消息,则 回 调ViewRoot内部的mlnputHandler对象的 dispatchMotion()函数,该函数仅仅是发起一个DISPATCH_POINTER异步消息,消息的处理函数是deliverPointerEvent()。执行完该函数后,调 用 finishInputEvent()向消息获取模块发送一个回执,以便

2020-07-29 22:13:15 130

原创 绘制滚动条

/** * <p>Request the drawing of the horizontal and the vertical scrollbar. The * scrollbars are painted only if they have been awakened first.</p> * * @param canvas the canvas on which to draw the scrollbars * * @

2020-07-29 17:40:43 434

原创 ViewGroup 类中 drawChild()过程

dmwChildO的核心过程是为子视图分配合适的Canvas剪切区,剪切区的大小取决于child的布局大小,剪切区的位置取决于child的内部滚动值及hild内部的当前动画。该函数内部的主体流程如图13-42所示,分为八大步。 protected boolean drawChild(Canvas canvas, View child, long drawingTime) { boolean more = false; final int cl = child.mLe

2020-07-28 22:54:46 534 2

原创 ViewGroup类 中 绘 制 子 视 图dispatchDraw()内部流程

/** * dispatchDraw()的作用是绘制父视图中包含的子视图,该函数的本质作用是给不同的子视图分配合 * 适 的 画 布 (Canvas),至于子视图如何绘制,则又递归到View类 的 draw()函数中。应用程序一般不需要 * 重 载 dispatchDrawO函数,而只需要在onLayout()中为子视图分配合适的大小, dispatchDraw()将根据前 * 面分配的大小调整Canvas的内部剪切区,并作为绘制子视图的画布。所有的ViewGro..

2020-07-28 22:41:04 983

原创 View类中draw()函数内部流程

View类中draw()函数内部流程/**该函数的内部流程正如源码中的注释所讲.分为5步**/ public void draw(Canvas canvas) { if (ViewDebug.TRACE_HIERARCHY) { ViewDebug.trace(this, ViewDebug.HierarchyTraceType.DRAW); } final int privateFlags = mPri

2020-07-28 22:26:19 269

原创 ViewRoot的draw()分析

/** * ViewRoot中的draw()函数主要处理一些根视图中的特有属性,并且处理完毕后同样要调用View类 * 中 的draw()进行具体的绘制。 * Surface按照底层的驱动模式可以分为两种,一种是使用图形加速支持的Surface,俗称显卡,另一 * 种是使用CPU及内存模拟的Surface。因此,根视图中将针对不同的Surface采用不同的方式从该Surface * 中获取一个Canvas对象,并 将 该Canvas对象派发到整个视图...

2020-07-26 23:27:10 327

原创 View绘制元素

在介绍视图绘制之前,先来了解一下一个视图中都包含哪些需要绘制的元素,比如一个TextView,除了具体的文字外,还需要绘制文字的背景等。那么,视图中都包含哪些绘制元素呢?总的来讲,绘制元素包含四个,分别如下:View背景。每个视图都有一个背景,比 如 LinearLayout、 TextView,背景可以是一个颜色值,也可以是一幅图片,甚至可以是任何Drawable对象,比如一个Shader、一 个DrawableState等 。应用程序可以使用 setBackgroundColor()、 se

2020-07-26 23:25:07 141

原创 LinearLayout的onLayout()分析

/** * onLayout()函 数 中 首 先 根 据 mOrientation变 量 判 断 是 水 平 还 是 垂 直 ,如 果 是 垂 直 , 则调用 * layoutVertical()开始进行 layout 操作。 */ @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { if (mOrientation == VERTI.

2020-07-26 21:42:22 317

原创 布 局 (layout ) 过程

布 局 (layout ) 过程 public final void layout(int l, int t, int r, int b) { /** * 在 layout()函数中,首先调用setFrame()函数给当前视图设置参数中指定的位置,然后回调onLayoutO * 函数。 ViewGroup类中重载了 onLayout()函数,并且将其函数类型设置成了一个abstract类型,因此, * 所 有 的ViewGroup实例必

2020-07-26 21:29:20 402

原创 LinearLayout 中的 onMeasure()

LinearLayout 中的 onMeasure() /** * LinearLayout中 的onMeasure()函数内部,首先判断该LinearLayout是水 * 平的还是垂直的,并分别调用measureHorizontal()和 measureVertical(),下面仅分析垂直方向的measure * 过程。 */ @Override protected void onMeasure(int widthMeasureSpec, int

2020-07-26 21:17:02 275

原创 measure()源码分析

/*** host.measure()会 调 用 到View类 的 measure()函数,该函数然后回调onMeasure()。在一般情况下,* host对象是一个ViewGroup实例,该ViewGroup会重载onMeasure(),当然如果host没有重载onMeasure(),* 则会执行View类中默认的onMeasure()。在一般情况下,程序员需要在重载的onMeaSure()函数中逐一* 对 所 包 含 的 子 视 图 执 行 measureO操 作 , 为 了 简 化 程 序 设

2020-07-26 20:08:32 693

转载 android一行命令实现多渠道打包并自动进行资源混淆(Walle,AndResGuard)

多渠道打包和资源混淆的作用这里我就不再阐述了。网上有很多。本篇博客我们来介绍一下如何实现多渠道打包之前先进行资源混淆,这样一来我们打出来的包都是已经进行过资源混淆的了。如果你还有其他的需求,也可以按照这个方法实现。多渠道打包(Walle)这里多渠道打包我使用的是美团的Walle,具体的使用方式Github上已经介绍的很详细了。这里我先来实现一下多渠道打包首先按照说明集成一下walle和签名配置配置build.gradle在位于项目的根目录 build.gradle 文件中添加Walle Gr

2020-07-20 09:26:21 632

原创 performTraversals()

/** * performTraversals()函数正是系统内进行View树遍历工作的核心函数,该函数内部逻辑稍有复杂, * 一个函数代码长度约600行。虽然该函数的代码很长,但其主体逻辑却是很清晰的,其执行过程可简单 * 概括为根据之前所有设置好的状态,判断是否需要重新计算视图大小 measure)、是否需要重新安置视 * 图 的 位 置 layout),以及是否需要重绘 draw)视图, */ private void performTra..

2020-07-10 16:18:51 738

原创 requestLayout( )

该函数的执行过程比较简单,因为当View树进行重新布局时,总是重新给所有的视图进行布局,因为,最简单的想法就是只要设置一个标识就好了。* 首先给mPrivateFlags添 加 FORCE_LAYOUT标识,然后调用mParent的 requestLayoutO函数。对于 * 一个具体的View对象而言,其父视图要么是一个ViewGroup实例,要么是一个ViewRoot实例,而前 * 者并没有对该函数重载。也就是说,ViewGroup会按照基类 View )中的该函数进行处理,如果

2020-07-10 12:52:31 490

原创 invalidate()

该函数的作用是请求View树进行重绘,当应用程序需要重绘某个视图时,可以调用该函数。绘 制流程中,首先绘制最底层的根视图,然后再绘制其包含的子视图。子视图或者是一个VeiwGroup,或者是一个View,如果是ViewGroup的话,则继续再绘制ViewGroup内部的子视图,绘制过程一般并不会对所有视图进行重绘,而仅绘制那些“需要重绘” 的视图。那么,什么是“需要绘制”的视图呢?View类内部变量mPrivateFlags中包含了一个标志位DRAWN,当该视图需要绘制时,就给mPrivateFl

2020-07-10 12:42:52 840

原创 requestFocus(int direction, Rect preFocusRec)

和 invalidateO的调用有点相似,requestFocusO也是不能独自完成的,当一个视图想要获取焦点时,必须请求它的父视图完成该操作,为什么呢?因为父视图知道当前哪个视图正在拥有焦点,如果要进行焦点切换,则必须先告诉原先的视图放弃焦点,而这些操作所需要的信息是在父视图中保存的,所以requestFocus()也必须由父视图完成。该函数有如下三个不同的版本。• requestFocusO:无参数,它被转换成 requestFocus(View.FOCUS__DOWN)。• request

2020-07-10 10:09:26 1206

原创 android2.3源码下载编译过程

@官方的文档地址:http://source.android.com/source/download.html@系统要求:1 ubuntu 10.04或以上版本 2 64位系统(查看系统命令: uname -m 如果出现i386 i686 i586则是32位 如果出现amd64 则是64位系统 ) 3 jdk1.6 或更高版本 1安装下载源码所需要的工具1.1 sudo apt-get install git-core curl 这条命令...

2020-07-06 18:41:38 170

原创 requestLayout方法和invalidate 方法比较

requestLayout方法和invalidate方法自定义View的时候难免会和这2个方法打交道,在之前的文章中我们已经介绍了invalidate方法,今天我们来对比下requestLayout方法和invalidate方法有什么不同之处等不及的先给个结论:requestLayout方法会导致View的onMeasure、onLayout、onDraw方法被调用;invalidate方法则只会导致View的onDraw方法被调用requestLayout方法源码分析//View.class@

2020-06-30 21:48:34 634

Kotlin极简教程.zip

Kotlin极简教程,有点难找,供大家下载,为了方便,不需要积分,平台改了我再传。还可以,我也在看这个。。。。

2020-11-25

so加固(包括section加密&&so的函数加密).zip

android应用加固之so加固,包括两种方法 一section加密和so的函数加密,帮助你保护自己的应用。

2020-07-21

liuchangdepython.zip

本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。

2019-07-16

MVPArms.zip

一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架,Dagger2、RxJava、RxAndroid、Rxlifecycle、RxCache、RxPermissions、RxErroHandler、Retrofit、Okhttp、AndroidAutoSize、Gson、Butterknife、AndroidEventBus、Timber、Glide、LeakCanary

2019-07-16

zxing-master.zip

ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android

2019-07-16

Java并发编程实战2019.zip

Java并发编程实战,第1章 简介,第2章 线程安全性 第3章 对象的共享  第4章 对象的组合 第5章 基础构建模块 第6章 任务执行 第7章 取消与关闭 第8章 线程池的使用 第9章 图形用户界面应用程序 第10章 避免活跃性危险 第11章 性能与可伸缩性 第12章 并发程序的测试 第13章 显式锁 第14章 构建自定义的同步工具 第15章 原子变量与非阻塞同步机制 第16章 Java内存模型

2019-06-14

redis-3.0.0.gem

redis-3.0.0 源文件

2019-02-28

JVM思维导图

JVM,通向高级工程师的必经之路,这里一份思维导图,帮助大家学习理解。

2018-12-26

数据结构思维导图

数据结构思维导图,总结了需要学习的全部数据结构与算法内容。

2018-12-10

算法导论(第三版)

算法导论(第三版)

2018-11-21

计算机电子书手机(主要是java、android、python)

计算机电子书手机(主要是java、android、python),编程思想、android艺术探索

2018-11-16

识别身份证、银行卡

自动识别识别身份证、银行卡,驾驶证,行驶证。亲测可用,无效的评论联系我

2018-07-16

Android进阶之光 刘望舒(当当正版).pdf

本书共分为11章,各章内容如下。 • 第1章介绍 Android 5.0、Android 6.0、Android 7.0 的新特性,包括 Android 5.0 的RecyclerView、Android 6.0的运行时权限机 制和Android 7.0的多窗口模式等知识点。 • 第2章介绍 Material Design 以及 Design Support Library 常用的控件,并给出实例将Design Support Library中的常用控件结合在 一起使用。 • 第3章介绍View相关的进阶知识,包括View的滑动、View的事件分发和View的工作流程。最后结合以上知识点来介绍自定 义View。 • 第4章介绍多线程编程,本章不仅包括基础的线程知识,还会介绍线程同步和线程池等进阶知识点,最后结合这些知识点 来分析Android 7.0的AsyncTask的源码。 • 第5章介绍网络编程的基础知识以及常用的网络框架:Volley、OkHttp和Retrofit的使用方法和原理分析。 • 第6章将设计模式进行分类,并介绍每个分类中常用的设计模式。 • 第7章介绍事件总线EventBus和otto的使用方法和原理。 • 第8章介绍函数响应式编程RxJava的使用方法,包括RxJava的基本使用、操作符、使用场景和源码分析等知识点。 • 第9章介绍注解的知识点和依赖注入框架ButterKnife和Dagger2的使用方法以及原理。 • 第10章介绍Android应用架构设计,包括MVP框架以及MVP结合RxJava和Dagger2,还有MVVM框架相关的Data Binding支持 库。 • 第11章主要是指引读者进行Android系统源码阅读并带其入门,介绍Android系统框架、源码目录和阅读源码工具,并以分 析MediaPlayer框架的源码作为示例。

2018-07-11

android studio 3.2

在今天的 Google 2018 I/O 大会上,释出了 Android Studio 3.2 的最新预览版,并带来了一系列的新功能,如支持 Android P 开发预览版、新的 Android App Bundle,以及 Android Jetpack。官方表示这是今年新功能最丰富的版本。上传到百度云,大家赶紧下载吧!

2018-06-07

eventbus3-intellij-plugin.jar

eventbus3-intellij-plugin搜不到就用这个方法加上就可以用了

2018-05-18

apktool反编译.zip

https://blog.csdn.net/cto_1649900265/article/details/79940557

2018-04-14

gradle-2.8-all

gradle-2.8-all(完整版)

2018-03-14

gradle-2.10-all

gradle-2.10-all 低分下载, gradle-2.10-all 低分下载 gradle-2.10-all 低分下载 gradle-2.10-all 低分下载 gradle-2.10-all 低分下载 gradle-2.10-all 低分下载

2018-03-13

阿里巴巴Android开发手册.pdf

阿里巴巴Android开发手册.pdf,方便各位下载,积分没有0的了,只能最低的2分,这谁改的

2018-03-01

音频PCM播放

音频PCM播放

2018-02-08

Java 并发编程实战(完整带书签)

《Java并发编程实战》是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

2018-01-27

FFMPEG完美入门资料

FFMPEG完美入门资料 FFMPEG完美入门资料 FFMPEG完美入门资料 FFMPEG完美入门资料

2018-01-25

Android C++高级编程:使用NDK_Onur Cinar,于红.zip

ndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zipndk-Android C++高级编程:使用NDK_Onur Cinar,于红.zip

2018-01-08

水晶报表经典教程

水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表水晶报表

2017-10-31

水晶报表.pdf

水晶报表,工作有需要的可以下载看下,水晶报表最行教程

2017-10-31

gradle-4.1-all.zip

gradle-4.1-all.zip

2017-08-14

React Native入门与实战

React Native入门与实战

2017-08-10

深入浅出nodejs.pdf

深入浅出nodejs

2017-07-22

Java性能权威指南

Java性能权威指南

2017-07-22

jdk1.8 api文档中文.chm

dk1.8 api文档中文.chm

2017-07-22

java1.8 api中文版 谷歌翻译

java1.8api中文版 谷歌翻译

2017-07-22

Python_3.4.1官方教程中文版.pdf

Python_3.4.1官方教程中文版.pdf

2017-07-19

深入探索Android热修复技术原理(阿里巴巴)

深入探索Android热修复技术原理(阿里巴巴)

2017-07-03

阿里巴巴Java开发手册(正式版)

阿里巴巴Java开发手册(正式版)

2017-07-03

kotlin基础教程

kotlin基础教程,共享精神.学kotlin这个绝对够

2017-06-19

kotlin入门到精通

kotlin入门到精通,谷歌扶正了kotlin,你还不学吗

2017-06-15

kotlin-for-android

kotlin-for-android,android 官方语言kotlin

2017-05-22

Java多线程编程核心技术_完整版

Java多线程编程核心技术_完整版

2017-05-07

Android ScrollView向上滑动控件顶部悬浮效果实现

Android ScrollView向上滑动控件顶部悬浮效果实现,请参考文章:http://blog.csdn.net/viviwen123/article/details/39669811

2017-01-09

自定义VIewGroup实现仿淘宝商品详情页

仿照X宝的商品详情页, 拉到页面底部时有一个粘滞效果,如果用户继续向上拉的话就进入下一页

2017-01-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除