??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美在线色视频,欧美18xxxx,中文字幕在线免费播放http://www.aygfsteel.com/51AOP/category/10364.htmlsomething about Java and opensource!zh-cnFri, 11 Jun 2010 10:51:56 GMTFri, 11 Jun 2010 10:51:56 GMT60I'm Back !http://www.aygfsteel.com/51AOP/archive/2010/05/31/322378.html冰雨冰雨Mon, 31 May 2010 10:42:00 GMThttp://www.aygfsteel.com/51AOP/archive/2010/05/31/322378.htmlhttp://www.aygfsteel.com/51AOP/comments/322378.htmlhttp://www.aygfsteel.com/51AOP/archive/2010/05/31/322378.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/322378.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/322378.html阅读全文

冰雨 2010-05-31 18:42 发表评论
]]>
JDK 6 探秘?sh)? 自定义国际化(I18N)服务http://www.aygfsteel.com/51AOP/archive/2007/04/20/112168.html冰雨冰雨Fri, 20 Apr 2007 04:50:00 GMThttp://www.aygfsteel.com/51AOP/archive/2007/04/20/112168.htmlhttp://www.aygfsteel.com/51AOP/comments/112168.htmlhttp://www.aygfsteel.com/51AOP/archive/2007/04/20/112168.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/112168.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/112168.html阅读全文

冰雨 2007-04-20 12:50 发表评论
]]>
about java keyword volatilehttp://www.aygfsteel.com/51AOP/archive/2006/08/31/66908.html冰雨冰雨Thu, 31 Aug 2006 09:17:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/08/31/66908.htmlhttp://www.aygfsteel.com/51AOP/comments/66908.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/08/31/66908.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/66908.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/66908.html在java U程 3rd?.2讲到?jin)一个少用的关键?volatile.

However, Java provides a more elegant solution: the volatile keyword. If a variable is marked as volatile, every time the variable is used it must be read from main memory. Similarly, every time the variable is written, the value must be stored in main memory. Since these operations are atomic, we can avoid the race condition in our example by marking our done flag as volatile.

 (tng)

在tij中也有讲q?/p>

 (tng)Thinking  (tng) in (tng) (tng) java (tng) (tng) ? (tng) 13.7  (tng) 范例  (tng) CanStop  (tng) 里面有代? (tng)
 (tng) //Must  (tng) be  (tng) volatile:  (tng)
 (tng) private  (tng) volatile  (tng) boolean  (tng) stop  (tng) =  (tng) false;  (tng)
 (tng) q里booleancd应该已l是原子操作?jin),不需要再保证?jin)? (tng)
 (tng)  (tng)
 (tng) 书里? (tng) stop标志必须?b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile的,以便run()Ҏ(gu)肯定看到他(否则的话Q这个值可能本地缓?  (tng)
 (tng)  (tng)
 (tng) 我猜? (tng) volatile表示q个值可能被别的U程改变Q所以被标志?b style="COLOR: black; BACKGROUND-COLOR: #ffff66">volatile的变量,每次都是从存储区中读取变量对应的|而不是在该线E中本地~存的倹{因为本地缓存的g能及(qing)时反映其他线E对q个变量的媄(jing)响。?tng) (tng)?br /> (tng)


在线E中 该关键字q是?x)用到?.



冰雨 2006-08-31 17:17 发表评论
]]>
最q想研究一下DWR 攉一些从入门到精通的pd资料http://www.aygfsteel.com/51AOP/archive/2006/07/13/58000.html冰雨冰雨Thu, 13 Jul 2006 07:55:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/07/13/58000.htmlhttp://www.aygfsteel.com/51AOP/comments/58000.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/07/13/58000.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/58000.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/58000.html阅读全文

冰雨 2006-07-13 15:55 发表评论
]]>
E序员自创的一首歌Q“Java EE 5? http://www.aygfsteel.com/51AOP/archive/2006/07/01/56063.html冰雨冰雨Fri, 30 Jun 2006 21:15:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/07/01/56063.htmlhttp://www.aygfsteel.com/51AOP/comments/56063.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/07/01/56063.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/56063.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/56063.htmlSun公司一名员工自己创作的歌,关于Java EE 5Q很有意思的一首歌Q程序员?sh)余生活也可以这么丰富?/p>

地址Q?a >http://tap.javalobby.org/javaee5.mp3

歌词Q?br />Ladies and gentlemen, this is Java EE 5!

One, two, three, four, five
There's a technology I use day and night
For my application with a web frontend
They told me to use .Net
But I really don´t wanna

