Java-学习笔记-1-概述

简介: 不足之处,欢迎专家、同行、读者批评指正。 源起 Java语言的前身是oak语言——oak是在1991年诞生于Sun公司的研究项目,由 James Goslingt 和 Patrick naughton 这两位大牛负责。

不足之处,欢迎专家、同行、读者批评指正。

源起

Java语言的前身是oak语言——oak是在1991年诞生于Sun公司的研究项目,由 James Goslingt 和 Patrick naughton 这两位大牛负责。这个项目最初是为了给消费级电子设备(通俗点说就是家用电器)提供一个通用的开发环境,结果并不成功。这个不成功说的是这个项目它不赚钱,不是说这个oka没开发出来。

简单说一下这个oka。一开始他们本来是打算用c++的,但是C++的安全性差。所以他们就参考C++开发了一个新语言,oak。也就是C特性的一些语法,加上安全性方面的机制。

回来接着说这个项目。正所谓乱世出英雄,这个生不逢时的oak项目,在互联网时代迎来了曙光。因为它的三大特性:跨平台、面向对象、安全性高,正好符合互联网的需要。跨平台,这个是他们一开始就设计好的,因为当初就是为了解决不同设备的通用环境问题。面向对象,这个是C++的特性。安全性,这个是他们自己补充的。但是oak不是拿来就能在Internet上直接用的,所以他们就结合互联网的需求,重新设计了一下oak,最后把它取名叫做Java——没错,就是爪哇,图标都配的是当地特产咖啡。这是在1995年,Java正式面世。

Java与C++的比较

先说它们两个的相同点:它们都是面向对象的——Java当初在设计的时候就向C++借鉴了这一点。所以他们在语法上也非常相似。

接下来再说说它们的不同点。它们最大的不同就是:Java不支持指针,而C++是支持指针的。指针对于编程新手来说,非常的不友好。甚至可能在开发的过程中造成严重的后果。而Java由于不支持指针,从一开始就限制了程序员不能使用指针,主动避免了这个问题。所以说Java比C++简单了很多。这也是Java广受欢迎,应用广泛的原因之一。

第二个不同点。Java 需要被编译成虚拟机的字节码,通过虚拟机来运行。而C++则是直接编译成机器码,然后直接运行。由此可以看出,Java的运行效率是不如C++的。

第三个不同点。Java 中最基本的数据类型都有规定的字节大小。而C++中数据类型的字节大小,要看它具体是怎么实现的。Java中所有对象都是按引用传递的。而C++中的对象都是按值传递的。

第四个不同点。C++保留了许多 C 的功能,这些是面向底层的。Java 中去除了这些功能。同时,Java 用垃圾回收代替了程序员自己释放内存,还放弃了运算符重载和多重继承等这些c++的功能。但在Java的实际编程操作中,我们可以利用接口来实现有限制的多重继承。

第五个不同点。Java更关注的是安全性,可移植性和快速开发。C++则是关注性能和对C向下兼容。

相关文章
|
4月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
1月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
49 0
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
2月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
46 0
|
2月前
|
Java 程序员 开发工具
java学习笔记
java学习笔记
48 0
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
|
3月前
|
安全 Java API
Java 18 概述:新特性一览
Java 18 作为 Java 平台的最新版本,引入了多项令人振奋的新特性和改进,包括模式匹配、记录类型、流库改进、外部函数与内存 API 以及并发处理增强。这些新功能不仅提升了开发者的生产力,还显著增强了 Java 的性能和安全性。本文将详细介绍 Java 18 的主要新特性,并通过代码示例帮助读者更好地理解和应用这些功能。
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
65 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
190 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)