Java基础知识+必考面试题(分享收藏版)

在学习Java语言之前,我们要了解相关知识体系,才能更好的掌握学习。那么下面我们就一起来学习JAVA语言吧~

 

Java语言概述

Java语言是Sun公司在1995年推出的高级编程语言,编程语言就是计算机语言,人们可以通过使用编程语言让计算机完成很多功能。

Java语言主要是应用在互联网开发领域,很多互联网程序都是用Java编写的。Java经过这么多年的发展,如今在很多编程语言排行榜上位居首位,主要是因为Java的生态环境非常好,使用的人很多。


Java语言的特点

1.面向对象

面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来,并以固定的形式表示。

2.简单好用

Java语言是由C和C++演变而来的,它省略了C语言中所有的难以理解、容易混淆的特性(比如指针),变得更加严谨、简洁、易使用。

3.健壮性

Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。另外,在Java语言中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的自动收集等),有效地减少了错误,使得Java应用程序更加健壮。

4.安全性

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击,从而可以提高系统的安全性。

5.平台无关性

Java平台无关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。

6.支持多线程

在C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持。多线程机制使应用程序在同一时间并行执行多项任务,该机制使得程序能够具有更好的交互性、实时性。

7.分布式(支持网络编程)

Java语言具有强大的、易于使用的网络能力,非常适合开发分布式计算的程序。java中提供了网络应用编程接口(java.net),使得我们可以通过URL、Socket等远程访问对象。

8.编译与解释共存

Java 是编译与解释共存的语言


无论你将来要从事那个方向,Java基础(又叫javaSE基础)属于公共基础部分,必须要学习。

Java学习方向(工作岗位)

Java方向或者工作岗位主要有三个:Javaweb、大数据、Android。

Java后端的知识点 

Java大数据的学习路线

 


常会遇到的问题

1.Java语言具有可移植性、可跨平台运行特点的原因是什么?

Java——编译器——jvm——平台

Java用编译器编译成.class的字节码文件,字节码类似于机器指令,同一字节码可以在任何带jvm虚拟机的平台运行,从而实现java的跨平台性。所谓语言的跨平台性并不是说是源文件的跨平台性(如果要这么定义那么任何的语言都是跨平台性的),而是指源文件编译生成的文件的跨平台性。因为Java字节码是结构中立的,所以Java 的程序是可移植的。他们可以不经过重新编译而在任何一个机器上运行。

2.为什么说Java语言具有健壮、安全的特性?

Java 编译器检测出许多别的语言只有在首次执行的时候才会指出的问题。

Java 已经清除了几种在其它语言中被发现易于出错的编程结构。

Java具有运行时异常处理特性,垃圾回收机制,它为健壮性提供了编程支持。

Java 实现了几种安全机制以保护你的系统遭受危险程序的破坏 。

3.简述Java虚拟机(JVM)的作用是什么?

JVM就是Java虚拟机,它是一个虚构出来的计算机,可在实际的计算机上模拟各种计算机的功能。JVM有自己完善的硬件结构,例如处理器、堆栈和寄存器等,还具有相应的指令系统。JVM是java字节码执行的引擎,还能优化java字节码,使之转化成效率更高的机器指令。Java程序的跨平台特性主要就是因为JVM实现的。在编译java程序时会将写好的源程序通过编译器编译生成.class文件(又称为字节码文件),不同的平台对应着不同的JVM,之后就是通过JVM内部的解释器将字节码文件解释成为具体平台上的机器指令执行,所以就可以实现java程序的跨平台特性。

还有这些Java基础面试题

1.面向对象的特征有哪些方面?

2.访问修饰符 public,private,protected,以及不写(默认)时的区别?

3.String 是最基本的数据类型吗?

4.float f=3.4;是否正确?

5.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6.Java 有没有 goto?

7.int 和 Integer 有什么区别?

8.&和&&的区别?

9.解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。

10.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

以上就是今天的分享,如果你就得有用记得点赞收藏哦,以防找不到我。如果你还有什么想要了解的,可以告诉我哦!说不定哪天就会有你想知道的内容。

希望你可以持之以恒的去学习,勇敢的走下去,当有天你回头看,会发现鲜花铺满你来时的路。

(以上图片及文字均整理于网络,如有侵权联系删除)

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值