SEOIT

SEO学习

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  6 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks

2011年1月12日 #

首先ScheduledExecutorService基于ExecutorService,是一个完整的线程池调度。另外在提供线程池的基础上增加了四个调度任务的API。

  • schedule(Runnable command,long delay, TimeUnit unit):在指定的延迟时间一次性启动任务(Runnable),没有返回值。
  • schedule(Callable<V> callable, long delay, TimeUnit unit):在指定的延迟时间一次性启动任务(Callable),携带一个结果。
  • scheduleAtFixedRate(Runnable command,long initialDelay,long period,TimeUnit unit):建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。如果任务的任何一个执行遇到异常,则后续执行都会被取消。否则,只能通过执行程序的取消或终止方法来终止该任务。如果此任务的任何一个执行要花费比其周期更长的时间,则将推迟后续执行,但不会同时执行。
  • scheduleWithFixedDelay(Runnable command,long initialDelay,long delay,TimeUnit unit):创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。如果任务的任一执行遇到 异常,就会取消后续执行。否则,只能通过执行程序的取消或终止方法来终止该任务。
posted @ 2011-01-12 11:29 文化 阅读(1523) | 评论 (0)编辑 收藏

2011年1月6日 #

真快啊来到blogjava 一年多了。2010过去了。在这里我认识了好多朋友。
时间无法倒流,过去了就只能永远过去了。孩子能呆在身边的日子是多么难得与宝贵。因为这一点,我更加的珍惜与孩子相处的每一刻,也让我无论遇到什么,都心 存感恩。谢谢上天给我这么一个孩子,让我分享与见证他成长的每一刻。无论带给我多少困难,烦恼,甚至挫败,无论让我失去多少睡眠,时间,金钱,精力,我仍 然豁达,因为,这都是上天的恩赐。

posted @ 2011-01-06 11:29 文化 阅读(152) | 评论 (0)编辑 收藏

2009年12月11日 #

 

