Thinking in Java 阅读笔记(有摘抄,也有自己写的总结)
第一章、对象导论
人们所能够解决的问题的复杂性直接取决于抽象的类型和质量
类的出现,使coder
不受限于计算机所能表示的数据类型,利用多层的抽象根据需要构建需要的类型以模拟真实系统
内聚体现为可以直观了解到类实现了一个什么具体功能
组合通过在新类中new
复用类的服务实现新的服务或数据类型
聚合在不干扰现有客户端代码的情况下,修改这些成员,也可以在运行时修改这些成员对象,以实现动态修改程序的行为
程序开发人员按照角色分为:1. 类创建者(哪些创建新数据类型的程序员) 2. 客户端程序员(那些在其应用中使用数据类型的类消费者),客户端程序员的目标是收集各种用来实现快速应用开发的类。类创建者的目标是构建类
强|弱语言类型编程语言区分:当程序运行前|后能够确定类型
单根继承结构:所有的类都继承自单一的基类(类名为Object
),优点:单根继承结构保证所有对象都具备某些功能
容器是用来存对象并且不需要考虑大小,在Java SE5出现之前,容器存储的对象都只具有Java中的通用类型:Object
,单根继承结构意味着所有东西都是Object
类型,所以可以存储Object
的容器可以存储任何东西(在Java SE5的自动包装功能出现之前不可以存储基本类型)
异常不能被忽略,所以它保证一定会在某处得到处理,异常提供了一种从错误状态进行可靠恢复的途径,现在不再是只能退出程序,你可以经常进行校正,并恢复程序的执行,这有助于编写出更健壮的程序
彼此独立运行的部分称为线程,多线程又构成并发,并发的一个隐患:共享资源,常用解决办法使用资源锁
有什么不同见解可以在评论区共同讨论
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现