搜索到与相关的文章
Python

Python多线程编程(五):死锁的形成

前一篇文章Python:使用threading模块实现多线程编程四[使用Lock互斥锁]我们已经开始涉及到如何使用互斥锁来保护我们的公共资源了,现在考虑下面的情况�C如果有多个公共资源,在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,这会引起什么问题?死锁概念所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些

系统 2019-09-27 17:50:56 2294

Java

格雷码 Java python c++ C# 解法 原理讲解

例子:以下是2位序列(n=2)00011110以下是3位序列(n=3)000001011010110111101100以下是4位序列(n=4)0000000100110010011001110101010011001101111111101010101110011000可以使用以下步骤从(n-1)位格雷码列表生成n位格雷码。1令(n-1)位格雷码列表为L1。创建另一个与L1相反的列表L2。2通过在L1的所有代码中加上前缀“0”来修改列表L1。3通过在L2的

系统 2019-09-27 17:49:59 2294

Java

JAVA 对象拷贝

JAVA对象拷贝为什么需要有对象拷贝?对象拷贝相对的自然是引用拷贝。java初学者经常会问,我这个方法要改变一个对象的属性,可以把参数传进去了,为什么没有改变了?——基本数据类型传值,而对象传引用或引用的拷贝。而有时候我们要获取到一个当前状态的对象复制品,他们是两个独立对象。不再是引用或者引用拷贝(实质都是指向对象本身)。就是说a是b的拷贝,b发生变化的时候,不要影响a。对象拷贝有浅拷贝和深度拷贝两种。1)浅拷贝浅拷贝是指对象中基本数据类型得到拷贝,而引用

系统 2019-08-29 23:47:17 2294

编程技术

liferay开发环境搭建

最近开始研究liferay了,在网上看了很多帖子,受益不少,最终还是按照liferay中文的ppt介绍做的,终于把开发环境搭建做好了。下面说说我最后一次做的过程吧:我用的liferay是从liferay中文上下载下来的liferay4.1.3,现在官方的版本已经到了4.3.4了,最新版本以后再研究吧。首先安装好jdk,ant,jikes,我的安装路径分别为为D:\Java\ant,D:\Java\jdk1.5.0,D:\Java\jikes。接下来添加环境

系统 2019-08-29 23:15:59 2294

编程技术

eclipse + JBoss 5 + EJB3开发指南(8):实现E

本文为原创,如需转载,请注明作者和出处,谢谢!上一篇:eclipse+JBoss5+EJB3开发指南(7):实现EntityBean的一对一(one-to-one)映射EJB3的一对多映射使用@OneToMany来设置,如果是双向的一对多映射,在many方需要使用@ManyToOne设置。在本书中给出两个表,其他一个表t_customers在上一篇文章中已给出了,另一个表的结构如图1所示。图1t_orders表t_customers和t_orders表是一

系统 2019-08-29 23:11:36 2294

编程技术

建造者模式

Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。Builder模式是一种对象创建型模式,它跟工厂模式(包括工厂方法模式与虚拟工厂模式)一样,都用来创建类的对象。我们先阐述一下Builder模式的定义:Builder模式用来创建复合对象,并把复合对象的创建过程加

系统 2019-08-29 23:06:21 2294

Java

Java版颈椎自动矫正图

本来上周双休日没什么事情,准备干点遗留了很久的正经事,结果半途忍不住手贱看新闻,于是被11.28事件触动,随大流的针对棒子及棒子粉抽疯了两天。没想到到星期一上班脖子就不得劲,顺便查了点资料,发现个山寨版的颈椎矫正图,觉得挺有意思。如下图:于是回家后想到自己也做个玩。问题是,咱爷们不说程序员吧,好歹也是个垒码的,直接PS文字图未免有碍观瞻,于是抽空写了个Java自动生成版的。代码如下:packageorg.test;importjava.awt.AlphaC

系统 2019-08-29 23:01:01 2294

编程技术

Remote Procedure Calls (RPC)

SubsectionsWhatIsRPCHowRPCWorksRPCApplicationDevelopmentDefiningtheProtocolDefiningClientandServerApplicationCodeComplilingandrunningtheapplicationOverviewofInterfaceRoutinesSimplifiedLevelRoutineFunctionTopLevelRoutinesIntermedia

系统 2019-08-29 22:23:03 2294

编程技术

左边可拖出菜单(页面)效果

这个效果现在很多软件都实现了,其实说穿了很简单的。就是一个动画,做的地道点的加一个手势拖拉效果。我写的代码(未参考任何代码,不知道别人怎么实现的。):importjava.util.ArrayList;importandroid.content.Context;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.GestureDetector;importandroid.vie

系统 2019-08-29 21:58:07 2294

Java

Java并发编程实践

第一章介绍线程的优点使用多处理器对异步事件的处理用户界面的更加响应性线程的风险1.安全危险2.活跃度危险3.性能危险线程无处不在1.定时器2.JSP3.RMI4.Swing和AWT第二章线程安全编写线程安全的代码,本质上就是管理对状态的访问,而通常都是共享的、可变的状态无论何时,只要有多余一个的线程访问给定的状态变量,而且其中某个线程会写入该变量,此时必须使用同步来协调线程对该变量的访问。在没有正确同步的情况下,如果多个线程访问了同一个变量,你的程序就存在

系统 2019-08-12 09:29:59 2294