Developing Games in Java(部分)
原文来自于《Developing Games in Java》,作者:David Brackeen, Bret Barker, Laurence Vanhelsuwé
Java在设计时充分考虑了线程,因此在Java中线程的操作比其他语言要简单。只需生成一个Thread类的实例便可创建一个线程,然后调用start()方法线程就启动了。
Thread myThread=new Thread();
myThread.start();
当然,这段代码没有任何实际意义,因为该线程中没有包含任何任务。Java虚拟机创建一个新的系统线程后,便启动该线程,然后Thread对象的run()方法被调用。默认情况下,run()方法不做任何工作,因此,线程便随即停止。
如果想让线程完成某项任务,在run()方法中添加相应代码即可。有三种基本的方法可以实现这一操作:
1,继承扩展Thread类
2,实现Runnable接口
3,使用匿名内部类
继承扩展Thread类
给线程分配任务的一个快捷的方法是继承扩展Thread类,并重写run()方法:
public class MyThread extends Thread {
public void run() {
System.out.println("Do something cool here.");
}
}
然后创建和启动线程:
Thread myThread = new MyThread();
myThread.start();
现在有两个线程正在运行:main主线程和你刚才启动的那个线程。
实现Runnable接口
继承扩展Thread线程固然简单,但大多数情况下你可能只是想启动一个线程而并非重新编写类。例如:有一个类已经继承扩展了其他类,但你仍希望将它作为一个线程。在这种情况下只有实现Runnable接口:
public class MyClass extends SomeOtherClass implements Runnable {
public MyClass() {
Thread thread = new Thread(this);
thread.start();
}
public void run() {
&n
相关文档:
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。
下面将提供一些在JAVA程序的设计和编码中,为了能够 ......
------------------------------------------------------------------------------------------------
这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。
线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制 ......
在java编程思想中对synchronized的一点解释:
1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个 ......
Java连接mysql数据库,代码经过运行准确无误。
下面为实例---->
用数据库操纵工具(例:SQLyogEnt)操纵mysql建表,或dos下建,如下:
数据库名:scutcs
表名:student
表内容:
sno char[7] NO NULL Primary Key;
sname varchar[8] NO NULL;
sex char[2] NO NULL; ......
最近看到一个有意思的树形结构,为每个节点添加了lft
和
rgt
两个属性。这样查找该节点的子节点、
查找该节点所有父节点,就不用去递归查询,只需要用
between
、
and
语句就可以实现。下面以创建一个栏目树为例,以下是我的理解。
一般来讲,我们创建栏目树的时候,大多只需要一个外键parentid
来区分该节点 ......