【软考2】Java语言的基本知识汇总
导读:现在对于java这一模块,还没有相应的项目经验,只是通过各种类型的资料,对java有一个面上的了解。现在,对此做一个罗列总结,在以后的学习过程中,逐步完善!
一、语言的发展
1.1,机器语言
在第一代计算机语言期间,软件工程师只能用机器语言来编写程序。人类语言和计算机编程语言存在着巨大的鸿沟。
1.2,汇编语言
汇编语言,将计算机语言映射为人类可以理解的助记符,如ADD(加法指令),SUB(减法指令)等。在这一时期(第二代计算机语言),人类语言和计算机编程语言的鸿沟在缩小,但是,由于汇编语言的抽象层次太低,软件工程师在编写程序的过程中,仍然需要考虑很多的机器 细节。
1.3,高级语言
高级语言(第三代计算机语言)屏蔽了机器的细节,在汇编的基础上,提高了抽象的层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句,这使得在编写程序时可以联想到程序所描述的具体事物。如:C、C++、java、.NET等。
1.4,发展趋势
面向对象的思想在程序设计编写中占有很重要的地位,未来的语言发展,也许不仅仅是一种语言的标准,而是更为全面的面向对象的语言。而未来的语言,它的使用对象将可能不再是专业的程序员,也许一个普通人也能根据现实对象,自己编码实现。(猜测)
二、java语言体系
首先,任何一个语言,都必定有其数据类型、结构形式(循环、分支等),基础语法标准。在这里,我个人总结对于我自己来说,java语言的特性。
2.1,java语言
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。它包括:J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。
注:所以,目前所学的J2SE只是java语言的一个分支而已。
2.2,运行机制
2.2,1,Java虚拟机(java virtual machine)
可以理解成一个以字节码为机器指令的CPU;不同的运行平台,有不同的虚拟机;虚拟机制屏蔽了底层运行平台的差别,实现了”一次编译,随处运行”。java之所以能够跨平台,就是因为java特殊的虚拟机机制。
2.2.2,垃圾收集机制(Garbage collection)
在java语言中,对象的创建和放置都是在存储器堆栈上面进行的。当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放存储器以避免存储器泄漏。
三、关键字
3.1,this关键字
只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
this的基本用法:
第一、通过this调用另一个构造方法,这个仅仅在类的构造方法中使用。
第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。
第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。
3.2,super关键字
super关键和this作用类似,是被屏蔽的成员变量或者成员方法或变为可见,或者说用来引用被屏蔽的成员变量和成员成员方法。不过super是用在子类中,目的是访问直接父类中被屏蔽的成员。
super的基本用法:
第一、在子类构造方法中要调用父类的构造方法,用“super(参数列表)”的方式调用,参数不是必须的。“super(参数列表)”这条语句只能用在子类构造方法体中的第一行。
第二、当子类方法中的局部变量或者子类的成员变量与父类成员变量同名时,也就是子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父类成员变量。当然,如果父类的成员变量没有被覆盖,也可以用“super.成员变量名”来引用父类成员变量,不过这是不必要的。
第三、当子类的成员方法覆盖了父类的成员方法时,也就是子类和父类有完全相同的方法定义(但方法体可以不同),此时,用“super.方法名(参数列表)”的方式访问父类的方法。
3.3,this和super的区别
相同点:
1,this和super均须放在构造方法内第一行
2,this和super都是指向一个对象,所以,不可以再static环境中使用
不同点:
1,调用范围不同:this在同一类调用其它方法;super从子类中调用父类的构造方法
2,this和super不能同时出现在一个构造函数里面
3,性质不同:this是一个指向本对象的指针,super是一个关键字
四、学习感受
1,语言都是一样的,从最开始的VB学起,到现在,很多的基础都是一样的。现在,却陷入了这样一个境地:脑袋里装了很多东西,但理不出一条思路,总结能力急需提升。
2,这几天状态有点不好,额,然后这篇博客。。。。。。。。。
【软考2】Java语言的基本知识汇总的更多相关文章
- Java快速入门-03-小知识汇总篇(全)
Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...
- JAVA面试题0 JAVA语言的基本知识
JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...
- 软考计算机网络原理之IP计算问题汇总
转自 http://www.cnblogs.com/jyh317/archive/2013/04/14/3018650.html 1.IP地址 分类: ①A类IP地址 ②B类IP地址 ③C类IP地址 ...
- Java多线程编程基础知识汇总
多线程简介 多任务 现代操作系统(Windows.Linux.MacOS)都可以执行多任务,多任务就是同时运行多个任务.例如在我们的计算机上,一般都同时跑着多个程序,例如浏览器,视频播放器,音乐播 ...
- java语言基础1问题汇总
1.一个Java类文件中真的只能有一个公有类吗? 程序实验: public class test1 { public static void main( String args[] ){ } publ ...
- 《JAVA语言》课问题汇总
一.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码.补码跟原码这几个概念,然后编写示例程序,对正数.负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示 ...
- Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识
JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...
- day01<计算机基础知识&Java语言基础>
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- Java复习(一)——Java语言概述、开发环境、基础知识
设计模式:在各种应用系统中被大量应用,是设计的“常用套路” 作为Java WEB开发人员,需要掌握HTML/CSS/JS和数据库相关知识 常用的应用程序框架:Spring MVC,Spring Boo ...
随机推荐
- 【踩坑】Safari不兼容webpack封装的vue项目
刚完成 Iblog 博客项目,在 chrome 浏览器调试完后,用 Safari 打开网站,页面一直停留在加载状态. 后来网上说这是 Safari 不支持 ES6 所致. 经过搜索,在 github ...
- git与GitHub(一)
相信,很多初入前端者都会对git以及GitHub不太了解,而我当时也经历过各种面试大关,也都会问:你了解git和GitHub吗?那么今天先来说一说git. 那么什么是git? (以下转载自廖雪峰老师的 ...
- vue从入门到开发--1-安装脚手架
一: 1.在文件目录下打开命令窗口(按住shift+右键[在此处打开命令窗口]或者直接ctrl+R打开命令窗口,利用cd选择到自己的文件目录) 2.$ npm install --global vue ...
- spark性能测试理论-Benchmark(转)
一.Benchmark简介Benchmark是一个评价方式,在整个计算机领域有着长期的应用.正如维基百科上的解释“As computer architecture advanced, it becam ...
- Memcache笔记01-Memcache的安装
memcached是什么? Memcached是一个高性能的分布式的内存对象缓存系统,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力,通过在内存里维护一个统一的巨大的has ...
- 洛谷 P1531 I Hate It
题目背景 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的 ...
- 原创 :xftp SFTP子系统申请已拒绝 请确保SSH链接的SFTP子系统设置有效
在出现这个错误时候 如果你的远程连接没有问题 那么就执行下面的命令 service sshd restart 搞定!
- Codeforces Round #317 (Div. 2) D Minimization (贪心+dp)
D. Minimization time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- JS中鼠标左右键以及中键的事件
在三维场景中有时候需要判断鼠标的事件,除了使用的click事件,只有鼠标左键有效,而右键无效.而对于onmousedown.onmouseup的时候鼠标的事件左键/右键有效.详细请看w3c上的资料. ...
- ThinkPHP5.0-多语言切换
这两天做得项目中需要多语言切换,于是乎就看了看文档,感觉有些乱,就使用了终极必杀--百度. 借鉴了网上各位大佬所集成.整理出一篇比较适合类似我这种比较菜的随笔吧. 请各位大佬轻虐.感谢. 首先,不说其 ...