Amp

pip离线安装python包 && 修改 pip 源

无人久伴 提交于 2020-10-28 09:51:38
1 首先在一台能上网的机器上得到python包 1) 新建一个空目录,如 /home/ubuntu/zcy/ss,用来存储下载下来的所需安装包 2)下载安装包:pip install --download /home/ubuntu/zcy/ss pyspark 2 离线安装 1)将/home/ubuntu/zcy/ss下面的文件拷贝到不能上网的机器上,如拷贝到/home/zcy/working/spark目录 2)安装:pip install --no-index --find-links=/home/zcy/working/spark pyspark 参考资料:https://www.cnblogs.com/michael-xiang/p/5690746.html ======================================== 网上有很多可用的源,例如豆瓣: http://pypi.douban.com/simple/ 清华: https://pypi.tuna.tsinghua.edu.cn/simple 临时使用: 可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple 例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent

HashMap源码分析

三世轮回 提交于 2020-10-28 04:22:59
一、简介 HashMap是基于哈希表实现的,因其实现了Serializable和Cloneable接口所以支持序列化和被克隆,其每一个元素都是一个唯一且允许key和value为null的key-value键值对,其内部通过单链表和红黑树(1.8中加入)解决冲突问题,容量不足(超过了阀值)时,会自动增长。其是非线程安全的,适用于单线程环境,多线程环境下可采用concurrent并发包下的concurrentHashMap。 数据结构如下: 二、源码分析 1. 成员变量 //默认初始容量(16),必须是2的幂。 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大容量(必须是2的幂且小于2的30次方,传入容量过大将被这个值替换) static final int MAXIMUM_CAPACITY = 1 << 30; //默认装载因子(0.75),当实际元素所占容量占分配容量比例达到装载因子即75%时就要扩容了。填充比越大利用的空间很多,同时查找的效率也越低,因为链表的长度很大(1.8版本使用了红黑树后会改进些)。当我们关注内存时填充比可以稍大,当我们关注查找性能时填充比可以稍小些。 static final float _LOAD_FACTOR = 0.75f; //一个桶(bucket)即链表的树化阈值

618特惠 | 半价领取云计算入门课程

江枫思渺然 提交于 2020-10-27 16:59:16
京东智联云培训&认证课程 (JCA) 帮助你 提升知识储备 锤炼专业技术 提高就业竞争力 点击【 阅读 】即刻获取618限时大促优惠! 👇👇👇 关于京东智联云培训&认证 为了帮助想学习云计算相关产品及实操的小伙伴提升知识储备、锤炼专业技术、提高就业竞争力,去年年底我们推出了【京东智联云培训&认证】课程,针对从业人员或希望进入云行业人员的专业性技能进行培训与认证。 目前我们拥有京东智联云云计算助理工程师认证(JCA)及 京东智联云云运维助理工程师认证(JCA)为京东智联云云基础产品用户和运维人员提供专业技术认证。该项认证内容包括京东智联云的计算服务、网络服务、存储服务及安全等方面的核心产品,是对从业人员或希望进入云行业人员的专业性技能认证。 点击【 阅读 】快报名加入吧! 来源: oschina 链接: https://my.oschina.net/u/4090830/blog/4302378

Java和PHP的不同点之方法和变量的定义和使用

