搜索到与相关的文章
编程技术

用happen-before规则重新审视DCL

转载自----http://lifethinker.iteye.com/blog/260515编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(DoubleCheckLock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多线程程序的分析是通过分析操作之间可能的执行先后顺序,然而程序执行顺序十分复杂,它与硬件系统架构,编译器,缓存以及虚拟机的实现都有着很

系统 2019-08-29 23:06:36 2064

编程技术

桥梁模式

桥梁(Bridge)模式桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格。在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。抽象化

系统 2019-08-29 23:06:20 2064

编程技术

Struts

框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序。您只要细心地研究真实的应用程序,就会发现程序大致上由两类性质不同的组件组成,一类与程序要处理的具体事务密切相关,我们不妨把它们叫做业务组件;另一类是应用服务。比如说:一个税务征管系统和一个图书管理系统会在处理它们的业务方面存在很大的差异,这些直接处理业务的组件由于业务性质的不同不大可能在不同的系统中重用,而另一些组件如决定程序流向的控制、输入的校验、错误处理及标签库等这些只

系统 2019-08-29 22:18:52 2064

编程技术

ESBasic 可复用的.NET类库(03) -- 圈 Circl

1.缘起:假设我们要开发一个多人跳棋游戏。在跳棋游戏中,当一个人走一步棋之后,控制权就轮到下一家,如此轮询,一圈之后控制权又回到自己,然后再继续轮圈下去。我们可以使用数组或列表等数据结构来解决这种转圈圈的问题,但是始终都不够直观。我设计了Circle来对“圈”这种数据结构进行抽象,我们在类似跳棋这样的游戏中可以非常方便地直接使用它。Circle的形象示意图如下:2.适用场合:需要类似“圈”这样的数据结构支持的场合。3.设计思想与实现Circle也是一个非常

系统 2019-08-29 22:15:04 2064

编程技术

XSS 前端防火墙 —— 天衣无缝的防护

上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了setAttribute,却忽视还有类似的setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是createElement,事实上createElementNS同样也可以。甚至还可以利用现成的元素cloneNode,也能达到目的。因此,这些都

系统 2019-08-12 09:30:32 2064

Python

Python pip 使用国内镜像

##推荐源```https://mirrors.aliyun.com/pypi/simple/阿里镜像,速度快、稳定https://pypi.douban.com/simple/豆瓣镜像```##使用方法###1.使用时修改```pipinstall-i[国内镜像地址][模块名称]```###2.修改配置文件修改或创建`~/.pip/pip.conf`文件内容:```[global]index-url=https://mirrors.aliyun.com/

系统 2019-09-27 17:57:07 2063

Python

python学生管理系统

student=[]defprint_menu():print("学生管理系统V2.0")print("="*30)print("1.添加学生基本信息")print("2.通过学号删除学生信息")print("3.显示全部学生信息")print("4.通过姓名查找学生的信息")print("5.通过学号修改学生信息")print("6.导出学生基本信息到指定路径的文件中")print("7.查询成绩最高的学生基本信息")print("8.查询成绩最低的学生

系统 2019-09-27 17:56:15 2063

Python

python如何匹配CSV文件某一列数据,并根据匹配到的数据的值在后面添加新

CSV数据格式如下所示:分类要求为:AAAI属于AI类,ICDM,SDM和KDD属于DM类,WWW属于NEW类上图所示第一列为名称,如何根据第一列的名称把前面的类别名称输出到第三列,实际效果为:如上图所示,第一列为名称,第三列为对应的类别名称,请给出python的实现代码答案对人有帮助,有参考价值0答案没帮助,是错误的答案,答非所问可以用pandas里面的map映射字典。In[1]:importpandasaspdIn[2]:df=pd.DataFrame

系统 2019-09-27 17:56:15 2063

Python

OpenCV--Python 图像平滑之二维离散卷积(用于图像预处理)

每一幅图像都包含某种程度的噪声,噪声可以理解为由一种或者多种原因造成的灰度值的随机变化,如由光子通量的随机性造成的噪声等,在大多数情况下,通过平滑技术(也常称为滤波技术)进行移植或者去除,其中具备保持边缘作用的平滑技术得到了更多的关注。常用的平滑处理算法包括基于二维离散卷积的高斯平滑、均值平滑,基于统计学方法的中值平滑,具备保持边缘作用的平滑算法的双边滤波。1.卷积定义及矩阵形式(1)full卷积(2)valid卷积(3)same卷积(4)Python实现

系统 2019-09-27 17:55:48 2063

Python

如何使用python操作vmware

importpyspherefrompysphereimportVIServerhost_ip="200.200.173.45"username="administrator@vsphere.local"passwd="admin123."server_obj=VIServer()server_obj.connect(host=host_ip,user=username,password=passwd)#可以连接esxi主机,也可以连接vcenter#获取

系统 2019-09-27 17:55:46 2063