一站式理解线程概念与应用
线程 进程:资源分配的最小单位 线程:程序执行的最小单位 线程开启 方法一:定义类继承Thread,重写run方法 优点:直接使用Thread类中的方法,代码简单 缺点:如果已经有了父类,就不能用这种方法 class MyThread extends Thread {
@Override
public void run() {}
}
MyThread mt = new MyThread();
mt.start();
方法二:定义类实
Android类加载器概念与应用
类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象 当程序使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来对其初始化 加载:指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象 连接: 验证 是否有正确的内部结构,并和其他类协调一致
准备 负责为类的静态成员分配内存,并设置默认初始化值
解析 将类的二进制数据中的符号引用替换为直接引用
初始化:我们以前讲过的初始化步骤 Cl
Android进程概念与应用
进程 应用场景 类似音乐类、跑步健身类、手机管家类等长时间需要在后台运行的应用Android中的进程 Android中的进程 前台 > 可见 > 服务 > 后台 > 空 Foreground process 前台进程(满足任一个条件) 1、拥有一个正在和用户交互的Activity(也就是说Activity 的onResume()方法被执行了) 2、拥有一个被用户的正在交互的Activity 绑定的Service 3、拥有一个以“前台模式”运行的Service–该Service 已经被调用了st
Android一站式IO流总结
IO流 概念:处理设备间数据传递 常用父类 字节流抽象父类:InputStream、OutputStream 字符流抽象父类:Reader、Writer 字节流 FileInputStream\FileOutputStream FileInputStream fis = new FileInputStream("before.mp3"); //创建输入流对象,关联致青春.mp3
FileOutputStream fos = new FileOutputStream("after.mp3")
Android插件化
Android插件化 减少安装包大小,实现app功能模块化动态扩展 发展历程 需解决三个问题 插件中代码的加载和与主工程的互相调用 插件中资源的加载和与主工程的互相访问 四大组件生命周期的管理 框架发展的三代 第一代 dynamic-load-apk:使用ProxyActivity静态代理技术由ProxyActivity去控制插件中PluginActivity的生命周期 缺点:插件中的activity必须继承PluginActivity,开发时要小心处理context,开发侵入性高 第二代 在
Binder机制详解
Binder机制 Android系统中进程间通讯(IPC)的一种方式,Android中ContentProvider、Intent、aidl都是基于Binder 内存管理 Binder最大只能传1M的数据,因为Binder驱动只预留了一段1M大小的虚拟地址 mmap中定义BINDER_VM_SIZE为1M,Binder数据需要跨进程传递,需要在内核上开辟空间,所以允许在Binder上传递的数据不是无限大的 Binder 架构 通信采用C/S架构,包含Client、 Server、 Servic
Android系统源码目录
Android系统源码目录 源码下载 官网:http://androidxref.com/ 镜像:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 百度网盘:http://pan.baidu.com/s/1ngsZs 整体架构 编译后的源码目录会多增加一个out文件夹,用来存储编译产生的文件 Android源码根目录 描述 abi 应用程序二进制接口 art 全新的ART运行环境( Android运行时库 ) bionic 系统C库 bootabl
记一道MISC图片题(拖延癌晚期)
title: 记一道misc图片题 date: 2017-10-26 15:17:12 tags: MISC 记一道MISC图片题(拖延癌晚期) 几个月前实验班考核的一个杂项 这个题是今年实验班考核的时候一个学长出的300分的杂项,然后当时没做出来…回来之后在学长的提示下做出来了otz… 就是一道脑洞题…不过学到了一些新的工具使用。所以总结一下。 最近清理window虚拟机找到了一些做的时候的截图什么的想起来了这事。觉得有的东西还是觉得记录一下。(虽然本拖延癌晚期患者已经拖了几个月…) 原本好
通过一张火车票可以得到什么
title: 通过一张火车票可以得到什么 date: 2018-8-22 14:15:11 tags: MISC 通过一张火车票可以得到什么 摘要 假期回学校的时候,在火车东站被陌生人骗钱200块。报警之后也没有反馈。 自己太不小心了…QAQ小姐姐们一定要注意不要被坏人利用了自己的善良啊( 当时照了一张骗子出示的火车票。 虽然不一定是本人的…就试着看看通过一张火车票能查到什么。 身份证编码方式 火车票面上有个人完整姓名和少了四位出生日期的身份证号码。 票面上身份证号码是: 5001071997
学习《机器学习100天》第11天 K近邻法(k-NN)
github上的项目,跟着一起学习 K近邻法(k-NN)实现 首先回顾一下k近邻算法,根据k个邻居的信息,决定预测值。 代码实现: 导入相关库 导入数据集 划分数据集为训练集和测试集 特征缩放 使用K-NN对数据集数据进行训练 从sklearn.neighbors导入KNeighborsClassifier classifier = KNeighborsClassifier() classifier.fit() 对测试集进行预测 classifier.predict() 生成混淆矩阵
学习《机器学习100天》第12天 支持向量机SVM
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code 1、什么是SVM 有监督 可用于分类和回归,主要用于分类 根据特征值,构建n维空间,数据点投影到该空间 2、数据如何分类 找到一个超平面 3、如何定义最佳超平面 最大化一个距离,这个距离是到超平面最近的点的距离 4、线性和非线性数据 线性数据直接用超平面划分 非线性数据,需变换到另一个空间,再划分 5、参数 核函数(kernel):寻找超平面,就是通
学习《机器学习100天》第13天 支持向量机(SVM)
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code SVM实现 导入库 导入数据 拆分为训练集和数据集 特征量化 从sklearn.preprocessing导入StandardScaler sc=StandardScale() 训练集=sc.fit_transform(训练集) 测试集=sc.fit_transform(测试集) 适配SVM到训练集 从sklearn.svm导入SVC classif
学习《机器学习100天》第14天 支持向量机(SVM)的实现
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code 原项目这一天给出的是代码,和第13天实现的代码相同,那么我今天就继续从理论上理解一下SVM。 找到一篇解释SVM的文章。地址是http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html。现简单记录如下: (一)SVM的八股简介 一些概念: 1、机器学习本质:对问题真实模型的逼近
学习《机器学习100天》第15天 朴素贝叶斯分类器(Naive Bayes Classifier)和黑盒机器学习(Black Box Machine Learning)
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code 原项目这一天的任务: 学习不同类型的朴素贝叶斯分类器同时开始Bloomberg的课程(https://bloomberg.github.io/foml/#home)。课程列表中的第一个是黑盒机器学习。它给出了预测函数,特征提取,学习算法,性能评估,交叉验证,样本偏差,非平稳性,过度拟合和超参数调整的整体观点。 一、朴素贝叶斯分类器 1、先验概率与后验
学习《机器学习100天》第16天 通过内核技巧实现支持向量机
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code 原项目这一天的任务: 使用Scikit-Learn库实现了SVM算法以及内核函数,该函数将我们的数据点映射到更高维度以找到最佳超平面。 一、sklearn中的SVM算法 数据标准化处理 从sklearn.preprocessing导入StandardScaler standardScaler = StandardScaler() standardSc
学习《机器学习100天》第17天 决策树
github上的项目,跟着一起学习 项目地址 https://github.com/MLEveryday/100-Days-Of-ML-Code 原项目这一天的任务:在Coursera开始深度学习的专业课程 说明:由于机器学习相关的基础尚未完全掌握,决定接下来不完全按照原项目的计划来,根据原项目后面的,看了什么就记录什么。今天先看看后面的决策树。 一、决策树是什么? 监督学习算法 主要用于分类 二、决策树的例子 假设需要划分的数据是这样的: 决策树就是把这些数据切片: 对应的决策树是这样的:
今日推荐
周排行