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

ConcurrentLinkedQueue的实现原理分析

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

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

编程技术

我的书籍--持续更新中

:还没买,:已经买了Linux方面:《Linux操作系统之奥秘》()《UNIX操作系统设计》()鸟哥的Linux私房菜——服务器架设篇(第二版)()C++:《C++primer》()C语言:《C和指针》()操作系统:《操作系统概念》()算法:《算法导论》()MySQL:《MySQL权威指南》《MySQL性能调优与架构设计》Spring:《SpringinAction》()我的书籍--持续更新中

系统 2019-08-29 22:38:41 1842

编程技术

一、二级缓存([尚硅谷]_张晓飞_Mybatis 学习笔

1.一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Sessionflush或close之后,该Session中的所有Cache就将清空。2.二级缓存与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用域为Mapper(Namespace),并且可自定义存储源,如Ehcache。3.对于缓存数据更新机制,当某一个作用域(一级缓存Session/二级缓存Na

系统 2019-08-29 22:10:20 1842

Python

利用Python如何生成hash值示例详解

一、介绍如果在Python中需要对用户输入的密码或者其他内容进行加密,首选的方法是生成hash值。在Python中可以利用二个模块来进行:-crypt-hashlib二、crypt(一)crypt的主要方法和常量名称描述md5(…)利用md5算法加密sha1(…)利用sha1算法加密sha224(…)利用sha224算法加密sha256(…)利用sha256算法加密sha384(…)利用sha384算法加密sha512(…)利用sha512算法加密(二)使

系统 2019-09-27 17:52:57 1841

Python

Python列表对象实现原理详解

Python中的列表基于PyListObject实现,列表支持元素的插入、删除、更新操作,因此PyListObject是一个变长对象(列表的长度随着元素的增加和删除而变长和变短),同时它还是一个可变对象(列表中的元素根据列表的操作而发生变化,内存大小动态的变化),PyListObject的定义:typedefstruct{#列表对象引用计数intob_refcnt;#列表类型对象struct_typeobject*ob_type;#列表元素的长度intob

系统 2019-09-27 17:52:11 1841

Python

python中多个装饰器的调用顺序详解

前言一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器。多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则)。原代码执行结果装饰顺序:就近原则被装饰的函数,组装装饰器时,是从下往上装饰执行顺序:就远原则装饰器调用时是从上往下调用为了更好的理解,找到这段话:被装饰的函数是一个妹子,装饰器是衣服。“办事情”的时候得依次把外套、衬衣、内衣脱掉,事情办完了还要依次把内衣、衬衣、外套穿上。距离“妹子”越近的装饰器代

系统 2019-09-27 17:51:26 1841

Python

python全栈知识点总结

全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人。就是与这项技能有关的都会,都能够独立的完成。全栈只是个概念,也分很多种类。真正的全栈工程师涵盖了web开发、DBA、爬虫、测试、运维,要学的内容那是相当的巨量。就web开发方向而言需要学习的内容:前端知识包括HTML5CSS3JSJqueryAjax,后端至少需要能够熟练使用Django和tornado,当然会flask更好。扩展资料:全栈工程师的厉害之处并不是他掌握很多知识,可以一

系统 2019-09-27 17:48:54 1841

Python

Python内置函数之filter map reduce介绍

Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并.是Python列表方法的三架马车。1.filter函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。>>>N=range(10)>>>printfilter(lambdax:x>5,N)[

系统 2019-09-27 17:47:27 1841

Python

Linux下使用python自动修改本机网关代码分享

#!/usr/bin/python#autochangegatewayCreatedBymickelfengimportosimportrandom,reg='gateway192.168.1.'rand=random.randint(1,3)test='www.baidu.com'command='/etc/init.d/networkingrestart'GW="%s%d"%(g,rand)PingTest='ping-c3'+testtry:resu

系统 2019-09-27 17:46:54 1841

Python

学习python 之编写简单乘法运算题

实现代码:#!/usr/bin/python//处理程序#filenamejiafa.py//文件名importsysimportrandomrunning=True//定义runningwhilerunning:a=random.randint(0,15)//定义a的值为0-15的随机数b=random.randint(0,10)//定义b的值为0-10的随机数printa,'*',b//输出题目he=a*bgauess=int(raw_input('P

系统 2019-09-27 17:38:29 1841