戏说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. vs 生成事件 +版本号+sed.exe

    set ASMINFO=Properties\AssemblyInfo.csFINDSTR /C:"[assembly: AssemblyVersion(" %ASMINFO% | ...

  2. Asp.Net从相对路径获取绝对路径的方法(不需要httpcontext上下文也可)

    //如果拿不到当前HttpContext上下文的话可以用该方法取得绝对路径 var filePath = HostingEnvironment.MapPath("需要获取绝对路径 的 相对路 ...

  3. Pacemaker 介绍

    1. 简介 Pacemaker是一个集群资源管理者.他用资源级别的监测和恢复来保证集群服务(aka.资源)的最大可用性.它可以用你所擅长的基础组件(Corosync或者是Heartbeat)来实现通信 ...

  4. C++引用和指针的区别

    一.引用和指针的定义 引用:它是给另一个变量取一个别名,不会再次分配空间(可以带来程序的优化) 指针:它是一个实体,需要分配空间 引用在定义的时候必须进行初始化,并且空间不能够改变.   指针在定义的 ...

  5. django 使用celery 实现异步任务

    celery 情景:用户发起request,并等待response返回.在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验,比如发送邮件.手机验证码等. 使用 ...

  6. Optimizing Your App for Today’s Internet

    这个 session 的主讲人感觉是一个很典型的美国人,年纪也不小. 网络现状 四十亿人在使用因特网,大概占有世界人口的一半.上网人数的增长在减缓. 但是网络仍然在增长.增长点主要在物联网.第三世界国 ...

  7. javascript保存excel

    function saveToExcel() { var cind=1; try { var xls = new ActiveXObject ("Excel.Application" ...

  8. script全局变量

    javascript全局变量的生命周期是:直到页面关闭才失效.否则一直有用. 方式1 1 2 var test; var test = 5; 需注意的是该句不能包含在function内,否则是局部变量 ...

  9. Web开发常用在线工具

    http://tool.oschina.net/ 爬去网页工具: http://www.keydatas.com/product

  10. 用asp.net core 2.0 + EFCore.Sqlite做个小网站

    许久没用C#写程序.听说进来发生大事,.NetCore2.0发布了,于是便学习了下,本站也应运而生. 大多数的地方按照官方的文档起步走就可以了,这里谈谈遇到的几个坑. 首先,本站是基于ASP.NetC ...