自述:java是一种高级的面向对象的语言!gosling一个外国老头开发的。本来用作家用电器,如今成为顶级热门的语言。简单易学,可移植性,一次编译到处运行!原名叫做oak后来被注册了,改为java.比c语言有更加智能的垃圾回收机制。语法较为严格,单继承,接口可以多实现,高并发,性能强。属于服务端后台语言。学习基础语法较为简单,后续应用需要学习很多框架,mq等中间件,微服务,学习成本挺大的!底层还是会依赖操作系统,依赖c语言,但是比c语言更加符合人性化。

参考:
Java是近 10 年来计算机软件发展过程中的传奇,如今依然是开发基于 Web 的应用程序的最佳选择。此外,Java 还是智能手机变革的推手,Android 编程采用的就是 Java 语言。
Java 是由 Sun Microsystems 公司于 1995 年推出的一门面向对象程序设计语言。2010 年 Oracle 公司收购 Sun Microsystems,之后由 Oracle 公司负责 Java 的维护和版本升级。
按应用范围,Java 可分为 3 个体系,即 Java SE、Java EE 和 Java ME。
Java SE 包含了支持 Java Web 服务开发的类,并为 Java EE 提供基础,如 Java 语言基础、JDBC 操作、I/O 操作、网络通信以及多线程等技术。
Java EE(Java Platform Enterprise Edition,Java 平台企业版)以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和 Web 2.0 应用程序。
它继承了 C++ 语言面向对象的技术核心,但是拋弃了 C++ 的一些缺点,比如说容易引起错误的指针以及多继承等,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。
1. 面向对象
Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。使用 Java 语言开发程序,需要采用面向对象的思想设计程序和编写代码。
2. 平台无关性
平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。

Java 语言使用 Java 虚拟机机制屏蔽了具体平台的相关信息,使得 Java 语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。
3. 简单性
Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。对 Java 来说,它舍弃了很多 C++ 中难以理解的特性,如操作符的重载和多继承等,而且 Java 语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
4. 解释执行
Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。在运行文件时,Java 的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。
5. 多线程
Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。Java 支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的 run() 方法,要执行的方法就写在 run() 方法体内。
6. 分布式
Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等。Java 的 RIM 机制也是开发分布式应用的重要手段。
7. 健壮性
Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。对指针的丢弃是 Java 的一大进步。另外,Java 的异常机制也是健壮性的一大体现。
8. 高性能
Java 的高性能主要是相对其他高级脚本语言来说的,随着 JIT(Just in Time)的发展,Java 的运行速度也越来越高。
9. 安全性
Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。除了 Java 语言具有许多的安全特性以外,Java 还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制

综述:java是类似c/c++的更加简单的语言,好比英雄联盟比dota简单,好比王者比英雄联盟简单。面向对象,单继承,多实现,强大安全的jvm支持,一次编译导出运行。1995出生,比我小2岁,2010过继给oracle公司,本来是sun公司的。开发使用JDK,运行环境JRE,jvm是编译器,把java语言转为操作系统能够识别的字节码文件,解释执行,java是先编译后解释执行的语言。jvm中JIT的技术,使得java语言性能高,有点很多。1.面向对象,计算机语言更加人性化2.平台无关性,jvm的存在,一次编译到处运行。3.简单性,移除多继承,指针和垃圾回收等复杂的东西,简单易学。4。解释执行,jvm5.多线程 Thread类的存在,可以用匿名内部类实现多线程。6.分布式,网络应用编程接口 7.健壮性,强类型语言,异常处理,垃圾回收,丢弃指针8.高性能,JIT9.安全性

Java是什么?Java的特点有哪些?相关推荐

  1. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  2. JAVA基础(JAVA 执行环境) 第一天

    JAVA程序有3中执行环境. (1)能够单独运行的程序,称为Java Application(Java应用程序). (2)在Internet浏览器中运行的程序,称为 Java Applet(JAVA小 ...

  3. java.utilDate和java.sql.Date

    java.utilDate和java.sql.Date由广州疯狂软件教育java培训分享: java程序中的时间类型有java.util.Date和java.sql.Date两种.两者之间的关系和转化 ...

  4. java 终极超类,Java问答:终极父类(3),java问答

    Java问答:终极父类(3),java问答Java问答:终极父类(上) Java问答:终极父类(下) Java问答:终极父类(2)-上篇 Java问答:终极父类(2)-下篇 在之前关于 Object ...

  5. java.lang.OutOfMemoryError: Java heap space错误及...

    为什么80%的码农都做不了架构师?>>>    以下是从网上找到的关于堆空间溢出的错误解决办法: java.lang.OutOfMemoryError: Java heap spac ...

  6. 浅谈Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

  7. java.lang.OutOfMemoryError: Java heap space的解决办法

    如果在启动过程中出现内存溢出问题,抛出类似如下异常信息: java.lang.OutOfMemoryError: Java heap space 可以尝试办法: A.修改Tomcat/bin/cata ...

  8. Java接口和Java抽象类

    Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了. 1.Java接口和Java抽象类最大的一个区别,就在于Java ...

  9. Java SE和Java EE应用的性能调优

    凡事预则立,不预则废,和许多事情一样,Java性能调优的成功,离不开行动计划.方法或策略以及特定的领域背景知识.为了在Java性能调优工作中有所成就,你得超越"花似雾中看"的状态, ...

  10. java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer

    java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer 1.改sql select ...

最新文章

  1. WaitHandle.WaitAll 方法在WPF工程中的应用
  2. 如何写sybase sql脚本文件_写一个删除lock文件的skill脚本
  3. linux cut 用法
  4. mysql行级视图与列级视图_[数据库]--DML、DDL、TCL语言
  5. python输入直角三角形a、b、输出斜边c_编写一个程序,输入直角三角形两条直角边a和b的长度,利用勾股定理计算斜边c的长度。要求结果保留2位...
  6. mysql报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  7. winform窗体最大化、最小化、还原
  8. win10虚拟显示器开发
  9. JITSI开源视频直播
  10. linux u盘启动制作教程,cdlinux u盘启动制作教程
  11. 学习s3c2440的随笔笔记
  12. 凸优化基础知识—对偶(Duality)
  13. 管理Linux 系统的用户与用户组
  14. C4.5(决策树预测)算法
  15. python3.x和python2.x唯一区别_Python3.x和Python2.x的区别
  16. 《安富莱嵌入式周报》第276期:2022.07.25--2022.07.31
  17. 消息队列技术的介绍和原理(MQ)
  18. Anaconda的升级、配置及使用
  19. 史上最全面的UE4 文件操作,打开,读、写,增、删、改、查
  20. 网络协议TCPIP、IPXSPX、NETBEUI简介

热门文章

  1. 安装Ubuntu 16.04后的系统设置和软件安装(搜狗输入法、Chrome、网易云音乐等)
  2. unet预测图片全黑/全灰解决方案(keras)
  3. 信道检测手机软件 ios_【安卓+iOS】卧龙影视,老牌观影神器上架苹果TF版,支持双端,限时下载!...
  4. Maven创建聚合项目
  5. 朔日计算机基础答案,大學计算机基础课程练习系统使用手册.doc
  6. 【Spring学习】AOP实现日志记录
  7. 巴贝奇——现代计算机真正的鼻祖
  8. 你就这样被坏老板决定了?
  9. 使用docker急速搭建Oracle测试环境(完全离线)
  10. mysql数据库--mysql的数据类型(数值型)