博文

有趣的计算(好帖)(2006-05-01 21:08:00)

摘要:有趣的计算  原作 月儿   如果令A、B、C、D……X、Y、Z这26个英文字母分别等于百分之1、2、3、4……24、25、26这26个数值,那么我们就能得出如下的有趣的结论:   hard work(努力工作)=8+1+18+4+23+15+18+11=98%;   knowledge(知识)=11+14+15+23+12+5+4+7+5=96%;   love(爱情)=12+15+22+5=54%;   luck(好运)=12+21+3+11=47%;   这些我们通常非常看重的东西都不是最完满的,虽然它们非常重要。那么,究竟什么能使生活变得圆满?   是money(金钱)吗?   不!money=13+15+14+5+25=72%;   是leadership(领导能力)吗?   不!leadership=12+5+1+4+5+18+19+8+9+16=97%;   是SEX(性)吗?   更不是!SEX=19+5+24=48%;   那么,什么能使生活变得圆满呢?   是attitude(心态)。   attitude=1+20+20+9+20+21+4+5=100%。   正是我们对待工作、生活的态度能够使我们的生活达到100%的圆满!......

阅读全文(511) | 评论:0

Java高级-Java中finalize()的另类用法(2006-04-30 16:41:00)

摘要:做过JAVA编程的都知道,在JAVA中有一种垃圾收集器的机制,当它运行时(通常在系统内存低到一定限度时自动运行),会回收不再使用的对象所占用的内存,所以,在JAVA程序中,我们通常只考虑创建对象,而从不关心对象的清除。Finalize()是JAVA为类提供的一种特殊方法。垃圾收集器的工作过程大致是这样的:一旦垃圾收集器准备好释放无用对象占用的存储空间,它首先调用那些对象的finalize()方法,然后才真正回收对象的内存。通过使用finalize(),就可以在垃圾收集器运行期间进行一些特殊的工作。下面一例就说明了finalize()的一种巧妙用法。

现在的商业应用系统越来越多的采用WEB形式。在WEB形式应用中,每一次页面访问是独立的,前后不相关联,哪怕多个用户在同一时刻访问应用的同一个页面,用户相互之间也是不知道的。如果想要检查当前有哪些用户正在使用系统(如准备恢复数据备份或进行系统升级时,系统管理员都很希望知道这些信息),该怎么办呢? 基于Servlet、JSP技术的WEB服务器提供了隐含的Session、Application对象,利用它可以帮开发者实现一些信息的持续保存和共享。当用户访问一个WEB应用时,WEB服务器会自动创建一个Session对象,该对象可以供用户在会话期内在应用的所有页面中共享数据; Application是WEB应用的一个全局对象。利用Session、Application对象,可以达到跟踪所有用户信息的目的。

当用户打开浏览器开始请求WEB应用的登录页面时,WEB服务即为该客户创建一个session,此后,在session的timeout时间内,该客户都使用这个session(timeout时间可设置,如Tomcat服务器是在各应用的web.xml文件中设置)。如果使用IE浏览器,Session与客户IP地址、客户程序进程ID所共同标识的连接有对应关系,相同IP地址、相同进程的窗口(如通过IE-文件-新建-窗口 打开的新窗口)具有同一个session,所以session可用于标识各个独立的客户应用连接。

下面是一个样例

为了方便处理,先建一个简单类(user)用来表达用户信息及存放sessionId:

package com;

publ......

阅读全文(3886) | 评论:0

煮酒论英雄-漫谈Java数据库存取技术 (2)  (2006-04-30 16:40:00)

摘要:下面新生代代表JDO隆重登场,JDO绝对属于超年轻选手, JDO1.0也不过是2002四月份才发布。2003五月份出台1.0.1, 目前最新2.0草案已经发布,http://www.jcp.org/en/jsr/detail?id=243。就为这2.0,江湖上展开的讨论可以说是“血雨腥风”, 两大兵团, JDO兵团和EJB兵团争得是不可开交。有兴趣的不妨到这里瞧瞧,http://theserverside.com/news/thread.tss?thread_id=25695,里面也不乏重量级人物。单从这一点来看,它能对EJB产生这么大的冲击,足以说明了这个初生牛犊确有过人之处。JDO的诞生给java数据持久性带来很多新特性,特别是它弥补了EJB对OO编程的先天不足,JDO提供了完全的OO支持,继承,多态。JDO和 EJB比属于轻量级工具,无需容器支持。不像EJB, 要用你就非得整一个Weblogic, webSphere之类的。
JDO的简单易用是最为人们所称道的,不需要你写大量无用的接口,不需要你继承什么特殊的类,唯一所要做的就是对你的class文件做一下enhance。用了JDO,可以说我们的java程序这下真正OO了,我们无需再理会数据库里面有啥表格了,存取都是以java object为对象了,所有数据库表格都是自动生成的。这一点可以说也是一个革命了。在此之前,项目设计阶段,Database Schema设计可以说是个重头戏。而现在用JDO开发,完全不需要数据库设计了。那你的Database Schema呢? 就是你的Class 啊,JDO会根据你的Class自动生成相应的数据库表格。 一个字 , 爽!从数据库可移植性来看,JDO也是优势明显,就我使用过的Kodo 和 Genie来看,几个简单应用程序换数据库时候除了换一个JDBC driver, 换一下数据库URL,无需对程序做任何改动。 这一点对EJB 来说又是处于劣势。从家庭出身来看,JDO也是出生名门,从一开始就处于JCP管理之下。从企业级支持来看,它可以很好的和Session ......

