由于对资源或网速的要求,在手机游戏或一般的网页游戏中,希望能对图片进最大可能的压缩,以节省资源。最近公司做的项目也有对这方面的需求,于是我在网上逛了半天,希望能发现现成版的Java方法可以使用(用程序来压缩而不借助于工具,要不然2万多张的图片你想累死人?虽然PS有批量功能,它却无法按原来的路径存放);失望的是,好像没发现什么能直接使用代码,哪怕是提个解决方案也很少。既然网上找不到合适的,那就自己动手,丰衣足食。关于PNG图片的格式我在此就不多说,图片压缩方
系统 2019-08-29 23:16:09 2472
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。解决生产者消费者问题的方法有两种,一种是采用某种机制保持生产者和消费者之间的同步,一种是在生产者和消费者之间建立一个管道。前一种有较高的效率并且可控制性较好,比较常用,后一种由于管道缓冲区不易控制及被传输数据对象
系统 2019-08-29 23:50:37 2471
许多测试失败是因为点击一个元素失败或者在一个不可见的字段中输入文字,或者是在不可输入的文本中输入文字。我们可以在具体操作之前,检查一下元素的状态。WebElement类提供了这样的方法。方法目的isEnabled()检查元素是否启用(只有在input元素设为disabled时,返回false)isSelected()检查元素是否被选中(单选、多选、下拉框)isDisplayed()检查元素是否可见[seleniumwebdriverJava]检查元素状态
系统 2019-08-12 09:27:14 2471
Java好象随处可见-甚至在TV中。尽管如此,说清楚Java是什么和它能做什么却不那么容易。刚开始接触Java的人通常有三个问题:什么是Java?Java能做什么?Java怎样改变我的生活?让我们先回答第一个问题:什么是Java?Java既是一种编程语言,又是一个平台。Java程序语言Java是具有以下特征的高级程序语言:简单面向对象可分布可解释强壮安全性结构化轻便功能强大多线程动态Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一
系统 2019-08-29 23:16:50 2470
线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了。本文将讲解以下几个JAVA线程间通信的主题:1、通过共享对象通信2、忙等待3、wait(),notify()和notifyAll()4、丢失的信号5、假唤醒6、多线程等待相同信号7、不要对常量字符串或全局对象调用wait()1、通过共享对象通信线程间发送信号的一个简单方式是在共享对象的变量里设
系统 2019-08-29 23:08:56 2469
onPage15Theexception’sdetailmethodshouldindicatewhichinvariantisviolated(Item63).IthinkitshouldbeTheexception’sdetailmessagesshouldindicatewhichinvariantisviolated(Item63).终于等到作者的回信了,小错误,无伤大雅,就怕我译本的如果错误。。。,就对不起了。。。附确认邮件:另一个我提交的被踢回
系统 2019-08-29 21:55:36 2467
本篇主要对java处理三维图形基本的知识做一下复习。有些地方上篇没仔细讨论。涉及到上一篇的所有类,做一下规整,还有新的类应用描述。1.Vector3D这个类描述三维向量。三维向量就是(x,y,z)一个空间点,或从(0,0,0)到(x,y,z)的向量。提供了向量加向量减向量乘和向量除还有返回了向量的长度空间直线的长度计算公式:根号下(x+-x1)的平方+(y+-y1)+(z+-z1)的平方区长度方法为publicfloatlength(){return(fl
系统 2019-08-12 09:30:31 2466
一、通过用户名和密码来进行认证的弊病我们有一个网站,为了保证用户在线交易传输数据的安全性,我们会启用一个HTTPS/SSL:但是,对于一些网上银行或者是网购来说,黑客特别喜欢攻击这样的网站,有一种攻击手法叫MIMAT(中间者攻击),伪造SSL证书,让客户端的HTTP流,流到他那边去,然后再进一步用暴力破解,来破解你HTTP传输时的密码。一、改进的交易流程我们假设密码已经被MIM拿到了,拿到就拿到呗,大家知道工商银行网上转贴划款时除了输入用户名和密码外,还会
系统 2019-08-12 09:30:07 2465
类加载器是Java语言的一个创新,也是Java语言流行的重要原因之一。它使得Java类可以被动态加载到Java虚拟机中并执行。类加载器从JDK1.0就出现了,最初是为了满足JavaApplet的需要而开发出来的。JavaApplet需要从远程下载Java类文件到浏览器中并执行。现在类加载器在Web容器和OSGi中得到了广泛的使用。一般来说,Java应用的开发人员不需要直接同类加载器进行交互。Java虚拟机默认的行为就已经足够满足大多数情况的需求了。不过如果
系统 2019-08-12 09:29:51 2465
java时间格式大全java.util.*;importjava.text.*;importjava.util.Calendar;publicclassVeDate{/***//***获取现在时间**@return返回时间类型yyyy-MM-ddHH:mm:ss*/publicstaticDategetNowDate(){DatecurrentTime=newDate();SimpleDateFormatformatter=newSimpleDateFor
系统 2019-08-29 23:49:00 2462
MongoDB做为NoSQL数据库,最近几年持续升温,越来越多的企业都开始尝试用MongoDB代替原有Database做一些事情。MongoDB也在集群,分片,复制上也有相当不错的的表现。我通过将做各种MongoDB的部署实验进行介绍。关于作者:郑云飞,程序员Java,Javascript,jquery,css,html,springMVC,Struts2,hibernate,oracle,mysql,hadoop,hbase,hive,sqoop,zoo
系统 2019-08-29 22:57:30 2460
最近一个项目要用Java做,一点都不熟啊。没办法,只好硬着头皮啃了,花了大半天的时间,终于在Eclipse上完成了第一个Hibernate例子。下面记录关键的步骤,权作笔记,以备日后查看。(1)下载Hibernate,并向项目中导入Hibernate。Project->Properies->JavaBuildPath->Libraries->AddExternalJARs...,选择Hibernate根目录下的hibernate3.jar,添加到项目中。接
系统 2019-08-29 22:24:42 2458
作业车间调度问题描述作业车间调度(Jobshopschedulingproblem,JSP)是车间调度中最常见的调度类型,是最难的组合优化问题之一,应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等,因此对其研究具有重大的现实意义。科学有效的生产调度不但可以提高生产加工过程中工人、设备资源的高效利用,还可缩短生产周期,降低生产成本。作业车间调度问题描述:一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为。令,则
系统 2019-09-27 17:51:19 2454
通常,客户类(clientsofclass)通过类的接口访问它提供的服务。有时,现有的类(existingclass)可以提供客户类的功能需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏详细或接口的名称与客户类所查找的不同等诸多不同原因导致的。在这种情况下,现有的接口需要转化(convert)为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所提供的功能。适配器模式(AdapterPa
系统 2019-08-29 22:04:17 2454
原文地址:http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplications对于一个具备使用价值的应用而言,其使用者有可能会在一段时间内疯狂的增长。随着越来越多的关键性质的应用在JavaEE上运行,很多的Java开发者也开始关注可扩展性的问题了。但目前来说,大部分的web2.0站点是基于script语言编写的,对于Java应用可扩展能力,很多人都抱着质疑的
系统 2019-08-29 23:50:01 2453