自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

转载 Chrome的通知功能—webkitNotifications对象

<br /><br />今天在浏览cnbeta.com站的时候,看到了《Chrome开始带来WebKit的通知功能》一文。Chrome又一次领先的发布了新技术的API—webkitNotifications。通过查看它给的例子(Desktop Notification Demo),里面有比较详细的说明,不过看起来还是比较难懂,所以我整理了下,重新编写了例子中的代码,加上注释,算是比较清晰了吧。《具体实例》var Notify = function(){}<br />//判断是否支持webkitNotific

2010-06-22 17:20:00 2044 1

转载 深入了解Canvas标签(1)——基本用法

由于我们是用脚本去操控 canvas 对象,这样要实现一些交互动画也是相当容易的。只不过,canvas 从来都不是专门为动画而设计的(不像 Flash),难免会有些限制。可能最大的限制就是图像一旦绘制出来,它就是一直保持那样了。如果需要移动它,我们不得不对所有东西(包括之前的)进行重绘。重绘是相当费时的,而且性能很依赖于电脑的速度。(文/鬼武者)基本动画的步骤画一帧,你需要以下一些步骤:清空 canvas除非接下来要画的内容会完全充满 canvas (例如背景图),否则你需要清空所有。最简单的做法就是用 c

2010-06-22 16:32:00 604

转载 深入了解Canvas标签(7)——基本动画

<br />由于我们是用脚本去操控 canvas 对象,这样要实现一些交互动画也是相当容易的。只不过,canvas 从来都不是专门为动画而设计的(不像 Flash),难免会有些限制。<br />可能最大的限制就是图像一旦绘制出来,它就是一直保持那样了。如果需要移动它,我们不得不对所有东西(包括之前的)进行重绘。重绘是相当费时的,而且性能很依赖于电脑的速度。(文/鬼武者)<br /><br />基本动画的步骤<br /><br />画一帧,你需要以下一些步骤:<br />清空 canvas<br />除非接下

2010-06-22 16:29:00 504

转载 深入了解Canvas标签(6)——组合

<br />之前的例子里面,我们总是将一个图形画在另一个之上,大多数情况下,这样是不够的。比如说,它这样受制于图形的绘制顺序。不过,我们可以利用 globalCompositeOperation属性来改变这些做法。(文/鬼武者)<br /><br />globalCompositeOperation<br /><br />我们不仅可以在已有图形后面再画新图形,还可以用来遮盖,清除(比 clearRect 方法强劲得多)某些区域。 globalCompositeOperation = type复制代码<br

2010-06-22 16:28:00 549

转载 深入了解Canvas标签(5)——变形

<br />状态的保存和恢复<br /><br />在了解变形之前,我先介绍一下两个你一旦开始绘制复杂图形就必不可少的方法。 save() restore()复制代码<br />save 和 restore 方法是用来保存和恢复 canvas 状态的,都没有参数。Canvas 的状态就是当前画面应用的所有样式和变形的一个快照。<br /><br />Canvas 状态是以堆(stack)的方式保存的,每一次调用 save 方法,当前的状态就会被推入堆中保存起来。这种状态包括:<br />      当前应用

2010-06-22 16:26:00 500

转载 深入了解Canvas标签(4)——运用样式与颜色

<br />在 绘制图形 的章节里,我只用到默认的线条和填充样式。而在这一章里,我们将会探讨 canvas 全部的可选项,来绘制出更加吸引人的内容。(文/鬼武者)<br /><br />色彩 Colors<br /><br />到目前为止,我们只看到过绘制内容的方法。如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle和 strokeStyle。 fillStyle = color strokeStyle = color复制代码<br />strokeStyle 是用于设置图形轮廓的颜色,而

2010-06-22 16:23:00 645

原创 深入了解Canvas标签(3)——使用图像