阅读全文(3854) | 评论:0

煮酒论英雄-漫谈Java数据库存取技术 (1)  (2006-04-30 16:40:00)

摘要:新技术的出现令人目不暇接,似乎每一天都在产生着新名词。不过归根结底IT所要实现的价值不外乎数据收集,然后再以客户希望的形式展示给客户而已。因此数据存取技术也就成了一个永恒的话题。而在Java这个开放的世界里,数据库存取技术是五花八门,种类繁多。我们也来侃侃Java世界里主流的数据库存取技术。

首先列出英雄榜

1.    JDBC直接访问数据库
2.    EJB  entity bean.
3.    JDO技术。
4.    第三方O/R工具,如目前大红大紫的Hibernate, 其它如Castor, Toplink.


   先说说这个历史最为悠久的JDBC吧。从Java诞生的那天起,这位仁兄就开始登上历史舞台了。Java能有今天这么风光,JDBC可以说是功不可末。一路走来,如今已是JDBC3.0了。在没有JDBC的时候,访问数据库那是八仙过海,各显神通,各家数据库厂商都有自己的一套API, 苦就苦了开发人员了。换了个数据库,那个程序要改是面目全非。JDBC规范的出台,向世界宣告从此有了访问关系数据库的标准通用接口了。JDBC标准获得了几乎所有数据库厂商的支持,好像还真难找到这么一个数据库,它是没有JDBC 支持的。JDBC规范一经发布,获得了空前成功,很快成为java访问数据库的标准。JDBC的成功在于它的规范统一标准的接口,只需要掌握标准的SQL语言就可以访问各种不同的数据库了。这种数据库间的可移植性和Java一直高喊的口号Compile  Once, Run everywhere遥相呼应。JDBC今天还是java访问数据库的基石,CMP, JDO, Hibernate 说到底只是更好的封装了JDBC, 提供了更为上层的更为强大的接口而已。然后说说JDBC直接访问数据库的方式来实现java 持久性。
这种方式相对于CMP来说比较简单直接,特别是......

阅读全文(3987) | 评论:0

[参赛]无欲无求,无为无法 作者:醉剑仙(2006-04-30 14:42:00)

摘要:记得道家有云:“无为而不为”。正是这个原因,我才接触和了解仙剑,那是一个偶尔的夜晚,一个偶尔的时间,一个偶尔的地点,我在家看电视看到仙剑热播。联想起道家学说,偶尔的机会找到了仙剑江湖这个游戏。   在江湖里面荡游的日子,是从2003年开始的。那年刚刚高考完,落榜,我除了网络有所寄托之外,已经没处藏身了,老妈那时候特别烦,可以说是上升到骂的级别了。恐怖啊,那时候我所想到的是,死并不可怕,可千万别考试失败,中国教育就是XX的垃圾!   在仙剑江湖里面遨游之前,我已经是个老江湖了,以前打的网络游戏一开始是万王之王,但是这类游戏,我越来越感觉到没意思,老是要自己花时间升级,无形之中浪费了N多时间,老讯说过的话吧?时间就是生命?忘记了,反正网络练级游戏,除了大话西游2我还觉得过得去,(现在也不玩了)其它的都是骗你钱吸你血的!   但是,在无聊之中,我想起了曾经玩过的江湖,发现以前的连接都是有错误的,有点郁闷。在网络上翻翻吧,仙剑,OK想当年最好成绩是16小时暴机呢,就打仙剑两个字进GOOGLE(别跟我提百度了,那垃圾软件骗骗中国人自己还行,搜索率太少了),仙剑江湖跃然纸上!我就在想,仙剑啥时候有江湖了??好奇心之下,点击,进入注册。之后,原来,这里是仙剑的新天地一切那么熟悉又那么陌生,熟悉的是操作,陌生的是网络上的人群。 算一算现在我的江湖年龄,也不小了,应该有1年多了,不过我认识的人不多,有时侯也就寒参几句客串几句.不过有个问题就是,我现在虽然只有107级,但是死的次数还<10.我就奇怪,怎么现在的新人说难混的呢?想当初刚来我还是新手的时候.得到了不少人帮助,最多也就死一两次,难道,难道?我的确很强,终于明白了.同时也体现了,你在江湖里面是什么心态,所谓态度决定一切啊,就是这么回事.终日无所事事又想混饭吃的同志们注意了,江湖好人不少,但同时笨人也不多,这也是某些人在江湖混不下去的原因. 前面我说了,仙剑里面偶尔透露出道家思想,其实你再玩回来仙剑单机版,只要你之前有读过道家学说并理解(对部分还是挺难的,因为无为而不为不是做不做的到的问题,就连是思想也是和很多人人生观相对的)在大学学院里正式成立接触道家,加上"仙剑"热播中,就想起了曾经陪伴我好一阵的江湖了.江湖啊江湖不知道是否还是老样子.别乡离井,老少......

