自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alexander的博客

基于总结的面向笔记博客......

  • 博客(55)
  • 收藏
  • 关注

原创 【Android底层学习总结】5. init进程的启动

1. 前言前面我们已经了解了内核的初始化,还是比较复杂的,具体的三言两语也解释不清,只能好好分析源码;这节我们该往上层走了,这一节我们来研究ini进程的初始化和启动,事实上前面的内核初始化已经进入init初始化了,这节我们来仔细研究,这个pid为1的进程。2. 源码解析注:本系列源码都是基于kernel4.9的前面我们已经讲到rest_init函数很重要,我们init进程的初始化启动也在这里面。下面我们依次进入以下文件夹或函数:kernel4.9->init->main.c->

2021-04-06 15:57:04 453

原创 【Android底层学习总结】4. 内核中do_initcalls函数源码解析

1 前言本节内容主要对do_initcalls函数进行总结,老实说这个函数有点复杂,需要了解汇编知识以及C语言里面对宏、函数指针的高级用法的理解。我在总结这篇文章时候都有点云里雾里,参考了网上很多老前辈的博客。如果本篇有什么错误,还请大家积极指正,谢谢大家。2 源码解析注:本篇代码取自kernel4.9/*做初始化工作,代码路径:init/main.c */static void __init do_initcalls(void){ int level; // 按照级别调用初始化函数,le

2021-03-30 17:32:46 289

原创 【Android底层学习总结】3. 内核中driver_init函数源码解析

1 前言前面我们已经总结了从硬件上电到内核启动初始化的过程,但由于篇幅原因,对于一些比较重要的函数只是进行了简单介绍。本节我们来研究关于driver_init函数的研究,从单词上的意思来讲,这个函数用于初始化驱动设备模型,也就是/sys目录下的一些初始化工作,对于驱动开发工程师比较重要。2 源码解析注:本节代码取自Kernel 4.9,位置:driver/base/init.c/sys目录下面目录的解析参考链接1(简易)/sys目录下面目录的解析参考链接2(详细)/** *driver_ini

2021-03-30 10:45:11 1032

原创 【Android底层学习总结】2. 安卓系统内核的Bring Up

0 目录1 前言2 简介3 启动流程3.1 上电3.2 Boot Loader3.3 Kernel的初始化4 总结1 前言上节我们学习了驱动开发基础,这节我们继续学习,这节我们主要来了解安卓系统是怎么启动的,以及内核的初始化工作。2 简介Android采用分层的架构设计,从高到低分别是应用层,Java API 框架层,系统运行层(包括Android Runtime和原生态的C/C++库)、硬件抽象层、Linux内核层。而我们这篇文章将从上电讲到Kernel的启动,大致流程如下。#mermaid-s

2021-03-29 17:11:23 1958 2

原创 【Android底层学习总结】1. 驱动开发基础

0 目录1 前言2 驱动开发认识2.1 驱动2.1.1 设备驱动程序的主要功能2.1.2 驱动程序的主要类型2.1.3 设备文件2.1.4 sys文件系统:3 基础编程3.1 内核模块3.1.1 设备驱动的编译和加载方式3.1.2 一个模块被插入时的主要工作3.2 内核编程3.2.1 内核模块编程模板3.3 字符驱动程序模板4 总结1 前言已经有段时间没好好地写博客了,最近在研究安卓底层,所以想写写我对安卓底层的认识和总结。本篇是安卓底层学习总结系列的第一篇,驱动开发基础。2 驱动开发认识安卓系统,

2021-03-29 16:26:49 4558 1

原创 【AS】Android Studio的虚拟机安装位置修改

背景AS里面的虚拟机默认安装位置在C盘,对于C盘很紧张的我来说,这无疑是个灾难,因为一个虚拟机动不动就是几个G,于是乎,在网上搜了一波解决方案,找了很久才找到个方法,那就是移动虚拟机、留下配置文件,只要修改配置文件的里面的虚拟机路径即可解决方案1、先创建虚拟机2、找到这个路径下的文件,C:\Users\用户名.android\avd,把虚拟机文件夹移动到你想要的位置3、修改带有.ini后缀的文件,如把这个地方进行修改即可...

2020-10-02 15:23:16 9768

原创 【AS】Android Studio的gradle同步慢以及下载慢问题

1、同步慢解决方案将以下内文件的内容进行修改修改为buildscript { repositories { maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'} maven{url "https://jitpack.io"} google() jcenter() } dependencies { classpath "co

2020-10-02 15:11:09 535

原创 Java EE课程大作业 JavaBean + Servlet+jsp+MySQL实现留言板

一 序言JavaEE我也是第一次接触,课堂学习想必大家都知道什么情况,我就不说了,基本上都是靠自学,本次大作业,作者也是面向搜索引擎编程加上个人的学习经验写出来的,所以部分代码可能与网上某答主有相似的地方,若有侵权请立即联系作者,马上删除相关代码。由于篇幅原因,以下提供的代码均为部分代码,如若需要导包,IDE会提示,按照IDE提示添加即可。二 项目结构我的大作业取名为家庭留言板,采用了Ja...

2019-11-05 23:37:43 4704 11

原创 汇编-debug查看标志位寄存器值

-r然后看右下角: NV UP EI PL NZ NA PO NC这个是符号值对应表:溢出标志OF(Over flow flag) OV(1) NV(0)方向标志DF(Direction flag) DN...

2019-11-02 22:32:22 5374

原创 【Spark】5、决策树二元分类

本节使用决策树二元分类分析StumbleUpon数据集,预测网页是暂时性的(ephemeral)或是长青的(evergreen),并调校参数找出最佳参数组合,提高预测准确度。StumbleUpon Evergreen大数据问题场景分析StumbleUpon是一个个性化的搜索引擎,会按用户的兴趣和网页评分等记录推荐给你感兴趣的网页,有些网页是暂时性的,比如新闻,这些文章可能只是在某一段时间会对读...

2019-07-17 15:48:59 1893 2

原创 【Spark】4、基于ALS创建电影推荐引擎

Spark MLib支持ALS推荐算法,通过观察所有用户给产品的评价来推断每个用户的喜好,并向用户推荐适合的多个产品,也可以把某一个产品推荐给多个用户。推荐算法介绍基于关系型规则的推荐(Association Rule)消费者购买产品A,那么他有多大机会购买产品B。基于内容的推荐(Content-based)分析网页内容自动分类,再将用户自动分类,将新进已分类的网页推荐给对该网页感兴趣的...

2019-07-11 21:39:45 1842

原创 【Spark】3、运行WordCount程序

本节内容快速略过,主要说明怎么执行程序。。。。。WordCount的python代码:from pyspark import SparkContextfrom pyspark import SparkConfdef CreateSparkContext(): sparkConf = SparkConf() \ .setAppName("WordC...

2019-07-10 16:33:51 527

原创 【Spark】2、RDD

弹性分布式数据集(Resilient Distributed Dataset),是Spark的核心,属于一种分布式的内存系统数据集应用,能与其他系统兼容,导入外部存储系统的数据集,如HDFS、HBase等RDD的特性1、RDD的三种基本运算Lineage机制具备容错的特性RDD本身具有Linear机制。记录每个RDD与其父代RDD之间的关联,还会记录通过什么操作才由父代RDD得到该RD...

2019-07-09 18:13:38 464

原创 【Spark】1、安装与介绍

SparkSpark是一种开源集群运算框架,由加州大学伯克利分校的AMPLab开发。Spark是一个弹性运算框架,适合进行Spark Streaming数据流处理、Spark SQL互动分析、MLlib机器学习等应用。Spark允许用户将数据加载到cluster集群的内存中存储,并多次重复计算,非常适用于机器学习的算法。Spark是用Scala开发的,并支持多种语言。注:本博客系列将用Pyt...

2019-07-08 19:17:07 269

原创 【机器学习入门】6、梯度下降法

梯度下降法(Gradient Descent)不是机器学习方法,是一种基于搜索的最优化方法,最小化损失函数。过程类似球从碗口滚落到碗底。并不是所有函数都有唯一极值点局部最优解极小值点全局最优解最小值点在线性回归中使用梯度下降法模拟梯度下降法import numpy as npimport matplotlib.pyplot as pltplot_x = np.linsp...

2019-07-08 13:31:07 265

原创 【Hadoop】3、MapReduce以及WordCount

MapReduce是一种程序开发模式,可以使用大量服务器来进行并行处理。Map分配工作,Reduce将工作结果汇总。运作流程1、Map将数据分割成若干份小数据,由每台服务器分别运行2、Reduce将数据合并,汇总整理结果示例:WordCount计算文件中每个单词出现的次数1、将以下代码复制进WordCount.javaimport java.io.IOException;impo...

2019-07-05 16:21:07 145

原创 【Hadoop】2、HDFS以及HDFS命令

什么是HDFS?HDFS是Hadoop Distributed File System的简写,即分布式文件系统。NameNode负责管理与维护HDFS目录系统并控制文件的读写DataNode负责存储数据对于HDFS的数据存取用cluster集群架构来存储大数据文件,通过Streaming来存取数据集,并且HDFS是批处理,而不是实时互动处理。存取模式是一次写入多次读取(write-on...

2019-07-04 18:10:07 171

原创 【机器学习入门】5、线性回归算法

特点思路简单解决回归问题结果具有可解释性蕴含机器学习中许多重要思想

2019-07-04 12:13:30 248

原创 【Hadoop】1、hadoop单机与分布式安装配置

1、安装系统2、安装jdk:yum install java-1.8.0-openjdk3、安装ssh4、安装rsync5、配置免密ssh:(在root下进行)ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys6、下载安装hadoopwget h...

2019-07-01 16:50:42 155

原创 【机器学习入门】4、kNN算法(k近邻算法)

思想简单用于分类利用样本与数据的距离,进行预测,距离最小的最多的数据的类别,就是预测结果k的值为取最近的样本的个数距离计算:欧拉距离代码实现:# -*- coding: utf-8 -*-import numpy as npfrom math import sqrtfrom collections import Counterfrom sklearn.model_selecti...

2019-07-01 11:24:00 385

原创 CentOS-安装桌面

检查当前linux系统已安装软件和可安装软件:yum grouplist|more 安装桌面:yum groupinstall "Desktop"安装桌面右键菜单yum install nautilus-open-terminal修改系统默认从桌面启动vim /etc/inittab 将 id:3:initdefault 的3修改为5...

2019-06-30 16:18:06 82

原创 【机器学习入门】numpy的主要用法

1、numpy.array基本操作与Python的list差不多其他操作:np.zeros(10,dtype=int) # 生成10个0,类型为整型np.zeros(shape=(3,5),dtype=int) # 生成3行5列的类型为整型的矩阵 np.ones(10,dtype=int) # 生成10个5,整型np.full(shape=(3,5),fill_value=666)...

2019-06-26 12:47:50 234

原创 【设计模式总结】6、工厂模式——抽象工厂模式

上一节我们总结了工厂方法,这一节,我们来总结抽象工厂。抽象工厂顾名思义,抽象工厂就是在工厂方法之上再进行抽象。可以用于构建一个十分庞大的"生产-消费系统",可以创建产品家族。正式定义:提供一个接口,用于创建相关或依赖对象的家族,而不需明确指定具体类。部分类图:整个系统看似复杂,其实构建起来还是比较容易的,只需要在上一节的基础上,封装一个抽象工厂接口即可。代码实现略。工厂模式主要的特...

2019-06-25 16:14:00 96

原创 【设计模式总结】5、工厂模式——工厂方法模式

前面我们总结了简单工厂,简单工厂运用非常广泛,但有局限性,适用于单用户,即一个Client(相对于工厂的客户),而一旦用户多了就不再适用。这里我们引入工厂模式之工厂方法模式:定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法用来处理对象的创建,并将这样的行为封装在子类中。类图:两个模块属于平级的关系这里的createProduct方法就是工厂方法clientA和B关...

2019-06-25 15:08:59 201

原创 【设计模式总结】4、工厂模式——简单工厂

开始之前,必须得注明一下,简单工厂并不是设计模式,它是一种编程习惯,方便后续引入工厂方法模式和抽象工厂模式。简单工厂:简单工厂非常简单,就是将所有类型实例化封装成一个类,用于解决使用new很多,违背了针对接口编程设计原则的问题,这也是工厂模式的设计原因之一。UML类图:Clien通过SimpleProductFactory取得Product实例。SimpleProductFactory...

2019-06-25 12:04:10 88

原创 【机器学习入门】3、其他学习分类

批量学习(离线学习):如果未加特殊说明都可以用批量学习,批量学习就是,训练好一个模型投入生产环境后,不再用样本进行优化。有点:简单缺点:每次重新批量学习,运算量巨大,在某些快速变化的环境中是不适应的在线学习:与批量学习差别在于,不浪费样例,不断进行优化;也适用于数据量巨大,完全无法批量学习的环境。优点:及时反映新的变化环境缺点:新的数据带来不好的变化,需要加强对数据的监控参数学习...

2019-06-24 17:16:46 157

原创 【设计模式总结】3、装饰者模式

装饰者模式是个非常著名的模式,学过Python的应该知道有个东西叫装饰器,与装饰者模式的概念类似。有关Python装饰器请点击。那么装饰者模式到底有什么用,下面给出装饰者模式的概念:动态地将责任附加到对象上。扩展想要的功能,装饰者提供有别于继承的另一种选择。总结一句话就是,装饰者模式用于动态扩展功能。下面是装饰者模式类图注:Decorator也可以用接口,装饰者模式的Component...

2019-06-23 17:55:13 107

原创 【机器学习入门】2、机器学习算法分类

机器学习算法主要分为以下四类:监督学习、非监督学习、半监督学习和增强学习监督学习方法:分类任务、回归任务给机器的训练数据拥有“标记”或者“答案”。常见的分类任务中,每个样本都有标记。白话版解释:给人类已经分类好的数据进行机器训练。PS:本系列内容主要研究监督学习。非监督学习给机器的训练数据没有“标记”或者“答案”,与监督学习概念相反。方法:1、对没有“标记”的数据进行分类,叫做...

2019-06-22 16:01:27 344

原创 【机器学习入门】1、了解机器学习

总算可以踏踏实实的学习机器学习了,作者希望未来的研究方向是数据科学,但是碍于专业课的阻碍,一直没能系统的学习相关内容,如今有了充足的时间,希望我能在这个方向上能有所建树。注:本系列内容属于机器学习入门,是作者在跟着慕课视频学习的一些总结性笔记,偏向于算法的原理以及技术实现,只包含基础的机器学习算法,不涵盖神经网络和深度学习,且不包括真实世界数据。技术栈:Python3、scikit-learn...

2019-06-22 15:29:52 284

原创 【设计模式总结】2、观察者模式

观察者模式是个非常常见的设计模式,窗体程序中、MVC等都大量使用了观察者模式。观察者模式,可以理解为采用订阅、推送消息的方式实现一对多(其实还可以‘拉’消息,Java内置库中有相应实现,但‘推’更为巧妙,本文实现用的‘推’)。概念在对象之间定义一对多依赖,这样一来,当一个对象改变状态,依赖他的对象会收到通知,并自动更新。主题与观察者*《HeadFirst 设计模式》*一书中提到了订阅报纸...

2019-06-21 18:54:30 177

原创 【设计模式总结】1、设计模式入门及策略模式

设计模式,我认为是一种规范,一种解决方案,以及一种工具箱;在使用面向对象程序语言的时候,常常会用到设计模式,来使代码更有效率。学会设计模式,还可以极大减少代码编写者互相交流时的歧义。这里我们将介绍第一种设计模式——策略模式首先我们先来了解OO,即Object Oriented,面向对象。学过面向对象应该知道以下几点1、OO基础抽象封装多态继承2、OO基本原则封装变化多用...

2019-06-21 12:29:06 92

原创 jQuery笔记-动态添加、删除元素

今天写项目时,遇见一个问题,要实现动态添加成绩单,以前也遇到过,不过忘记笔记丢哪了,现在把代码放博客,思路就是利用jQuery附加元素,以下是功能实现 </div> <button onclick="addGrades();">添加成绩</button> <script> function addGrades(...

2019-06-14 12:37:44 1087

原创 【SQL Server】修改表字段无法保存表问题

问题描述:在创建一个表后,要修改表字段,结果提示,会重新生成表,不允许修改。原因:SQL Server为了由于修改表字段重新生成表会造数据丢失,为避免此事件发生,SQL Server默认阻止重新创建表更改。解决方案:【工具】->【选项】->【设计器】中,去掉“阻止保存要求重新创建表的更改”前的勾选。...

2019-06-08 08:22:48 3106

原创 python动态导入自定义模块

首先,python导入自定义模块的三种方式:1.sys.path.append():将包路径添加进sys.path路径,解释器搜索包时会自动搜索此路径然后import你的路径2.利用环境变量:创建.pth文件,将模块目录路径放入文件内,然后将.pth文件放入python安装目录\Python35\Lib\site-packages3.直接同级或同级子目录import然后我们这里要说的...

2018-10-03 18:17:29 398

原创 tornado+ajax(xsrf验证)

话不多说,直接上代码 前端jq代码(别忘了在表单加{{ xsrf_form_html()|safe}})function getCookie(name) { var r = document.cookie.match("\\b" + name + "=([^;]*)\\b"); return r ...

2018-09-01 20:41:39 859

原创 使用django-redis-session0.6来保存session

1,安装django-redis-session0.6pip install django-redis-session==0.62,编辑settings.py文件SESSION_ENGINE = 'redis_sessions.session'SESSION_REDIS = { 'host': 'localhost', 'port': 6379, 'db'...

2018-08-31 12:39:40 566

原创 redis在centos7上的安装及使用

redis安装:yum install redis 如果提示找不到安装包就下载epel仓库yum install epel-release设置redis开机自启动chkconfig redis on更改配置文件:sudo vim /etc/redis.conf 启动服务:service redis start停止服务service redi...

2018-08-26 21:28:14 114

原创 CentOS7中uwsgi+nginx配置部署python web

首先介绍相关知识: WSGI: 运行python代码的容器,Web服务器网关接口,没有官方实现, 更像一个协议,只要遵循这个协议,就可以在任何服务器上运行wsgi.py: application对象:在python模块中用application对象与应用服务器交互 settings:Django需要导入的模块,应用定义uWSGI:实现WSGI所有接口的软件 监听端口,完全用C编...

2018-08-22 20:33:01 489

原创 Git的使用和GitHub控制版本

首先,介绍下Git,Git是由linus开发的分布式版本控制器,用于分布式团队合作开发版本控制。 仓库创建流程: 1.建立远程仓库,如GitHub,创建账户,建立仓库 2.创建本地ssh密钥,ssh-keygen -t rsa -C &quot;[email protected]&quot; 3.创建GitHub仓库用户,找到Settings,在Deploy Keys中添加密钥公钥,密钥公钥在本地~/...

2018-08-22 18:29:46 178

原创 centos7下django2.1安装配置

首先虚拟环境要安装好,因为我们的django是要运行在虚拟环境下的: 虚拟环境安装配置链接:链接进入虚拟环境workon XX下载模块: ps:我用的是python3.6以及pip18 django2.1(仅支持python3) pymysql(MySQLdb并不支持Python3.5及以上版本以上直接pip install就好。创建项目:django-admin star...

2018-08-22 13:03:41 845

空空如也

空空如也

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

TA关注的人

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