自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java中的Constants类

Constants类即常量类是将一些常用的变量集合到一个地方的类,常量应该定义在类中,而不是接口中(见Effective Java 2nd Edition, Item19),如果定义的常量是int类型的,可使用Enum类来代替(见Effective Java 2nd Edition, Item30),然而,有些常量类,比如String类型的常量类,可能不太适合使用Enum类来代替。不像Enum

2011-12-13 12:05:02 27067 1

原创 用户体验的挑战

桌面程序或者Web网页程序提升用户体验可能是产品从成功走向伟大的一个重要途径,而用户体验这方面恰恰是很多开发人员忽略的。开发人员通常喜欢谈的的架构,服务器,数据库等技术,而对Web前端应用,桌面技术不屑一顾,事实上,根据统计,很多成功程序的客户端代码一般是服务器端代码的10倍左右,微软Windows系统的成功,苹果iPhone手机的成功,恰恰是桌面或者用户界面技术的成功,尤其iPhone的界面

2011-12-08 15:40:47 664

原创 由这篇文章引发的思考“技术控解释为什么Android没有iOS那么顺滑”

CSDN首页今天有篇关于Android UI和iOS UI作对比的文章:《技术控解释为什么Android没有iOS那么顺滑》:http://mobile.csdn.net/a/20111207/308708.html很有趣,可以读读,作者是一个曾经在谷歌呆过Google的软件工程师,他的观点认为由于Android的UI渲染线程优先级过低,造成了Android没有iOS那么顺滑,即使在四核处理器

2011-12-07 19:36:59 852

原创 Java类库中一些反模式的API

了解和使用过JDBC类库的同学可能知道,ResultSet类有大量的getXXX和updateXXX方法,PreparedStatement类有大量的setXXX方法,是区分类型参数的方法,每一种新类型出现都会在所有这些接口中添加新的对应的方法,这不仅导致由于添加方法导致了接口不兼容的问题,还增加了类库维护者,JDBC驱动实现者的负担,而对用户没有过多的好处:short getShor

2011-11-21 16:45:34 744

原创 Swing框架中Composite设计模式的误用

Swing控件是改善为了AWT控件而发展出来的轻量级GUI控件,采用的是Composite设计模式,然而,由于没有清楚的分隔组件(Component)和容器(Container)的边界,就造成了Swing的几乎每个单独的组件都是一个容器,能够添加其他容器或者组件,看似强大的功能实际上造成了大量的问题:1.和人的直觉非常不一致:Swing的GUI上的各种组件如果添加的面板过多的话,就造成各个组件

2011-11-21 12:55:40 928

原创 REST vs SOAP

REST风格的API是Web服务的一个正确方向,对于部署实施Web服务的企业来说,应该优先考虑,从实施的角度来讲,从编程的风格来讲,REST风格要远远比实施SOAP容易,我甚至觉得新的Web服务提供商应该只考虑提供REST风格的API,这不仅仅是REST风格的Web服务变得更流行,更多企业选择,它本身确实有巨大的优势!至于SOAP是不是僵尸,这很难讲,这篇《“僵尸”SOAP会阻碍企业发展吗?》

2011-11-17 21:40:08 901

原创 HTML5是未来

HTML5是未来,有可能取代Flash,JavaFX,Microsoft Sliverlight等技术,成为以后Web应用的主流形式,HTML5不仅是标签的变化,还增加了很多API,而对音频,视频和画布等标签的直接支持,让Web页面成为多媒体和游戏等应用的最佳平台,Form表单增加了对多种数据类型的支持,增强了用户体验和可用性!决定部署实施HTML5需要考虑几个问题:1.兼容性:由于HTM

2011-11-12 16:19:03 548

原创 好程序需要写两遍吗?

“好程序需要至少写两遍",最初是在博客园看到这篇文章,CSDN也转载了:http://sd.csdn.net/a/20111101/306695.html,不少人从需求不确定的角度出发,很赞成这个观点,我同意代码需要进化,需要迭代开发,但不同意好程序需要写两遍的观点,事实上,如果在程序写之前把一部分时间花在划分模块,讨论需求,设计API上,就能大大减轻后期代码阶段的负担,这也是《Effective

2011-11-09 12:08:54 579

原创 云计算环境下关系数据库的思考

在内存即硬盘的时代,在普通服务器就可拥有4核或者8核的多线程时代,随着NOSQL数据库的大规模应用,不仅要思考一个问题,显然,NOSQL在很多方面还不能完全取代传统的关系数据库RDBMS,现有的基于关系数据库的应用要移植到云计算环境中,是改变程序适应NOSQL数据库,还是改造现有的关系数据库以适应云计算环境?目前看来,前者似乎更加可行,而这里思考的是后者!关系数据库难以横向扩展,主要的瓶颈在文件系

