你能做到么--不从缓存中读取图片

IE的缓存提高了网络传输的效率,但是有时候也给我们带来了麻烦,比如在某个模块的修改页面上,我们把其中的图片替换掉,但是图片的名字和原来的图片名字一样(比如为了方便管理和统一图片命名,每个物品对应的图片的名字都用物品的ID命名),只有的话因为缓存你修改后看到的图片还是修改前的图片。当时到网上取搜索了一下,把我的解决方法贴出来,希望对你有所帮助。下面两种方法我都测试过了。

Let's pay attention to "Event Beginning"

如果你已经能够熟练使用jdk为我们提供的事件监听器,并且很熟悉MouseEvent, KeyEvent, WindowEvent等等这些jdk为我们准备好的事件,那么想必你对java的事件机制已经有所理解。但是也许你还是觉得虽然用起来没什么问题,但是原理还是有些糊涂,那么下面我们再进一步自己实现这些事件和监听器,我们把这个取名为自定义事件。

其实自定义事件在java中很有用处,我们有的时候想让自己的程序产生一个事件,但有不希望(或者不可能)用鼠标,键盘之类的输入设备进行操作,比如你写一个应用程序,在这个程序中一旦收到邮件就对邮件进行相关处理,对于“收到邮件”这个事件,jdk中就没有定义。对于这样的事件,以及对于这样的事件的监听器,我们只能自己动手完成了。

探讨JAR文件无限可能性

所有Java开发者都知道JAR文件只是包含Java类树的压缩(ZIP)文件。但是,不是人人(包括一些经验丰富的开发者)了解这种文件格式的其它优点。在本文中,我将简单介绍JAR文件格式,并说明利用它可以实现的各种可能性。

JAR文件简介

JAR文件以流行的二进制ZIP文件格式为基础,用以把许多文件合并成一个文件。它还包含一个名为META-INF的可选目录,这个目录位于文件根目录下。

漫漫征途 Java EE6 离我们还有多远

一个由16个公司和个人组成的小组为Java EE 6规范进行了投票,Sun公司和红帽公司投了赞成票,Intel、hp、Oracle、SAS协会、Google、SAP、Doug Lea和Hani Suleiman公司弃权,Apache软件基金会、BEA Systems、Borland Software和Fujitsu没有参与投票。

Java编程原则

《Java与模式》这本书对于我的影响很大,我总结了书中的几条编程原则,总结得不全面,请大家补充。
1“开-闭”原则:一个软件实体应该对扩展开放,对修改关闭,这个原则说的是,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换言之,应当可以在不被修改源代码的情况下改变这个模块的行为。
2对可变性的封装原则:找到一个系统的可变因素,将它封装起来。

Hibernate Tool: hbm2java or hbm2ddl

