`
01robert
  • 浏览: 74495 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

读"Think in Java"后笔记(1)

阅读更多
有在它初使化时才分配空间。

String[] arrNames=new String[5]; 这条语句也并没有对arrNames[0],arrNames[1] 等实例化,只对是arrNames实例化了

public class MyObject {
MyObject(){
System.out.println("MyObject is created!");
}

public static void main(String[] args){
MyObject[] myObjects =new MyObject[5]; // nothing printed in thing line.
System.out.println("By now, nothing has been printed. myObjects have not been created!");
myObjects[0]=new MyObject(); //involve MyObject's Constructor.
}
}

 

2. 线程

2.1 一个简单的Thread只需要继承Thread类,将自己的运行的内容写入run方法中。然后在需要启动的地方调用myClass.start()方法就可以了。

public class TestThread extends Thread {
private int count=5;
private static int threadCount=0;
public String toString(){
   return super.getName()+" " + (count--);
}
public TestThread(){
   super("#Thread" + (++threadCount));
start();
}
public void run(){
   while(true){
    System.out.println(this);
     if (count==0) return;
   }
}
}

 

2.2 deamon的含义是后台运行程序。它也是Thread类的一个属性。当通过MyThread.setDeamon(True)设置一个Thread为Deamon后,这个线程将在调用都后台运行,当调用者终止后它也一起自动终止。

2.3 当一个类需要继承另外的类的时候,再直接继承Thread就不可以了,这时可以让这个类实现Runnable接口(就一个run()方法),然后用new Thread(new MyClass())的方法来实际新建线程的目的。

public class RunnableThread implements Runnable {
private int countDown = 5;
public String toString() {
return "#" + Thread.currentThread().getName() +
": " + countDown;
}
public void run() {
while(true) {
System.out.println(this);
if(--countDown == 0) return;
}
}
public static void main(String[] args) {
for(int i = 1; i <= 5; i++)
new Thread(new RunnableThread(), "" + i).start();
// Output is like SimpleThread.java
}
}

 

2.4 考虑到每加一种线程单独增加一个类有时显得不简洁,这时使用内部类(innerClass)是一个不错的选择。

 

分享到:
评论

相关推荐

    王者归来之Thinking in java读书笔记

    《王者归来之Thinking in Java读书笔记》是对Bruce Eckel的经典之作《Thinking in Java》第四版的深度学习与总结。这本书是Java程序员的必备参考书,它深入浅出地阐述了Java语言的核心概念和技术,旨在帮助读者理解...

    Think in java读书笔记

    《Think in Java》读书笔记深度解析 一、构建器(Constructor) 构建器是Java中用于初始化新对象的一种特殊方法,其显著特征是没有返回值类型,包括`void`。这一点与普通方法形成鲜明对比,普通方法即便没有实际...

    Think In Java 学习笔记

    《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...

    Think in java学习笔记

    ### Think in Java 学习笔记知识点总结 #### 第1章:对象导论 - **一切皆为对象**:Java 中的几乎所有事物都是对象,对象通过发送消息的方式进行交互。 - **对象模型**:每个对象都有自己的存储空间,该空间由其他...

    原版think in java4

    《原版Think in Java 4》是一本深受程序员喜爱的经典Java编程教材,由 Bruce Eckel 撰写。这本书以其深入浅出的讲解方式和全面的内容覆盖,成为了学习Java语言的重要参考书籍。中文版的出现使得更多的中国读者能够无...

    java1think in java笔记(111)---打印 (2008-04-24 16:58:28)

    Java编程中的打印功能是应用程序与打印机交互的重要环节。在给定的代码中,我们看到一个名为`PrintDemo`的类,这个类展示了如何在Java中使用`Graphics`对象进行文本和图形的打印。以下是该代码涉及到的主要知识点: ...

    java学习资料/笔记整理(二)

    java学习资料/笔记整理,含java语言入门中文版、JDK1.4.2手册、JSP由浅入深、Think In Java(中英文)、Thinking_in_Java_chinese_version、精通swing程序设计等8个编译的HTML帮助文档....

    thinkinjava源码-learn-think-in-java:学习ThinkinJava的笔记和

    这个压缩包"thinkinjava源码-learn-think-in-java"包含了作者在阅读和学习《Think in Java》时的笔记和代码实现,这为我们提供了宝贵的实践示例和理解书中理论的窗口。 1. **源码分析**:学习源码是提高编程技能的...

    恒生电子JAVA笔试试题-Thinking-In-Java-Notes:ThinkinginJava学习笔记

    Java》共计22章,达800多页,重点难点章节集中在后半部分,计划学习时间为2016/7/7-2016/7/14,部分章节有过学习经历,结合情况采取前半部分内容快速学习和总结,后半部分预期以较慢速度学习并且每天回顾。...

    java离线文档系列.7z

    最后,"Think In Java.chm"同样源于《Thinking in Java》,这本电子版可能包含完整的书本内容,包括类与对象、泛型、并发、IO流等主题,是提高Java编程思维的重要教材。 总的来说,这个压缩包为Java初学者和进阶者...

    从Java菜鸟到专家的资料

    2. **Think In Java.chm**:这是经典的《深入思考Java》电子版,作者Bruce Eckel深入浅出地讲解了Java语言的核心概念,包括面向对象编程、集合框架、多线程、异常处理等内容,是Java初学者必读的书籍之一。...

    各类chm文件大集合,以及java web学习比较

    css参考手册.chm ...JavaScript参考手册中文版.chm java包(简例)中文版.chm ...Think In Java.chm Browser对象笔记.doc DHTML笔记.doc HTML DOM笔记.doc javascript笔记.doc JQuery笔记.doc XML笔记.doc

    Notes:This is a learning note | Java基础,JVM,源码,大数据,面经

    Think In Java Java容器 Java并发 Java Concurrency in Practice 对象的共享 对象的组合 基础构建模块 JavaGC监控与优化 垃圾回收机制 垃圾回收机制的监控 优化垃圾回收机制 Apache的MaxClients参数详解及其在Tomcat...

    thinkInJava:编程思想源码及答案笔记

    《编程思想源码及答案笔记》是一份深入探讨Java编程技术的宝贵资源,它基于《Think in Java》这本书,该书由Bruce Eckel撰写,是许多程序员学习Java的首选教材。这份笔记结合了书中的理论知识与实际源码,旨在帮助...

    求职英语 面试英语 英语 求职

    例如,你可能需要准备如何用英语表达自己的专业技能(如:“I specialize in software development and have hands-on experience with Java and Python.”)、工作成就(如:“During my previous role, I led a ...

Global site tag (gtag.js) - Google Analytics