2011-10-28 23:00:39 1109 2

原创 MVC的问题

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC做为一种优秀的设计模式,或者框架被广泛应用,今天不谈MVC的种种优点,谈谈它的缺点。MVC最主要的缺点是使用的复杂性,对初学者来说较高的学习曲线,很多熟悉MVC模式的人大都从它的强大功能和数据分离的观点来辩护,然而,这些没有说到点子上,复杂性或者说易用性总是一个框架或者类库能否让人广泛接

2011-10-23 20:11:09 616

原创 云存储的思考

云存储作为云计算的一个重要的应用,目前已经被越来越多的人接受,国外的云存储如Amazon S3似乎企业应用的更为广泛,国内还主要停留在个人的应用上!云存储如果想大规模在企业中应用,应具备一些特点:能够提供公开的API,Amazon S3是这个方面的典范,很早就提供了REST和SOAP类型的API。最好能提供传统工具如FTP,WebDAV协议接口,使传统的工具能够访问。私密性,对企业

2011-10-20 21:45:40 603

原创 Java Closures

Java试图在最新版本中加入闭包的提议看起来不错,虽然有很多局限,目前最新的提议可在这里查看:State of the Lambda新的提议主要是在语言层面添加lambda表达式来取代一个方法的接口生成的匿名内部类,使用类似Runnable,Comparable, Callable等接口在添加lambda表达式后不再需要创建一个匿名的内部类,使用新的语义使用Runnable时,代码可写为:

2011-10-20 12:56:07 581

原创 Swing慢不慢?

这个问题很笼统,为什么大多数程序员初次接触到Swing后,有的甚至是别的领域如Windows Forms的专家,都有这种感觉,一些熟悉Swing框架的人可能认为Swing一点也不慢。这涉及到了Swing单线程设计的问题,这个问题是老生常谈,相信不少同学已经熟悉,现在使用JDK

2011-10-18 17:40:44 1244

原创 Java 8 Defender 方法

Brian Goetz有个关于Java语言改变的提议,Defender methods,这个提议定义了一个abstract方法的默认实现,这个想法很好,不过感觉extension这个关键字有点多余,如果定义一个abstract方法有个default的实现,为什么不是所有的ab

2011-10-16 16:55:03 703

原创 Getters and Setters Are Evil or Not Evil?

在JavaLobby看到了Bozhidar Bozhanov的一篇文章Getters and Setters Are Not Evil,evil or not evil, 这是个问题,set 和 get方法主要是为了适应JavaBeans规范产生的,Joshua Bloch也

2011-10-15 18:15:53 496

原创 对最新版的JavaFX2.0的第一印象

最新版的JavaFX2.0发布了,下载后安装第一次运行所有的DEMO全部失败,后卸载重新安装,然后正常,第一次安装没有选目录,第二次选了,不知道什么原因!运行的几个DEMO都非常非常慢,鼠标点击过后好半天才反应过来,还以为是点击的问题!最近对Swing框架有了更多的感悟,

2011-10-15 17:32:01 770

原创 Java多线程的zip工具(2011年10月18日更新-提供源码下载)

最近使用Java做了个小小的多线程的zip工具,测试了一下:测试文件夹包含7307个文件,104的目录,大小246 MB,占用空间402 MB,测试电脑为Inter Pentium Dual CPU E2180 2GHz,896M内存,硬盘5400转单线程:26047ms

2011-10-15 17:09:39 1176 2

原创 对Java虚拟机垃圾回收机制的思考

最近在几个方面进行优化,减少了网站系统运行所占用的内存,内存占用减少了一半,从实践中的得出了几点心得:避免生成新的对象是减少内存使用最有效的办法,生成新的对象的时候有可能在系统各个层面都有可能缓存,减少或者避免数据库查询就能减少大量新对象的生成,避免静态页面在未经改动时生成,或者加大生成的时间间隔,甚至禁用自动生成,提供后台手动生成,新的对象的回收需要一段时间,数据库访问层JPA的缓存也比较大,

2011-07-03 01:20:31 699

原创 最近Java编程的几点心得

1.Lazy initialization:重读了《Effective Java第二版》Item 71.奇新CMS初始化和连接数据库采用了lazy initialization for instance field,在奇新网站云系统中部署大规模的站点,启动的时间减少了10倍,重构代码实现这个改动并不麻烦,只添加了一个新class,以下内容摘自《Effective Java第二版》Item

2011-06-22 22:41:00 594

转载 唐骏:云计算是泡沫 我也买不起房

