Java面试
乔治的哥们
这个作者很懒,什么都没留下…
展开
-
反射机制
反射机制:是Java语言一个非常重要的特性,它允许程序在运行时进行自我检查,同时也允许对其内部的成员进行操作 虽然在实际的开发中使用的并不是特别的多。而且像C或C++的特性中 根本就没有这种特性。 反射机制能够实现在运行时对类进行装载。因此可以大大的增加我们程序的灵活性。 一般情况下,程序中的对象的类型,在编译器就已经确定下来了,而当我们的程序在运行的时候,我们可能需要动态的加载一些类,但是这些类在之前并没有用到,所以它还没有加载到我们的虚拟机中,这个时候就可以使用反射机制进行加载。 反射机制的主要应.原创 2021-04-13 18:31:41 · 153 阅读 · 0 评论 -
什么是迭代器
迭代器是一种设计模式,它是一个对象,他可以遍历并且选择序列中的一个对象,是开发人员可以忽视这个序列中的底层结构。 迭代器被称为轻量级的对象,因为它创建的代价是非常小的 Java中的Iterator迭代器,它的底层的功能是非常简单的,并且它只能单向移动的,它的使用方法:首先我们需要定义一个Iterator这个方法,然后返回一个Iterator对象,第一次调用这个Iterator的next方法的时候,它返回序列中的第一个元素,接下来我们需要使用next去获取序列中的下一个元素。我们再使用hasNext这个.原创 2021-04-13 18:08:53 · 8133 阅读 · 0 评论 -
面向对象和面向过程的区别
面向过程:它本身的性能是比较高的,比如说C语言,因为面向过程它不需要去创建类,类的调用是需要进行实例化的所以这个开销是比较大的,也是比较耗资源的. 当我们的程序性能是第一考虑因素的时候,我们就可以选择这种面向过程的编程,比如说 单片机和嵌入式的开发。 像Linux和Unix 一般都采用面向过程的开发 面向过程没有面向对象的优点: 易维护、易扩展、易复用 面向对象:易维护和易扩展,因为它是具有封装、继承、多态 这三个特点的。 所以可以设计出一个低耦合的一个系统,使系统更加的灵活 更加的易于维护。 .原创 2021-04-13 17:54:51 · 222 阅读 · 0 评论 -
JDK 和 JRE的区别
JDK: 全名 Java Development Kit 也就是Java开发工具,他是功能齐全的Java的SDK,它拥有JRE所拥有的一切。还有编译器和工具,它能够创建和编译程序 JRE: Java的运行时环境,他是运行已编译的Java程序所需要的所有内容的一个集合。 包括 虚拟机,或者Java类的一些库,Java的命令 以及 一些基础的构件。 但是他不能用于创建新的程序,如果只需要运行Java程序 只需要安装JRE就可以了。 ...原创 2021-04-13 17:38:03 · 174 阅读 · 0 评论 -
Sleep和 Wait 的区别
首先这两种方法都是用来阻塞线程的 sleep() sleep方法是Thread类中的一个静态方法,它是会让我们调用这个方法的线程 进入一个睡眠状态。然后把这个CPU的执行权让给其他线程,等到这个休眠时间结束之后 再去进入这个就绪状态,去跟其他线程一起竞争这个CPU的使用权 这个Sleep是不会去释放当前线程所占有的锁的,也就是说 当我们的synchronized这个代码块 里面去调用sleep方法时,线程虽然会进行休眠,但是它并不会去放弃这个锁的使用权,也就是说:其他线程是无法获取这个锁的。 .原创 2021-04-13 17:29:47 · 176 阅读 · 0 评论 -
BIO、NIO、AIO
BIO 同步阻塞的一个IO模型 它数据的读取和写入必须阻塞在一个线程里面,去等待完成,在连接数不是特别高的时候。 比如说小于1000的情况下,它的这种模型其实是非常不错的,它可以让每一个连接都专注的去做自己的一个IO 并且编程比较简单,也不用考虑系统的过载、限流等问题。 线程池本身也是一个天然的漏斗,可以缓冲一些系统处理不了的连接或者请求,但是当我们的连接数一旦大的时候,传统的BIO模型是无能为力的,因此我们需要一种更加高效的IO模型来进行处理。 NIO 同步非阻塞的IO模型 在JDK1.4就.原创 2021-04-13 17:17:28 · 164 阅读 · 0 评论