感觉假期过得好快,东西也丢得快. 假期吃喝玩乐之余也来温故一下Java知识,下面给大家整理了10道Java main方法的经典面试题,都来挑战一下自己的Java基础知识吧! 1.main方法是做什么用的? 2.不用main方法如何运行一个类? 3.main方法如何传递参数?传递参数的类型是什么?能不能改变该参数类型? 4.main方法为什么是静态的?能不能改为非静态? 5.main方法能被重载吗? 6.main方法能被覆盖吗? 7.main方法的返回类型是什么?能不能改变? 8.main方法的作…
1.简述JDK.JRE.JVM? 一.JDK JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境(Java Runtime Envirnment), 一堆Java工具(javac/java/jdb等) 和Java基础的类库(即Java API 包括rt.jar). JDK是java开发工具包, 基本上每个学java的人都会先在机器 上装一个JDK, 那他都包含哪几部分呢? 在目录下面有 六个文件夹. 一个src类库源码压缩包. 和其他几个声明文件.…
撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), 我们可以通过遍历索引 也可以通过迭代器进行遍历. 在我们使用迭代器进行遍历集合的时候, 会获取到当前集合的迭代对象. 在里面有封装了迭代器的remove方法 与集合自带的remove方法, 如果我们调用迭代器对象的remove方法 是没问题的, 但是当我们调用集合自带的remove方法时, 就会产生…
41.Iterator.ListIterator 和 Enumeration的区别? 迭代器是一种设计模式, 它是一个对象, 它可以遍历并选择序列中的对象, 而开发人员不需要了解 该序列的底层结构. 迭代器通常被称为“轻量级”对象, 因为创建它的代价小. Java中的Iterator功能比较简单, 并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator. 第一次调用Iterator的next()方法时, 它返回序列的第一个元素. 注意:iterator()方法是…
撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类变量 都是共享同一块内存空间. 实例变量也叫对象变量, 这种变量没有加static修饰符. 只能通过对象调用, 而且所有对象的同一个实例变量 是共享不同的内存空间的. 区别在于: 静态变量是所有对象共有的, 某一个对象将它的值改变了, 其他对象再去获取它的值, 得到的是改变后的值: 实例变量则是每一…
21.final, finally, finalize的区别 1.final修饰符(关键字). 被final修饰的类, 就意味着不能再派生出新的子类, 不能作为父类而被子类继承. 因此一个类不能既被abstract声明, 又被final声明.将变量或方法声明为final, 可以保证他们在使用的过程中不被修改. 被声明为final的变量必须在声明时给出变量的初始值, 而在以后的引用中只能读取. 被final声明的方法也同样只能使用, 即不能方法重写. 22.finally是在异常处理时 提供fin…
11.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面, 以便更充分地注意与当前目标有关的方面. 抽象并不打算了解全部问题,而只是选择其中的一部分, 暂时不用部分细节. 抽象包括两个方面, 一是过程抽象, 二是数据抽象. 2.继承: 继承是一种联结类的层次模型, 并且允许和鼓励类的重用, 它提供了一种明确表述共性的方法. 对象的一个新类可以从现有的类中派生, 这个过程称为类继承. 新类继承了原始类的特性, 新类称为原始类的派生类(子类), 而原始类称为新类的基…
JavaScript十分特别.而且差点儿在每一个大型应用中起着至关关键的数据.那么,究竟是什么使JavaScript显得与众不同,意义非凡? 这里有一些问题将帮助你了解其真正的奥妙所在:   1.你能说出对JavaScript应用开发人员非常重要的两种编程范式吗? 答: JavaScript是一门多范式语言, 支持命令式/过程式编程以及OOP(面向对象编程)和函数式编程.JavaScript使用原型继承来实现OOP. 面试官非常高兴听到这些: ·原型继承(或:原型,OLOO(对象链接到其它对象)…
51.HashMap的实现原理 HashMap的主干是一个Entry数组. Entry是HashMap的基本组成单元, 每一个Entry包含一个key-value键值对. HashMap基于hashing原理, 我们通过put()和get()方法储存和获取对象. 当我们将键值对传递给put()方法时, 它调用键对象的hashCode()方法 来计算hashcode, 让后找到bucket位置来储存值对象. 当获取对象时, 通过键对象的equals()方法 找到正确的键值对, 然后返回值对象. H…
今天主要整理一下 Java 并发编程在面试中的常见问题,希望对需要的读者有用. 1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on):true则把该线程设置为守护线程,反之则为用户线程.Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常. 两者的区别: 唯一的区别是判断虚拟机(JVM)…