下面的三个例子应用了不合的方法完成了同样的工作。
实现Runnnable的方法:
- void startAThread0() {
- new Thread(new MyRunnable()).start();
- }
- class MyRunnable implements Runnable {
- public void run() {
- ...
- }
- }
持续Thread的方法:
- void startAThread1() {
- new MyThread().start();
- }
- class MyThread extends Thread {
- public void run() {
- ...
- }
- }
匿名持续Thread的方法:
- void startAThread2() {
- new Thread() {
- public void run() {
- ...
- }
- }.start();
- }
- 不要直接调用run()办法。老是调用Thread.start()办法,这个办法会创建一条新的线程并使新建的线程调用run()。
- 参考:java.lang.Thread, java.lang.Runnable。
应用try-finally
I/O流例子:
锁例子:
- void doWithLock(Lock lock) {
- lock.acquire();
- try {
- ...
- } finally {
- lock.release();
- }
- }
- 如不雅try之前的语句运行掉败并且抛出异常,那么finally语句块就不会履行。但无论如何,在这个例子里不消担心资本邓晔着。
- 如不雅try语句块琅绫擎的语句抛出异常,那么法度榜样的运行就会跳到finally语句块里履行尽可能多的语句,然后彪炳这个办法(除非这个办法还有另一个外围的finally语句块)。
大年夜输入流里攫取字节数据
- InputStream in = (...);
- try {
- while (true) {
- int b = in.read();
- if (b == -1)
- break;
- (... process b ...)
- }
- } finally {
- in.close();
- }
- read()办法要么返回下一次大年夜流里攫取的字节数(0到255,包含0和255),要么在达到流的末尾时返回-1。
- 参考:java.io.InputStream.read()。
(优先)应用标准库的办法:
- void writeStuff() throws IOException {
- OutputStream out = new FileOutputStream(...);
- try {
- out.write(...);
- } finally {
推荐阅读
我们天天应用很多Linux敕令行。我们大年夜网上知道一些技能,但如不雅我们不去演习,我们就有可能忘记。我决定做一个关于技能和桥绫桥的列表,这些技能和桥绫桥对于你来说可能是已经忘记的,或>>>详细阅读
本文标题:关于Java习惯用法的总结
地址:http://www.17bianji.com/lsqh/37140.html
1/2 1