随笔分类 - Java
摘要:--线程池简介【阅读】----------------2014/05/25线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某...
阅读全文
摘要:linux下java unrecognized class file version错误的解决环境:RedHat Linux Enterprise 5.4问题:java.sun.com下载jdk1.60和jre1.60的bin文件,sh ./某某某.bin安装之后,编译HelloWorld.java,生成HelloWorld.class文件,但是java HelloWorld却不能执行。出现如下错误: [root@MrjavaPC]# javac HelloWorld.java[root@MrjavaPC]# ls HelloWorld.class HelloWorld.java 计算器.ja
阅读全文
摘要:有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。序列化的必要性Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就需要有一种可
阅读全文
摘要:创建一个范型的类:Pattern.javapublic class Pattern<T,K,M> { T cat; K dog; M pig; public Pattern() { this.cat=null; this.dog=null; this.pig=null; } public Pattern(T cat,K dog,M pig) { this.cat=cat; this.dog=dog; this.pig=pig; } public String to...
阅读全文
摘要:泛型不用考虑对象的具体类型。优点在于,因为不用考虑对象的具体类型所以可以对一类对象执行一定的相同操作;缺点在于,因为没有考虑对象的具体类型所以就不能使用对象自带的接口函数。泛型的最佳用同是实现容器类。在java中,范型是在编译器中实现的,而不是在虚拟机中实现的,虚拟机对范型一无所知。因此,编译器一定要把范型类修改为普通类,才能够在虚拟机中执行。在java中,这种技术称之为“擦除”,也就是用Object类型替换范型(Comparable来替换所有范型)。当需要用到其他约束中定义的方法的时候,通过插入强制转化代码来实现。Wildcard支持另外一个关键字super,而范型方法不支持super关键字
阅读全文
摘要:java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法:result = object instanceof class参数:Result:布尔类型。Object:必选项。任意对象表达式。Class:必选项。任意已定义的对象类。说明:如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。例子如下:package com.ins
阅读全文
摘要:最近又重温了一遍《java编程思想》,在看的过程中产生一个想法,java中继承关系的父子类,相同的方法会被重写,那相同的变量会怎样呢? 答案是变量没有重写之说,如果子类声明了跟父类一样的变量,那意谓着子类中将有两个相同名称的变量;看如下有趣的例子:public class A { public int m = 1; public void view(){ System.out.println(this.m); System.out.println(this.getClass()); } ...
阅读全文
摘要:用ResultSet rs;rs.next()去判断是否为空;if(rs.next()==false) {//里面为空值的时候要做的操作.}
阅读全文
摘要:方法一:点击窗口->首选项->java->构建路径->类路径变量->新建;将你的tomcat目录下的common/lib/servlet.jar加进来。如果你建立了一个tomcatproject它会自动加进来的,如果没有的话你也可以通过手动来加入,选中你刚才建的项目右击->属性->java构建路径->添加变量;将你刚才加入的servlet.jar变量加进来就行了。如何在Eclipse中添加Servlet-api.jar的方法正确的加载servlet-api.jar的方法如下:1:右击项目工程名称2:Properties3: Jvav Build
阅读全文
摘要:老问题了,之所以贴出来是给大家看看,希望不要出现类似的错误:Java代码 this.item=new ArrayList(); books = new Books(); ResultSet rs = new DBoperate().getResultSet("select * from tblbooks"); int i=0; while (rs.next()) { books.setBm(rs.getString("bm")); books.setMc(rs.get...
阅读全文
摘要:别忘了ArrayList的初始化.ArrayList<Emps> ale=new ArrayList<Emps>();
阅读全文
摘要:我相信大多说人都对构造方法、方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望大家多多讨论。构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用。方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值,命名。 1。和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abs.
阅读全文
摘要:说明:这个版本中添加了爆炸的效果.1.爆炸效果在子弹击中坦克时发生.2.要在窗口中看到爆炸,必须由窗口画出爆炸.....1.新建爆炸类.import java.awt.Color;
import java.awt.Graphics; public class Explode extends Thread{ int i; int j; TankClient tc; public void run() { try { Explode.sleep(300); } catch (InterruptedException e) { // TODO Auto-gene...
阅读全文
摘要://In the last version I have finish the function to write a line ...
//This version 0.2 will add more fun things... import java.awt.*;
import javax.swing.*;
import java.awt.event.*; public class DrawPad extends Frame { IDrawPad idp; JButton b1; JButton b2; JPanel jpl; public void init() { ...
阅读全文
摘要://In this version Tank will be a Class. Then I doubt why I need to do that...
//instant--->use capital formal and --> public static final //This is a import version, I will make the change for OOP.
//********I have already make the Tank, Bullet to be an object ....
//I think about that: how ca
阅读全文
摘要://In this version, I want this tank can shoot bullet.
//I have done this.
//*******I WANT TWO KEY CAN BE PRESS AT THE SAMETIME.******
//1.在这儿我的思路是,写两个线程分别来监听space键和上下左右键....但是没能成功. 还是不能实现一边走一边打... 在这个版本中....坦克的移动使用了
//2.键盘上下左右的监听,然后子弹使用了线程...因为需要让他自动飞...用ArrayList来装产生的子弹,每次按space键就生成一发子弹. 产生一个线程,但是
阅读全文
摘要:思路:1.创建一个Frame作为载体画图.2.Frame中添加鼠标事件.3.创建一个容器ArrayList,用来存放鼠标点击的点.4.每当鼠标点击时就生成一个Point对象,将Point对象添加到一个容器ArrayList中去.然后重画界面.5.重画时用重新调用Paint方法.Paint方面中一次用Iterator遍历所以的Point点对象,然后将他们一次画出.import java.util.*;
import java.awt.*;
import java.awt.event.*; public class TestPaint { public static void main(Str..
阅读全文
摘要:注:小实验,非完成的作品.SERVER端:import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.net.*; public class TextEditor { JFrame ft=new JFrame("TextEditor"); TextArea ta=new TextArea("",80,60); JTextField tf=new JTextField(); BorderLayout bl=new Border
阅读全文
摘要:import java.awt.*;import java.awt.event.*;import java.io.*;public class TextEditor { Frame ft=new Frame("TextEditor"); TextArea ta=new TextArea("",80,...
阅读全文
摘要:import java.io.*; public class InputStreamTest { public static void main(String args[]) { FileReader in=null; //同样,要先申明再赋值,因为赋值要try FileWriter out=null; int b=0; try { in=new FileReader("C:/$user/ADI/BetAppl/$LOG_BOOKS/INV/UC60_BALANCE_158.Txt"); ...
阅读全文