黑加白
黑加白
全部文章
分类
Arraylist(1)
HTML(6)
http(1)
java(32)
java web(1)
java底层(26)
JDBC(5)
JS(1)
Linux(1)
mysql(5)
Oracle(8)
Python(6)
Redis(1)
云计算(3)
产品运营(2)
产品运营之道(7)
剑指offer(3)
多线程高并发(4)
大数据(2)
排序算法(1)
数据库(3)
未归档(174)
框架(5)
继承(1)
设计模式(1)
运营(1)
面向对象(2)
面试(19)
归档
标签
去牛客网
登录
/
注册
黑加白的博客
全部文章
(共322篇)
谈谈接口和抽象类有什么区别?
接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的。 接口,不能实例化;不能包含任何非常量成员,任何 field 都是隐含着 public static final 的意义;同时,没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。Java 标准类库中,...
2019-04-13
0
458
Java 有几种文件拷贝方式?哪一种最高效?
Java 有多种比较典型的文件拷贝实现方式, 利用 java.io 类库,直接为源文件构建一个 FileInputStream 读取,然后再为目标文件构建一个FileOutputStream,完成写入工作。 public static void copyFileByStream(File sou...
2019-04-13
0
501
同步与异步、阻塞与非阻塞
区分同步或异步(synchronous/asynchronous) 简单来说,同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系。 区分阻塞与非阻塞(bloc...
2019-04-13
0
502
如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?
Java 提供了不同层面的线程安全支持。在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.synchroni...
2019-04-12
0
390
优先级阻塞队列
先思考一个应用场景, 比如你需要实现一个云计算任务调度系统,希望可以保证 VIP 客户的任务被优先处理,你可以利用哪些数据结构或者标准的集合类型呢?更进一步讲,类似场景大多是基于什么数据结构呢? 实现原理: PriorityBlockingQueue是一个基于优先级堆的无界的并发安全的优先级队...
2019-04-12
0
571
对比Vector、ArrayList、LinkedList有何区别?不同容器类型适合的场景?
Verctor是 Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并拷贝原有数组数据。Vector在扩容时会提高 1 倍。 Vector:线程安全...
2019-04-12
0
518
谈谈 Integer 的值缓存范围和对象大小
int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。 关于 Integer 的值缓存 这涉及...
2019-04-12
0
554
动态代理是基于什么原理?
反射 反射最大的作用之一就在于我们可以不在编译时知道某个对象的类型,而在运行时通过提供完整的”包名+类名.class”得到。 注意:不是在编译时,而是在运行时。代理模式(通过代理静默地解决一些业务无关的问题,比如远程、安全、事务、日志、资源、关闭……让应用开发者可以只关心他的业务) 静态代理:事...
2019-04-12
0
419
String、StringBuffer、StringBuilder有什么区别?
String 是 Java 语言非常基础和重要的类, 提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性...
2019-04-12
0
411
强引用、软引用、弱引用、幻象引用有什么区别?
1 强引用 特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活...
2019-04-12
0
434
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页