<br />12月16日消息,最近因学历门再次被推到风尖浪口的新华都总裁唐骏今日表示,云计算没有多高技术含量,并且泡沫成分很大。他还表示,中国楼市有巨大泡沫,连他这个打工皇帝都买不起房。<br />唐骏指出,云计算就是把过去的分布式计算、平行计算、网格计算、网络存储,包括平衡等整合起来,技术含量并不高。此外,云计算应该被定义为云概念,而且云概念泡沫成分很大。<br />“就像中国的股市、楼市一样,最恰当的就是中国的楼市,大家都知道中国的楼市是巨大的泡沫,连我这样的人都买不起房子,你说还不是泡沫吗?<br

2010-12-19 18:56:00 2566

转载 风雨20年:我所积累的20条编程经验

<br />编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你能在本文中看到自己的身影。<br /><br /><br /><br />  从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,

2010-11-15 18:31:00 465

原创 蝴蝶效应

<br /> <br />以下文字摘自百度百科:<br /> <br />蝴蝶效应( The Butterfly Effect)是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应。这是一种混沌现象。蝴蝶在热带轻轻扇动一下翅膀,遥远的国家就可能造成一场飓风。蝴蝶效应也是系列科幻惊悚电影的名称,《蝴蝶效应 1》于2004年上映,续集《蝴蝶效应2》于2006年上映,《蝴蝶效应3》是一部前传性质的电影,于2009年上映。玛利亚·凯莉于2008年推出的新碟也以《蝴蝶效应》为

2010-11-08 12:38:00 752

原创 鹬蚌相争渔翁得利

<br /> <br />腾讯和360相互掐架已经失去理性,鹬蚌相争渔翁得利,渔翁就快出来了!

2010-11-03 22:42:00 493

原创 该来的还是要来的

腾讯:致广大QQ用户的一封信360:腾讯要挟用户卸载360 360将保证和QQ同时正常使用

2010-11-03 21:57:00 526

原创 以和为贵

<br />以和为贵

2010-11-03 12:41:00 423

原创 -

<br />大肚能容容天下难容之事,开口常笑笑世上可笑之人

2010-11-03 09:16:00 309

原创 2010年11月2日

<br />上帝让你灭亡,必先让你疯狂God wants you to perish, lets you be crazy first

2010-11-02 19:14:00 355

原创 唐骏语录

我的成功可以复制先做人再做事,偶尔作作秀会做人、会做事、会作秀是升迁捷径我刚来微软的时候也发现微软有很多问题,但是我没有抱怨,而是利用晚上和周末的时间研究,最后才有多语言引擎的出现。在微软没有人可以站出来说比唐骏更勤奋的简单+勤奋是我的座右铭,简单做人,勤奋做事。在微软十年我勤奋得令自己感动谈学历门:我不知道错在哪里这就是中西方文化的差异,我们中国人永远是把国家放在第一位,自己是放在第二位,而看看你们美国,你们美国人永远是把个人放在第一位,没有第二位,这就是中西方文化的差异。从头到尾我都是一个真

2010-11-01 12:43:00 614

原创 腾讯和360之争之二

360又出招了,新推出了扣扣(QQ)保镖,这次要触动QQ的核心利益了,彻底撕破脸了,珊瑚虫前车之鉴,周鸿祎不会不知道,尽管珊瑚虫事件我觉得腾讯应该采用更聪明的方法,这事也是腾讯被广为诟病的地方,于理没错,于情就有点说不过去,得饶人处且饶人是中国的古老智慧。至于对一个程序进行外挂的指责,我一直持保留态度,厂商反对外挂的原因主要是影响了自己的核心利益,比如广告收入等,其实对用户而言并无大碍,况且几乎现在这些客户端程序自身都有对其他程序的外挂程序,最明显的浏览器辅助程序,插件,工具条等,以此说事不能服

2010-11-01 00:24:00 559

原创 我爸是李刚.java 1.0版本

正式发布程序“我爸是李刚.java 1.0版本”,此程序在电脑右下角随机显示网友创作的“我爸是李刚”造句。Web Start在线运行"我爸是李刚",运行此程序需确认安装过Java运行环境使用说明:程序运行后,点击右下角图标,每次点击随机显示一条我爸是李刚造句,默认5分钟显示一条我爸是李刚造句。下载源代码:src.zip免责声明:所有“我爸是李刚”造句均从网络搜集,所有造句版权归创作造句作者所有,新造句不断添加中,敬请期待,欢迎Bug报告和功能建议。

2010-10-28 23:19:00 1093 19

原创 腾讯和360之争

<br />腾讯和360之争,吵得越来越厉害,个人觉得商业竞争应该有底线,今天的360弹窗:<br /><br /><br />

2010-10-28 21:01:00 489

原创 Sun被Oracle收购后Java的发展

<br />      先不谈Java之父James Gosling离开Oracle的那点事,就JavaFX的路线图改变来看,Oracle无疑是非常务实的,JavaFX是一项创新的技术,但是提出一项新语言对大多数开发人员是种负担,JavaFX2.0的版本允许使用Java API实现相同的效果,增加了对Java程序员的吸引力,另外Oracle提出改善Java客户端对视频播放,HTML5浏览器的支持,这些无疑提升了Java编写RIA程序的优势。回顾Java技术在SUN公司这些年的发展历程,新技术层出不穷,创新能

