java 多线程
package server;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Bounce {
public static void main(String[] args) {
JFrame frame = new BounceFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE));
frame.setVisible(true);
System.out.format("%d",2);
}
}
class Ball
{
private static final int XSIZE = 15;
private static final int YSIZE = 15;
private double x = 0;
private double y = 0;
private double dx = 1;
private double dy = 1;
public void move(Rectangle2D bounds)
{
x += dx;
y += dy;
if (x < bounds.getMinX())
{
x = bounds.getMinX();
dx = -dx;
}
if (x + XSIZE >= bounds.getMaxX())
{
x = bounds.getMaxX() - XSIZE;
dx = -dx;
}
if (y < bounds.getMinY())
{
y = bounds.getMinY();
dy = -dy;
}
if (y + YSIZE >= bounds.getMaxY())
{
y = bounds.getMaxY() - YSIZE;
dy = -dy;
}
}
public Ellipse2D getShape()
{
return new Ellipse2D.Double(x,y,XSIZE,YSIZE);
}
}
class BallPanel extends JPanel
{
private ArrayList<Ball> balls = new ArrayList<Ball>();
public void add(Ball b)
{
balls.add(b);
}
&nbs
相关文档:
Java 多线程编程之三:synchronized 关键字的使用
带有 synchronized 关键字的方法代表这个方法加锁。恰当而又灵活地运用 synchronized 关键字,是多线程编程的必修课。
1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多 ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
一.点击图书,展示该书的详细信息
点击图书→books页面→通过url重写displayBook.jsp?isbn=该书编号 →传入displayBooks页面→
<c:set var="isbn" value="${param.isbn}"></c:set>
<c:forEach var="currentBook" items="${sessionScope.bookTitles}">
<c:if test="${ ......
安装与设置JDK
Sun JDK的安装基本上有两种方式:
1. 通过Ubuntu提供的包管理工具进行安装
Ubuntu在其包仓库里都包括有JDK的安装,只要sources.list设置正确,通
过apt-get, aptitude, Synaptic Package
Manager等都能安装,而且相关的设置也容易得多;在Ubuntu的新
发布版本里都带了JDK5.0,和JDK6.0的安装支持,而且 ......
JAVA的程序开发,第一步是针对JAVA搭建其应用开发平台。关于JDK的下载与安装在此不过多介绍,网上相关链接较多。平台的搭建一个基础步骤且关键步骤就是:java环境变量的配置。网上关于JAVA的环境变量设置方法很多,起初接触JAVA肯定有许多不明白的地方,我们需要把步骤尽量的简化,本人觉得比较有效的方法如下 ......