So many bugs I fixed last week.
My code is neat and talk is a cheap
I like Glassfish, JSF, persistence API
And as I continue you know they´re gettin´ sweeter

So what can I do I really beg you my Lord
To me codin' it´s just like a sport
All the bad code from the past, let me dump it
Please set in the trumpet

A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man

This is Java EE 5!

Jump up and down and move your code around
Shake your head to the sound bury bad code under ground
Move one step left and one step right
One to the front and one to the side
Refactor it once and refactor it twice
If it looks like this you're doin´ it right

A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's is what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man

This is Java EE 5!

q(sh)错哦.

from csdn



冰雨 2006-07-01 05:15 发表评论
]]>
最新消?,开源嵌入式数据?Derby(JavaDB) l定在JDK 1.6?http://www.aygfsteel.com/51AOP/archive/2006/06/18/53616.html冰雨冰雨Sun, 18 Jun 2006 10:48:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/06/18/53616.htmlhttp://www.aygfsteel.com/51AOP/comments/53616.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/06/18/53616.html#Feedback4http://www.aygfsteel.com/51AOP/comments/commentRss/53616.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/53616.html
如下:


Source:
Francois Orsini's Blog
Story Link: http://weblogs.java.net/blog/forsini/archive/2006/06/java_db_is_now.html

Francois Orsini has announced that Apache Derby has become bundled with the latest 1.6 JDK. "...yes it has become a reality! - It is a very exciting event indeed to have an Open Source Java Database System bundled into Sun's *latest* 1.6 JDK (Mustang build 88 to be more precised), and at no cost."



相关q接:

学习(fn)使用Java DataBase (Derby) -- 嵌入式数据库

在derby(Java DB) 中操?clob ?blob

关于关闭Java DB(Derby)时抛出异常的问题



冰雨 2006-06-18 18:48 发表评论
]]>
使用NSIS(Nullsoft Scriptable Installation System)安装制作软ghttp://www.aygfsteel.com/51AOP/archive/2006/06/13/52433.html冰雨冰雨Tue, 13 Jun 2006 05:02:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/06/13/52433.htmlhttp://www.aygfsteel.com/51AOP/comments/52433.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/06/13/52433.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/52433.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/52433.html使用NSIS(Nullsoft Scriptable Installation System)安装制作软g


刚才在看 E序员(sh)g步曲: W三?目自动化之?--- How to build, deploy, and monitor java applications. 一? 看到如何制作安装E序. 大家都应该知? javaE序可以直接打包为jar文g,可以直接执行,所以一般不用制作安装程序的, 不过Z(jin)lwin用户一个良好的感觉,制作一个安装程序还是不错的, 看到书上介绍 使用Nsis来制? 要写教本文g,q好有工具可以?感觉不是很难, 用百度搜?jin)一个教E? 呵呵 原来是很单的, q着做了(jin)一个刚刚写完的 AES高加密标准 ?java版实现的安装E序. 呵呵 感觉很专业? 可以下蝲可执行文件看? http://www.hexiao.cn/Aes_java_Setup.rar

netboy写的 nsis的教E?http://www.hexiao.cn/boblog/p/nsicToturialBasic.php


冰雨 2006-06-13 13:02 发表评论
]]>
Breezy?-- 快速开发SwingE序!http://www.aygfsteel.com/51AOP/archive/2006/06/04/50352.html冰雨冰雨Sun, 04 Jun 2006 14:33:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/06/04/50352.htmlhttp://www.aygfsteel.com/51AOP/comments/50352.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/06/04/50352.html#Feedback0http://www.aygfsteel.com/51AOP/comments/commentRss/50352.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/50352.html Breezy?-- 快速开发SwingE序!


Breezy:
sf 目主页: http://sourceforge.net/projects/breezy/

下蝲: http://sourceforge.net/project/showfiles.php?group_id=158540&package_id=177653&release_id=412125

用户讨论? http://www.hexiao.cn/bbs/thread.php?fid=9

大家都知道开发SwingE序有三大难?
布局讄,事g处理,和数据绑? 使用netbean中的新的布局理器已l解决了(jin)W一个问? 那么后面两个?

Breezy 是用来化后面两个问题而推出的.
下面我们先来看看一个简单的例子:

package test;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;

import javax.swing.JButton;
import javax.swing.JFrame;

import net.sf.breezy.event.EventInstaller;
import net.sf.breezy.event.annotations.ActionPerformed;
import net.sf.breezy.event.annotations.DefAction;

