Java知多少(1) 语言概述
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 的应用非常广泛:
- Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。
- Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。
- 客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。
- 嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。
但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。
Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机(下节将会详细介绍)。直接投放市场的面向普通用户的客户端程序,用Java开发的很少。
在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。
Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。
系列文章:
Java知多少(1) 语言概述的更多相关文章
- Java知多少(66)输入输出(IO)和流的概述
输入输出(I/O)是指程序与外部设备或其他计算机进行交互的操作.几乎所有的程序都具有输入与输出操作,如从键盘上读取数据,从本地或网络上的文件读取数据或写入数据等.通过输入和输出操作可以从外界接收信息, ...
- 一、Java语言概述与开发环境、第一个java程序
目录: 1.1 Java特点 1.2 Java程序运行机制 1.3 安装JDl和配置环境变量 1.4 第一个JAVA程序 1.5 第一个JAVA程序的含义 前言 Java语言历时近二十年,已发展成为人 ...
- java基础---java语言概述
一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- Java知多少(76)语言包(java.lang)简介
Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- Notes 20180506 : Java程序设计语言概述
2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...
- 2015/12/29 Java语言概述 操作中注意事项
java语言概述 ①版本分类:JavaSE 标准版 桌面开发 JavaEE 企业版 网络开发 JavaME 移动版 嵌入式开发(塞班系统 ...
- 乐字节Java学习01-Java语言概述,Java发展前景,Java的特点
从这篇文章开始,小乐准备写一整系列的Java学习文章,一步一步带您进入Java的神奇世界! 这是第一篇:Java语言概述以及Java的发展前景 1.SUN公司介绍 SUN公司全称是Stanford U ...
随机推荐
- Shiro自定义过滤器
项目中需要所有首次登录的用户必须修改密码才可使用系统,项目采用的是Shiro框架. 突然想到了配置文件org.apache.shiro.spring.web.ShiroFilterFactoryBea ...
- 2、函数y=f(x)
/* Note:Your choice is C IDE */ #include "stdio.h" /* 3.函数y=f(x)可表示为: */ void main() { int ...
- ModelForm的使用
from django.forms import Form,ModelForm,fields,widgets as wd class QueModelForm(ModelForm): class Me ...
- centos7环境下对防火墙的操作
我是运行了systemctl stop firewalld.service && systemctl disabl e firewalld.service命令于是显示 [root@in ...
- AppleScript脚本学习记录《一》
tell命令块 tell application "Finder" display dialog "Hello World" end tell 声明变量 set ...
- AngularJS中处理多个promise
在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况. 最简单的处理就是每个promise都then.如下: var app = angular.module ...
- AngularJS中ui-router全攻略
首先是angular-ui-router的基本用法. ■ 如何引用依赖angular-ui-router angular.module('app',["ui.router"]) . ...
- Redis源码学习-Master&Slave的命令交互
0. 写在前面 Version Redis2.2.2 Redis中可以支持主从结构,本文主要从master和slave的心跳机制出发(PING),分析redis的命令行交互. 在Redis中,serv ...
- 3、Python的应用
Python的应用 Google 实现Web爬虫和搜索引擎中的很多组件. Yahoo Yahoo使用它(包括其他技术)管理讨论组. NASA NASA在它的几个系统中既用了Python开发,又将其作为 ...
- 连接mysql 出现:java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
数据测试的时候出现: 网上查资料说的是mysql5.x 版本和 8.x版本的区别: 5.7版本是:default_authentication_plugin=mysql_native_password ...