- 军军小站|张军博客
搜索到与相关的文章
编程技术

ConcurrentLinkedQueue的实现原理分析

1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技

系统 2019-08-29 22:40:24 1806

编程技术

自定义控件

最近做项目见到别人写的一个分页控件不错,记录一下关于路径的问题。一、解决方案二、添加类库项目test三、添加引用System.Web四、test下添加类文件Pagination.cs五、test下添加样式文件Pagination.css(右键此文件--属性--生成操作--嵌入的资源)六、Pagination.cs文件下添加如下内容usingSystem;usingSystem.Text.RegularExpressions;usingSystem.Web;

系统 2019-08-29 22:29:40 1806

编程技术

美刊评出2009年度十大发明

年年月月,都有无数发明狂人在忙碌。他们可能无法治愈白血病或者送宇航员上火星,但其作品对现实的影响一样深远。美国《大众科学》杂志据此评选出2009年度十大发明,包括使用整形技术不会污染水质的鱼饵、隔热防火的蘑菇墙板、世界上速度最快的坦克、利用汽车颠簸发电的减震器、帮助截瘫患者重新行走的“机器腿”、让护士不再为寻找静脉苦恼的新式导管……01摩天大楼逃生轮名称:RescueReel研发成本:33.5万美元耗时:6年“9·11”发生后,凯文·斯通(KevinSto

系统 2019-08-29 22:03:35 1806

编程技术

第二十二章 集成验证码——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在做用户登录功能时,很多时候都需要验证码支持,验证码的目的是为了防止机器人模拟真实用户登录而恶意访问,如暴力破解用户密码/恶意评论等。目前也有一些验证码比较简单,通过一些OCR工具就可以解析出来;另外还有一些验证码比较复杂(一般通过如扭曲、加线条/噪点等干扰)防止OCR工具识别;但是在中国就是人多,机器干不了的可以交给人来完成,所以在中国就有很多打码平台,人工识别验证码;因此即使比较复杂的如填字、算数等类型的验证码还是能识别的

系统 2019-08-29 22:00:40 1806

Python

华为2019校招笔试题之处理字符串(python版)

华为2019在线笔试题,现整理如下,以供之后参考GitHub题目介绍##################################################################################################################################'''题目描述:--对输入字符串检查是否存在非法字符,输出合法字符串(去重)和非法字符串(不去重)--对合法字符串循环左移10次,在

系统 2019-09-27 17:56:56 1805

Python

leetcode 汉明距离 - python3

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0≤x,y<231.classSolution:defhammingDistance(self,x:int,y:int)->int:x_str=str(bin(x)).replace('0b','')y_str=str(bin(y)).replace('0b','')max_len=max(len(x_str),len(y_str))x_s

系统 2019-09-27 17:56:07 1805

Python

Python常用内置模块之xml模块(详解)

xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,其焦点是数据的外观。它被设计用来传输和存储数据,其焦点是数据的内容。那么Python是如何处理XML语言文件的呢?下面一起来看看Python常用内置模块之xml模块吧。本文主要学习的ElementTree是python的XML处理模块,它提供了一个轻量级

系统 2019-09-27 17:54:56 1805

Python

python笔记:mysql、redis操作方法

模块安装:数据操作用到的模块pymysql,需要通过pipinstallpymysql进行安装。redis操作用的模块是redis,需要通过pipinstallredis进行安装。检验是否安装成功:进入到Python命令行模式,输入importpymysql、importredis,无报错代表成功;mysql操作方法如下:查询数据:fetchone、fetchmany(n)、fetchall()importpymysql#建立mysql连接,ip、端口、用

系统 2019-09-27 17:54:49 1805

Python

利用Python实现kNN算法的代码

邻近算法(k-NearestNeighbor)是机器学习中的一种分类(classification)算法,也是机器学习中最简单的算法之一了。虽然很简单,但在解决特定问题时却能发挥很好的效果。因此,学习kNN算法是机器学习入门的一个很好的途径。kNN算法的思想非常的朴素,它选取k个离测试点最近的样本点,输出在这k个样本点中数量最多的标签(label)。我们假设每一个样本有m个特征值(property),则一个样本的可以用一个m维向量表示:X=(x1,x2,.

系统 2019-09-27 17:54:43 1805

Python

Python 读取用户指令和格式化打印实现解析

一、读取用户指令当你的程序要接收用户输入的指令时,可以用input函数:name=input("请输入你的名字:")print("Hi"+name)程序中只要有input函数就会等待用户输入完并按回车键之后才会继续往下执行代码注:input()函数接收得到的值只是字符串,即使你输入的是数字或者其他数据类型的值,它也会把数字按照字符串处理,即接收得到值只会字符串。二、格式化打印假设现在需要打印出以下格式的内容,该怎么实现呢?------------Infom

系统 2019-09-27 17:54:32 1805