@SuppressWarnings("serial")
public class TestBreezy extends JFrame {
 (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)private JButton button = new JButton("Test Breezy!");
 (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)public TestBreezy() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.setLayout(new BorderLayout());
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.add(button,BorderLayout.CENTER);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)// 用来处理所有的Breezy的Annotations
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng) EventInstaller.processEventAnnotation(this);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.setSize(400, 300);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)EventInstaller.setAction(button, "action");
 (tng)  (tng)  (tng)}
 (tng)  (tng)  (tng)
 (tng) // button的事件响应方?br /> (tng)  (tng)  (tng)@ActionPerformed("button")
 (tng)  (tng)  (tng)public void myButtonAction() {
 (tng)  (tng)  (tng)  (tng)  (tng) System.out.println("God, this is terrific!");//讄另外一个事?br /> (tng)  (tng)  (tng)}
 (tng)  (tng)  (tng)
// 使用id注册另外一个事件响应方?br /> (tng)  (tng)  (tng)@DefAction(id="action", name="Button")
 (tng)  (tng)  (tng)void action(ActionEvent e) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)System.out.println(e + ":" + e);
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)/**
 (tng)  (tng)  (tng) * @param args
 (tng)  (tng)  (tng) */
 (tng)  (tng)  (tng)public static void main(String[] args) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)// TODO Auto-generated method stub
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)JFrame frame = new TestBreezy();
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)frame.setVisible(true);
 (tng)  (tng)  (tng)}

}

怎么? 看v来不错吧.

现在Breezy几乎支持所有的Swing EventListeners. 详细情况h看类net.sf.breezy.event.annotations.*

当然? 作ؓ(f)一个优U的框?q要有可扩展?在Breezy中开发者还可以自定义自q事g响应Annotation 来实现自q功能. 详细情况h看API.

数据l定问题?sh)?是 JTable 和JTree的问?
使用Breezy来处理该问题,有点cM于Hibernate中的xml映射数据库属性字D差不多. 可以很方便的映射.
L(fng)下面的例? 和Breezy文档:

package test;

import java.util.Date;

public class Name {
 (tng)  (tng)  (tng)private String name = "Starwhisperer";

 (tng)  (tng)  (tng)private Date time = new Date();

 (tng)  (tng)  (tng)public String getName() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return name;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setName(String name) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.name = name;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public Date getTime() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return time;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setTime(Date time) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.time = time;
 (tng)  (tng)  (tng)}

}


User.java
package test;

import java.util.Date;

import net.sf.breezy.datatable.TableField;

public class User {
 (tng)  (tng)  (tng)@TableField(head = "名称", editable = false)
 (tng)  (tng)  (tng)private String name;

 (tng)  (tng)  (tng)@TableField(head = "q龄", editable = false, type = "number")
 (tng)  (tng)  (tng)private int age;

 (tng)  (tng)  (tng)@TableField(head = "阵营", type = "boolean", editable = false)
 (tng)  (tng)  (tng)private boolean light;

 (tng)  (tng)  (tng)@TableField(head = "旉", type = "time", pattern = "yyyy/MM/dd")
 (tng)  (tng)  (tng)private Date date = new Date();

 (tng)  (tng)  (tng)@TableField(head = "名称", property = "name", type="string")
 (tng)  (tng)  (tng)private Name nameBean = new Name();

 (tng)  (tng)  (tng)public Name getNameBean() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return nameBean;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setNameBean(Name nameBean) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.nameBean = nameBean;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public boolean isLight() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return light;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setLight(boolean light) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.light = light;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public int getAge() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return age;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setAge(int age) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.age = age;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public String getName() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return name;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setName(String name) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.name = name;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public Date getDate() {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)return date;
 (tng)  (tng)  (tng)}

 (tng)  (tng)  (tng)public void setDate(Date date) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)this.date = date;
 (tng)  (tng)  (tng)}

}

DataTableTest .java

package test;

import java.awt.BorderLayout;
import java.util.LinkedList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JScrollPane;

import net.sf.breezy.datatable.DataTable;
import net.sf.breezy.datatable.DataTableScrollPane;


public class DataTableTest {
 (tng)  (tng)  (tng)private JFrame mainFrm = new JFrame();
 (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)protected void setUp() {  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.setSize(100, 600);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.setLocationRelativeTo(null);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.setLayout(new BorderLayout());

 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 (tng)  (tng)  (tng)}
 (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)public static void main(String[] args) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)DataTableTest test = new DataTableTest();

 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)test.setUp();
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)test.testTable();
 (tng)  (tng)  (tng)}
 (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)public void testTable() {  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)java.util.List list = new LinkedList();
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)for(int i = 0; i < 120; i ++) {
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)User u = new User();
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)u.setAge(33);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)u.setName("Cain " + i);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)list.add(u);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)}
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)DataTableScrollPane<User> pane = DataTable.getEntityTablePane(list, User.class);
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.add(pane, BorderLayout.CENTER);  (tng)  (tng)  (tng)  (tng)  (tng)  (tng)
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)mainFrm.setVisible(true);
 (tng)  (tng)  (tng)}
}