落爺英雄遲暮 提交于 2020-10-27 08:24:56
随便写写 1. Java不能在一个方法里给一个变量多次赋值,而PHP可以。 public void Test() { String name = "Java"; String name = "PHP"; } 在Java不可以这么写的,报”已在方法Test中定义了变量name“ public function Test() { $name = 'Java'; $name = 'PHP'; } 在PHP这么写是可以的,变量$name的值是PHP 2. Java可以在一个class里定义同名方法,前提是静态&&参数不同。PHP不使用命名空间的前提下是不能在一个class里定义同名方法,参数不一样也不可以。 public class Test() { public static String getName(String params) { return "Java"; } public static String getName(int params) { return "PHP"; } public static void main(String[] args) { String name = getName("I am a string"); //返回Java String name = getName(1234); //返回PHP } } 而在PHP,不带命名空间的话

FPGA学习系列:13. 任意分频器设计

走远了吗. 提交于 2020-10-26 23:21:03
设计背景: 分频在 fpga 的设计中一直都担任着很重要的角色,而说到分频,我相信很多人都已经想到了利用计算器来计算达到想要的 时钟 频率,但问题是仅仅利用计数器来分频,只可以实现偶数分频,而如果我需要三分频,五分频,七分频等等奇数类分频,那究竟怎么办呢?在这里,让我介绍一个可以实现任意整数分频的方法,这个办法也是同样利用了计数器来计算,当是跟偶数分频不一样的地方是任意整数分频利用了两个计数器来实现。 设计原理 : 本次设计主要是设计一个可调的分频器,我可以设置其参数,可以调节其输出的占空比,占空比的意思就是高电平所占周期的多少。我们通知计算高电平的时间和低电平的时间来实现,其实就是我们用两个计数器来控制的。 设计架构图 : 状态转移图 通过对两个计数器的计数,一个计算到了跳转下一个状态,等下一计数器计数到了又调回第一个状态,从而完成任意分频器的设计。 设计代码 : 设计模块 0 module fen pi nqi ( clk , rs t_n , clk0 ); 1 input clk ; 2 input rst_n ; 3 4 output reg clk0 ; 5 6 pa ram eter HW = 7 ; // 分一个高位 7 7 parameter LW = 3 ; // 低电平为 3 也就是 5M 的时钟 8 9 localparam s0 = 1'b0 ; //

Spring扩展的集合LinkedMultiValueMap和ConcurrentReferenceHashMap解析

半腔热情 提交于 2020-10-26 05:40:16
MultiValueMap是一个接口,它的一个键可以对应多个值(列表) public interface MultiValueMap< K , V > extends Map< K , List< V >> { /** * 获取key的第一个值 */ @Nullable V getFirst ( K key) ; /** * 添加value到key对应值的列表中 */ void add ( K key , @Nullable V value) ; /** * 添加一个列表到key对应的值中 */ void addAll ( K key , List<? extends V > values) ; /** * 添加另一个 MultiValueMap到本对象中 */ void addAll (MultiValueMap< K , V > values) ; /** * 给key设置一个给定的值value */ void set ( K key , @Nullable V value) ; /** * 将Map所有key,value设置进去 */ void setAll (Map< K , V > values) ; /** * 转化为一个单值Map */ Map< K , V > toSingleValueMap () ; } 该接口的实现类为LinkedMultiValueMap

redis源码学习02:跳跃表插入结点

假装没事ソ 提交于 2020-10-26 04:08:40
本文是本人在学习redis源码时的笔记,本文主要是对跳跃表插入结点代码的中文注释,如有错误欢迎指正。 有关跳跃表的原理可以上网搜材料,有很多。 首先看下redis源码里有关跳跃表的相关结构体: typedef struct zskiplistNode { // 跳跃表节点 sds ele; // zset元素 double score; // zset分值 struct zskiplistNode *backward; // 单前level的后一个node struct zskiplistLevel { // 创建节点的函数里会根据level数量申请相应的内存空间,放在结构体后面的作用是只需要一次内存申请操作,而且是连续的内存空间 struct zskiplistNode *forward; unsigned long span; // 该结点在某一层与下一个结点之间的元素个数 } level[]; } zskiplistNode; typedef struct zskiplist { // 跳跃表 struct zskiplistNode *header, *tail; // 头结点和尾结点,创建跳跃表时,tail为null unsigned long length; // level1所有元素个数 int level; // 总层级数 } zskiplist; 创建一个结点:

camera2 (api2)打开预览过程(二)

主宰稳场 提交于 2020-10-25 19:37:14
使用camera的流程: openCamera() -> applySettings() -> setPreviewTexture() -> startPreview() ->autoFocus() -> takePicture()。 打开camera设备的大致过程: 1, 实例化CameraModule对象,即mCurrentModule表示当前的module,默认是photoModule。 2, 显示第一次运行的对话框FirstRunDialog,在dialog正常结束后,执行resume。 3, 根据mCurrentModule的类型,实际执行的PhotoModule.java中的resume,间接调用CameraProvider接口的实现类CameraController中的方法requestCamera,如果当期是api2,就会通过AndroidCamera2AgentImpl.java的实例,调用openCamera()$AndroidCamera2AgentImpl.java,实际调用的是父类CameraAgent.java中的方法openCamera。接下来会异步的方式执行打开camera的过程,具体就是CameraActions.OPEN_CAMERA消息的处理,这个消息的处理过程中调用Cameramanager.java的openCamera。 4,

IntelliJ 源代码文件的历史如何查看

ⅰ亾dé卋堺 提交于 2020-10-25 16:16:25
在 IntelliJ 使用的时候,我们会经常要对源代码进行查看。 如何在 IntelliJ 中快速进行查看,如何进行比较? 在 IntelliJ 中,你可以使用快捷键进行查看,你也可以通过鼠标进行查看。 我们常用的查看功能使用的是查看一个文件的本地修改历史。 或者你也可以使用快捷键。 Alt + · 键,然后会弹出版本历史的快捷访问列表。 如果你选择 4 就可以查看 Git 文件提交的的历史列表。 显示文件的本地修改历史列表。 https://www.cwiki.us/questions/62619882 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/4281246

leetcode面试题54(二叉搜索树的第k大节点)--C语言实现

≯℡__Kan透↙ 提交于 2020-10-25 05:21:42
求: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1 输出: 4 限制: 1 ≤ k ≤ 二叉搜索树元素个数 解: 思路:首先观察到题设条件,1 ≤ k ≤ 二叉搜索树元素个数,这意味着一定可以找到对应的节点,不会出现要找的节点不在树中的情况,也就不需要对这种情况进行特殊处理。同时,根据二叉搜索树的特点,我们进行反序中序遍历时(先遍历右子树,再遍历根节点,最后遍历左子树),得到的节点值是单调递减的。因此当我们执行了k次遍历操作后,找到的节点就是第k大的节点,将该节点的值记录下来,并在主调函数中返回即可。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ void Traverse( struct TreeNode* root, int * curr, int *ret){ if (root==NULL) return ;