Hibernate为了简化开发,给我们提供了四种工具,hbm2java,hbm2ddl,XDoclet,Middlegen.其中我觉得hbm2java(根据映射文件生成JAVA源文件),hbm2ddl(根据映射文件生成数据库文件,这两个工具非常实用.还有XDoclet(根据带有XDoclet标记的JAVA源文件生成映射文件).Middlegen(根据数据库文件生成映射文件的工具也不错.不过我没怎么使用过.所以这里就不多说了.好了下面我们创建一个对象-关系映射文件,来演示一下这两种工具的使用方法.首先创建我们的XML映射文件.这里命名为Demo.hbm.xml

Spring 2.1中Annotation驱动的依赖注入

在最近的Mark Fisher的一篇blog中展示了Spring 2.1中新的context namespace, 可以自动从Jar中寻找合适的注入类型. 同时带来的还有aop namespace, 能够基于Annotation来自动装配aspects.
一个样例xml配置文件:


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
xmlns:aop="http://www.springframework.org/schema/aop"       
xmlns:context="http://www.springframework.org/schema/context"       
xsi:schemaLocation="http://www.springframework.org/schema/beans           
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd           
http://www.springframework.org/schema/aop           
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd           
http://www.springframework.org/schema/context           
http://www.springframework.org/schema/context/spring-context-2.1.xsd">    
<context:annotation-config/>    
<aop:aspectj-autoproxy/>    
<context:component-scan base-package="blog"/>    
<context:property-placeholder location="classpath:blog/jdbc.properties"/>    
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">       
 <property name="driverClassName" value="${jdbc.driver}"/>        
<property name="url" value="${jdbc.url}"/>        
<property name="username" value="${jdbc.username}"/>       
 <property name="password" value="${jdbc.password}"/>    
</bean></beans>

使用这个配置文件的代码样例:

Java 6 update 2 瘦身到4 MB 内?

来自JavaOne的消息.
即将发布的 Java 6 JRE 的 update 2 将会带来惊喜, 主要一个特点将会是体积减小到2-4mb.
如果被证实, 这将是长期以来浏览器对JRE期望的一个特性.
同时, 也可以降低开发者对JavaFX的置疑了.
对此项特性, 你如何看待?

J2ME中使用缓存将屏幕内容存储为Image

  本文介绍如何将手机屏幕的内容存储为Image对象,这里认为手机屏幕上显示的是一个Canvas。完成这一个功能的思想就是使用缓冲机制。我们不能直接获得Canvas上的像素,因此不能直接从Canvas上的内容获得Image对象。转换一下思路,如果把要绘制的Canvas上的内容首先绘制到一个Image上,而这个Image并不显示到屏幕上,只是在绘画完成后一次性的显示到屏幕上。

百度 在线笔试的答案

1, 一个文本文件有多行,每行为一个URL。请编写代码,统计出URL中的文件名及出现次数。
a) 文件名不包括域名、路径和URL参数,例如http://www.rs.com/n.op/q/rs?id=1中的文件名是rs。
b) 部分URL可能没有文件名,例如http://www.abc.com/,这类统计为“空文件名”。
c) 出现在不同URL中的相同文件名视为同一文件名,例如http://www.ceshi.com/hi.php
和ftp://ftp.cdef.com/hi.php为同一文件名

文件内容示例如下:

java关于23种设计模式的有趣见解

创建型模式

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory

工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)

用AJAX从URL取xml的方法

需求:
在JavaScript中动态的从一个URL取得xml文件,然后,动态的更新数据。

问题的难点:
Javascript 不能实现从一个URL读取xml数据。使用动态的参数的时候,如后使用GET方法,那么,参数有可能太长。

解决的办法:
这个办法使用AJAX可以实现。因为AJAX可以从URL来动态的读取xml数据。同时也可以很方便的分析和处理XML数据。

问题的关键点:
AJAX 不能从一个不同Context的服务器上来读入XML,所以要想读取xml数据的话,那就一定要在同一个Context中,如果不在,那么就使用一个Servlet来实现从一个远程的URL上读取数据,然后可以通过调用此Servlet来取得远程的数据。

VISTA下不能使用智能ABC的解决办法


在安装了VISTA后,很多用户发现没有了智能ABC的输入法,这是因为VISTA已经将智能ABC移除了。但是VISTA下的微软拼音输入法中,是可以模拟智能ABC的输入风格的。但毕竟是模拟,很多用户还是很不习惯,那还有没有其他的解决方法呢?其实,xp 下的智能ABC输入法是可以移植到VISTA下面的。

方法很简单,如下:

1、打开记事本,输入下面的文字,并另存为.reg的文件,双击导入注册表

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0040804]
"IME FILE"="WINABC.IME"
"LAYOUT FILE"="KBDUS.DLL"
"LAYOUT TEXT"="中文简体-智能ABC"

2、在XP系统里SYSTEM32路径下,提取WINABC.CWD,ABCSDA.DLL,ABCWIN.EXE,WINABC.IME,TMMR.REM,USER.REM,WINABC.HLP,WINABC.CNT文件,粘贴到VISTA里的SYSTEM32路径下。如果XP里没有发现TMMR.REM,USER.REM,ABCSDA.DLL,ABCWIN.EXE这几个文件,智能 ABC也是可以用的。

Log4j的简单实现

log4j,顾名思义是专门用来做日志的,有一些书和教程经常把这种非常简单的东西讲的乱作一团,让一些处于学习阶段的朋友看了以后,感觉晕头转向的,我曾经就是受害人之一,所以今天发表一篇,让学习的人一看就懂的小文章,希望对一些学习log4j和没用过log4j的朋友起到帮助.

