JAVA特性面试题:
1.简要介绍java程序的健壮性。
答:JAVA程序会在编译和运行的时候自动的检测可能出现的错误,而且它是一种强类型语言,对于类型的检查很严格,而且它的垃圾回收机制也有效的避免了内存的泄漏。
2.为什么说java语言是完全面向对象的?(其实我觉得它不是完全面向对象的)
答:因为它不支持任何面向过程的程序设计技术它的所有程序设计技术都是用类来实现的。
另答:因为它有8种简单数据类型不是面向对象的,可以直接使用它,用static申明的变量或方法不是面向对象的,因为它不属于任何一个对象,要调用它可以直接使用,不用对它进行实例化(这种方法还在争论中)。
3.简要介绍java如何实现安全性。
答:首先JAVA删除了指针这就避免了非法的内存操作,所有对内存的操作都必须通过对象的实例来实现。而且当我们从网上下载代码执行是它的安全系统能确保恶意程序不会随便访问我们本地计算机的资源。
4.为什么说java是解释性的?
答:因为我们在执行JAVA文件时,编译器会先把代码译成字节码文件,这是一种中间代码,然后JAVA解释器才进行执行。
5.简要介绍java的平台无关性。
答:JAVA程序是在虚拟机上执行的,只要安装了JAVA虚拟机它就可以以字节码的形式在任何平台上执行。
6.简要介绍java的多态性。
答:多态性是指同名的不同方法在程序中共存,系统根据不同的情况调用不同的方法实现不同的功能。实现多态性的方法有两种:覆盖实现,重载实现。
7.简要介绍java是强类型检查语言。
答:JAVA对数据类型的检查非常严格,在定义和用变量时必须先指定其类型而且它只允许数据类型的向上提升,而且不允许出现会出现数据丢失的附值(如把小数附给整形)。
8.int 和 Integer有什么区别?
答:int是简单数据类型(整形)而Integer是整形的封装类。
9.简要介绍String和StringBuffer的区别?
答:String类代表不可变字符串。在值创建之后就不能被改变。而StringBuffer是可变的字符序列,初始容量16字节,通过某些方法可改变其内容和长度。
10.简要介绍java的垃圾回收机制。
答:JAVA的垃圾回收机制就是:当一个对象没有任何引用时,该对象便会启动垃圾回收器调用finalize方法以配置系统资源或执行相关的清除操作。
1、面向对象编程(OOP):OOP最重要的思想是类,类是模板,从类中构造一个对象,即创建了这个类的一个实例;
2、封装:是把数据和行为结合在一起,并对对象使用者隐藏数据的实现过程,通常一个对象中的数据叫他的实例字段(instance field) ;
3、继承:Java中允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段;
4、多态:在java中,对象变量是多态的;需要注意的是java中不支持多重继承;
5、类之间的关系:
use-a :依赖关系 ;
has-a :聚合关系 ;
is-a : 继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法;
6、构造对象使用构造器:构造器是一种特殊的方法,它的作用是构造对象并对其初始化,
构造器特点:构造器可以有0个,一个或多个参数 ;
构造器和类名称是相同的;
一个类可以有多个构造器;
构造器没有返回值;
构造器一定是和new运算符一起使用的;
7、包(package):Java允许把一个或多个类放在一起成为一组,称作为包,以便于更好的管理,标准Java库分为许多包如java.lang、java.util、java,net等,包是分层次的,所有的java包都在java和javax包层次内;
8、重载:当多个方法具有相同的名字而含有不同的参数时,这时就发生了重载,编译器会选出调用哪个方法;
9、健壮特性:Java采取了一个安全指针模型,能有效防止重写内存和数据崩溃;
10、安全:Java可以用来构建防病毒和防攻击的系统,事实证明Java在防毒方面做的比较好;
11、可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定,所以有很好的可移植性;
12、多线程:由于Java的机制,它处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成,所以多线程是Java作为服务器端开发语言的流行原因之一;
13、动态绑定:这是Java调用对象方法的机制;
14、Java中的每一个类都是从Object类扩展而来的;
15、内部类:一个内部类的定义是定义在另一个内部类中;
经验多的希望有一些深度或者广度的积累。比如说某些领域非常专注/专业,或者说在整体上有非常全面的认识和了解。工作时间长了就需要有一定的积累,不然怎么能够突出自己的特点呢?做互联网的就需要对性能、并发、分布式等专业领域有一些了解或者研究,哪怕有一些心得也不错。做企业开发的就需要对行业、稳定性、工具、理论等有些独有的理解,哪怕很初级、幼稚也行。具体点怎么说,比如你每天都是用struts/spring/hibernate/ibatis等等,那么对这些原理是否了解?背后的思想是否了解? 业界的认识和评测、比较是否了解?而不是仅仅知道怎么调用API,这远远不够。如果能够研究下源码,写一个类似的系统就更好了。说白了就是能够透过工具/技术本身发现一些规律或者说认识,剩下来的就是积累,也就是我们通常说的经验。还有一个方面就是对行业趋势的了解。技术不能够仅仅关注于技术本身,还需要对业绩的动态、趋势有些关注,这样才能不至于技术不断的更新而落后。这并不是说总是去追求新技术、新软件、新工具等,而是关注行业本身的发展。 另外还有一个很重要的经验积累,那就是解决问题的能力。很多同学同时觉得自己做了很多事情,但是让他说一两点比较突出的事情,就说不出来了,总是归结于事情本身比较简单,没有更多的发现和挖掘。其实有时候面试的人只需要了解当初解决问题的过程就行,从中发现个人在里面做了什么、怎么做、收获了什么。这就是经验的积累。企业归根结底是需要员工作做贡献的,因此需要有经验的人来帮助解决问题,那么曾经解决问题的能力和思路就很重要了。 对于没有多少经验的同学,比如刚毕业或者实习生等,那么就需要基础很好,然后有一些个人的认识。这些经验少的java同学一般面试者都不会为难他们,只需要把知道的、认识到的告诉面试者就行了,从而让面试者能够看到发展的潜力。很多人还是喜欢培养那些有发展潜力的同学,这些同学的进步都是非常迅速的。我个人总结其实只有一点,那就是要有“亮点”。说白了就是有自己独特的认识和理解等才能在众多差不多的同学中脱颖而出。既然不能做全才,那么就做“专才”。这些java找工作心得体验分享希望能助你找到一份好工作。总之,面试时技能是基础,表达是辅助。是块金子,在哪里都会放出光彩!
JAVA特性面试题:的更多相关文章
- java常见面试题及答案 1-10(基础篇)
java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...
- JAVA 综合面试题
JAVA 综合面试题 2007-08-12 目录 TOC \o "1-3" \h \z \u Java面试题整理 9 Java面向对象 9 1. super()与this()的区别 ...
- Java 200+ 面试题补充② Netty 模块
让我们每天都能看到自己的进步.老王带你打造最全的 Java 面试清单,认真把一件事做到最好. 本文是前文<Java 最常见的 200+ 面试题>的第二个补充模块,第一模块为:<Jav ...
- Java高级面试题解析(一)
最近,在看一些java高级面试题,我发现我在认真研究一个面试题的时候,我自己的收获是很大的,我们在看看面试题的时候,不仅仅要看这个问题本身,还要看这个问题的衍生问题,一个问题有些时候可能是一个问题群( ...
- Java开发面试题汇总整理
又是金三银四的时候,我希望这份面试题能够祝你一臂之力! 自我和项目相关 1.自我介绍 2.你觉得自己的优点是?你觉得自己有啥缺点? 3.你有哪些 offer? 4.你为什么要离开上家公司?你上家公司在 ...
- Java笔试面试题整理第八波
转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第五波
转载至:http://blog.csdn.net/shakespeare001/article/details/51321498 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java 虚拟机面试题全面解析(干货)
Java 虚拟机面试题全面解析(干货) JDK 是什么 JRE 是什么 Java历史版本的特性 Java Version SE 50 Java Version SE 6 Java Version SE ...
- 2019年19道java经典面试题(附答案)
1.不可变对象 指对象一旦被创建状态不能再改变.任何修改都会创建一个新的对象,如 String.Integer及其它包装类. 2.能否创建一个包含可变对象的不可变对象? 可以.不要共享可变对象的引用就 ...
随机推荐
- Redis 和缓存技术
Redis 是什么?什么作用?优点和缺点? https://blog.csdn.net/weixin_42295141/article/details/81380633 Redis 的主要功能哨兵+复 ...
- 【dp】饥饿的牛
普通dp题 题目描述 牛在饲料槽前排好了队.饲料槽依次用1到n(1 ≤ n ≤ 2000)编号.每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料. 约翰提供b个区间的清单.一个区间是一对整数 ...
- 01、Linux介绍
一. Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和 ...
- october安装过程
下载代码 composer create-project october/october myoctober 准备好数据库, create database october; 配置环境于安装 php ...
- MySQL写delete语句时不支持表别名
今天写代码时发现了下面一个比较奇怪的问题: 有下面的删除数据的SQL ; 这个sql本来没有问题,但是在MySQL中执行时会报错 ; 原因是 MySQL写delete语句时不支持表别名,困扰了我一会儿 ...
- Python 建模步骤
#%% #载入数据 .查看相关信息 import pandas as pd import numpy as np from sklearn.preprocessing import LabelEnco ...
- numpy 三个点的使用[...]
numpy [...]语法简单使用 Python numpy中切片功能与列表切片类似,但功能更加强大 本文主讲numpy中[...]的简单使用,后续工作继续补充. import numpy >& ...
- Python学习笔记:time模块和datetime模块(时间和日期)
time模块 time模块通常用来操作时间戳信息(各种“秒”),常用的方法有: time.sleep(seconds):将当前程序阻塞指定秒数,然后继续运行程序. time.time():返回当前时间 ...
- CentOS 7 安装 配置 Nginx + PHP
. CentOS 7 下配置 yum 安装 Nginx. 进入/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim ngi ...
- iOS 中的视图函数 init initwithnib viewDidLoad viewWillAppear的总结
我要总结的函数主要是这几个: UIView *view-如果view还没有被初始化的话,getter方法会先调用[self loadView],如果getter或者setter方法被重写了,子类中的g ...