PS:弥补那些错过的时间,弥补那些本是决定做而没有做的事情,当初说好了学习编程要把自己学到的或是理解的写到博客中记录下来,可是由于各种缘由最终是没有实现...经过几番周折决定把那些丢掉的重新捡起来。对于Java的文章已经是大雪纷纷满天飞到处都是,但那毕竟不是属于自己的,只有当自己能说出来,能够表达出来那才算是真正属于自己的,所以决定自己也来扯扯,再次来过并且记录下,弥补那些已经错过的,并且告诫自己不要在找各种借口了,在找各种借口就要被淘汰了...以此时刻提醒自己,激励自己,博客要坚持进行下去。

  看着题目也许觉得很老套,已没有什么新鲜感了(毕竟Java发展已经很多年,文章和资源很多很多),也许会说这么基础的有必要写嘛,有必要在博客园发表嘛,其实我也是纠结到底要不要发表,纠结纠结,算了吧还是发表,算是自我安慰和激励吧!谁都不是天生就是大神,都是通过慢慢的学习,由简单然后一步二步渐渐的渐渐的深入,学习亦是如此写文章也应该如此,循序渐进吧,走自己的路,让别人去说吧...

  一千个人一千个哈姆雷特,也就是每个人都有自己的想法,所以在九十年代虽然当时有很多编程的语言但还是成就了红遍世界的编这一编程语言——Java,文章内容绝非原创有些是摘自所看的书中的内容。

Java"白皮书"关键术语

  Java的设计者们对Java编写了颇详细的"白皮书"用来解释设计的初衷以及情况,并且发布了一个简短的摘要,可以使用下面11个关键术语进行概括:简单性、面向对象、网络技能(Network-Savvy)、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性,下面就这几个关键术语做一件单的说明。

  简单性:相对C++而言,Java剔除了C++中难以理解、容易混淆的特性,所以Java语法相当于是C++的"纯净"版本,当然也不是全部剔除了C++中所有的不适当的特性,任然是保留了一些使用的语法,例如switch。虽然Java简单易上手,但是实现功能需要编写大量的代码。

  面向对象:简单的说,其实面向对象是一种程序设计技术,重点是放在了数据和对象的接口上,用一名游者从A目的到B目的,"面向对象"的看游者是从A到 B了至于是如何到而是其次想的,而用"非面向对象"的看游者则是首先想的是该如何到达目的地B,是走过去还是坐车还是其它方式,面向对象思想更加的接近于人们的对问题的思考。Java与C++的主要不同点在于多继承,Java使用了简单的接口概念和元素模型取而代之。

  网络技能:Java对于处理想HTTP和FTP等之类的TCP/IP协议扩展了强大的类库,通过URL访问和打开网络上的对象,当你深入学习Java的时候就会发现Java竟然把打开scoket如此繁重的任务变得如此简单了。也可以进行分布式对象中间通信。

  健壮性:Java对于早期的问题检测、后期动态(运行时)检测以及有出错倾向的状态做了大量的设定和判断,Java编译器能够识别许多早期的和运行时的问题。

  安全性:Java从一开始就设计许多能够防范的各种攻击,例如未经授权就读写文件、在自己处理空间之外破坏内存,当然人任何事情不是绝对的,Java中也是有bug的,但任然在不断完善中。

  体系结构中立:编译器生成一个体系结构中的目标文件格式,这是被编译过的代码,只要有Java运行时环境就可以在许多处理器上执行,Java编译器通过生成由于特定的计算机体系结构无关的字节码指令实现了这一特性。解释字节码相对全速运行机器指令较慢,但是通过虚拟机采用即时编译可以较为友好的解决这一问题。

  可移植性:Java规范中没有依赖的具体实现在加上基本数据类型的大小以及相关算法的说明,致使Java一处编译到处运行这一强大的可移植性。

  解释型:Java解释器可以在任何移植了解释器的机器上执行Java字节码,早期Java开发工具速度相当的慢,但是Java采用虚拟机的即时编译减缓了执行较慢这一问题。

  高性能:字节码可以(在运行时刻)快速的翻译成运行这个应用程序特定的CPU的机器码,而Java正是通过编译器生成了体系结构中立的字节码,体现了其高性能。

  多线程:Java中对线程进行大量的处理,只要系统支持Java中的线程就可以利用多个处理器。

  动态性:Java库中可以自由的添加新的方法和实例变量,然而对客户却没有任何的影响,体现了Java语言动态性的强大。

Java发展史简介

  此话题要追溯到1991年由Patrick Naughton以及其伙伴James Gosling(一个全能的计算机奇才)带领的sun公司工程师打算设计一一种小型的计算机语言,主要用于有线电视转换盒这类的消费设备,由于这些消费设备所面临的问题的缘故,这才促使了Java语言的诞生,初期项目被命为"Green",经过重重困难突破,Java语言就这样出现了,开始这门语言被叫做Oak(可能是Gosling很喜欢自己办公室的橡树吧),后来由于sun公司发现Oak已经有这种语言了,于是就就被命名为Java,由此Java语言就诞生了。1996年sun发布了Java的第一个版本, 1998年12月发布了Java1.2版本并称其为Java2标准版本软件开发工具箱。除了这个版本外,另外还有两个版本,一个是用于手机等嵌入式设备的"微型版",一个是用于服务器端处理的"企业版"。后期发布了1.3版本1.4版本主要是对Java1.2版本做了写改进以及扩展了标准的类库。在2004年发布的1.5版本(后期改为5.0版本)做了一次重大的改进,该版本添加了泛型,还有for ench循环、自动装箱以及元数据等改动。2011年oracle(sun公司后来被oracle公司收购了)发布了Java7这一新版本,只是做了一些简单的改进,如今Java已经更新到版本Java8了。

