基础筑基 在大多数语言中原始map都不是一个线程安全的数据结构,那如果要在多个线程或者goroutine中对线程进行更改就需要加锁,除了加1个大锁,不同的语言还有不同的优化方式, 像在java和go这种语言其实都采用的是链表法来进行map的实现,本文也主要分析这种场景 并发安全的map实现的三种方式 ...
分类:
编程语言 时间:
2019-12-30 09:40:39
阅读次数:
64
递归 1.递归的概念 递归就是自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁 2.递归需要遵守的重要规则 1)执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 2)方法的局部变量是独立的,不会相互影响 3)如果方法中使用的是引用类型变量(比如数 ...
分类:
编程语言 时间:
2019-12-30 09:40:58
阅读次数:
73
一、学习目标和建议学习周期 1、学习目标:完成Python入门基础,为数据分析事或者软件测试工程师知识体系中Python编程的入门知识。 2、学习阶段:2020.1.13-2020.2.23六周,建议每周学习时长15小时,整个学习时长90小时。 二、推荐教程 廖雪峰教程:https://www.li ...
分类:
编程语言 时间:
2019-12-30 09:43:00
阅读次数:
100
[toc] 26,27删除数组重复项 题目 题目26 给定一个排序数组,你需要在 原地删除 重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例: 给定数组 nums = [1,1,2], ...
分类:
编程语言 时间:
2019-12-30 09:43:42
阅读次数:
90
上一篇文章我们已经知道可以通过task.wait/task.WaitAny/task.WaitAll,等方法来实现等待一个tsak或者一组task的执行完毕,这一个方法都会阻塞主线程也就是这一些操作都是主流程的一个必然环节,但是我们在实际项目中,也还会遇到这样的场景,那就是主流程根本不关心task的... ...
分类:
编程语言 时间:
2019-12-30 09:44:41
阅读次数:
72
UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我。由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些资料学习一下,大概了解了运动模式后,使用matlab模拟了此平台,并验证了UVW平台资料提供的运动控制算 ...
分类:
编程语言 时间:
2019-12-30 09:47:44
阅读次数:
170
想写两行代码练练手,想起快速排序的一种变种实现,于是写了快速排序,在理论上完全没问题的情况下测试结果却很诡异,debug半天发现是宏定义导致,作为经验教训记录下来。 ...
分类:
编程语言 时间:
2019-12-30 09:49:04
阅读次数:
80
任何编程语言都会有一个内存模型,以便管理为变量分配的内存空间。不同的编程语言,如C、C++、Java、C#,Python,它们的内存模型都是不相同的,本文将以现在最流行的Python语言为例,来说明动态类型语言的内存管理方式。 ...
分类:
编程语言 时间:
2019-12-30 09:50:36
阅读次数:
100
js 全称JavaScript 也是一门编程语言 js跟java什么关系 他们没有任何关系 之所以叫Javascript是为了蹭java的热度 js也是面向对象式的编程语言 0.查看当前JavaScript版本 浏览后清空记录 谷歌浏览器设定如下 1.注释 单行注释 // 注释内容 多行注释 /*注 ...
分类:
编程语言 时间:
2019-12-30 09:53:56
阅读次数:
63
一、公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁 1. 公平锁和非公平锁: 1.1 是什么? 公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。 非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获得锁;在高 ...
分类:
编程语言 时间:
2019-12-30 09:54:13
阅读次数:
91
一、Tkinter? 1.组件的大致使用步骤 (1)创建总面板 (2)创建面板上的各种组件; i.指定组件的父组件,即依附关系;ii.利用相应的属性对组件进行设置;iii.给组件安排布局。 (3)同步骤2相似,创建好多个组件; (4)最后,启动总面板的消息循环 import tkinter ? ba ...
分类:
编程语言 时间:
2019-12-30 09:54:40
阅读次数:
949
[TOC] 1 函数 1.1 函数的分类 函数可以分成三种: 内置函数(BIF):解释器中内置的函数,可以直接通过函数名调用,如len(). 模块函数:定义在模块中的函数,通过模块名调用,如math.sin(). 用户自定义函数. 1.2 函数与方法 函数是指在类外定义的,可以独立调用的一组语句集合 ...
分类:
编程语言 时间:
2019-12-30 09:55:36
阅读次数:
95
通过Java日期时间API系列7 Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用java新的日期时间API重写农历LunarDate。 package com.xkzhangsan.time; ...
分类:
编程语言 时间:
2019-12-30 09:55:51
阅读次数:
82
女生适合学java吗?女生做IT怎么样首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见。不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们觉得这些岗位对逻辑性的要求很好,而且要具备一定的操作水平,而女生在这方面比较薄弱。实际上,女生从Java的工作,很多时候能做得比男生更好。为什么说女生比男生更能学好java呢?1、女生往往比男生更细心,我
分类:
编程语言 时间:
2019-12-30 09:57:46
阅读次数:
100
show me the code and take to me,做的出来更要说的明白 GitHub项目 "JavaHouse" 同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式,比如说 Spring 用了工厂模式啦,面试也会被问到工厂模式等等,这见工厂模式是日常开发中 ...
分类:
编程语言 时间:
2019-12-30 09:59:04
阅读次数:
96
作者 | Jeskson 来源 | 达达前端小酒馆 定义函数的方式: 第一种为 函数声明; 第二种为 函数表达式。 语法: 在Firefox,Safari,Chrome和Opera有效: 就是通过这个属性可以访问到这个函数指定的名字。 函数声明: 它的一个重要特点就是:函数声明提升,就是在执行代码前 ...
分类:
编程语言 时间:
2019-12-30 09:59:19
阅读次数:
127
8.slice: 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。同样不会对原数组改变 let arr12 = [24, 3, 6, 8, 7, 9]; //省略第二个参数end 会一直拷贝到数组结尾处的元素 let res ...
分类:
编程语言 时间:
2019-12-30 10:01:27
阅读次数:
104
目前不断更新中,算法描述图有时间补上 //查找使用ASL平均查找长度来判断算法的性能 ASL=ΣPiCi (i∈[1,n])//线性表的查找template<class T>class Search {public: //顺序查找: //条件: 无 //思想:从后往前与要查找的值比较,设置一个哨兵简 ...
分类:
编程语言 时间:
2019-12-30 10:03:40
阅读次数:
80
1. 引用函数的几种方式: - 直接引用当前脚本中函数 需要提前定义 引用方式:函数名(形参) - 引用其他脚本中的函数 首先需要在当前脚本引入其他脚本的名字, 若被引用脚本在当前文件夹下,那么直接 import 文件名 若被引用脚本不在当前文件夹下,那么 from 文件夹名 import 文件名 ...
分类:
编程语言 时间:
2019-12-30 11:11:55
阅读次数:
49
任何编程语言都会有一个内存模型,以便管理为变量分配的内存空间。不同的编程语言,如C、C++、Java、C#,Python,它们的内存模型都是不相同的,本文将以现在最流行的Python语言为例,来说明动态类型语言的内存管理方式。
分类:
编程语言 时间:
2019-12-30 11:13:48
阅读次数:
62