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

老牛

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

实时推送 Netty-SocketIO 实战(含完整代码)

Netty-SocketIO 是一个开源的基于 Netty 的服务端推送消息给客户端的通信框架。本场 Chat 模拟了某宝上的用户咨询客服聊天场景,详细介绍了用户和客服连接 SocketIO 服务、互相发消息和断开 SocketIO 连接。看完本场 Chat 后,你可以快速搭建一套入门级实时推送架构。 本场 Chat 你将会获得以下知识: 1. 如何配置 SocketIO 2. JS 客服端如何连接 SocketIO 3. 如何实现互相发消息 适合人群: Java 中高级开发。
60 订阅

Docker 实战

Docker 是 Java 语言目前(2021 年 8 月)最流行的容器化解决方案,本场 Chat 中介绍了安装 Docker 的详细步骤,列出了常用的命令,实操如何拉取 MySQL 镜像并部署测试 MySQL,实操如何把一个 Spring Boot 项目打为 Docker 镜像并测试镜像。看完本场 Chat 后,你可以使用少量的命令和脚本进行快速部署应用。 本 Chat 你将会获得以下知识: 1. Docker 安装步骤 2. Docker 常用命令 3. Docker 部署 MySQL 4. Docker 部署 Spring Boot 项目 适合人群: Java 中高级开发。
Docker
68 订阅

微服务 Spring Cloud 实战 Eureka+Gateway+Feign+Hystrix

Spring Cloud 是 Java 语言目前(2021 年 8 月)最流行的微服务解决方案,本场 Chat 中介绍了 Eureka、Gateway、Feign 和 Hystrix 这些组件的用途,并整合这几个组件写了一个 Demo,涉及四个工程分别是:注册中心 Eureka、网关 Gateway、服务 1、服务 2,涉及的功能分别是:使用 Zuul 配置动态路由、使用 ZuulFilter 过滤器实现 IP 白名单、使用 Feign 实现负载均衡的服务调用、使用 Hystrix 实现服务隔离、熔断、降级。看完本场 Chat 后,你可以快速搭建一套入门级微服务架构。 本场 Chat 你将会获得以下知识: 1. Eureka 工程代码分析 2. Gateway 工程代码分析 3. Feign+Hystrix 工程代码分析 适合人群: Java 中高级开发。
微服务
88 订阅

Spring Boot 整合 Oauth 2.0 的密码模式实战(含完整代码)

Oauth 2.0 有四种授权方式,常用方式是授权码和密码模式两种,本场 Chat 中我使用“密码模式”写了一个 Demo,功能有登录(即获取 Token)、刷新 Token、退出(销毁 Token)、创建用户、获取用户列表、创建客户端。我会详细列出获取 Token、刷新 Token 等核心流程,并且会一步一步的讲解并贴出完整代码。 本场 Chat 你将会获得以下知识: 1. Oauth 2.0 获取 Token 的流程 2. Oauth 2.0 刷新 Token 的流程 3. Oauth 2.0 销毁 Token 的流程 4. Oauth 2.0 密码模式的完整代码 适合人群: Java 中级或以上开发。
Spring Boot
85 订阅

Spring Boot 自定义定时器实战(含完整代码)

我相信大家都会使用 Spring Boot 的 @Scheduled 方式创建定时器,这种方式在项目启动后就会每隔 5 秒就会执行一次,而且一直以这频率定时执行,直到停止工程后定时器才会停止执行,如果你不想定时器在项目启动后就开始执行,而是由自己随意在某个时刻创建定时器,随意开启、暂停、删除定时器,此时自定义定时器就应运而生了。 本 Chat 你将会获得以下知识: 1. 自定义定时器实战代码 2. 工厂模式实战代码 3. 策略模式实战代码 4. JPA 操作 MongoDB 数据库 适合人群: Java 中高级开发。
Spring Boot
101 订阅

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
112 订阅

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
146 订阅

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
125 订阅

Java 面试笔记之线程池

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

Java 面试笔记之 HashMap 和 ConcurrentHashMap

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

服务注册与发现原理剖析(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
314 订阅

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
585 订阅

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
227 订阅