初识Java之概念认知篇

简介: 初识Java之概念认知篇

前言

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。


Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

image.png


如果说Python是面向对象的坟墓,那么Java就是类的终结地狱。


Java创始人

image.png

你发现没Java之父和Python之父他们的区别没,哈哈哈哈!


很明显的说明Java确实要Python更容易秃头,所以要学好Java的童鞋要做好心理准备哟。哈哈哈哈,其实哪有那么严重,谁说程序员就一定会秃头的,这个好像和你的基因有点关联的,开个玩笑,只要大家平时多做运动,不要一个灵感一来,就坐在电脑面前敲一整天的代码,改一整天的bug。要学会放松,适当的思考和创新!


Java发展史


20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。


Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

image.png


由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。


对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。


对于Java的发展我想每一门编程语言都是如此,从解决问题到改善问题,最后不断的一次又一次的升级


Java特点


只说了,好像是有点难,学了Python的人再去看Java有点不想认识它,学了Java的人再去学Python,越学越开心,哈哈哈这样来说这块骨头还是有点硬,我们需要慢慢的去学


回归正题 以下特点


1.简单性

是不是在开玩笑,怎么还是简单的语言了,哈哈哈。有一句话叫做“比上不足比下有余嘛”,它确实比Python要难理解,但是对于编程语言的原始大佬C++来说,它的语法还是先对简单。


例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。


2.面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。这个已经是它的基础了,所以我们才说如果先了解Java再去学Python绝对直呼简单,因为Python的难点就在于类的使用,而Java的基础就是从类开始叠加的。


3.分布性

4.编译和解释性

5.稳健性

6.安全性

7.可移植性

8.高性能

9.多线程性

10.动态性


这些特点我就不一一介绍了,如果有需要的可以去点击这里


Java可以做什么


1、大数据领域

image.png

2、Android应用 

如果你想知道Java应用在哪里,打开你的安卓手机或者任何的App,它们完全是用有着谷歌Android API的Java编程语言编写的,这个API和JDK非常相似。前几年安卓刚开始起步而到今日已经很多Java程序员是安卓App的开发者。顺便一提,虽然我们之前的文章提到的关于安卓App是如何工作的,即安卓使用了不同的Java虚拟机和不同的封装,但是代码仍然是用Java编写的。


3、网站领域

Java同样也在电子商务和网站开发上有着广泛的运用。你可以运用很多RESTfull架构,这些架构是用Spring MVC,Struts 2.0和类似的框架开发出来的。甚至简单的Servlet,JSP和Struts在各种政府项目也是备受欢迎,许多政府,医疗,保险,教育,国防和其他部门的网站都是建立在java之上的。

image.png

4、软件工具


许多常用的软件和开发工具都是运用Java来编写和开发的。比如Eclipse,IneteliJIdea和Netbans IDE。 交易系统第三方交易系统,现已是金融服务产业的一个很大的部分,它们同样也是Java编写。 例如受欢迎的交易平台Murex,它也是Java编写,并与许多的银行前台所连接,提供服务。

image.png其实还有很多,我这里就不一一介绍了!


学好Java的几点建议


第一不要去和Python语言去作比较,因为你发现他们有共同之处,也有不同之处,需要做的是学习他们的类似之处,不要去吐槽Java的难点,因为他的发展史确实要悠久一些,自然沉淀的精华也就多一些。

第二不要盲目的去敲代码,因为Java的语法有一些复杂,不同于Python的简单,多敲必然会很好,但是以为的沉迷于敲也不是有一个正确的学习方法,总的来说,学习Java还是要多理解,多学习基础,只有把基础学好了,才会有很多的创新实践。

相关文章
|
1月前
|
Java C++
Java中ReentrantLock的概念深入理解
Java中ReentrantLock的概念深入理解
15 1
|
1月前
|
Java 调度
Java中常见锁的分类及概念分析
Java中常见锁的分类及概念分析
18 0
|
15天前
|
存储 SQL 安全
Java 安全性编程:基本概念与实战指南
【4月更文挑战第27天】在当今的软件开发领域,安全性编程是一个至关重要的方面。Java,作为广泛使用的编程语言之一,提供了多种机制来保护应用免受常见的安全威胁。本博客将探讨 Java 安全性编程的基本概念,并通过实际示例来展示如何实现这些安全措施。
23 3
|
4天前
|
存储 Java 程序员
Java面向对象编程的基础概念解析
Java面向对象编程的基础概念解析
13 0
|
6天前
|
存储 Java
一文搞懂Java中所有变量概念!
一文搞懂Java中所有变量概念!
17 2
一文搞懂Java中所有变量概念!
|
12天前
|
Java 开发者
Java中的异常处理:从基本概念到最佳实践
【4月更文挑战第30天】 在Java编程中,异常处理是确保程序健壮性和稳定性的关键机制。本文将深入探讨Java异常处理的基本概念,包括异常的分类、异常的抛出与捕获,以及如何有效地使用异常来增强代码的可读性和可维护性。此外,我们还将讨论一些关于异常处理的最佳实践,以帮助开发者避免常见的陷阱和误区。
|
13天前
|
存储 Java 编译器
【Java探索之旅】数组概念与初始化指南:动静结合
【Java探索之旅】数组概念与初始化指南:动静结合
22 0
|
13天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
27 2
|
13天前
|
安全 Java 测试技术
利用Java反射机制提高Spring Boot的代码质量:概念与实战
【4月更文挑战第29天】Java反射机制提供了一种强大的方法来在运行时检查或修改类和对象的行为。在Spring Boot应用中,合理利用反射可以提高代码的灵活性和可维护性。本篇博客将探讨Java反射的核心概念,并展示如何通过反射提高Spring Boot项目的代码质量。
29 0
|
15天前
|
算法 Java API
Java中的多线程编程:概念、实现与挑战
【4月更文挑战第28天】 在现代软件开发中,多线程编程已成为提高应用性能和响应能力的关键工具。特别是在Java这种广泛使用的编程语言中,多线程不仅增加了程序的并发性,还提升了资源利用率和用户体验。然而,多线程编程也带来了设计复杂性、数据一致性和线程安全等一系列挑战。本文旨在探讨Java多线程的核心概念,展现其实现方式,并讨论在设计和开发过程中可能遇到的技术难题及其解决方案。