随笔分类 - 面试题
摘要:1、Semaphore与ReentrantLock区别 Semaphore 基本能完成 ReentrantLock 的所有工作,使用方法也与之类似,通过 acquire()与release()方法来获得和释放临界资源。经实测, Semaphone.acquire()方法默认为可响应中断锁,与 Ree
阅读全文
摘要:Synchronized同步锁 synchronized 它可以把任意一个非 NULL 的对象当作锁。 他属于独占式的悲观锁,同时属于可重入锁。 Synchronized 作用范围**1. 作用于方法时,锁住的是对象的实例(this);2. 当作用于静态方法时,锁住的是Class实例,又因为Clas
阅读全文
摘要:33、start与run的区别? 1. start() 方法来启动线程,真正实现了多线程运行。这时无需等待 run 方法体代码执行完毕,可以直接继续执行下面的代码。2. 通过调用 Thread 类的 start()方法来启动一个线程, 这时此线程是处于就绪状态, 并没有运行。3. 方法 run()称
阅读全文
摘要:21、说一说自己对于 synchronized 关键字的了解 synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 另外,在 Java 早期版本中,synchronized属于重量级锁,效率低
阅读全文
摘要:8、notify()和notifyAll()有什么区别? notify可能会导致死锁,而notifyAll则不会任何时候只有一个线程可以获得锁,也就是说只有一个线程可以运行synchronized 中的代码使用notifyall,可以唤醒所有处于wait状态的线程,使其重新进入锁的争夺队列中,而no
阅读全文
摘要:1、java实现多线程有几种方法 继承Thread类 实现Runnable接口 实现Callable接口通过FutureTask包装器来创建Thread线程 使用ExecutorService、Callable、Future是实现有返回结果的多线程(也就是使用了ExecutorService来管理前
阅读全文
摘要:1、4种标准的元注解是哪四种? 元注解的作用是负责注解其他注解。java5.0定义了4个标准的meta-annotation类型,它们被用来对其他annotation类型进行说明 1)@Target 修饰的对象范围@Target说明了Annotation所修饰的对象范围: Annotation可被用
阅读全文
摘要:1、什么是java序列化,如何实现java序列化?序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializab
阅读全文
摘要:1.除了使用new创建对象之外,还可以用什么方法创建对象? 使用java反射可以创建对象 2.java反射创建对象效率高还是new创建对象的效率高? 通过new创建对象的效率比较高,通过反射时,先查找类资源,使用类加载器创建,过程比较繁琐,所以效率比较低。 3、java反射的作用反射机制是在运行时,
阅读全文
摘要:1.JAVA NIO NIO 主要有三大核心部分: Channel(通道), Buffer(缓冲区), Selector。传统 IO 基于字节流和字符流进行操作, 而 NIO 基于 Channel 和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Selec
阅读全文
摘要:1.java中的IO流? 1,Java 中 IO 流分为几种?1. 按照流的流向分,可以分为输入流和输出流;2. 按照操作单元划分,可以划分为字节流和字符流;3. 按照流的角色划分为节点流和处理流。Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密
阅读全文
摘要:1.java中的异常哪两种? 编译时异常 运行时异常 2、异常的处理机制有几种? 异常捕捉:try...catch...finally,异常抛出:throws。 3.如何自定义一个异常 继承一个异常类,通常是RumtimeException或者Exception 4.tryk catch final
阅读全文
摘要:1.集合类主要存放于java.util包中,主要有几种接口? 主要包含Set集合list(列表包含Queue)和map(映射) 1.Collection:Collection是集合List,Set,Queue的最基本的接口。 2.Iterator:迭代器,可以通过迭代器遍历集合中的所有数据。 3、M
阅读全文
摘要:1.ArrayList和likeList的区别 Array(数组)是基于索引(index)的数据结构,它使用索引在数据组中搜索和读取数据是很快的。 Array获取数据的时间复杂度是O(1),但是要删除数据却是开销,因为这需要重排数组中的所有数据, (因为·删除数据以后,需要把后面所有的数据迁移) 缺
阅读全文
摘要:1.是否可以从一个静态方法内部发出对非静态方法的调用? 不可以,静态方法只能访问静态成员,因为非静态方法在调用的时候要先创建对象,在调用静态方法的时可能对象并没有被初始化。 2.如何实现对象克隆? 有两个方式: 1)实现Cloneable接口并重写Object类中Clone()方法; 2)实现Ser
阅读全文
摘要:构造器(constructor)是否可被重写(override)? 构造器不能被继承,因此不能被重写,但可以被重载。 2.两个对象值相同(x.equals(y)==true),但却可能有不同的hashcode,这句话对不对? 不对,如果两个对象x,y满足x.equals(y)==true,它们的哈希
阅读全文
摘要:1.java中有没有goto java中的保留字,现在没有在java中使用 2.数组有没有length()方法?String有没有length()这个方法 数组没有这个方法,有这个属性。String有length()这个方法 int [] arr={ 1 , 2 , 3 , 4 , 5 }; int
阅读全文
摘要:1、JDBC操作的步骤 加载数据库驱动类 打开数据库连接 执行mysql语句 处理返回结果 关闭资源 2.在使用jdbc的时候,如何防止出现sql注入问题? 在使用PreparedStatement类,而不是使用Statement类 3.怎么在jdbc内调用一个存储过程? 使用CallableSta
阅读全文
摘要:1.接口有什么特点? 接口中声明的全是public static final修饰的常量 接口中所有的方法都是抽象方法 接口是没有构造方法的 接口也不能直接实例化 接口可以多继承 2.抽象类和接口的区别? 抽象类: 1.抽象方法,只有行为的概念,没有具体的行为实现。使用abstract关键字修饰,没方
阅读全文
摘要:1.static关键字有什么作用? Static可以修饰关键内部类,方法,变量,代码块 Static修饰的类是静态内部类 Static修饰的方法是静态方法,表示该方法属于当前类的,而不属于某个对象的,静态方法也不能被重写,可以直接使用类名来调用。 在static方法中不能使用this或者super关
阅读全文

浙公网安备 33010602011771号