保存成功
订阅成功
保存失败,请重试
提交成功
老牛

老牛

资深开发
十年研发经验,某大型互联网公司技术经理,个人爱好是Java技术总结。技术不是短时内就可以搞精搞透,我们需要善于思考,善于总结,善于沉淀。...更多
创作文章8

Java 面试笔记之 Synchronized 和 Lock

Java 锁是面试常考知识点,比如:Volatile 的原理及有什么特性、CAS 的原理、AQS 的原理、Synchronized 如何使用及原理、Lock 如何使用及原理等等,本篇文章一一为您解答,祝各位顺利找到满意的高新工作。 本 Chat 你将会获得以下知识: 1. Volatile 原理分析 2. CAS 原理分析 3. AQS 原理分析 4. Synchronized 示例代码及原理分析 5. Lock 示例代码及原理分析 6. Synchronized 和 Lock 的区别 适合人群: Java 面试、技术整理总结。
Java
105 订阅

Java 面试笔记之 ThreadLocal

ThreadLocal 是面试常考知识点,比如:ThreadLocal 是什么、如何使用、底层如何存储本地变量、set() 详细流程、rehash() 详细流程、get() 详细流程、remove() 详细流程、为什么使用弱引用等等,本篇文章一一为您解答,祝各位顺利找到满意的高新工作。 本 Chat 你将会获得以下知识: 1. 简介 2. 局部变量和全局变量的用法(3 个 Demo 代码) 3. ThreadLocalMap 分析 4. set() 详细流程和源码分析 5. rehash() 详细流程和源码分析 6. get() 详细流程和源码分析 7. remove() 详细流程和源码分析 8. 为什么使用弱引用 9. 应用场景 10. 总结 适合人群: Java 面试、技术整理总结。
Java
142 订阅

Java 面试笔记之线程

线程是面试常考知识点,比如:线程和进程的区别、如何创建线程、有多少种创建方式、Thread 和 Runnable 的区别、线程状态如何转换、如何避免和排查死锁等等,本篇文章一一为您解答,祝各位顺利找到满意的高新工作。 本 Chat 你将会获得以下知识: 1. 线程和进程 2. 创建线程的方式 3. Thread 和 Runnable 的区别 4. 线程状态的转换 5. 线程休眠 Thread.sleep() 6. 线程让步Thread.yield() 7. 线程合并 join() 8. 线程的交互 wait()、notify()、notifyAll() 9. sleep() 和 wait() 的区别 10. 线程离开运行状态(Running)的方式 11. 线程死锁 Demo、如何避免和排查死锁 12. 总结 适合人群: Java 面试、技术整理总结。
Java
121 订阅

Java 面试笔记之线程池

线程池是面试常考知识点,比如:如何创建线程池、线程池有什么参数及参数的用意、有哪些拒绝策略、线程池原理、如何监控等等,本篇文章一一为您解答,祝各位顺利找到满意的高新工作。 本 Chat 你将会获得以下知识: 1. 简介 2. 使用线程池的好处 3. 不使用线程池的坏处 4. 创建线程池的方式 5. 提交任务的方式 6. 获取结果的方式 7. 线程池状态 8. 关闭线程池方式 9. 线程池的线程初始化 10. 动态调整线程池容量 11. 线程池监控 12. 线程池调优 13. 线程池的原理(含部分源码分析) 14. 总结 适合人群: Java 面试、技术整理总结。
严选Java
369 订阅

Java 面试笔记之 HashMap 和 ConcurrentHashMap

HashMap 和 ConcurrentHashMap 都是面试常考知识点,比如:如何存储数据、如何扩容、如何获取及删除数据,下面的内容是结合面试经历和阅读源码而总结出来的笔记(针对 Java 7 版本),祝各位顺利找到满意的高新工作。 本 Chat 你将会获得以下知识: 1. HashMap 笔记 - 主要属性 - 数据结构 - put() 主要流程及源码分析 - resize() 主要流程及源码分析 - get() 主要流程及源码分析 - remove() 主要流程及源码分析 2. ConcurrentHashMap 笔记 - 主要属性 - 数据结构 - put() 主要流程及源码分析 - resize() 主要流程及源码分析 - get() 主要流程及源码分析 - remove() 主要流程及源码分析 适合人群: Java 面试、技术整理总结。
Java
144 订阅

