java基础
java菜鸟1124
这个作者很懒,什么都没留下…
展开
-
HashSet,HashMap,HashSet的一些面试题
1)HashMap的工作原理:HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用数组+链表来解决碰撞问题,当发生碰撞了,对象...原创 2019-12-27 10:45:13 · 180 阅读 · 1 评论 -
java反射中的动态代理
在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的。 每一个动态代理类都必须要实现InvocationHandler这个接口,并且每个代理类的实例都关联到了一个handler,当我们通过代理对象调用一个方法的时候,这个方法的调用就会被...原创 2019-11-27 17:34:46 · 102 阅读 · 0 评论 -
浅谈线程池
一。线程池介绍线程池的最上层接口是Executor,这个接口定义了一个核心方法execute(Runnabel command),这个方法最后被ThreadPoolExecutor类实现,这个方法是用来传入任务的。而且ThreadPoolExecutor是线程池的核心类,此类主要有以下几个构造方法:构造方法的参数及意义: corePoolSize:核心线程池的大小,如果核心线程池有...原创 2019-11-11 15:30:17 · 128 阅读 · 0 评论 -
NIO学习
NIO(同步、非阻塞)NIO之所以是同步,是因为它的accept/read/write方法的内核I/O操作都会阻塞当前线程首先,我们要先了解一下NIO的三个主要组成部分:Channel(通道)、Buffer(缓冲区)、Selector(选择器)(1)Channel(通道)Channel(通道):Channel是一个对象,可以通过它读取和写入数据。可以把它看做是IO中的流,不同的是:Cha...原创 2019-11-08 13:47:10 · 171 阅读 · 0 评论 -
使用传统模式和nio模式复制文件的方法
1.使用传统模式复制文件代码:2.使用nio 的方式原创 2019-11-08 11:23:37 · 114 阅读 · 0 评论 -
反射常见面试题
什么是反射?反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。哪里用到反射机制?1.JDBC中,利用反射动态加载了数据库驱动程序。2.Web服务器中利用反射调用了Sevlet的服务方法。3.Eclispe等开发工具利用反射动态刨析对象的类...原创 2019-11-08 10:19:24 · 7964 阅读 · 5 评论 -
ClassLoader运行原理
参考网址:https://blog.csdn.net/zzti_erlie/article/details/82757435原创 2019-11-08 10:20:22 · 105 阅读 · 0 评论 -
java Class.forName()和ClassLoader.loadClass()的区别
在理解这两个区别前,需要弄清楚java类的加载机制。装载:通过类的全限定名获取二进制字节流(二进制的class文件),将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象。这个时候该类型没有被分配内存和没有设置默认值,也没有初始化。连接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;1.校验:检查导入类或接口的二进制数据的正确性;(文件格式...原创 2019-11-08 10:20:43 · 316 阅读 · 0 评论