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. 【解题报告】[动态规划] RQNOJ - PID273 / 马棚问题

    原题地址:http://www.rqnoj.cn/problem/273 题目大意:中文题不说了. 设从第i匹马到第j-1匹马放在一个马棚里得到的系数为f(i,j). 状态表示:dp[i][j]表示前 ...

  2. sysbench 安装

    sysbench源代码可以在https://launchpad.net/sysbench找到.也可以从本文件附件中下载. 先安装好mysql,记录下安装目录.默认为 /usr/local/mysql ...

  3. js match regex

    需要返回成数组元素的要放在括号里头 var arr = /input-([0-9]*)-([0-9]*)/.exec(id); var all = arr[0]; var row = arr[1]; ...

  4. 嵌入式 VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)

    系统启动后,虽然nand驱动表现正常,但是最后挂载rootfs时候出错: Kernel command line: root=/dev/mtdblock2 rw init=/linuxrc conso ...

  5. hdu 5423 Rikka with Tree(dfs)bestcoder #53 div2 1002

    题意: 输入一棵树,判断这棵树在以节点1为根节点时,是否是一棵特殊的树. 相关定义: 1.  定义f[A, i]为树A上节点i到节点1的距离,父节点与子节点之间的距离为1. 2.  对于树A与树B,如 ...

  6. Locker

    题意: 有2个数字串,每次可以变化1-3位(每位+1或-1(0-9,9-0)可循环),求由1串变到2串的最小用的次数. 分析: dp[i][num]表示变到第i位时最后两位组成的数是num时最小次数( ...

  7. loadrunner中lr_log_message和lr_output_message 的区别

    LoadRunner中lr_output_message和lr_log_message(1)在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息: l ...

  8. loadrunner11录制不成功解决方法

    问题一:loadrunner11录制时events为0的解决办法  刚安装好的11.0,系统环境是:WIN7+IE11+LR11 1.ie去掉工具—internet选项中->高级—>去掉“ ...

  9. JavaScript专业规则12条

    学习JavaScript是困难的.它发展的如此之快,以至于在任何一个特定的时刻,你都不清楚自己是否“做错了”.有些时候,感觉像是坏的部分超过了好的部分.然而,讨论这些并没有意义,JavaScript正 ...

  10. 可进行JavaScript代码测试与调试的12个网站

    概述:JavaScript是网站前端开发最为重要的一门编程语言,本文收集了能够在线测试与调试JavaScript代码的12个网站 1.JS Bin JS bin是一个为JavaScript和CSS爱好 ...