服务注册与发现原理剖析(Eureka、Zookeeper、Nacos)

当今微服务盛行,服务注册与发现是微服务中必不可少的重要组成部分,实现的方案有多种,比如:Eureka、Zookeeper、Nacos、Consul,您们想知道这些组件是如何实现服务治理的吗?CAP 如何取舍?如何选型?这些技术点老牛都已经整理好了,大家看完后就可以在面试时装装逼了。 本 Chat 你将会获得以下知识: 1. 注册中心介绍 2. Eureka(出自于 Spring 家族) - 介绍 - 服务端(Eureka Server) - 客户端(Eureka Client) - 注册与发现的工作流程 - 集群 3. Zookeeper(出自于 Apache) - 介绍 - 原理 - 注册与发现的工作流程 - Zookeeper 和 Eureka 的区别 4. Nacos(出自于阿里) - 介绍 - 架构图 - 功能点 - 注册与发现的工作流程 - 负载均衡 - 集群 - Eureka、Zookeeper、Nacos 区别 5. Eureka、Zookeeper、Nacos、Consul 对比 适合人群: Java 面试、技术整理总结。
ZooKeeper
284 订阅

Java 集合底层原理剖析(List、Set、Map、Queue)

我相信各位程序猿都会使用 ArrayList、LinkedList、HashMap、ConcurrentHashMap、HashSet、TreeSet、Queue 等等集合类,而且用得都比较 niu 比较吊,但是您了解它们都有哪些主要属性吗?是什么数据结构?有什么特征?使用场景?底层实现原理等等,如果不了解的话请看过来,老牛带您一步步的解开 Java 集合的衣裳,目睹一下它们的真身,Let's go! 本 Chat 你将会获得以下知识: 1. List - ArrayList 的属性、数据结构、add/set/remove 具体流程 - LinkedList 的属性、数据结构、get 具体流程、Java 8 对它的改进 - Vector 的属性、数据结构、特征、使用场景 - Stack 的属性、数据结构、实现原理 - CopyOnWriteArrayList 和 CopyOnWriteArraySet 的数据结构、特征、实现原理 - ArrayList 和 Vector 区别、LinkedList 与 ArrayList 的区别 2. Map - HashMap 的属性、数据结构、put/get/remove 具体流程、扩容机制、哈希冲突解决方案、Java 8 对 HashMap 的改进 - HashTable 的属性、数据结构、特征、使用场景、实现原理 - ConcurrentHashMap 的属性、数据结构、put/set/remove 具体流程 - TreeMap 的属性、数据结构、使用场景、put/remove 具体流程 - LinkedHashMap 的属性、数据结构、使用场景、Java 8 对它的改进 - WeakHashMap 介绍 - HashMap 与 Hashtable 的区别、HashMap 与 TreeMap 的区别 - Hashtable 与 ConcurrentHashMap 的联系与区别 3. Set - HashSet 的属性、特征、使用场景、实现原理 - TreeSet 的属性、特征、使用场景、实现原理 - LinkedHashSet 的属性、特征、使用场景、实现原理 - HashSet、TreeSet、LinkedHashSet 之间的区别 4. Queue - 阻塞队列介绍 - 非阻塞队列介绍 - 双端队列(Deque)介绍 适合人群: Java 面试、技术整理总结。
严选Java
545 订阅

Java 基础面试题

不管你应聘的是大厂还是小厂,不管你是应届生还是架构师,面试官都会问到 Java 基础知识,特别是大厂比较注重个人的基础能力。掌握了基础,可以轻松搞定面试官,希望大家都能找到一份满意的工作。 本 Chat 你将会获得以下知识: 1. Java 相关概念和特点 2. Java 1.7 与 1.8、1.9、10 新特性 3. 字符编码的演变 4. 内存结构(JDK1.7&1.8) 5. 运行时信息识别(RTTI) 6. 即时编译器技术(JIT) 7. Integer 缓存机制 8. Java 反射原理 9. 面向对象思想和特征 10. 抽象类、接口、匿名对象、内部类、匿名内部类 11. 对象的初始化详细流程 12. new 一个对象如何加载到内存中 13. 等等…… 适合人群: java面试、技术整理总结。
Java
221 订阅