java初学
来源:互联网 发布:seo关键词挖掘 编辑:程序博客网 时间:2024/05/02 12:45
最近学了一点java,悔不当初啊。大学都上完了,才开始学java。疑惑之处:创建线程有两种方法:1是集成 Thread(),2是实现Runnable接口。都要重写run()方法。
public class TestDeadLock implements Runnable {public int flag = 1;static Object o1 = new Object(), o2 = new Object();public void run() {System.out.println("flag=" + flag);if(flag == 1) {synchronized(o1) {try {Thread.sleep(500);} catch (Exception e) {e.printStackTrace();}synchronized(o2) {System.out.println("1");}}}if(flag == 0) {synchronized(o2) {try {Thread.sleep(500);} catch (Exception e) {e.printStackTrace();}synchronized(o1) {System.out.println("0");}}}}public static void main(String[] args) {TestDeadLock td1 = new TestDeadLock();TestDeadLock td2 = new TestDeadLock();td1.flag = 1;td2.flag = 0;Thread t1 = new Thread(td1);Thread t2 = new Thread(td2);t1.start();t2.start();}}
td1是基于TestDeadLock类创建的对象的引用。存在于栈内存里,指向堆内存的对象。
Thread t1=new Thread(td1);这里我没有理解很清楚。t1是个线程,也就是一个运行的过程,执行的是run()方法。/×以后理解正确率在修改。疑惑之处。
11章错误记录
先上程序
import java.awt.*;import java.awt.event.*;public class TFMath{public static void main(String[] args){//TFFrame tf=new TFFrame();//tf.launchFrame(); new TFFrame().launchFrame();}}class TFFrame extends Frame{TextField num1,num2,num3;public void launchFrame(){/* TextField*/num1=new TextField(10);/* TextField*/num2=new TextField(10);/* TextField*/num3=new TextField(15);Label lbPlus=new Label("+");Button btnEqual=new Button("=");btnEqual.addActionListener(new MyMonitor(this));setLayout(new FlowLayout());add(num1);add(lbPlus);add(num2);add(btnEqual);add(num3);pack();setVisible(true);}} class MyMonitor implements ActionListener{TFFrame tf=null;public MyMonitor(TFFrame tf){this.tf=tf;}public void actionPerformed(ActionEvent e){int n1=Integer.parseInt(tf.num1.getText());int n2=Integer.parseInt(tf.num2.getText());tf.num3.setText(""+(n1+n2));}}
注意18 19 20行已经声明为成员变量。如果再次声明,编译不会出错,运行时候就会出错。
- Java初学
- 初学JAVA
- 初学Java
- Java初学
- 初学JAVA
- Java初学
- 初学java
- 初学java
- 初学java
- 初学java
- 初学JAVA
- 初学Java
- 初学java
- 初学JAVA
- Java初学
- 初学JAVA
- 初学JAVA
- java初学
- java反射的一些方法
- 风格回调函数 vs c++风格虚基类
- 简单的实现STL Agorithm中的sort函数
- H2数据库导出SQL脚本
- Python-smallseg分词
- java初学
- POJ1160-典型DP
- 错在哪~
- [解决方案]Unexpected namespace prefix “xmlns” found for tag Layout
- Linux的分段机制
- UVA 10105 - Polynomial Coefficients
- jdbc控制事务
- 刚刚来到这里的感受
- Hessian入门