首页 > 编程语言 >Java入门01

Java入门01

时间:2023-08-10 21:46:00浏览次数:30  
标签:JRE 01 Java 入门 JDK c++ 内存 指针

JAVA的诞生

  • c语言有汇编语言的特点,所以更贴合硬件,运行快效率高,有很多系统、编译器、数据库等都是由c语言编写的,包括C语言的指针可以直接操控内存,但是C语言却没有给一个工具去越界检查,导致很容易犯错,同时内存管理需要自己调试,且不能再编译的时候发现,导致很大一部分精力都被指针和内存占用
  • c++诞生后不仅有面向对象的部分,还兼容C语言,同时在游戏和图形领域取得了很大的成功,但是c++的过于复杂,导致入门门槛太高(如果对计算机底层感兴趣可以学习)
  • 需要一个能在任何平台运行(jvm环境),不需要内存管理和指针,同时具备c++部分特性,面向对象,类型安全等特点的新语言,Java经历几次名称更改后诞生
  • 但是刚诞生的Java网页简陋缺乏互动,于是新增了图形界面程序APPLET,现在也被JS淘汰,后续随着javaee(服务器),javase(桌面)javame(手机端)发展,后续随着中间件的出现是程序员从三高(高可用、高性能、高并发)中解脱出来,从此Java越发壮大
  • 随着Java程序员的不断增加,也基于Java开发了诸多工具和平台如:构建工具Ant、Maven、Jekins,应用服务器Tomcat、Jetty、Jboss,web开发工具spring,mybatis,开发工具eclipse、netbean、idea等
  • Hadoop出现使Java占领了大数据领域,随着andriod出现占领了手机端

Java的特性和优势

  • 简单性:不用管内存管理和指针
  • 面向对象:模拟的是人的思维去编程
  • 可移植性:可跨平台运行,不拘泥于某一平台
  • 高性能:即时编译可以使Java效率接近c++
  • 分布式:可以通过URL可以定位访问网络资源
  • 动态性:Java本身不具备动态性但是通过反射使Java拥有了动态性(c++无法实现)
  • 多线程:带来更多交互性
  • 安全性:反篡改
  • 健壮性:有个异常机制,每次运行都会进行检查,程序不会突然崩溃

Java三大版本

  • JavaSE:标准版,编写桌面程序,控制台开发
  • JavaME:嵌入式开发(但是目前很少有人在用了)
  • JavaEE:企业版,web端和服务器开发

JDK JRE JVM

  • JDK:Java Development Kit Java开发者工具
  • JRE:Java Runtime Environment Java运营环境
  • JVM:Java Virtual Machine Java虚拟机
  • JDK包含JRE,并在JRE上扩充开发工具,JVM可以在软件上实现,也可以在硬件上实现(跨平台核心)

标签:JRE,01,Java,入门,JDK,c++,内存,指针
From: https://www.cnblogs.com/shiweirui/p/17621577.html

相关文章

  • Java 编程中关于异常处理的 10 个最佳实践
    异常处理在编写健壮的Java应用的过程中,扮演着一个重要的角色。它并不是应用的功能需求,且需要优雅的处理任何错误情况,例如资源不可用,错误的输入,null输入等等。Java提供几个异常处理功能,并通过try,catch和  finally关键字内嵌在语言的本身。Java编程语言同样允许创建新的异常和使......
  • DWR、Java 和 Dojo 工具箱集成 Java 和 JavaScript
    2008年8月29日您能很快地说出多少Java™Web开发框架、库和工具箱?没错,数量太多,以至于很难弄清楚它们各自的功能以及哪个功能可以真正帮助您解决问题。但是,如果您从事的是Ajax开发,那么您必须要知道这个库:DirectWebRemoting(DWR)。它利用Java语言和JavaWeb技术大大......
  • Java系统中内存泄漏测试方法的研究
    摘要稳定性是衡量软件系统质量的重要指标,内存泄漏是破坏系统稳定性的重要因素。由于采用垃圾回收机制,Java语言的内存泄漏的模式与C++等语言相比有很大的不同。全文通过与C++中的内存泄漏问题进行对比,讲述了Java内存泄漏的基本原理,以及如何借助Optimizeitprofiler工具来测试内......
  • ApacheCN 捐赠名单 2019
    这是ApacheCN的捐赠名单,不是龙哥盟博客的(关于ApacheCN)。最新的名单请见https://home.apachecn.org/donate/。捐赠者金额(元)时间收入类型L*g8.002019-12-25个人赞助A*x20.002019-12-17个人赞助E*c1.002019-12-16个人赞助*雅1.002019-12-09个人赞助*一1.002019-11-27个人赞助*春......
  • LOJ #6039「雅礼集训 2017 Day5」珠宝
    给定\(n\)个物品,第\(i\)个物品有体积\(c_i\),价值\(v_i\)。给定\(K\),对\(1\simK\)的所有\(i\)求大小为\(i\)的背包的最大价值。\(n\leq10^6\),\(K\leq5\times10^4\),\(c_i\leq300\),\(0\leqv_i\leq10^9\),时限\(\text{2.0s}\)。注意到\(c_i\)范......
  • 人工智能/数据科学比赛汇总 2019.9
    Github:iphysresearch/DataSciComp本项目由ApacheCN强力支持。微博|知乎|简书|全球数据智能大赛(2019)——“数字人体”赛场一:肺部CT多病种智能诊断https://tianchi.aliyun.com/competition/entrance/231724/6月24-9月09,2019//Hostby天池//Prize:$900,000Note:......
  • 深入探讨 Java 类加载器
    入探讨Java类加载器成富,软件工程师,IBM中国软件开发中心简介:类加载器(classloader)是Java™中的一个很重要的概念。类加载器负责加载Java类的字节代码到Java虚拟机中。本文首先详细介绍了Java类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载......
  • ApacheCN 活动汇总 2019.7.19
    组织任务翻译校对活动MIT18.03写给初学者的微积分【校对】参与方式:https://github.com/apachecn/calc4b-zh/blob/master/CONTRIBUTING.md整体进度:https://github.com/apachecn/calc4b-zh/issues/1项目仓库:https://github.com/apachecn/calc4b-zh认领:9/74,校对:0/74章节贡献者进度第......
  • ApacheCN 活动汇总 2019.7.12
    翻译校对活动UIUCCS241系统编程中文讲义【校对】参与方式:https://github.com/apachecn/uiuc-cs241-notes-zh/blob/master/CONTRIBUTING.md整体进度:https://github.com/apachecn/uiuc-cs241-notes-zh/issues/1项目仓库:https://github.com/apachecn/uiuc-cs241-notes-zh认领:1/78,校......
  • java自定义注解
    Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在java.lang.annotation包中。1、元注解元注解是指注解的注解。包括 @Retention@Target@Document@Inherite......