戏说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. [.net 多线程]线程基础

    一.线程状态 1.新建状态(New):         当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态. 当一个线程处于新生状态时,程序还没 ...

  2. 使用vs code开发纸壳CMS并启用Razor智能提示

    关于纸壳CMS 纸壳CMS是一个开源免费的,可视化设计,在线编辑的内容管理系统.基于ASP .Net Core开发,插件式设计: 下载代码 GitHub:https://github.com/Seri ...

  3. Java并发编程读书笔记(一)

    ----------------------------------------------<Java并发编程实战>读书笔记-------------------------------- ...

  4. flask之flask_sqlalchemy

    一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL ...

  5. 三,PHP缓存机制实现页面静态化

    页面静态化思路: 因为新闻这种信息对实时性要求不高,并且比较稳定,所以可以这样做:当地一个用户访问某条新闻后,我们使用ob缓存机制,将内容缓存到html页面.当下一次访问时候,直接访问html页面.这 ...

  6. 电脑网络IP固定地址自动改变!

    今天电脑的固定IP地址每次重启设备,会自动改变一次.所以每次重启电脑都要手动重设IP地址.网关.DNS及高级选项中的ip设置. 高级选项中的ip设置每次都有2个ip,都要我删除一个.我都崩溃了,还以为 ...

  7. 安装SQL Server 2016出错提示:需要安装oracle JRE7 更新 51(64位)或更高版本完美解决办法

    错误提示原因:安装时检测出电脑没有安装JDK,而且是版本7(其他版本不行) 解决方法:先进下面这个网站安装JDK,安装好后配置环境变量,然后重新安装SQL Server 2016即可 http://w ...

  8. 微信小程序开发笔记1,认识小程序的项目构成

    省去安装和基本操作, app.js脚本文件 qpp.json配置文件(添加删除页面,都要在这个文件下修改入口配置) app.wxss样式表文件 app前缀为全局的 在app.json中配置项目的每个页 ...

  9. express中间件原理 && 实现

    一.什么是express中间件? 什么是express中间件呢? 我们肯定都听说过这个词,并且,如果你用过express,那么你就一定用过express中间件,如下: var express = re ...

  10. Redis-cli命令总结

    连接操作相关的命令 默认直接连接  远程连接-h 192.168.1.20 -p 6379 ping:测试连接是否存活如果正常会返回pong echo:打印 select:切换到指定的数据库,数据库索 ...