2010-09-29 12:47:00 2524

原创 博客恢复更新

由于工作关系,博客停止更新了很长时间,最近恢复更新,感谢长期以来关注的网友们!

2009-02-03 17:36:00 424

原创 Java游戏开发日志(2007-6-7)

在游戏中使用Swing控件添加对话框,例如登陆窗口,菜单等。如果使用JPanel控件作为所有控件的容器,应该使用下列的代码禁用Swing默认的双缓存:panel.setDoubleBuffered(false);想让登陆窗口透明,先将JPanel控件设置为透明,使用下列的代码:panel.setOpaque(false);使用下边的代码绘制登陆窗口:Graphics2D g

2007-06-07 14:21:00 1123

原创 Java游戏开发日志(2007-6-1)

静态的建筑也使用硬件加速的BufferedImage对象,碰撞检测使用了建筑的透明区域,根据静态的Sprite的透明区域通过程序生成一个BufferedImage,这个BufferedImage只有两种颜色,黑色和白色,使用这样的代码创建两种颜色的BufferedImage: BufferedImage bi = new BufferedImage(image.getWidth(), imag

2007-06-01 06:28:00 983

原创 Java游戏开发日志(2007-5-29)

地图使用Tile拼凑起来,游戏使用的是4:3的isometric视图。精灵在游戏中需要碰撞检测,地面Tile检测采用了Masked图片,也就是地面不规则的地形保存了一个只有黑白两种颜色的图片,白色像素表明此处可以通过,使用这样的方法性能上没有什么影响。 地面上精灵的碰撞检测暂时采用了一个精灵底部矩形,采用4:3的菱形可能效果更好,下一步测试后调整。 附截图:

2007-05-29 15:58:00 1109 2

原创 Java游戏开发之二

精灵(Sprite)和地图砖块应该使用硬件加速的BufferedImage对象,我们使用ImageIO读取BufferedImage:BufferedImage image = ImageIO.read(url);Sprite sprite = new Sprite(image, 96, 96);在Sprite类中根据传进来的image创建每系列每祯的小图片:        int

2007-05-27 22:50:00 1226

原创 使用CopyOnWriteArrayList的小技巧

最近在一个Web项目中使用CopyOnWriteArrayList缓存了一些栏目对象,由于每次从数据库查询所有栏目耗时较长,就采用初始化应用程序时查询一次数据库,将符合要求的栏目保存到内存中,以后每次通过后台管理修改栏目时,将内存中对应缓存的栏目更新。CopyOnWriteArrayList文档没有明确指出,不过使用时要注意,初始化一个ArrayList list = new ArrayLis

2007-05-24 08:08:00 5350

原创 glassfish性能配置

为了使glassfish在产品环境中运行的更快,可以调整一些参数来提高性能: Java虚拟机参数将-client改为-server。 根据服务器的内存大小调整堆使用参数,如果服务器内存为2G,可以调整堆内存为-Xms1024m, -Xmx1024m。 一般应用服务器发布程序后页面不需要经常更改,网站改版后可以重新发布,所以可以禁用页面和类自动检测功能。

2007-05-23 18:46:00 1933

原创 glassfish安全配置

配置使用一个应用程序服务器例如glassfish,要考虑多方面的安全因素,供互联网访问之前,下边这些要修改: 修改管理员admin密码,默认的一般是adminadmin,使用一个随机生成的密码。 删除默认的服务器访问页面:install_dir>/domains/domain_name>/docroot/index.html 禁用目录列表,打开文件instal

2007-05-23 18:12:00 1406

jzip-1.0.zip

jzip是一个Java多线程文件压缩工具,按照线程数分块压缩目录

2011-10-18

JComponentPack产品NetBeans IDE插件

JComponentPack产品NetBeans IDE插件,Java Swing GUI Library

2009-02-20

ComponentSet(试用版)1.6

ComponentSet是一个Java swing 控件集,包括JWizardPane, JListView, Layout Suite(CellLayout, BoxLayout2, CardLayout2, GridLayout2), JDirChooser, JCalendar, JFontChooser, JLinkButton, JSidePane, JSideBar, JStatusBar, JImageViewer, XTree, XCheckBox, XSeparator, AComboBox, JCardPane, JGridPane等一系列控件.

2007-04-18

JDataGrid数据库版本(试用版)2.0

JDataGrid数据库版本是一个能够直接对数据库操作的表格,基于标准的JDBC技术,能够直接操作ResultSet和RowSet,并提供如打印和打印预览,多种格式的文件输入和输出的功能.

2007-04-18

空空如也

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

TA关注的人

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