忽然想起这样一个场景:那时我还是小学三年级的一个小学生,上课的铃声响起,文艺委员起头,大家开始胡乱的开始唱歌,“让我们荡起双桨,小船儿推开波浪”,歌声在一片稚气中慢慢停止。我们的语文老师姓曹,是个刚从师范毕业的小姑娘,长相清秀,是个非常认真的老师。曹老师上课的方式便是,总结中心思想,划分段落大意,以及分析那段文字是承上启下,或者转折之类的作用,于是,一篇美文便成了一只待宰的猪牛,场面有些血腥。

直到现在,我才有所理解这种思维本身是没有错的,它是在教给每一个同学分析问题,剖析问题,以及最后解决问题的方法。但是,无论如何,当时我是觉得索然无味。

那么学习java之前,我也试图从一个语文老师的视角来分析一下这个问题。作为一个已经有着20多年历史的编程语言来说,为什么要学习它,学习它能给我们带来什么,以及要怎么去从零开始学习一门语言。在科技日新月异的现在,语言也面临着逐步被替代,从辉煌到被人遗忘的可能。

我想一万个人有一万种理解吧。

首先从语言的排名来看,Java长期占据编程语言类排名的前三名。至于统计方法、样本空间和最后计算数据的准确性还有待考证,但是我想至少能说明一些问题。那就是Java依然是活跃在编程语言中的佼佼者。

其次如同金融市场一样,不只当前这家公司的规模和市场非常重要,而且市场预期同样是非常重要的一种思量。这从苹果发布新机的发布会实时影响其股票市场就能够看出,众多的眼睛盯着的是对苹果公司前景的预期。那么java是否依然是被看好的一种语言?我想只是从web开发无可替代和移动互联网端同样占据巨大的份额不难看出,前景依然是可以展望的。

最后,无论哪一种语言,无论哪一种文明,都需要不断进化,不断完善,如果进化失败,那么就很难逃脱被淘汰的命运。历史长河中,多少文明被湮灭,能够继续保留下来并继续发展的文明就是一种说明。虽然Java也经历了公司被收购,但是目前来看,Oracle公司的发展可以说势不可挡。

虽然我曾经深恶痛绝于讲大段大段的道理,但是,就像是企业的愿景一样,看似无用,实际上是重要到无以复加的地步。

1JAVA的跨平台性

这也是java自己一直在鼓吹的一个卖点。顾名思义,你所书写的java代码首先会被编译成字节码文件,然后在java的虚拟机中运行。

举个很简单的例子。一个只会说汉语的中国人要到世界各国去旅游,那么只要在每一个国家给他找一个既懂汉语,又能够按照这个中国人的要求在这个国家做事的人即可。说汉语的中国人就是java语言,懂汉语的人并且能够按照中国人的意思进行操作的人就是虚拟机,而不同的国家就是不同的操作系统。如此理解起来是否能够直观一些,请各位多提意见。如此来看,java并不关心当前的运行环境,它只是在虚拟机中运行的。通过虚拟机,它就可以在当前的任何操作系统进行工作。

2JDK-JRE-JVM

JDK(JavaDevelopment Kit):Java开发工具,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。

JRE(JavaRuntime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。

JVM是Java语言的运行环境就是一个java模拟机

所以在开发的过程中我们只需要安装JDK就行了,对于新版本的JDK我们在配置环境变量的时候,可以不用再去配置classpath,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar。直接配置path就可以了。

这是我对java语言的一些简单理解,原创作品,欢迎关注同名微信订阅号:程序员与工匠。

欢迎各位大大扫描下方二维进行关注。

初识java这个小姑娘(一)的更多相关文章

  1. 初识java这个小姑娘(二)

    妙解垃圾回收机制 周一,早高峰. 一段考验一个人耐力.智力.开车技术以及脾气的路. 我把车开进了一个没有红绿灯的丁字路口,然后就没有然后了. 来自三个方向的大车小车开始在不大的一块空间里开始互相斗智斗 ...

  2. 初识java这个小姑娘(三)

    说烂了的面向对象 我要说的面向对象,其实是一个我自己都觉的有点恶心的东西. 它是java语言入门如此初级的一个概念.作为一个老鸟,你可以吐口水给我,我可以把它们擦干,但作为总结还得说一说. 因为对于一 ...

  3. 初识Java

    Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...

  4. SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏

    SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!!   基础知识目前不够,有感性 ...

  5. Java 面向对象编程——第一章 初识Java

      第一章    初识Java 1.  什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...

  6. Personal Learning Path of Java——初识Java

    初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...

  7. 初识Java作业

    初识Java作业 一.    填空题 Java技术按照用途不同分为三大版本,分别是JavaSE.     javaEE       和JavaMe Java虚拟机就是一个虚拟的用于执行  .class ...

  8. Java学习笔记心得——初识Java

    初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...

  9. 初识Java程序,编写简单代码?

    Dear All: 初识Java程序,编写简单代码? 首先小编在这里说下我们今天编写Java程序使用的是 eclipse 开发工具! 1.下载eclipse 官网地址:http://www.eclip ...

随机推荐

  1. app.get is not a function解决方案

    在express4.x中app.js被申明为一个模块,而不是一个主程序入口,在文件的最后暴露出了这个模块,如下所示 app.js module.exports = app; 但是我们在routes目录 ...

  2. 第十一章 多GPU系统的CUDA C

    本章介绍了 显存和零拷贝内存的拷贝与计算对比 #include <stdio.h> #include "cuda_runtime.h" #include "d ...

  3. css超过一定长度显示省略号

    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;

  4. c++学习笔记---02---从一个小程序说起

    从一个小程序说起 这一讲的主要目的是帮助大家在C语言的背景知识上与C++建立联系. 问题探索 问题:对一个整型数组求和. 要求:定义一个存储着 n 个元素的数组,要求用C语言完成这个任务. 赶紧的:大 ...

  5. 【G彩娱乐网】作为一名程序员,我应该如何选购一台电脑?

    G彩娱乐网说到程序员专用电脑,那肯定是苹果电脑.优点有很多,比如白平衡特别准.酷炫的黑科技.特别方便的软件等显而易见的优势:也有能够增加提案通过率.专注工作提高工作效率这样的玄学buff. 但是!并不 ...

  6. 解决mysql启动失败报1067错误

    最近做项目使用 mysql 数据库 ,因为卸载了鲁大师造成了数据库文件缺失.重装mysql数据库后启动出现了1067错误,详情如下 在网上查了错误原因,将my.ini文件下的默认搜索引擎换成了 myi ...

  7. 用UiPath导入RPA实践1:VirtualBox的安装

      之前说了关于RPA的一些概念,但对于RPA到底是个什么东西,能干什么,咋么干都没有具体的概念,所以后面分几回,用[UiPath]这个工具为基础说说RPA的实际应用,希望能抛砖引玉. 在试用新的东西 ...

  8. 2017年11月1日 初学者易上手的SSH-spring 01控制反转(IOC)

    这章开始学习SSH中最后的一个框架spring.Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 首先就来学习一下I ...

  9. 发放福利:原价135元/年的阿里云CDN流量包(500GB)免费送

    不少朋友看过本站推荐的两篇文章:1. <阿里云全民云计算活动:云服务器ECS二折起>2. <阿里云双11优惠活动-爆款云服务器> 大部分人都说不错,很快下单购买了服务器,后续使 ...

  10. C#中泛型之Dictionary

    1.命名空间:System.Collections.Generic(程序集:mscorlib)2.描述: 1).从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组 ...