JAVA核心技术学习笔记(第七版,Ⅱ高级特性)

1.Rectangle2D.Double(double x, double y, double w, double h)根据指定坐标构造和初始化一个Rectangle2D。
       Rectangle的完整路径为:java.awt.geom.Rectangle2D。其中geom代表geometric,几何,几何学。Rectangle2D类描述通过位置(x,y)和(w,h)定义的矩形。
 
2.Ellipse2D.Double(x, y, XSIZE, YSIZE)用于生成一个椭圆。
 
3.g2 = (Graphics2D)g;    g2.fill(ball.getShape());
ball.getShape()即为获得Ellipse2D。g2.fill(ball.getShape())用于填充该椭圆。
注意,每次的repaint方法都将填充图形清除。
为了实现多线程效果,这里使用了一个ArrayList<Ball>来存储各线程的target(即用椭圆表示的小球)。
 
4. 使用java.util.concurrent.locks.ReentrantLock可重入锁机制,来保证线程同步。具体步骤为:
    (1)创建锁。ReentrantLock lock = new ReentrantLock(); 该锁是作为某个对象的属性出现的,以表示该对象的锁。该对象的方法都可以使用该锁。
    (2)使用锁。lock.lock(); 为一组操作语句设置临界区。同一时刻,只能有一个进程进入临界区。
    
 

你可能感兴趣的:(java,职场,学习笔记,核心技术,休闲)