初识java这个小姑娘(一)
忽然想起这样一个场景:那时我还是小学三年级的一个小学生,上课的铃声响起,文艺委员起头,大家开始胡乱的开始唱歌,“让我们荡起双桨,小船儿推开波浪”,歌声在一片稚气中慢慢停止。我们的语文老师姓曹,是个刚从师范毕业的小姑娘,长相清秀,是个非常认真的老师。曹老师上课的方式便是,总结中心思想,划分段落大意,以及分析那段文字是承上启下,或者转折之类的作用,于是,一篇美文便成了一只待宰的猪牛,场面有些血腥。
直到现在,我才有所理解这种思维本身是没有错的,它是在教给每一个同学分析问题,剖析问题,以及最后解决问题的方法。但是,无论如何,当时我是觉得索然无味。
那么学习java之前,我也试图从一个语文老师的视角来分析一下这个问题。作为一个已经有着20多年历史的编程语言来说,为什么要学习它,学习它能给我们带来什么,以及要怎么去从零开始学习一门语言。在科技日新月异的现在,语言也面临着逐步被替代,从辉煌到被人遗忘的可能。
我想一万个人有一万种理解吧。
首先从语言的排名来看,Java长期占据编程语言类排名的前三名。至于统计方法、样本空间和最后计算数据的准确性还有待考证,但是我想至少能说明一些问题。那就是Java依然是活跃在编程语言中的佼佼者。
其次如同金融市场一样,不只当前这家公司的规模和市场非常重要,而且市场预期同样是非常重要的一种思量。这从苹果发布新机的发布会实时影响其股票市场就能够看出,众多的眼睛盯着的是对苹果公司前景的预期。那么java是否依然是被看好的一种语言?我想只是从web开发无可替代和移动互联网端同样占据巨大的份额不难看出,前景依然是可以展望的。
最后,无论哪一种语言,无论哪一种文明,都需要不断进化,不断完善,如果进化失败,那么就很难逃脱被淘汰的命运。历史长河中,多少文明被湮灭,能够继续保留下来并继续发展的文明就是一种说明。虽然Java也经历了公司被收购,但是目前来看,Oracle公司的发展可以说势不可挡。
虽然我曾经深恶痛绝于讲大段大段的道理,但是,就像是企业的愿景一样,看似无用,实际上是重要到无以复加的地步。
1、JAVA的跨平台性
这也是java自己一直在鼓吹的一个卖点。顾名思义,你所书写的java代码首先会被编译成字节码文件,然后在java的虚拟机中运行。
举个很简单的例子。一个只会说汉语的中国人要到世界各国去旅游,那么只要在每一个国家给他找一个既懂汉语,又能够按照这个中国人的要求在这个国家做事的人即可。说汉语的中国人就是java语言,懂汉语的人并且能够按照中国人的意思进行操作的人就是虚拟机,而不同的国家就是不同的操作系统。如此理解起来是否能够直观一些,请各位多提意见。如此来看,java并不关心当前的运行环境,它只是在虚拟机中运行的。通过虚拟机,它就可以在当前的任何操作系统进行工作。
2、JDK-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这个小姑娘(一)的更多相关文章
- 初识java这个小姑娘(二)
妙解垃圾回收机制 周一,早高峰. 一段考验一个人耐力.智力.开车技术以及脾气的路. 我把车开进了一个没有红绿灯的丁字路口,然后就没有然后了. 来自三个方向的大车小车开始在不大的一块空间里开始互相斗智斗 ...
- 初识java这个小姑娘(三)
说烂了的面向对象 我要说的面向对象,其实是一个我自己都觉的有点恶心的东西. 它是java语言入门如此初级的一个概念.作为一个老鸟,你可以吐口水给我,我可以把它们擦干,但作为总结还得说一说. 因为对于一 ...
- 初识Java
Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- 初识Java作业
初识Java作业 一. 填空题 Java技术按照用途不同分为三大版本,分别是JavaSE. javaEE 和JavaMe Java虚拟机就是一个虚拟的用于执行 .class ...
- Java学习笔记心得——初识Java
初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...
- 初识Java程序,编写简单代码?
Dear All: 初识Java程序,编写简单代码? 首先小编在这里说下我们今天编写Java程序使用的是 eclipse 开发工具! 1.下载eclipse 官网地址:http://www.eclip ...
随机推荐
- C++中的endl
从开始接触C++到现在,一直以为语句 cout << "hello world!" << endl; 中的endl只是一个相当于C中的换行'\n':直到今天 ...
- Leetcode题解(六)
21.Merge Two Sorted Lists 题目 直接上代码: class Solution { public: ListNode *mergeTwoLists(ListNode *l1, L ...
- Towers CodeForces - 229D
The city of D consists of n towers, built consecutively on a straight line. The height of the tower ...
- 启动hadoop的命令
start-all.sh 启动所有的Hadoop守护进程.包括NameNode. Secondary NameNode.DataNode.JobTracker. TaskTrack stop-all ...
- PHP基础入门(三)【PHP中的数组】
PHP数组的分类 按照下标的不同,PHP数组分为关联数组与索引数组: 索引数组:下标从0开始,依次增长: 关联数组: 下标为字符串格式,每个下标字符串与数组的值一一关联对应.(有点像对象的键值对) 关 ...
- tornado超时机制
1.https://blog.lzhaohao.info/archive/build-a-comet-application-using-tornado-and-nginx/ 2.http://qin ...
- java 之 简单工厂模式(大话设计模式)
以前只是看设计模式,每次看完都去理解一次,并没有手动去写代码,所以理解的还不是很深刻,最近查看框架源码,发现很多地方用到的都是设计模式,因为对设计模式理解的不够深刻,所以源码查看进度很慢!现在决定来温 ...
- Javascript日期类型的妙用
http://heeroluo.net/Article/Detail/110 获取某个月份的天数 相信大家读小学的时候就知道一年十二个月各有多少天了,这里面有个特殊的存在——2月.闰年的2月有29天, ...
- 重启mysql主从同步mongodb(tungsten-replicator)
1. 连接mysql mysql -uroot -p;(mysql从库) 输入数据库密码 2. 停止主同步 mysql> stop slave; 3. 清数据 将mongo库数据清空 4. 杀主 ...
- select2 取值 遍历 设置默认值
select2 取值 遍历 设置默认值 本章内容主要介绍Select2 的初始化,获取选中值,设置默认值,三个方法.Select2 美化了单选框,复选框和下拉框,特别是下拉框多选的问题.但同时,Sel ...