<br />Canvas 相当有趣的一项功能就是可以引入图像,它可以用于图片合成或者制作背景等。而目前仅可以在图像中加入文字(标准说明中并没有包含绘制文字的功能)。只要是 Gecko 支持的图像(如 PNG,GIF,JPEG等)都可以引入到 canvas 中,而且其它的 canvas 元素也可以作为图像的来源。(文/鬼武者)<br /><br />引入图像<br /><br />引入图像只需要简单的两步:<br />第一当然是来源图片,不是简单的 URL 路径,但可以是一个 JavaScript 的 Ima

2010-06-22 16:21:00 641

转载 深入了解Canvas标签(2)——绘制图形

<br />网格<br /><br />在真正开始之前,我们需要先探讨 canvas 的网格(grid)或者坐标空间(coordinate space)。在前一页的HTML模板里有一个150像素宽, 150像素高的 canvas 对象。我在画面上叠加上默认网格,如下图。通常网格的1个单元对应 canvas 上的1个像素。网格的原点是定位在左上角(坐标(0,0))。画面里的所有物体的位置都是相对这个原点。这样,左上角的蓝色方块的位置就是距左边x像素和距上边Y像素(坐标(x, y))。后面的教程中我们将学会如何

2010-06-22 16:17:00 451

转载 Canvas技术入门:介绍、线条绘制

<br />Canvas是HTML 5中新增加的一种元素,可以把它想象成一个可以作画的画布,它提供了Javascript API,用这些API可以在上面绘制线条、多边形、圆弧、图片、文字等。和SVG不同,Canvas是基于位图而不是矢量的。<br /><canvas>标记由 Apple 在 Safari 1.3 Web浏览器中引入。对 HTML的这一根本扩展的原因在于,HTML 在 Safari 中的绘图能力也为 Mac OS X 桌面的 Dashboard 组件所使用,并且 Apple 希望有一种方式在

2010-06-22 16:06:00 654

转载 HTML 5 canvas —— 基本语法

<br />目录简述canvas 基础2D context API基本线条路径插入图像像素级操作文字阴影颜色渐变小节简述<br />HTML 5 规范引进了很多新特性,其中最令人期待的之一就是 canvas 元素。HTML 5 canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个 canvas 元素都有一个"上下文( context )" (想象成绘图板上的一页),在其中可以绘制任意图形。浏览器支持多个 canvas 上下文,并通过不同的 API 提供图形绘制

2010-06-22 16:05:00 547

转载 《JS语法字典》

 1.document.write(""); 输出语句<br />2.JS中的注释为//<br />3.传统的HTML文档顺序是:document->html->(head,body)<br />4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)<br />5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)<br />6.一个小写转大写的JS

2010-06-11 16:13:00 399

转载 正则表达式口诀及教程