log4j是Apache组织的一个开源项目,它是一个日志操作包,通过使用Log4j可以指定日志信息输出的目的地,如控制台,文件,GUI组件,NT的时间记录器,还可以控制每一条日志输出的格式,此外通过定义日志的级别,能够非常细致的控制日志的输出,最好的地方是这些功能可以通过一个配置文件来灵活的进行配置,而不需要修改程序代码.在应用程序中输出日志有三个目的:
1) 监视代码变量的变化情况,把详细信息记录到文件中,进行统计分析.
2) 跟踪代码运行轨迹,作为日后审计的依据.
3) 担当集成开发环境中的调试器的作用,向文件和控制器打印代码的调试信息.

写 Java 程序最容易犯的 21 种错误实例分析

1.Duplicated Code

  代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。

2.Long method

  它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。

3.Large Class

  大类就是你把太多的责任交给了一个类。这里的规则是One Class One Responsibility.

GT4 开发:从头开始进行相互的身份验证

网格安全基础设施(GSI)是 Java™ 通用安全服务(Generic Security Service,GSS-API)的实现。GSS 用来在互相通信的应用程序之间安全地交换消息,它在各种底层安全机制(例如 Kerberos)之上提供了对安全服务的一致访问。在本文中,您将学习如何使用 GSI/GSS-API 扩展和代理证书构建自己的客户机-服务器应用程序。这是网格中间件所使用的基本身份验证机制。
通过模仿进行身份验证

代理证书 是一种模仿证书。模仿(Impersonation)是一种安全技术,允许实体 A 对另外一个实体(实体 B)进行授权,让 B 可以对其他实体进行验证,就仿佛 B 是实体 A 一样。换而言之,B 模仿了 A。

因此为什么我们会希望使用模仿技术呢?这是因为它有助于解决分布式网络中关于身份验证的两个重要问题:

Google Web ToolKit和googlipse(GWT eclipse插件)开发Ajax

最近在玩 Google Web Toolkit
一个可以用纯java编写ajax,然后自动翻译成可以用在j2ee工程里的程序,太强了。
因此不用学ajax,只要会java(尤其awt基础)和这个工具,ajax任我玩
介绍一下,好东西,感觉有望成为热门ajax开发工具,而且目前还出了与eclipse插件:googlipse。
我刚用过,很方便

收集的资料:

1. 非常完整的gwt+netbeans的教程:http://www.javapassion.com/handsonlabs/ajaxgwtintro/

2. 有3篇IBM文章介绍Google Web Toolkit

面向Java开发人员的Ajax:使用Google Web Toolkit开发Ajax

GWT(Google Web Toolkit) 是 Google 最近推出的一个开发 Ajax 应用的框架,它支持用 Java 开发和调试 Ajax 应用,本文主要介绍如何利用 GWT 进行 Ajax 的开发。
Ajax技术是当前开发web应用的非常热门的技术,也是Web 2.0的一个重要的组成部分。然而如果用传统的方式Javascript进行Ajax开发的话,就会使得应用程序非常难以进行调试,从而降低了生产效率。Google最近推出的GWT有望为我们解决这个难题,GWT是一个开发Ajax应用的框架,它使程序员用Java同时开发客户端和服务器端的代码。GWT的编译器会把用于开发客户端的Java代码转化成Javascript和Html,而程序员不用关心这一转换过程。这样程序员就可以在自己喜欢的Java IDE里面开发自己的Ajax应用程序。
本文主要从以下几个方面进行介绍:
1、 GWT特性简介
2、 用GWT进行UI开发
3、 用Javascript开发Ajax应用简介
4、 用GWT进行Ajax开发

站点维护

近日由于网站所在的服务器进行维护,故暂停服务一段时间,现已全面恢复正常,欢迎访问。

理想中的Ajax IDE

最近MyEclipse推出了支持Ajax的最新版本,Eclipse也有了一个The AJAX Toolkit Framework (ATF) Project。再加上Sun正式发布Java Studio Creator 2,其中提供了对Ajax的支持并且提供了一组易用,易部署的基于Ajax的UI组件。可以想象,支持更加方便的IDE的Web开发工具的时代,即将到来。我也来设想一下,我理想中的Ajax IDE吧。

页面

订阅 JAVA技术网 RSS