Java中的关键字

  abstact:抽象类或是方法                                      assert:用来查找内部程序错误

  boolean:布尔类型                                              break:跳出一个switch或是循环

  byte:8为数据类型                                              case:switch的一个分支

  char:Unicode字符类型                                       class:定义一个类

  const:未使用                                                    continue:在循环末尾继续

  default:switch的缺省子句                                   do:do/while循环最前的语句

  double:双精度浮点数类型                                    else:if语句的else子句

  enum:枚举类型                                                 extends:定义一个类的父类

  final:一个常量,不能覆盖的类或是方法                    finally:try块中总会执行的部分

  float:单精度浮点数类型                                        for:一种循环类型

  goto:未使用                                                      if:一个条件语句

  implements:定义一个类实现的接口                        import:导入一个包

  instanceof:测试一个对象是否为一个类的实例            int:32位整数类型

  interface:一种抽象类型,其中包含可以由类实现的方法,接口               long:64位长整型类型

  native:友宿主系统实现的一个方法                           new:分配一个新对象或是数组

  null:一个空引用(需要说明,nul从技术上讲是一个直接量,而不是关键字)              package:包含一个类的包

  private:这个特性只能由该类的方法访问                    protected:这个特性只能由该类、其子类以及同一包中的其它类的方法访问

  public:这个特性可以由所有的类的方法访问                return:从一个方法返回

  short:16位整数类型                                             static:这个特性是这个类特有的,而不属于这个类的对象

  strictfp:对浮点数计算使用严格的规则                       super:超类对象或是构造函数

  switch:一个选择语句                                            synchronized:对线程而言是原子的方法或是代码块

  this:当前类的一个方法或是构造函数的隐含参数           throw:抛出一个异常

  throws:一个方法可能抛出异常                                transient: 标志非永久的数据

  try:捕获异常的代码块                                            void:指示一个方法不返回任何值

  volatile:确保一个字段可以由多个线程访问                  while:一种循环

        

Java的初步认识的更多相关文章

  1. Java反射-初步入门

    Java反射-初步入门 学反射先了解什么是反射. 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动 ...

  2. 接口自动化:HttpClient + TestNG + Java(三) - 初步封装和testng断言

    在上一篇中,我们写了第一个get请求的测试类,这一篇我们来对他进行初步优化和封装 3.1 分离请求发送类 首先想到的问题是,以后我们的接口自动化测试框架会大量用到发送http请求的功能. 那么这一部分 ...

  3. 关于部门后端所有转向java前初步设想

    Java服务有些什么形式?眼下来看主要是下面几类: 1.  执行在Web应用server的Servlet 2.  Thrift.PB.Avro等相似框架写的java服务 3.  WebService( ...

  4. Java——单例模式初步

    1.7 单例模式初步 好书推荐:java与模式 1.7.1 什么是设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构.编程风格.以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋 ...

  5. JAVA面向对象初步知识总结:封装、继承、多态

    1.封装 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是是封装.其结果是一个同时带有特征和行为的数据类型.所谓具体实现的隐藏是通过访问权限控制实现的.JAVA 子类重写继承的方法时,不可以 ...

  6. Java网络通信初步认知

    本文转载自:http://wing011203.cnblogs.com/ 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础 ...

  7. JAVA:NIO初步了解

    简介: Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式. Java NIO: Ch ...

  8. java socket初步学习一 ( tcp)

    Java socket通信程序: 第一版本: 实现功能: 服务器地址:127.0.0.1  端口:5050 客户机:端口5050 客户端发送字符:“t” 服务器接收到该字符并回复:“r” 流程: 建立 ...

  9. 对Java的初步的认识:

    学习JAVA的优势 1) Java广受欢迎 Java是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.据2016年数据显示,Java被评为最受欢迎的编程语言之一2)  Java薪资比较好最新 ...

随机推荐

  1. oracle数据库重建EM

    首先直接在文本控制台执行: [emca不像dbca.netca一样会出现图形化的界面,而是通过文本的交互式操作来完成重新配置]   emca -config dbcontrol db -repos   ...

  2. centos下安装xfce+vnc

    首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde,kde少于gnome). 安装xfce桌面一开始我以为第三方的软件源如rpmforge等应该 ...

  3. Intent七大属性

    一.Intent的作用是什么?    1.Intent 用于封装程序的”调用意图“.两个Activity之间,可以把需要交换的数据封装成Bundle对象,然后使用Intent携带Bundle对象,实现 ...

  4. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

  5. hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online

    很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死…… 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了! 反复读题,终于在偶然间 ...

  6. 打造万能的ListView GridView 适配器

    转载:http://blog.csdn.net/lmj623565791/article/details/38902805/ 通用的ViewHolder 首先分析下ViewHolder的作用,通过co ...

  7. Linux基本命令 目录

    Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...

  8. LR回放测试脚本

    1.设置run time setting Pacing:设置什么时候进行迭代 2.实时观察回放录像 3.回放脚本 4.查看结果

  9. VM虚拟机快照还原效果实现方式

    ===================================================默认"快照删除"行为:============================ ...

  10. cocos2dx 2.x版本:简化提炼tolua++绑定自定义类到lua中使用

    cocos2dx的3.x版本已经提供了更好地绑定方式,网上有很多相关的教程,这里给一个链接:http://www.cocoachina.com/bbs/read.php?tid=196416. 由于目 ...