阅读全文(809) | 评论:0

计算器(四则运算完全成立)sin等功能开始做和排错没做(2006-04-28 11:08:00)

摘要://摸版没搞,大概只有本人能读!! import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.Math; public class test extends JFrame{
 static int count=0,all=0,but;
 static String fuhao,output="";
 private JLabel promptLabel;
 protected static JTextField inputField;
 private JTextArea outputArea;
 private JButton j0,j1,j2,j3,j4,j5,j6,j7,j8,j9,x1,x2,y1,y2,s1,s2;
 static int cont[]=new int[9];
 static int paixu[]=new int[50];
 
 
 
 
  public test(){
   super("ceshi StringTokenizer");
   Container container=getContentPane();
   container.setLayout(new FlowLayout());
  
   promptLabel=new JLabel("计算器");
   container.add(promptLabel);
   inputField=new JTextField(20);
  
  
  
  
   inpu......

阅读全文(4921) | 评论:0

[原创]初学问题去掉String中的空格(2006-04-28 10:54:00)

摘要:本贴不断更新中 相信大家都会碰到这类问题吧: public class test1{
 public static void main(String args[]){
  
  int cont;
  cont=Integer.parseInt("  11".);//讨厌的空格
  System.out.println(cont);
  
 }
} 但是加个trim() 就可以去掉空格了! public class test1{
 public static void main(String args[]){
  
  int cont;
  cont=Integer.parseInt("                   11".trim() );//空再多也没所谓了!
  System.out.println(cont);
  
 }
}......

阅读全文(5817) | 评论:0

int 和 String 互相转换的多种方法(2006-04-28 10:26:00)

摘要:1 如何将字串 String 转换成整数 int? 

A. 有两个方法:

1). int i = Integer.parseInt([String]); 或 
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue(); 

注: 字串转成 Double, Float, Long 的方法大同小异. 


2 如何将整数 int 转换成字串 String ? 


A. 有叁种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i); 

3.) String s = "" + i; 

注: Double, Float, Long 转成字串的方法大同小异. ......

阅读全文(4027) | 评论:0

书本AddStudentFrame代码(2006-04-27 10:50:00)

摘要:import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import UI.StudentUI; class AddStudentFrame extends JFrame{
 private StudentUI userInterface;
 private JButton clearButton,writeButton;
 
 static final String JDBC_DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
 static final String DATABASE_URL="jdbc:odbc:studyDSN";
 
 private Connection connection;
 private Statement statement;
 String sqlString;
 
 String names[]={"学号","姓名","性别","年龄","所在系"
 };
 public AddStudentFrame(){
  super("add a record of students");
  initialize();
  
  userInterface=new StudentUI(names);
  getContentPane().add(userInterface,BorderLayout.CENTER);
  
  writeButton=userInterface.getDotask1Button();
  writeButton.setText("保存");
  
&n......

阅读全文(6187) | 评论:10

书本StudentUI代码(2006-04-27 09:02:00)

摘要:package UI;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*; public class StudentUI extends JPanel{
 protected JLabel labels[];
 protected JTextField fields[];
 protected JButton doTask1,doTask2;
 protected JPanel innerPanelCenter,innerPanelSouth;
 protected int size;
 
 public static final int SNO=0,SNAME=1,SSEX=2,SAGE=3,SDEPT=4;
 
 public StudentUI(String arrayString[]){
  size=arrayString.length;
  labels=new JLabel[size];
  fields=new JTextField[size];
  
  for(int count=0;count<labels.length;count++)
  labels[count]=new JLabel(arrayString[count]);
  
  for(int count=0;count<fields.length;count++)
  fields[count]=new JTextField();
  
  innerPanelCenter=new JPanel();
  innerPanelCenter.setLayout(new GridLayout(size,2));

阅读全文(4851) | 评论:0