Java

Java多线程编程总结--并发协作-死锁

原文:http://lavasoft.blog.51cto.com/62575/27069/作者:熔岩原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/27069Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Ja

系统 2019-08-29 22:37:30 2591

编程技术

内核源码学习:伙伴算法

1.原理Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。我们通过一个简单的例子来说明该算法的工作原理。假设要求分配的块其大小为128个页面(由多个页面组成的块我们就叫做页面块)。该算法先在块大小为128个页面的链表中查找,看是否有

系统 2019-08-29 22:34:48 2591

编程技术

从哥尼斯堡“七桥问题”到盖洛普“优势识别器”

从哥尼斯堡“七桥问题”到盖洛普“优势识别器”WrittenbyAllenLee18世纪,在俄国哥尼斯堡城(Konnigsberg)(今俄罗斯加里宁格勒)的普莱格尔(Pregel)河上有7座桥,将河中的两个岛和河岸连结。当时,城中的居民经常沿河过桥散步,有一天,某人提出了这样一个问题:能否从任意一地点出发,一次走遍7座桥,而每座桥只许通过一次,最后仍回到起始地点。当时,当地的居民一次又一次的进行尝试,但最终都是失望而归。这就是著名的“哥尼斯堡七桥问题”。愚公

系统 2019-08-29 22:30:07 2591

编程技术

沉默了很久,终于复出了

辞职在家,玩的不亦乐乎。几个月下来积蓄花光光。无耐之下只好找工作了。来到第3个公司,和以前一样是一个刚刚发展的公司。目前工作不是很忙。第一个星期就给我一个项目做,一个人做了10来个工作日初版基本搞定。沉默了很久,终于复出了

系统 2019-08-29 22:24:34 2591

编程技术

可视化建模

可视化建模中科永联高级技术培训中心(www.itisedu.com)可视化建模(VISUALMODELING)是利用围绕现实想法组织模型的一种思考问题的方法。模型对于了解问题、与项目相关的每个人(客户、行业专家、分析师、设计者等)沟通、模仿企业流程、准备文档、设计程序和数据库来说都是有用的。建模促进了对需求的更好的理解、更清晰的设计、更加容易维护的系统。可视化建模就是以图形的方式描述所开发的系统的过程。可视化建模允许你提出一个复杂问题的必要细节,过滤不必要

系统 2019-08-29 22:03:04 2591

编程技术

简单工厂(Simple Factory Pattern)模式

一,结构图工厂类角色Creator(LightSimpleFactory):工厂类在客户端的直接控制下(Create方法)创建产品对象。抽象产品角色Product(Light):定义简单工厂创建的对象的父类或它们共同拥有的接口。可以是一个类、抽象类或接口。具体产品角色ConcreteProduct(BulbLight,TubeLight):定义工厂具体加工出的对象。二,示例代码publicinterfaceLight{publicvoidturnOn();

系统 2019-08-12 09:29:47 2591

Java

JAVA面试题解惑系列(二)——到底创建了几个St

好东西分享我们首先来看一段代码:Java代码Stringstr=newString("abc");Stringstr=newString("abc");紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。我们可以把上面这行代码分成Stringstr、=、"abc"和newString()四部

系统 2019-08-12 09:29:27 2591

Python

python的数据类型之字符串(一)

字符串(str)双引号或者单引号中的数据,就是字符串.注意事项1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。2、字符串可以用+运算符连接在一起,用*运算符重复。3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。4、Python中的字符串不能改变“+”可以直接连接多个字符串“*”可以重复多个相同的字符串字符串的截取(切片)下标字符串的下标是从0开始的,列如字符串,"xiaose",x的下标则0,i的下标则为1,接下来的就

系统 2019-09-27 17:57:17 2590

Python

python3使用Tornado的搭建HTTPS服务

前言最近需要使用https搭建一个api故简单记录一下搭建过程搭建http的服务简单快捷,这里就不做其他介绍有关https的原理请参考图解HTTPS环境搭建(非必须)这个环境其实不是必须的,我再搭建的时候,并没有安装这个环境,因为我的linux服务器自带的有了,可能是在安装其他软件的时候再带安装上去了,所以可以自我检测一下。一、安装OpenSSLOpenSSL介绍OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能

系统 2019-09-27 17:57:00 2590

Python

python模拟键盘输入 切换键盘布局过程解析

PostMessage()defkeyHwnd(hwndEx,char):"""向指定控件输入值:paramhwndEx:控件句柄:paramchar:字符串:return:TrueorFlase"""try:for_inchar:print('key:%sascii:%d'%(_,ord(_)))win32api.PostMessage(hwndEx,win32con.WM_CHAR,ord(_),0)time.sleep(random.uniform(

系统 2019-09-27 17:55:32 2590

Python

USF MSDS501 计算数据科学中文讲义 1.2 Python 工具的初次

来源:ApacheCN『USFMSDS501计算数据科学中文讲义』翻译项目原文:AfirsttasteofPythontools译者:飞龙协议:CCBY-NC-SA4.0加载命令行应用启动Terminal.app(Mac)或任何bash终端,shell,它是UNIX风格的命令行提示符程序。你应该看到一个闪烁的光标和一个$提示符:$上面的$符号只是提示,终端正在等待您输入内容。执行命令后,您将再次看到$提示符。命令行是一个非常低级的接口,用于与计算机的操作系

系统 2019-09-27 17:51:22 2590

Python

Python3零基础入门学习视频+源码+课件+习题-小甲鱼

文章目录1.介绍2.目录3.下载地址1.介绍适用人群完全零基础入门,不需要任何前置知识。课程概述本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程。前半部分主要讲解Python3的语法特性,后半部分着重讲解Python3在爬虫、Tkinter、Pygame游戏开发等实例上的应用。整个系列共16个章节,前边13个章节从一个小游戏引入Python,逐步介绍Python的语法以及语言特色。最后3个章节为案例的演示,是前边内容的总结和提高

系统 2019-09-27 17:46:49 2590

Python

Python抓取京东图书评论数据

京东图书评论有非常丰富的信息,这里面就包含了购买日期、书名、作者、好评、中评、差评等等。以购买日期为例,使用Python+Mysql的搭配进行实现,程序不大,才100行。相关的解释我都在程序里加注了:fromseleniumimportwebdriverfrombs4importBeautifulSoupimportreimportwin32com.clientimportthreading,timeimportMySQLdbdefmydebug():dr

系统 2019-09-27 17:45:44 2590

Python

简单介绍Python中的floor()方法

floor()方法返回不大于x的最大整数(向下取整)。语法以下是floor()方法的语法:importmathmath.floor(x)注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。参数x--这是一个数值表达式。返回值此方法返回不大于x的最大整数。例子下面的例子显示了floor()方法的使用。#!/usr/bin/pythonimportmath#Thiswillimportmathmodulepr

系统 2019-09-27 17:38:10 2590