<br />正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$)<br />特殊符号认不了,弄个倒杠来引路; (指/. /*等特殊符号)<br />倒杠后面跟小w, 数字字母来表示; (/w跟数字字母;/d跟数字)<br />倒杠后面跟小d, 只有数字来表示;<br />倒杠后面跟小a, 报警符号嘀一声;<br />倒杠后面跟小b, 单词分界或退格;<br />倒杠后面跟小t, 制表符号很明了;<br />倒杠后面跟小r, 回车符号知道了;<br />倒杠后面跟小s, 空格符号很重要;<br />

2010-06-08 10:59:00 304

转载 javascript正则表达式实例

<br />! 去除字符串两端空格的处理<br />如果采用传统的方式,就要可能就要采用下面的方式了<br />//清除左边空格<br />function js_ltrim(deststr)<br />{<br /> if(deststr==null)return "";<br /> var pos=0;<br /> var retStr=new String(deststr);<br /> if (retStr.lenght==0) return retStr;<br /> while (retStr.

2010-06-08 10:58:00 350

转载 JavaScript正则表达式用法汇总

JavaScript正则表达式的用法正则表达式是一种可以用于模式匹配和替换的强大工具,在很多语言中都可以应用。JavaScript对正则表达式提供了很好的支持, Javascript中有一个正则表达式对象RegExp。该对象提供了大量的属性和方法来处理正则表达式,同时,String对象也提供了相关的方法来处理正则表达式,在Web应用中,经常使用正则表达式来验证用户输入的信息,例如在用户注册过程中,验证输入的Email地址是否合法。以下我们就介绍一下正则表达式的基本用法。 JavaScript正则表达式的基本

2010-06-08 10:57:00 483

转载 大型高并发高负载web应用系统架构-数据库架构策略

<br /> 在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。<br />      1、WEB应用和数据库部署在同一台服务器上<br />      一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升级硬件所需要的费用非常高昂,在访问量增加的时候,应用程序和数据库都来抢占有限的系统资源,很

2010-06-07 17:24:00 474

原创 Struts 1 和 Struts 2 的线程安全

<br />总的来说,Struts1 的 Action 是单例模式,因此开发者必须保证它是线程安全的或是同步的,因为Struts 1中每个Action仅有一个实例来处理所有的请求。 <br /> <br />    但是在用Struts 1开发时并没有考虑到线程安全问题,这是因为我们在Action中使用的基本都是局部变量,而“局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。局部变量包括方法的参数变量”(忘了引自哪了)。在Struts 1中,所有的变量都是定义在Act

2010-06-07 10:24:00 591

转载 wait/sleep的区别

sleep与wait的不同点是:sleep并不释放锁,并且sleep的暂停和wait暂停是不一样的。obj.wait会使线程进入obj对象的等待集合中并等待唤醒。 但是wait()和sleep()都可以通过interrupt()方法打断线程的暂停状态,从而使线程立刻抛出InterruptedException。 如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法。如果此刻线程B正在wait/sleep/join,则线程B会立刻抛出InterruptedExcepti

2010-06-07 10:20:00 455

转载 Servlet多线程安全问题

<br />一,servlet容器如何同时处理多个请求。<br />Servlet采用多线程来处理多个请求同时访问,Servelet容器维护了一个线程池来服务请求。<br />线程池实际上是等待执行代码的一组线程叫做工作者线程(Worker Thread),Servlet容器使用一个调度线程来管理工作者线程(Dispatcher Thread)。<br />当容器收到一个访问Servlet的请求,调度者线程从线程池中选出一个工作者线程,将请求传递给该线程,然后由该线程来执行Servlet的service方法

2010-06-07 10:19:00 305

转载 Java的类加载机制

<br />Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java 的这种特性,我们可以在不重新编译其它代码的情况下,只编译需要修改的单元,并把修改文件编译后的 . cl

2010-06-04 10:58:00 362

转载 内存泄漏

<br />内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏与许多其他问题有着相似的症状,并且通常情况下只能由那些可以获得程序源代码的程序员才可以分析出来。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,即使严格意义上来说这是不准确的。<br />  一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以

2010-06-04 10:49:00 414

iBATIS SQL Maps开发指南

本文讨论了iBATIS SQL Map最重要的特性,使用SQL Map,能够大大减少访问关系数据库的代码。SQL Map使用简单的XML配置文件将Java Bean映射成SQL语句,对比其他的数据库持续层和ORM框架(如JDO的实现,Hibernate等),SQL Map最大的优点在于它简单易学。要使用SQL Map,只要熟悉Java Bean,XML和SQL,就能使您充分发挥SQL语句的能力。

2008-07-28

ibatis 开发指南.pdf

ibatis 开发指南,学习ibatis的好资料

2008-07-28

EJB3.0入门实例经典

EJB入门学习不可缺的好资料

2008-07-28

Lucene In Action PDF中文版

Lucene in Action"是Lucene最权威的指南!这本著作论述了然后索引数据,还介绍了搜索、排序、过滤以及高亮显示搜索结果等方面的内容。本书提供的实践方面的可重用示例以及一些中肯的建议,为您展示了一个奇妙的搜索世界。<br>

2008-07-24

liferay架构

一本非常好的学习liferay的资料

2007-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除