目录
认识 Java
Java是前Sun公司(现甲骨文股份有限公司)于1995年推出的高级编程语言,Java技术可以应用在几乎所有类型和规模的设备上,小到计算机芯片、蜂窝电话,大到超级计算机,无所不在。Java的初期开发早在1991年就开始了。当时,在前Sun公司内,有一个称为Green的项目,在James Gosling的带领下,这个项目的工程师受命设计一种小型的计算机语言,用于机顶盒、家电控制芯片等消费类设备。最初,这种新语言被命名为“Oak”(James Gosling办公室窗外的橡树名),但后来由于“Oak”这一名称已被占用,因此改名为“Java”。据说这是因为当时人们在想新名称的时候,正在品尝着一种来自印度尼西亚的爪哇小岛盛产的咖啡(这种咖啡也称为Java),于是就选用了 “Java” 一种咖啡的名称作为新语言的名称,所以Java语言的标志就是一杯热气腾腾的咖啡。Java语言的创始人James Gosling也被人们誉为 “Java语言之父”
Java 语言的特点
-
面向对象
面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。
面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征 (属性) 以及行为特征(方法)提取并出来,并以固定的形式表示。
-
简单好用
Java语言是由C和C++演变而来的,它省略了C语言中所有的难以理解、容易混淆的特性(比如指针),变得更加严谨、简洁、易使用。
-
健壮性
Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。 另外,在Java语言中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的自动收集等),有效地减少了错误,使得Java应用程序更加健壮。
-
安全性
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击,从而可以提高系统的安全性。
-
跨平台
Java平台无关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
-
多线程
在C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持。多线程机制使应用程序在同一时间并行执行多项任务,该机制使得程序能够具有更好的交互性、实时性。
-
分布式
Java语言具有强大的、易于使用的网络能力,非常适合开发分布式计算的程序。Java中提供了网络应用编程接口(java.net),使得我们可以通过URL、Socket等远程访问对象。
Java的三大特性
1、封装
利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。用户无需知道对象内部的细节,但可以通过对象对外提供的接口来访问该对象。
可以按照如下图进行理解
设计的时候可以将学生中实体封装起来,内部隐藏id这个属性。外部只允许调用公开的属性和方法。
属性是名字、学号、年龄、 行为为学习 优点:
-
减少耦合: 可以独立地开发、测试、优化、使用、理解和修改
-
减轻维护的负担: 可以更容易被程序员理解,并且在调试的时候可以不影响其他模块
-
有效地调节性能: 可以通过剖析确定哪些模块影响了系统的性能
-
提高软件的可重用性
-
降低了构建大型系统的风险: 即使整个系统不可用,但是这些独立的模块却有可能是可用的
2、继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承实现了 IS-A 关系,例如 Cat 和 Animal 就是一种 IS-A 关系,因此 Cat 可以继承自 Animal,从而获得 Animal 非 private 的属性和方法。
继承应该遵循里氏替换原则,子类对象必须能够替换掉所有父类对象。
Cat 可以当做 Animal 来使用,也就是说可以使用 Animal 引用 Cat 对象。父类引用指向子类对象称为 向上转型 。
Animal animal = new Cat()
3、多态
多态性是指允许不同子类型的对象对同一消息作出不同的响应。
例如:小猫小狗都是动物的子类,但是小猫会喵喵喵,小狗会汪汪汪。
多态分为编译时多态和运行时多态:
-
编译时多态主要指方法的重载
运行时多态指程序中定义的对象引用所指向的具体类型在运行期间才确定
运行时多态有三个条件:
-
继承
-
覆盖(重写)
-
向上转型
Java 的作用
Java是一种跨平台的编程语言,具有广泛的应用领域。以下是Java能够完成的一些任务:
-
Web应用程序开发:Java可以用于开发Web应用程序,如电子商务网站、社交媒体平台、在线银行系统等。
-
移动应用程序开发:Java可以用于开发移动应用程序,如Android应用程序。
-
大数据处理:Java可以用于大数据处理,如Apache Hadoop和Apache Spark。
-
游戏开发:Java可以用于开发游戏,如Minecraft。
-
人工智能和机器学习:Java可以用于开发人工智能和机器学习应用程序,如TensorFlow和Apache Mahout。
-
企业应用程序开发:Java可以用于开发企业应用程序,如客户关系管理系统、供应链管理系统等。
-
金融应用程序开发:Java可以用于开发金融应用程序,如交易系统、风险管理系统等。
-
桌面应用程序开发:Java可以用于开发桌面应用程序,如Eclipse和NetBeans。
-
云计算:Java可以用于开发云计算应用程序,如Amazon Web Services和Microsoft Azure。
需要掌握的技能
第一部分:Java基础 主要涉及:Java基础语法、面向对象、核心类库、集合、异常、IO、线程、JDK新特性等知识点.
第二部分:JavaWeb开发 主要涉及:前端技术、数据库、JAVA数据库操作、软件服务器及服务器相关技术、动态网页JSP、AJAX等知识点.
第三部分:Java高级框架 主要涉及:SpringMVC、MyBatis、Spring、MySQL高级、Linux&Redis&Nginx、Maven等知识点
第四部分:大型微服务分布式技术 主要涉及:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、SpringSecurity、BCrypt加密、FastDFS、分布式事务处理、RedisCluster、Solr、SolrCloud、Freemarker、JMS、短信发送平台、SSO解决方案、CORS、Twitter的Snowflake、SpringTask、MavenProfile、MongoDB简介、MyCat、Docker、Jenkins等知识点。
Java学习路线(仅供参考)
JavaSE >> Web前端基础 >> MySQL >> Java Web >> SSM框架 >> 大前端阶段 >> 微服务开发 >> Linux运维 >> 常用中间件 >> 企业常用第三方技术
学习标语
-
冰冻三尺,非一日之寒
-
a.学了什么?为什么学?怎么去学?
-
多学多实践,多记多理解