首页 > 编程语言 >ON JAVA 8读书笔记|前言

ON JAVA 8读书笔记|前言

时间:2023-08-19 23:13:44浏览次数:42  
标签:Java 语言 读书笔记 对象 编程 版本 JAVA 前言

ON JAVA 8这本书是基于Java 8的特性进行编程教学的,同时也根据Java11、Java17这三大LTS【长期支持版本】版本新特性做了关键更新。

 Java 8最大的改进是引入了函数式编程【lambda表达式、流(stream),函数式基本类型(functional primitive)】,这也是Java 8 经久不衰的原因,是里程碑式的版本【Java 8 比 Java 17还要支持久一年】。但Java与例如Python2与Python3算是两个完全不互通的编程语言不同,Java有招向后兼容【指新的版本的软/硬件可以使用老版本的软/硬件产生的数据】的特性,Java依旧是类"Smalltalk"的面向对象编程语言。

 Java是一门派生语言,由于早期程序员并不想用当时最流行的C/C++来开发项目就创建了和C/C++有相似之处但又完全不同的新编语言,该语言最大的改动就是加入了虚拟机和垃圾收集机制---Java就由此诞生了。Java还有一个最主要也是最重要的概念--“对象”,“对象”这个概念是毁誉参半的,有些人断定对象的概念是彻头彻底的失败应该丢弃,而“万物皆可对象”的slogan也是说明这个概念的成功。

 

编程是一门管理复杂性的艺术,而问题的复杂程度取决于机器的复杂程度,这种复杂性的存在就会导致编程项目的失败。

每一种语言都会存在设计缺陷,就如人一样没有完美的人。理解语言和库的设计缺陷是非常有必要的,因为会影响到程序员的生产力,理解了设计缺陷就会告诉我们那些语言能很好的去做什么,不能去做什么。所以Java“对象”的概念是有一定的设计缺陷的---“把所有内容都封装成对象不仅是一种负担,而且还会将程序设计推向错误的方向”。

标签:Java,语言,读书笔记,对象,编程,版本,JAVA,前言
From: https://www.cnblogs.com/sanzhou-bolg/p/17643395.html

相关文章

  • JAVAEE基础知识
    JAVAEE基础知识2018年3月,开源组织Eclipse基金会宣布,JavaEE(EnterpriseEdition)被更名为JakartaEE,也就是9版本后改名JakartaEE,也就是JakartaEE9。JavaEE(JavaPlatform,EnterpriseEdition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本。这个版本以前称为J2EE......
  • JavaScript性能优化指南:加速前端应用的加载速度
    在当今互联网发展迅猛的时代,用户对于网页加载速度的要求也越来越高。JavaScript是前端开发中不可或缺的一部分,但它也可能成为网页加载变慢的原因之一。本篇文章将带您了解一些JavaScript性能优化的最佳实践,以加速前端应用的加载速度。1.压缩和合并JavaScript文件减少JavaScrip......
  • JavaScript
    JS1.js导入方式1.1内部标签<script></script>1.2外部引用a.jsalert("hellojs");<scriptsrc="a.js"></script>2.基本语法<!DOCTYPEhtml><htmllang="en"><head><metacharse......
  • java基础运算符04(扩展运算符,三元运算符,包机制)
    扩展赋值运算符扩展赋值运算符属于比较偷懒的一种方式,+=,-=,*=,/=都是同样的原理和运用方式,不深入学习,就代码示例一下publicclassDemo{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//a=a+bSystem.out.prin......
  • Java集合相关知识
    1、Collection的使用importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;publicclassMain{publicstaticvoidmain(String[]args){//创建集合Collectioncollection=newArrayList();//添加元素......
  • Java I/O流相关操作
    一、FileReader读入数据的基本操作适用于纯文本文件,如TXT文件使用throws的方式处理异常packagecom.java.main;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;publicclassTestStream{ publicstati......
  • JAVA 进制转换
    1.10进制转换16进制Stringhex=Integer.toHexString(numb);2.10进制转换n进制Stringhex=Integer.toString(10,n);3.n进制转换10进制方法1.BigIntegerhex=newBigInteger("字符",n);intnum=hex.intValue();System.out.println(num);方法2.int hex=Integer......
  • Java中BigDecimal怎样取反
    在Java中,正确的类名应该是BigDecimal,而不是bigdemcial。BigDecimal用于高精度的十进制计算。要对BigDecimal对象进行取反操作,可以使用negate()方法。以下是一个示例:importjava.math.BigDecimal;publicclassMain{publicstaticvoidmain(String[]args){BigDe......
  • java实现本地数据与阿里云MySQL数据同步:动态表创建与数据更新
    在开发应用程序时,经常需要将数据从一个数据源(如API、外部数据库等)同步到本地数据库中。这可能涉及到不同的表结构和数据模式。在这种情况下,一个主要的挑战是,如果本地数据库中的表结构与源数据不匹配,应该如何自动适应这些变化并确保数据同步的顺利进行。解决方案:动态表创建与数据......
  • KubeSphere 社区双周报 | Java functions framework 支持 SkyWalking | 2023.8.4-8.17
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.08.04-2023.08.17。贡献者名单新晋KubeSphereCon......