戏说Java

本文只是个人闲余之际写的,查阅了些许资料,仅当娱乐。如有雷同,纯属巧合。
 
如果要学好一个东西,就应该要把他拟人化,当做一个你的好朋友,对他产生兴趣,那么你自然而然就会学习好他了。俗话说:兴趣是最好的老师。
 
真是一个听起来很有道理的话,而且也很有趣,不妨试一下。
 
现在我要学习Java,那么我就要和Java交朋友。
 
首先,作为一个朋友,我应该对他要有所了解吧。
 

Java的发展

诞生

问问度娘(百度),度娘告诉我,Java诞生于1992年的一个夏天,最初的名字叫Oak,他的父亲是Sun公司(给钱的金主),他的母亲(给他生命的人)是詹姆斯 高斯林(James Gosling),就是下面这个大神
 
 
这个项目叫做Green,可能他的母亲希望他像绿色一样孕育生命,而且像Oak(橡树)一样基业长青,所以给他取名叫做Oak(橡树)。
 

改名

1995年,Java三岁那年,由于受到时代的召唤,Java飞速发展,并且有了一个形影不离的兄弟Applet,这个时候Oak正式改名为Java(因为Oak已经被人抢先注册了,真是可恶啊,肯定是故意的,想借机坑SUN公司一笔,老高带着朋友在公司楼下喝着Java咖啡,然后——
一拍大腿,好吧,就叫Java吧,然后。。。就叫Java了,图案是一杯热咖啡。。。)
 
 
 

第一个里程碑(小学)

1996年,Java四岁那年(幼儿园毕业,准备上学——学前班啦)SUN公司发布了Java的第一个JDK1.0,这是Java发展史的第一个里程碑,标志这Java成为独立开发工具。
 

第二个里程碑(初中)

2004年-2005年,java已经12,13岁的时候(上初中啦),Java发展史的第二个里程碑,Java又一次改名(J2SE,J2ME,J2EE,改名为JavaSE,JavaME,JavaEE),并且有了一个代号“Tiger”(初中的叛逆少年,所以给了“老虎”这个称号,吼吼)
 

第三个里程碑(高中)

2006年,Java这小老虎14岁,初中毕业,准备进高中,已经略显成熟,迎来Java发展史的第三个里程碑,Java开源啦。Java技术作为免费软件对外发布,之后,全世界开发人员都可以对Java源代码进行修改。
 

第四个里程碑(大学)

2009年,Java已经17岁了,高中毕业,准备进入大学,第四个里程碑,穷爸爸SUN走了,来了一个富爸爸Oracle。但是高妈妈很贞洁,秉持“一女不事二夫”的原则,还有“性格不合”等因素(一般离婚大多数的借口就是“性格不合”啊),高斯林离开了Oracle。
 
 
ok,作为一个朋友,了解到这里,基本上算是认识Java啦,至于Java的“性格”(特性),则需要以后慢慢了解啦。
 
一些大致的特点,可以提前说一下啊,Java为了简洁和安全稳定,在C++的基础上,去掉了一些不常用的特性,形成了Java(所以Java也可以叫做C++-)
 

Java的性格

 

简单

比如,Java去掉了C++的指针(这个可以伪造的不安全因素),多继承(避免混乱),go to语句(也是避免混乱),Java不使用主文件(免去预处理程序),Java没有结构体(数组和串都是对象),自动内存回收。
 

面向对象

Java是面向对象的语言,代码复用的更加方便,类——用来封装代码,对象——用来封装数据。
 

稳健

Java是强类型的语言,在编译阶段就可以检测出类型不匹配的问题。Java不支持指针,消除了重写存储和讹误数据的可能。
 

可移植

Java只需要一次编写,便可以到处跑,可以在各个平台跑。
 
多线程,动态,高性能,安全等
 
 
ok,就到这里。
 
 

【原】戏说Java的更多相关文章

  1. 原子类java.util.concurrent.atomic.*原理分析

    原子类java.util.concurrent.atomic.*原理分析 在并发编程下,原子操作类的应用可以说是无处不在的.为解决线程安全的读写提供了很大的便利. 原子类保证原子的两个关键的点就是:可 ...

  2. 点单登录原理和java实现简单的单点登录

    引用自:http://blog.csdn.net/zuoluoboy/article/details/12851725 摘要: 单点登录(SSO)的技术被越来越广泛地应用到各个领域的软件系统当中.本文 ...

  3. 戏说Java多线程

    戏说Java多线程. package com.cmp.chengfu.app.jdk6.desktop; import java.awt.Desktop; import java.io.File; i ...

  4. Java 原子类 java.util.concurrent.atomic

    Java 原子类 java.util.concurrent.atomic 1.i++为什么是非线程安全的 i++其实是分为3个步骤:获取i的值, 把i+1, 把i+1的结果赋给i 如果多线程执行i++ ...

  5. 【原】Java学习笔记026 - 集合

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...

  6. 【原】Java学习笔记023 - 字符串缓冲区_正则表达式

    package cn.temptation; import java.util.Arrays; public class Sample01 { public static void main(Stri ...

  7. 【原】Java学习笔记022 - 字符串

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 字符串 // 定义 ...

  8. 【原】Java学习笔记013 - 阶段测试

    package cn.temptation; import java.util.Scanner; public class Sample01 { public static void main(Str ...

  9. 【原】Java学习笔记004 - 运算符

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 运算符:对常量 或 ...

随机推荐

  1. Ruby on Rails 生成指定版本的 Rails 项目

    ruby-on-rails ruby 本地 Rails 默认5.1.6 版本 $ gem list --local rails (5.1.6, 5.1.5, 5.1.4) 使用 version 生成指 ...

  2. Wpf 导出CSV文件

    /// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// <param name="dt" ...

  3. sql-省市区

    insert into Area (codeid,parentid,cityName) values(11,0,'北京');insert into Area (codeid,parentid,city ...

  4. 978. Longest Turbulent Subarray

    A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: For i <= k < j ...

  5. “全栈2019”Java多线程第二十五章:生产者与消费者线程详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. 隐藏导航栏,偏移20PX

    1:让ViewController在NavigationBar下面开始布局. automaticallyAdjustsScrollViewInsets作用 当Controller上存在唯一一个UISc ...

  7. 使用 spring.profiles.active 及 @profile 注解 动态化配置内部及外部配置

    引言:使用 spring.profiles.active 参数,搭配@Profile注解,可以实现不同环境下(开发.测试.生产)配置参数的切换 一.根据springboot的配置文件命名约定,结合ac ...

  8. Python面试题整理-更新中

    几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...

  9. 用postman做接口测试实例

    使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...

  10. Numpy 数组的切片操作

    实例+解释如下(表格):关键是要明白python中数组的下标体系.一套从左往右,一套从右往左. 1 import numpy as np 2 import sys 3 4 def main(): 5 ...