这个程序了不得,基本控件全包含进去了。。。真佩服这个程序的作者

  package ch02.section02;

  import javax.swing.*;

  import java.awt.*;

  import java.awt.event.*;

  import javax.swing.tree.*;

  import javax.swing.event.*;

  import javax.swing.border.*;

  import javax.swing.table.*;

  public class SwingTest extends JFrame{

  public SwingTest(){

  MenuTest menuTest=new MenuTest();

  LeftPanel leftPanel=new LeftPanel();

  RightPanel rightPanel=new RightPanel();

  BottomPanel bottomPanel=new BottomPanel();

  CenterPanel centerPanel=new CenterPanel();

  Container c=this.getContentPane();

  this.setJMenuBar(menuTest);

  c.add(leftPanel,BorderLayout.WEST);

  c.add(rightPanel,BorderLayout.EAST);

  c.add(centerPanel,BorderLayout.CENTER);

  c.add(bottomPanel,BorderLayout.SOUTH);

  this.addWindowListener(new WindowAdapter(){

  public void WindowClosing(WindowEvent e){

  dispose();

  System.exit(0);

  }

  });

  setSize(700,500);

  setTitle("Swing 组件大全简体版");

  setUndecorated(true);

  setLocation(200,150);

  show();

  }

  class MenuTest extends JMenuBar{

  private JDialog aboutDialog;

  public MenuTest(){

  JMenu fileMenu=new JMenu("文件");

  JMenuItem exitMenuItem=new JMenuItem("退出",KeyEvent.VK_E);

  JMenuItem aboutMenuItem=new JMenuItem("关于..",KeyEvent.VK_A);

  fileMenu.add(exitMenuItem);

  fileMenu.add(aboutMenuItem);

  this.add(fileMenu);

  aboutDialog=new JDialog();

  initAboutDialog();

  exitMenuItem.addActionListener(new ActionListener(){

  public void actionPerformed(ActionEvent e){

  dispose();

  System.exit(0);

  }

  });

  aboutMenuItem.addActionListener(new ActionListener(){

  public void actionPerformed(ActionEvent e){

  aboutDialog.show();

  }

  });

  }

posted @ 2009-12-11 23:49 文化 阅读(4398) | 评论 (1)编辑 收藏

2009年11月28日 #

安装JDK
    从java.sun.com/">http://java.sun.com/下载jdk-1_5_0_04-windows-i586-p.exe
    安装到指定路径,我选择D:jdk1.5.0
    配置环境变量:
    JAVA_HOME: D:jdk1.5.0
    PATH: D:jdk1.5.0in;
    CLASSPATH: .;D:jdk1.5.0lib ools.jar;D:jdk1.5.0jrelib t.jar;

安装WTK
    从java.sun.com/">http://java.sun.com/下载j2me_wireless_toolkit-2_2-windows.exe
    安装到指定路径,我选择D:WTK22

安装Eclipse
    从http://www.eclipse.org/下载eclipse-SDK-3.0.1-win32.zip和
    NLpack-eclipse-SDK-3.0.x-win32.zip(语言包)
    解压缩eclipse-SDK-3.0.1-win32.zip即可,我的路径:D:MyDevelopToolseclipse
    解压缩NLpack-eclipse-SDK-3.0.x-win32.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下即可
   
安装Tomcat
    从http://jakarta.apache.org/下载jakarta-tomcat-5.5.9.zip
    解压缩jakarta-tomcat-5.5.9.zip即可
    配置环境变量:
    Tomcat_Home: D:MyDevelopTools omcat-5.5.9
    PATH: D:MyDevelopTools omcat-5.5.9;


在eclipse中配置J2ME开发环境:
安装eclipseme:
    从http://www.eclipseme.org/下载eclipseme.feature_0.9.4_site.zip
    在eclipse中选择帮助-〉软件更新-〉查找并安装-〉搜索要安装的新功能部件-〉新建已归档的站点
    选择eclipseme.feature_0.9.4_site.zip,打开-〉选择eclipseme.feature_0.9.4_site.zip,剩下的一直下一步就可以了。安装完成会在窗口-〉首选项中出现J2ME
修改JAVA-〉调试:
    选中JAVA-〉调试,把暂挂执行的前两项点去,通信中的调试器超时改为15000
配置WTK
    窗口-〉首选项-〉J2ME-〉Platform Components
    右键单击对话框右侧的Wireless Toolkit,选择Add Wireless Toolkit,
    选择WTK安装目录,eclipse会自动匹配。

在eclipse中配置J2EE开发环境(Tomcat5.5.9):
安装EMF-RunTime:
    从http://www.eclipseme.org/下载emf-sdo-runtime-2.0.1.zip
    解压缩emf-sdo-runtime-2.0.1.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下即可。   
安装Lomboz:
    从http://forge.objectweb.org下载org.objectweb.lomboz_3.0.1.N20050106.zip解压缩org.objectweb.lomboz_3.0.1.N20050106.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下。如果在窗口-〉首选项中有Lomboz选项就安装正确,如果没有,在D:eclipseconfiguration下删除org.eclipse.update这个文件夹,再重起eclipse就可以了。
配置Lomboz:
    在D:eclipsepluginscom.objectlearn.jdt.j2ee_3.0.1servers下新建一个文件tomcat559.server,里面的内容从tomcat50x.server全部复制过来,把name="Apache Tomcat v5.0.x"替换成name="Apache Tomcat v5.5.9",然后把所有的
“${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”替换成
“${serverRootDirectory}/common/endorsed”就可以了。然后进入eclipse,窗口-〉首选项-〉Lomboz,把JDK Tools.jar改为:D:jdk1.5.0lib ools.jar,窗口-〉首选项-〉Lomboz-〉Server Definitions,在Server types中选择Tomcat5.5.9在Application Server Directory和Classpath Variable的路径改为D:/MyDevelopTools/tomcat-5.5.9先应用,再确定就可以了。


来自:JAVA中文站:  我们要做中国最好的JAVA门户网站, 

posted @ 2009-11-28 17:17 文化 阅读(214) | 评论 (0)编辑 收藏

2009年11月27日 #

关系运算符==和!=也适用于所有对象,但它们的含义通常会使初涉Java领域的人找不到北。下面是一个例子:

    //: Equivalence.java

    public class Equivalence {

    public static void main(String[] args) {

    Integer n1 = new Integer(47);

    Integer n2 = new Integer(47);

    System.out.println(n1 == n2);

    System.out.println(n1 != n2);

    }

    } ///:~

    其中,表达式System.out.println(n1 == n2)可打印出内部的布尔比较结果。一般人都会认为输出结果肯定先是true,再是false,因为两个Integer对象都是相同的。但尽管对象的内容相同,句柄却是不同的,而==和!=比较的正好就是对象句柄。所以输出结果实际上先是false,再是true。这自然会使第一次接触的人感到惊奇。

    若想对比两个对象的实际内容是否相同,又该如何操作呢?此时,必须使用所有对象都适用的特殊方法equals()。但这个方法不适用于“主类型”,那些类型直接使用==和!=即可。下面举例说明如何使用:

    //: EqualsMethod.java

    public class EqualsMethod {

    public static void main(String[] args) {

    Integer n1 = new Integer(47);

    Integer n2 = new Integer(47);

    System.out.println(n1.equals(n2));

    }

    } ///:~

    正如我们预计的那样,此时得到的结果是true。但事情并未到此结束!假设您创建了自己的类,就象下面这样:

    //: EqualsMethod2.java

    class Value {

    int i;

    }

    public class EqualsMethod2 {

    public static void main(String[] args) {

    Value v1 = new Value();

    Value v2 = new Value();

    v1.i = v2.i = 100;

    System.out.println(v1.equals(v2));

    }

    } ///:~

    此时的结果又变回了false!这是由于equals()的默认行为是比较句柄。所以除非在自己的新类中改变了equals(),否则不可能表现出我们希望的行为。不幸的是,要到第7章才会学习如何改变行为。但要注意equals()的这种行为方式同时或许能够避免一些“灾难”性的事件。

    大多数Java类库都实现了equals(),所以它实际比较的是对象的内容,而非它们的句柄


中国IT实验室

posted @ 2009-11-27 16:07 文化 阅读(431) | 评论 (1)编辑 收藏

Stack Overflow是很受欢迎的程序设计问题协作式问答社区,当程序员在编程中遇到问题,他们会在Stack Overflow上发帖讨论,这些问题会涉及到各种语言。于是便提出一个有趣的问题:在工作日程序员通常问何种语言的问题较多,周末呢? 使用Stack Overflow的存档,Dan Lorenc分析了一周内程序语言的活跃性。
结果发现:到了周末询问Python和Ruby相关问题的数量上升,而C#和Java的数量下降。这意味着程序员周末在个人项目上使用较多的是Python和Ruby语言,可能是因为它们用起来让人愉快。下次当Boss让你选择工作语言时,你或许可以向他展示这个结果。
posted @ 2009-11-27 11:48 文化 阅读(232) | 评论 (0)编辑 收藏

fag进口轴承 nsk进口轴承 timken进口轴承 二水氯化钙 天津不锈钢 天津服装批发 天津装修 孕妇装批发 无水氯化钙 氯化钙 自动化 融雪剂 防冻液 无水氯化钙 二水氯化钙 安卓手机推荐 氯化钙价格不锈钢 不锈钢 淘宝网女装