戏说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. 用 python 修改文件中指定的行数

    #! /bin/python filename='setup.ini' lines=[] with open(filename,'r') as f: lines=f.readlines() lines ...

  2. 记一次生产发版时SpringBoot服务停用启用的问题

    近期项目交接,接手了个SpringBoot项目.生产环境里,jar包是通过软链接做成linux服务来启动和停用. 然而,每次通过jenkins构建发版,项目构建完毕,还要手动再去重启服务. 听交接的同 ...

  3. LCS2 - Longest Common Substring II(spoj1812)(sam(后缀自动机)+多串LCS)

    A string is finite sequence of characters over a non-empty finite set \(\sum\). In this problem, \(\ ...

  4. Smarty的原理_面试

    Smarty是一个模板引擎,使用smarty主要是为了实现逻辑和外在内容的分离,如果不使用模板的话,通常的做法就是php代码和html代码混编.使用了模板后,则可以将业务逻辑放到php文件中,而负责显 ...

  5. ESP8266 wifi干扰、钓鱼实现

    说明:绝大部分都是对着下面的参考文章来做的.这里只把基本流程和我自己遇到的问题写一下.如有其他问题可以访问文章末的参考文章进行查找! esp8266模块 我们需要购买一块esp8266模块,如下图所示 ...

  6. es6中箭头函数 注意点

    var aaabbb = 'kkkooo' setTimeout(()=>{ var aaaa = 'kkkk'; console.log(this) },1000); 因为据我了解,箭头函数指 ...

  7. 【wireshark】总体结构

    1. 总体结构 wireshark的总体结构如下图所示. 2. 功能模块 模块名 功能 源码子目录 GTK/Qt 处理所有的用户输入/输出(所有的窗口,对话框等等) /ui GTK: /ui/gtk ...

  8. Java 反射机制系列

    http://www.cnblogs.com/KingIceMou/category/1034898.html

  9. web应用配置虚拟路径映射方式一配置不成功问题解决办法

    配置过程图: 为了方便输入,先修改Tomcat的conf文件下的server.xml文件 默认端口修改为80 配置完成之后访问报404错误解决办法: 一.如果配置前已经开启了Tomcat服务器,配置完 ...

  10. JS: 数据结构与算法之栈

    栈 先来看一道题 Leetcode 32 Longest Valid Parentheses (最长有效括号) 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 ...