Java全能学习+面试指南:https://javaxiaobear.cn 今天我们来学习为什么说本质上只有一种实现线程的方式?实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里? 实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。所以本课时就先从并发编程的基础如何实现线程开始讲起,希望你能够夯实基础,虽然实现线程看似简单、基础,但实际
Java全能学习+面试指南:https://javaxiaobear.cn 1、JdbcTemplate 1.1、简介 Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 1.2、准备工作 ①搭建子模块 搭建子模块:spring-jdbc-tx ②加入依赖 <dependencies> <!--spring jdbc Spr
资源合集 名称 链接 Rabbitmq精讲,项目驱动落地,分布式事务拔高资料 https://www.aliyundrive.com/s/5VwmhTCPBNa 程序员书籍大全 https://www.aliyundrive.com/s/Kz5UiijQB7i 后端Java教程(学完直接去BAT) https://www.aliyundrive.com/s/F4KrQAdhv
单元测试:JUnit 在之前的测试方法中,几乎都能看到以下的两行代码: ApplicationContext context = new ClassPathXmlApplicationContext("xxx.xml"); Xxxx xxx = context.getBean(Xxxx.class); 这两行代码的作用是创建Spring容器,最终获取到对象,但是每次测试都需要
Java全能学习+面试指南:https://javaxiaobear.cn 今天我们一起看看Spring AOP的相关操作! 1、场景模拟 搭建子模块:spring6-aop 1.1、声明接口 声明计算器接口Calculator,包含加减乘除的抽象方法 public interface Calculator { int add(int i, int j); in
Java全能学习+面试指南:https://javaxiaobear.cn 我们都知道,Spring框架的IOC是基于Java反射机制实现的,下面我们先回顾一下java反射。 1、回顾Java反射 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。简
今天我们聊一聊Java锁的分类 锁的 7 大分类 需要首先指出的是,这些多种多样的分类,是评价一个事物的多种标准,比如评价一个城市,标准有人口多少、经济发达与否、城市面积大小等。而一个城市可能同时占据多个标准,以北京而言,人口多,经济发达,同时城市面积还很大。 同理,对于 Java 中的锁而言,一把锁也有可能同时占有多个标准,符合多种分类,比如 ReentrantLock 既是可中断锁,又是可重入
Java全能学习+面试指南:https://javaxiaobear.cn 提到微服务开源框架,不可不说的是 Dubbo 和 Spring Cloud,这两大框架应该是大家最熟悉的微服务解决方案,也是面试中的热点。今天我们梳理下 Dubbo 和 Spring Cloud 的应用特性,以及两个组件的功能对比。 Dubbo 应用 Dubbo 是阿里开源的一个分布式服务框架,目的是支持高性能的远程服务调
Java全能学习+面试指南:https://javaxiaobear.cn 1.HashMap集合简介 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 JDK1.8 之前 HashMap 由 数组+
Java全能学习+面试指南:https://javaxiaobear.cn 今天聊一聊大家常听到的高性能系统架构。 高性能系统架构,主要包括两部分内容,性能测试与性能优化。性能优化又可以细分为硬件优化、中间件优化、架构优化及代码优化,知识架构图如下。 性能测试 先看系统的性能测试。性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。 关于性能测试有一句著名的论断,叫作“你不能优化一
Java全能学习+面试指南:https://javaxiaobear.cn 今天我们聊一聊分布式数据存储,知识架构图如下所示。 主要包括以下内容: MySQL 复制,有主从复制和主主复制两种; 数据分片(或称数据分区),具体为数据分片的原理、分片的方案、分片数据库的扩容; 数据库分布式部署的几种方案; NoSQL 中的 CAP 原理,分布式系统的最终一致性及其实现方案。 My
Java全能学习+面试指南:https://javaxiaobear.cn 今天我们一起看看大型互联网系统架构的演进之路,主要包含三部分内容。 第一部分是大型互联网系统的特点,分析大型互联网有哪些特点和挑战,它们是现在一些技术和架构方案产生的原因。 第二部分是系统处理能力提升的两种途径,提供了两种面对挑战的解决思路。 第三部分是大型互联网系统架构演化过程,这个过程几乎包含了现在所有主要
Java全能学习+面试指南:https://javaxiaobear.cn 今天我们来学习分布式消息队列,分布式消息队列的知识结构如下图。 主要介绍以下内容: 同步架构和异步架构的区别。异步架构的主要组成部分:消息生产者、消息消费者、分布式消息队列。异步架构的两种主要模型:点对点模型和发布订阅模型。 分布式消息队列异步架构的好处:异步处理实现快速响应;消费者易于伸缩;高并发访问压力的时削
Java全能学习+面试指南:https://javaxiaobear.cn 摘要 随着智能化技术的快速发展,智慧宿舍管理系统在大学校园中得到了广泛的应用。本论文旨在设计并实现一种基于前后端分离的智慧宿舍管理系统,通过将前端和后端进行分离,提高系统的可扩展性、灵活性和性能。本系统通过对学生宿舍的信息管理、设备监控、安全管理和生活服务等功能的实现,为学生提供了更加便捷、安全和舒适的宿舍生活环境。 关键
小熊学Java全能学+面试指南:https://javaxiaobear.cn 摘要 随着健身行业的快速发展,健身房管理系统成为了提高管理效率和用户体验的重要工具。本论文旨在设计与实现一种基于前后端分离的健身房管理系统,通过前后端分离的架构模式,提供了更好的可扩展性、灵活性和用户体验。本文将介绍系统的需求分析、架构设计、技术选型以及系统实现等方面的内容。 关键词:前后端分离、健身房管理系统、需
Java全能学习+面试指南:https://javaxiaobear.cn 今天我们主要自己模拟一个 JVM 内存溢出的场景。在模拟 JVM 内存溢出之前我们先来看下这样的几个问题。 老年代溢出为什么那么可怕? 元空间也有溢出?怎么优化? 如何配置栈大小?避免栈溢出? 进程突然死掉,没有留下任何信息时如何进行排查? 年轻代由于有老年代的担保,一般在内存占满的时候,并没什么问题。
Java全能学习面试指南:https://javaxiaobear.cn今天我们主要从一个实战案例入手分析面对突如其来的 GC 问题该如何下手解决。想要下手解决 GC 问题,我们首先需要掌握下面这三种问题。如何使用 jstat 命令查看 JVM 的 GC 情况?面对海量 GC 日志参数,如何快速抓住问题根源?你不得不掌握的日志分析工具。工欲善其事,必先利其器。我们前面课时讲到的优化手段,包括代码优
Java全能学习+面试指南:https://javaxiaobear.cn 这篇主要讲解如何在大流量高并发场景下进行估算和调优。 我们知道,垃圾回收器一般使用默认参数,就可以比较好的运行。但如果用错了某些参数,那么后果可能会比较严重,我不只一次看到有同学想要验证某个刚刚学到的优化参数,结果引起了线上 GC 的严重问题。 所以你的应用程序如果目前已经满足了需求,那就不要再随便动这些参数了。另外,优化
小熊学Java:https://www.javaxiaobear.cn/ 本文我们重点剖析 JVM 的垃圾回收机制。关于 JVM 垃圾回收机制面试中主要涉及这三个考题: JVM 中有哪些垃圾回收算法?它们各自有什么优劣? CMS 垃圾回收器是怎么工作的?有哪些阶段? 服务卡顿的元凶到底是谁? 虽然 Java 不用“手动管理”内存回收,代码写起来很顺畅。但是你有没有想过,这些内存是怎
小熊学Java:https://www.javaxiaobear.cn/,文末有免费资源 本文我们来学习微服务的架构设计 主要包括如下内容。 单体系统的困难:编译部署困难、数据库连接耗尽、服务复用困难、新增业务困难。 微服务框架:Dubbo 和 Spring Cloud,微服务的架构策略。 微服务模式:事件溯源、查询与命令职责分离 CQRS、断路器、超时。 微服务最佳实践。
Java全能学习+面试指南:https://www.javaxiaobear.cn/前面我们提到,类的初始化发生在类加载阶段,那对象都有哪些创建方式呢?除了我们常用的 new,还有下面这些方式:使用 Class 的 newInstance 方法。使用 Constructor 类的 newInstance 方法。反序列化。使用 Object 的 clone 方法。其中,后面两种方式没有调用到构造函数
test 函数同时使用了成员变量 a、静态变量 C,以及输入参数 num。我们此时说的函数执行,内存其实就
test 函数同时使用了成员变量 a、静态变量 C,以及输入参数 num。我们此时说的函数执行,内存其实就是在虚拟机
JVM 的运行时区域是栈,而存储区域是堆。很多变量,其实在编译期就已经固定了。.class 文件的字节码,由于助记
CAP 理论看似简单,但在面试中,对它的理解深度可以从侧面反映出你对分布式系统的整体理解能力和驾驭能力。所以你不但要掌握如何在面试中回答案例中 CAP 原理的问题,而且还要掌握回答问题的思路,以后遇到类似的理论性知识的考察,都可以从三个层面回答。展示理论深度。你可以从一个熟知的知识点出发
到这里内容就全部讲完了,今天我们分别从三个角度,了解了 JVM 在 Java 研发体系中的位置,并以一个简单的程序,看了下一个 Java 程序基本的执行过程。我们所说的 JVM,狭义上指的就 HotSpot。如非特殊说明,我们都以 HotSpot 为准。我们了解到,Java 之所以成为跨平台,就是由于 JVM 的存在。Java 的字
本文分享了分布式锁的应用场景和几种实现,包括分布式锁的概念,使用数据库方式、缓存和 ZooKeeper 实现分布式锁等。
XA 是由 X/Open 组织提出的分布式事务规范,XA 规范主要定义了事务协调者(Transaction Manager)和资源管理器(R
本文介绍了 TCC 分布式事务模型的应用,通过一个实际例子分析了如何应用 TCC 对业务系统进行改造,并且对比了 TCC 和 2PC 两阶段提交,以及 TCC 相关的开源组件。
掌握分布式事务是学习分布式系统的必经之路,今天介绍了分布式事务的概念,回顾了数据库事务和不同隔离级别,以及分布
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号