Java基础知识之Java语言概述
作者:junjie 发布时间:2023-11-28 04:36:35
Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。
2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。
Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。
Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。
Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。
在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。
Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了C++,请见下表:
尽管人们发现C++的语法太复杂,有很多冗余,但是 Java 在设计的时候还是尽可能的接近C++,降低人们的学习成本。Java 语法是 C++ 语法的一个“纯净”版,没有头文件、指针运算(也没有指针语法)、结构、联合、运算符重载、虚基类等。有C++基础的读者,可以轻易地切换到Java。
Java 的应用非常广泛:
1.Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。
2.Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。
3.客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。
4.嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。
但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。
Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机(下节将会详细介绍)。直接投放市场的面向普通用户的客户端程序,用Java开发的很少。
在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。
Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。
猜你喜欢
- 最近需要对接支付宝的支付接口,官方文档写得内容有点分散,整理了一下发布出来,用作记录,同时也希望对不了解情况的人有所帮助,这里以电脑端的网页
- 前言前面介绍了APP顶部导航栏AppBar,今天来介绍下Flutter实现APP底部导航栏。我们以仿写微信的底部导航栏来举例说明。要实现类似
- 一、堆排序1、什么是堆排序(1)堆排序:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构
- 前言AndroidStudio升级到3.0之后,gradle版本也随之升级到了3.0.0版本。当gradle插件升级到3.0.0及以上后,我
- 一、结构型模式结构型模式有什么好处?从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题二、适配器模式USB网线转换器三、
- 本文实例为大家分享了Java实现简单酒店管理系统的具体代码,供大家参考,具体内容如下为某个酒店编写程序:酒店管理系统,模拟订房、退房和打印所
- 先说一下对异步和同步的理解:同步调用:调用方在调用过程中,持续等待返回结果。异步调用:调用方在调用过程中,不直接等待返回结果,而是执行其他任
- 阿里终面在线编程题,写出来与大家分享一下 有一个单向链表
- @GetMapping和@GetMapping(value=““)区别背景初期对于@GetMappi
- 0. Iochttps://docs.spring.io/spring-framework/docs/current/spring-fram
- ArrayList的构造方法(前置知识)可快速过一些基本成员变量:// 默认初始大小private static final int DEF
- 前言这里主要简单介绍如何使用Camera+SurfaceView自定义相机拍照,如果是Camera2或者是TextureView的可以前往主
- 使用RateLimiter通过AOP方式进行限流1、引入依赖<!-- guava 限流 --><dependency>
- 作为开发人员,掌握开发环境下的调试技巧十分有必要。我们在编写java程序的过程中,经常会遇到各种莫名其妙的问题,为了检测程序是哪里出现问题,
- 仅供学习交流,禁止商业用途。如侵害利益,联系必删!前言最近一位小伙伴钟爱二次元文化,于是找到半次元这个app,但是很快他就遇到了问题。一、案
- 一、基本定义Arrays类,全路径java.util.Arrays,主要功能为操作数组,Arrays类的所有方法均为静态方法,所以调用方式全
- 本文实例讲述了Android基于SoftReference缓存图片的方法。分享给大家供大家参考,具体如下:Java中的SoftReferen
- Jetty和tomcat的比较Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。架
- pom.xml配置<dependency> <groupId>org.springframework.
- 一. 线性表中的顺序表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见