文档章节

java面试 --之 java概述与基础知识 (1)

viakiba
 viakiba
发布于 2016/09/19 10:11
字数 2135
阅读 2
收藏 0

1、何为编程?

编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。

为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

 

2、Java语言概述,历史、特点


是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级语言。

是一种面向Internet的编程语言。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
简单易学,完全面向对象,安全可靠,与平台无关的编程语言。


java5.0之后的三大技术框架

J2EE(Java 2 Platform Enterprise Edition)企业版

在jdk5.0版本后称为JAVAEE,是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。是传智播客就业班和 训练营的主要学习内容之一.。

J2SE(Java 2 Platform Standard Edition)标准版

在jdk5.0版本后称为JAVASE,这是在java基础阶段主要学习的内容,也是java的基础,以后不管从事Android开发或者是物联网+云计算的开发,等是建立在JSE基础上的,因此该技术是java的最核心技术,是传智播客基础班的主要上课内容.。

J2ME(Java 2 Platform Micro Edition)小型版

在jdk5.0版本以后称为JAVAME,该技术多应用于一些电子产品的嵌入式开发,以前在手机开发上应用的也比较多,但是随着智能手机的发展,现在手机应用程序(比如Android程序)的开发已经不再使用该技术。

 

3、什么是跨平台性?原理是什么?JVM

    所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。

 

实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。(注意不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机)。

我的总结:Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!

 

4、Jre和Jdk的区别?

JRE:(Java Runtime Environment),java运行环境。包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。

JDK:(Java Development Kit Java)开发工具包。JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)

 

简单而言:使用JDK开发完成的java程序,交给JRE去运行。

我的总结:必须熟练的记忆,核心类库,开发工具!

 

5、java虚拟机JVM

Java Virtual Machine ,简称JVM;

它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。

Java编译器针对JVM产生class文件,因此是独立于平台的。

Java解释器负责将JVM的代码在特定的平台上运行。

Java虚拟机是不跨平台的.

 

6、Java程序运行机制

 

 

编译: javac  文件名.文件后缀名

运行: java  类名

我的总结:Java程序的组成:Java源文件,字节码文件。

 

 

 

 

7、学习java注意的地方

 

Java语言拼写上严格区分大小写

一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类;

若源文件中包括了public类,源文件必须和该public类同名;

一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和

其对应的类名相同;

 

我的总结:一个Java源文件只定义一个类,不同的类使用不同的源文件定义;

将每个源文件中单独定义的类都定义成public的;

保持Java源文件的主文件名与源文件中的类名一致;

 

 

8、Java语法格式

任何一种语言都有自己的语法规则,Java也一样,既然是规则,那么知道其如何使用就可以了。

代码都定义在类中,类由class来定义,区分 public class  和  class;

代码严格区分大小写,如main 和 Main  是不一样的;

Java中的标识符与关键字;

注释;

 

main方法的作用:

程序的入口

保证程序的独立运行

被JVM调用

 

9、代码注释:单行//,多行/* */,文档注释/** */

1.单行注释      //:

//后到本行结束的所有字符会被编译器忽略;

2.多行注释     /* */:

/*  */之间的所有字符会被编译器忽略

3.文档注释     /** */:

 在/**  */之间的所有字符会被编译器忽略,java特有的(用于生成文档);    

我的总结:多行和文档注释都不能嵌套使用。

 

10、Java中的标识符

可简单理解为在Java程序中为了增强阅读性自定义的名称。比如:类名,方法名,变量名等。

命名规则:

       (1) 由字母、数字、下划线、$组成,不能以数字开头

              注意:此处的字母还可以是中文,日文等;

       (2) 大小写敏感

       (3) 不得使用java中的关键字和保留字

       (4) 别用Java API里面的类名作为自己的类名。

 

11、java中的常量和变量

变量的概念:

占据着内存中的某一个存储区域;

该区域有自己的名称(变量名)和类型(数据类型);

