上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要: java的线程池的工作队列用到了并发队列。队列一般用在生产者消费者的场景中,处理需要排队的需求。 你好,我是李福春,今天的问题是: ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别? 答:都是java提供的并发安全队列,都提供了等待性的操作,take,pu 阅读全文
posted @ 2020-03-30 18:38 李福春 阅读(468) 评论(0) 推荐(0) 编辑
摘要: java提供的线程池可以简化线程管理,提高线程资源的利用率。 大家好,我是李福春,今天的题目是: Java提供了哪些线程池?如何设置合适的线程池大小? 答:java.util.concurrent包中提供了5种线程池,从简单到复杂列举如下: 一,newSingleThreadExecutor() , 阅读全文
posted @ 2020-03-30 16:46 李福春 阅读(421) 评论(0) 推荐(0) 编辑
摘要: java.util.concurrent包提供了大量的并发工具。 大家好,我是李福春,今天的题目是: java提供的并发工具有哪些? 答:java.util.concurrent工具包中提供的工具分4大类。 一, 同步工具,CountDownLatch, CyclicBarrier , Semaph 阅读全文
posted @ 2020-03-30 15:24 李福春 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 死锁是并发编程的难点问题。 大家好,我是李福春,我在准备面试,今天的问题是: 死锁是如何产生的?如何定位?如何修复和避免? 答:死锁是一种特定的程序状态,一般是多线程场景下两个以上的线程互相持有对方需要的锁而处于的永久阻塞状态。 定位方法:jstack分析线程的栈信息可以定位出来; 或者使用Thre 阅读全文
posted @ 2020-03-30 12:45 李福春 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 线程是并发编程的基础元素,是系统调度的最小单元,现代的jvm直接对应了内核线程。为了降低并发编程的门槛,go语言引入了协程。 你好,我是李福春,我在准备面试,今天的题目是? 一个线程两次调用start()方法会发生什么? 答:线程两次调用start()方法会抛出IllegalThreadStateE 阅读全文
posted @ 2020-03-30 11:07 李福春 阅读(615) 评论(0) 推荐(0) 编辑
摘要: java并发编程是程序员基本技能。 我是李福春,我在准备面试,今天的题目是: synchronized和ReentrantLock的区别? 这两货都是java提供的同步机制,提供了互斥语义和可见性,当一个线程获得资源之后,其它竞争资源的线程必须等待或者堵塞。 区别如下: 线程安全 线程安全说的是多线 阅读全文
posted @ 2020-03-27 19:11 李福春 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 所有的同步场景都是基于锁。锁在并发编程中发挥重要作用。 我是李福春,我在准备面试,今天的题目是: synchronized底层是如何实现的? 答: synchronized是在底层的jvm中实现的,即c++写的,synchronized的实现是基于一对monitorenter, monitorexi 阅读全文
posted @ 2020-03-27 16:50 李福春 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 工欲善其事必先利其器,今天简单分享一下我的武器库。 主要包括两个方面,idea的插件;还有mac的常用软件推荐。 希望可以在编码之余,提高自己的工作效率。 idea插件 翻看了宇宙条上各种推荐的插件,实际我用下来感觉最好的插件如下。 按照优先级列举一下,好处谁用谁知道: 1, lombok, 少写了 阅读全文
posted @ 2020-03-27 11:49 李福春 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 那些被时间沉淀下来的最贱时间,就是设计模式,它有利于提高沟通和设计的效率和质量。 我是李福春,我在准备面试,今天的问题是: 工作中你用到了哪些设计模式? 分析: 这个问题比较open, 可以结合以往项目经历中用到的设计模式,挑选2个左右的例子出来讲解,讲讲为什么要使用设计模式,带来了哪些优点和不便。 阅读全文
posted @ 2020-03-26 14:25 李福春 阅读(1891) 评论(0) 推荐(0) 编辑
摘要: 掌握面向对象的原则可以提高开发,沟通的效率和质量。 我是李福春,我在准备面试,今天的问题是: 接口和抽象类有什么区别? 接口和抽象类是面向对象语言的重要设计元素。 区别如下: 下面扩展一下,面试官可能延伸的问题。 面向对象的特性 封装: 一切皆对象,对象具备成员和方法,封装了内部细节,使得具备边界, 阅读全文
posted @ 2020-03-26 12:31 李福春 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 文件copy是java的io部分不可忽视的内容。 我是李福春,我在准备面试,今天的问题是: zero copy是怎么回事? 操作系统的空间划分为内核态空间, 用户态空间; 内核态空间相对操作系统具备更高的权限和优先级; 用户态空间即普通用户所处空间。 zero copy指的使用类似java.nio的 阅读全文
posted @ 2020-03-26 10:53 李福春 阅读(394) 评论(0) 推荐(1) 编辑
摘要: 随着分布式技术的普及和海量数据的增长,io的能力越来越重要,java提供的io模块提供了足够的扩展性来适应。 我是李福春,我在准备面试,今天的问题是: java中的io有哪几种? java中的io分3类: 1,BIO ,即同步阻塞IO,对应java.io包提供的工具;基于流模型,虽然直观,代码实现也 阅读全文
posted @ 2020-03-25 23:32 李福春 阅读(1432) 评论(0) 推荐(1) 编辑
摘要: 集合框架中的HashTable,Stack,以及同步包装集合在高并发场景下都非常低效,java提供了并发包应对高并发场景。 我是李福春,我在准备面试,今天的问题是? java提供了哪些并发的容器?ConcurrentHashMap如何保证线程安全? java体系中的并发容器 java体系中有如下同步 阅读全文
posted @ 2020-03-25 17:32 李福春 阅读(878) 评论(0) 推荐(0) 编辑
摘要: map是广义集合的一部分。 我是李福春,我在准备面试,今天我们来回答: HashTable,HashMap,TreeMap的区别? 共同点:都是Map的子类或者间接子类,以键值对的形式存储和操作数据。 区别如下表: | 项目 | 线程安全 | 是否支持null键值 | 使用场景 | | | | | 阅读全文
posted @ 2020-03-25 16:12 李福春 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 高效的管理和操作数据(数据结构)是非常重要的,java提供了对应的集合框架。 我是李福春,我在准备面试,今天的问题是: Vector,ArrayList,LinkedList有什么区别? 这3个货都是List的直接子类或者间接子类,实现的是顺序集合,都提供了add,delete,index,遍历等操 阅读全文
posted @ 2020-03-25 14:38 李福春 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 原始数据类型是java系统的重要组成元素。java号称一切都是对象,原始数据类型除外。 我是李福春,我在准备面试,今天我们来回答一个问题: int和Integer有什么区别? int是原始数据类型,并非对象;Integer是int的包装类型,是对象。区别是在自动装箱和自动拆箱上。 下面分开详细来讲。 阅读全文
posted @ 2020-03-25 11:23 李福春 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 反射和动态代理是什么? 反射是java提供的一种自省能力,可以在运行时创建类的实例,访问成员变量,方法。 动态代理是程序在运行时构建代理对象动态动用方法。 反射和动态代理是第三方框架进行封装的基础。 反射 程序提供的一种自省能力,可以在运行时操作类和对象。 提供的核心类如下: Class: 获取类的 阅读全文
posted @ 2020-03-24 19:09 李福春 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 字符串是应用中最广泛的存在,不容忽视。 我是李福春,我在准备面试,今天我们一起来回答问题。 String,StringBuffer,StringBuilder的区别是什么? 非常常见的面试题,一起来发散一下。 String Java中最重要的类,提供了各种构造和管理字符串的操作;它是Immutabl 阅读全文
posted @ 2020-03-24 17:00 李福春 阅读(345) 评论(0) 推荐(0) 编辑
摘要: java中的类型除了原生类型,剩下的就是引用类型。研究引用类型对垃圾回收机制,对象的生命周期很有帮助。 我是李福春,我在准备面试,今天我们来解决一个常见的面试题。 强弱软幻象引用的区别是什么? 这4种引用的区别在可达性状态的区别。 下面展开来回答。 分类说明 强引用:当对象刚刚new出来的时候,这种 阅读全文
posted @ 2020-03-24 16:06 李福春 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 我是李福春,我在准备面试。今天我们来回答下面的面试常见问题。 final finally finalize区别? 这三个货只是单词的写法类似,实际的使用场景相差很大。 下面一一展开分析: final final修饰类,标识类不可被继承,一定程度保证了提供出去的类的平台安全性; final修饰方法,标 阅读全文
posted @ 2020-03-24 15:08 李福春 阅读(367) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页