映射文g:datatable-mappings.xml
<?xml version="1.0"?>

<class-mapping>
 (tng)  (tng)  (tng)<class name="test.User">
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)<property name="age" head="q龄" />
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)<property name="light" head="光芒" type="boolean" editable="true"/>
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)<property name="nameBean" property="time" head="姓名" pattern="yyyy/mm/dd" type="time"/>
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)<property name="date" head="Date"/>
 (tng)  (tng)  (tng)  (tng)  (tng)  (tng)<property name="name" head="Name"/>
 (tng)  (tng)  (tng)</class>
</class-mapping>

也是很简单的? 关于JTree的应用也是很单的? 详细情况h看用h?


更多信息请关?用户交流论坛: http://www.hexiao.cn/bbs/thread.php?fid=9 (tng)



冰雨 2006-06-04 22:33 发表评论
]]>
Google发布AJAX开发工?Google Web Toolkithttp://www.aygfsteel.com/51AOP/archive/2006/05/17/46686.html冰雨冰雨Wed, 17 May 2006 13:17:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/05/17/46686.htmlhttp://www.aygfsteel.com/51AOP/comments/46686.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/05/17/46686.html#Feedback3http://www.aygfsteel.com/51AOP/comments/commentRss/46686.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/46686.htmlGoogle Web Toolkit

 (tng) - Build AJAX apps in the Java language

Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatabilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.

GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

Learn more

GWT的特?

  • Create a Widget by compositing other Widgets. Lay out Widgets automatically in Panels. Send your Widget to other developers in a JAR file.
  • To communicate from your web application to your web server, you just need to define serializable Java classes for your request and response. In production, GWT automatically serializes the request and deserializes the response from the server. GWT's RPC mechanism can even handle polymorphic class hierarchies, and you can throw exceptions across the wire.
  • No, AJAX applications don't need to break the browser's back button. GWT lets you make your site more usable by easily adding state to the browser's back button history.
  • In production, your code is compiled to JavaScript, but at development time it runs in the Java virtual machine. That means when your code performs an action like handling a mouse event, you get full-featured Java debugging, with exceptions and the advanced debugging features of IDEs like Eclipse.
  • Your GWT applications automatically support IE, Firefox, Mozilla, Safari, and Opera with no browser detection or special-casing within your code in most cases.
  • If GWT's class library doesn't meet your needs, you can mix handwritten JavaScript in your Java source code using our JavaScript Native Interface (JSNI).

Google大全



冰雨 2006-05-17 21:17 发表评论
]]>
Java Pet Store 开始全面?Web 2.0 技?http://www.aygfsteel.com/51AOP/archive/2006/05/16/46491.html冰雨冰雨Tue, 16 May 2006 13:58:00 GMThttp://www.aygfsteel.com/51AOP/archive/2006/05/16/46491.htmlhttp://www.aygfsteel.com/51AOP/comments/46491.htmlhttp://www.aygfsteel.com/51AOP/archive/2006/05/16/46491.html#Feedback7http://www.aygfsteel.com/51AOP/comments/commentRss/46491.htmlhttp://www.aygfsteel.com/51AOP/services/trackbacks/46491.html Java Pet Store 开始全面用Web 2.0 技?/b>


伴随着Java EE 5 SDK(下蝲) ?/strong>发布,最新的 Pet Store (最初版) 开始全面启?Web 2.0 技术?

Sean ?Geertjan 都曾l对此有所介绍?Alexis q制作了(jin)一个短片向(zhn)展C怎样?NetBeans 中启?br /> (tng)
Pet StoreQ?大型 ?Q?

不知道Java中的Web2.0 是否来的晚了(jin)一? 你怎么看待Web2.0 在JavaEE中的使用?




冰雨 2006-05-16 21:58 发表评论
]]>
վ֩ģ壺 | Ȫ| ̽| Ͼ| Ȫ| | | ͭ| | ¸| | ̨| | | Ǽ| ԭ| ĩ| | Т| | | ߷| | | | ׷| | | ʲ| | | ʡ| ɽ| | | Ͳ| ɫ| տ| | | |