该区域的数据可以在同一类型范围内不断变化;

 

为什么要定义变量:

用来不断的存放同一类型的常量,并可以重复使用;

使用变量注意:

变量的作用范围, 初始化值

定义变量的格式:t

数据类型    变量名  =  初始化值;

注:格式是固定的,记住格式,以不变应万变。

作用范围:定义开始到定义它的代码块结束;

同一范围内,不允许多个个局部变量命名冲突

 

12、Java成员变量和局部变量

局部变量:不是声明在类体括号里面的变量;

局部变量使用前必须初始化值;

局部变量没有默认初始化值;

局部变量的作用域是从定义开始到定义它的代码块结束;

 

成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员)

成员变量的作用域是整个类中;

我的总结:注意成员变量和局部变量的区别

 


package reviewDemo;

public class Demo2 {
 public static void main(String[] args) {
     int i;
       System.out.println(i);
   }
}

备注:局部变量调用前没有初始化,所以编译的时候就会报错!


package reviewDemo;

public class Demo2 {
  static int i;
    public static void main(String[] args) {
     System.out.println(i);
   }
}

备注:此时i为全局变量,未初始化会被赋予默认的初始化值!程序正确!

 

我的总结:

局部变量是定义在方法中的变量,,,出了该方法就不能访问该变量了....
成员变量是在类中定义,,,,并且在类的成员方法中都能访问的变量..

© 著作权归作者所有

viakiba
粉丝 5
博文 113
码字总数 67168
作品 0
昌平
后端工程师
私信 提问
Java培训实战教程之Java基础知识精华部分(一)(二)(三)

Java培训实战教程之Java基础知识精华部分(一)_java概述 =============================================================================Java培训实战教程之Java基础知识精华部分(一)_java概...

黑泽明军
2018/04/13
0
0
BAT等大厂Android面试书单和知识点清单

java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1.Thinking in java:这本书被称为Java的三大圣经之一,虽然书比...

android自学
2018/07/25
0
0
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
JVM系列开篇:为什么要学虚拟机?

跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试。但我经过了几年的学习和实战,我发现...

陈树义
2018/11/06
0
0
java 7 入门书籍

一、Java从入门到精通 《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。 《Java从入门到精通(第3版...

modernizr
2014/05/15
6.9K
9

没有更多内容

加载失败,请刷新页面

加载更多

枚举 创建/获取key,name,list

创建枚举 public enum MessageTypeEnum { // 类型:0.一般消息,1.公告消息,2交易消息,3.活动消息,4.其他消息 type_general("一般消息", "0"), type_ann("公告消息", "1")......

龘游戏人生龘
19分钟前
0
0
Linus 本尊来了!为什么 KubeCon 越来越火?

阿里妹导读: 从200人的小会议到3500 多位云原生和开源领域工程师齐聚一堂的大会,KubeCon 只用了四年,昨天,在KubeCon China 2019 上阿里巴巴宣布开源 OpenKruise,今天,Linus 本尊竟然现...

阿里云云栖社区
56分钟前
3
0
五小时构建云原生电商平台 | KubeCon SOFAStack Workshop 详解

本文根据 KubeCon China 2019 同场活动 SOFAStack Cloud Native Workshop 内容整理, 文末包含文档、PPT 地址,欢迎试用和提出建议。 2019 年 6 月 25 日,在 KubeCon China 2019,全球知名开...

SOFAStack
57分钟前
6
0
跨平台开发框架DevExtreme v19.1.4正式发布|附下载

DevExtreme Complete Subscription是性能最优的 HTML5,CSS 和 JavaScript 移动、Web开发框架,可以直接在Visual Studio集成开发环境,构建iOS,Android,Tizen和Windows Phone 8应用程序。D...

FILA6666
57分钟前
2
0
数据库链接断开 Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

报错信息如下: Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 97,130 mill......

为了美好的明天
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部