`
悲剧了
  • 浏览: 144338 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

thinking in java 读书笔记(一)

 
阅读更多
前言:准备再次看看这本经典书籍,以前看过两遍,现在想想,觉得效果不是特别好,所以准备好好看第三遍

写在前面的话:

  作者在里面提出了几个观点--java本身的目的是提高开发的效率,尽管有性能问题,还说了一个自己没弄懂得观点

引用

程序设计与对复杂性的操控有很大的关系:对一个准备解决的问题,它的复杂程度取决用于解决它的机器的
复杂程度。正是由于这一复杂性的存在,我们的程序设计项目屡屡失败。对于我以前接触过的所有编程语
言,它们都没能跳过这一框框,由此决定了它们的主要设计目标就是克服程序开发与维护中的复杂性。当
然,许多语言在设计时就已考虑到了复杂性的问题。但从另一角度看,实际设计时肯定会有另一些问题浮现
出来,需把它们考虑到这个复杂性的问题里。不可避免地,其他那些问题最后会变成最让程序员头痛的。例
如,C++必须同C 保持向后兼容(使C 程序员能尽快地适应新环境),同时又要保证编程的效率。C++在这两
个方面都设计得很好,为其赢得了不少的声誉。但它们同时也暴露出了额外的复杂性,阻碍了某些项目的成
功实现(当然,你可以责备程序员和管理层,但假如一种语言能通过捕获你的错误而提供帮助,它为什么不
那样做呢?)。作为另一个例子,Visual Basic(VB)同当初的BASIC 有关的紧密的联系。而BASIC 并没有
打算设计成一种能全面解决问题的语言,所以堆加到VB 身上的所有扩展都造成了令人头痛和难于管理和维护
的语法。另一方面,C++、VB 和其他如Smalltalk 之类的语言均在复杂性的问题上下了一番功夫。由此得到
的结果便是,它们在解决特定类型的问题时是非常成功的。

   我直接看晕了作者提出了通信,java的本身的易用性,然后就没了,通信不是bit是人与人之间的交流关系,这不是现在的手机开发吗?又让我想学android,有时间自己捣鼓捣鼓

   还有关于java很强大的观点
  
引用
只有在考虑“设计”、而非考虑简单的编码时,才可真正体会到Java 的强大。为了按这种方式理解Java,首先必须掌握它
与编程的一些基本概念。本书讨论了编程问题、它们为何会成为问题以及Java 用以解决它们的方法。所以,
我对每一章的解释都建立在如何用语言解决一种特定类型的问题基础上。按这种方式,我希望引导您一步一
步地进入Java 的世界,使其最终成为您最自然的一种语言。



第一章:对象


  为什么要使用对象,你是怎么创建对象的,只是new,让我想到effective java 第一章就是扯这个,不同的创建方式
  对象--类  类有接口  抽象累 继承类 这么多概念
  对象创建和存在时间 --jvm虚拟机知识可以好好在这方面深入,如果事先不知道需要多少个对象,或者它们的持续时间有多长,那么也不知道如何保存那些对象。既然如此,怎样才能知道那些对象要求多少空间呢?事先上根本无法提前知道,除非进入运行期
  说明集合的问题,各种集合设计不同,性能肯定也不同,导致不同的应用场景分别使用特别是现在jdk5加入的新东东
    单根结构方式--Object,c++为什么不用,就说了个什么灵活性就带过了,前面还说java这样是为了灵活性,c++是为了更大的灵活性,自己对c++只停留在语法方面,没怎么用过,所以具体也只能听作者胡片了,java的好处统一控制,设计垃圾收集机制之类的方便很明显可以看出来

1.73
   再次谈到集合库,jdk里面最重要的两个库之一啊,io,util 集合的设计与使用无出不在,java坚实的基础,话说我还没自己做过性能方面的测试,只是看别人分析过

  参数化集合--编译器基本的控制,编译器为此做了很多工作
运行期的代码就绝对是转换过的,c++人家是运行期来搞,这个语法糖什么的

1.7.4
    提到c++可以在栈上面创建对象,又是c++无限的灵活性与复杂性,java没这个功能与java怎么解决这个问题,通用性的解决势必会有很多不好,但是却减少了复杂性


1.8异常
   java异常控制是一开始就封住好的,语言基本的,编写是编译器必须要求你写,effective java 异常那讲得很好,怎么处理异常本身也是好的软件必须的东西,我们现在的项目在这方面考虑就不是很好。

1.9多线程
    多线程的好处很多,cpu均与的处理每个要处理的问题就像有多个cpu,灯泡不是一直发光,我们认为他一直发光是一样的。java提供的锁定机制,并提到其他编程语言要程序员自己锁定,那么不用java的锁定机制,自己能编程锁定吗?这个貌似要精确实现不好弄啊,要写个队列,排个对,然后队列前面那个每次去看看这个资源的标志量改变了没有,改变了自己就用,然后就设置标志量,以前学操作系统的时候用c模拟过。
java现在还提供了lock机制,还有train关键字吧

1.10永久性
   这个不是实现那个序列话Serializable接口吗?
1.11
1.12
   没什么可说,web开发这么久,分析设计不是那么容易想得明白的事情,能力有限


分享到:
评论

相关推荐

    Thinking in Java读书笔记

    ### Thinking in Java 读书笔记知识点总结 #### 一、万事万物皆对象 1. **对象存储位置** - **寄存器**:程序无法直接控制。 - **栈(Stack)**:存储基本类型数据和对象引用,但对象本身不在此处。 - **堆(Heap)...

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

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

    thinking in java读书笔记

    ### Thinking in Java 读书笔记知识点总结 #### 一、构造器与方法重载 1. **构造器的特点**: - 构造器不返回任何值,与返回`void`不同。 - 当未在类中声明构造器时,编译器会自动生成一个默认的无参构造器。 - ...

    thinking in java 读书笔记(五)

    这篇读书笔记主要聚焦在第五部分的内容,可能涵盖了类、对象、继承、多态等关键主题。由于没有具体的描述内容,我将根据《Thinking in Java》第五部分的一般性知识点进行阐述。 1. **类与对象**:在Java中,类是...

    Thinking in java读书笔记.docx

    这些只是《Thinking in Java》中的一部分内容,全书还包括类、接口、多态性、异常处理、集合框架、并发编程等多个主题,是Java学习者的宝贵资源。理解和掌握这些基础知识是成为一名熟练Java程序员的关键步骤。

    thinking in java读书笔记(2)

    `final` 关键字是 Java 中的一个保留字,用于修饰变量、方法和类。`final` 关键字的使用有以下几点: 1. 当一个变量被声明为 `final` 时,该变量的值不能被改变。 2. 当一个方法被声明为 `final` 时,该方法不能被...

    读书笔记:Thinking in Java (Java 编程思想).zip

    读书笔记:Thinking in Java (Java 编程思想)

    《Thinking+in+Java》读书笔记共38页.pd

    总之,《Thinking in Java》的读书笔记结合了广泛的Java知识和实践应用,从基础知识到高级主题,从理论到实践,为学习和提升Java编程技能提供了全面的资源。无论是对初学者还是经验丰富的开发者,这都是一个宝贵的...

    java基础补足和thinking In Java学习.rar

    《Java学习笔记》 此书的特点在于里面有很多作者对Java语言的独有的理解与讲解,这些内容往往也是所有Java语言初学者迷惑的地方。称之为超简明入门书籍也不为过。 《Java核心技术:卷1基础知识》 这系列...

    JAVA 编程思想 思维导图Thinking_in_Java_MindMapping-master

    用了1个月时间,把《Java编程思想》读了一遍。然后用Mindjet Mindmanager做了读书笔记,跟大家分享一下~ 1. 这个思维导图的读书笔记没有涵盖书中的所有知识点,但是作为框架和读书的思路比较清晰。 2. 思维导图中有...

    TIJ4Reusing Classes

    thinking in java 4 Reusing Classes 读书笔记

    BookReading:读书笔记

    《BookReading:读书笔记》项目是一个专注于Java编程的个人学习资源库,旨在帮助开发者通过阅读和整理书籍来提升自己的技术能力。在这个项目中,你将找到一系列与Java相关的读书笔记,这些笔记涵盖了从基础概念到高级...

    java软件笔试题-MyNotebook:我大学时期的笔记本

    java软件笔试题 my notebook 我的笔记本,大部分是在大二大三的时候写的笔记,对于已经毕业的来说可能比较基础甚至naive。...7:读书笔记 thinking in java effective java Android开发艺术探索 Android插件化开发指南

    j_bc_bj.rar_Java编程_Java_

    《java编程思想读书笔记.doc》可能是一个详细记录了读者在阅读经典著作《Thinking in Java》时的心得体会和重要知识点总结。这本书深入浅出地介绍了Java的核心概念,包括面向对象编程的基础,如类、对象、封装、继承...

Global site tag (gtag.js) - Google Analytics