随笔分类 -  Java高级工程师

摘要:如何保证缓存和数据库一致性,这是一个老生常谈的话题了。 但很多人对这个问题,依旧有很多疑惑: 到底是更新缓存还是删缓存? 到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库? 为什么要引入消息队列保证一致性? 延迟双删会有什么问题?到底要不要用? ... 这篇文章,我们就来把这些问题讲清 阅读全文
posted @ 2022-12-09 08:26 程序员面试 阅读(55) 评论(0) 推荐(0) 编辑
摘要:文章目录 Stream流操作讲解 在这里插入图片描述 1 Stream概述 2 Stream与传统遍历对比 3 Stream的创建 4 Stream的使用 4.1 遍历/匹配(foreach、find、match) 4.2 筛选(filter) 4.3 聚合(max、min、count) 4.4 映 阅读全文
posted @ 2022-09-23 13:18 程序员面试 阅读(654) 评论(0) 推荐(0) 编辑
摘要:收录于话题 点击👆蓝色“ 深入原理”,关注并“设为星标” 技术干货,第一时间推送 持续更新中...... Java/编程语 --JVM-- Java 内存模型 JMM 浅析 JVM内存结构 你了解Java内存结构么 Java 类加载机制 类加载机制深入分析 原来热加载如此简单,手动写一个 Java 阅读全文
posted @ 2021-05-28 11:22 程序员面试 阅读(306) 评论(0) 推荐(0) 编辑
摘要:一致性hash算法是分布式中一个常用且好用的分片算法、或者数据库分库分表算法。现在的互联网服务架构中,为避免单点故障、提升处理效率、横向扩展等原因,分布式系统已经成为了居家旅行必备的部署模式,所以也产出了几种数据分片的方法: 1.取模,2.划段,3.一致性hash 前两种有很大的一个问题就是需要固定 阅读全文
posted @ 2020-07-16 18:41 程序员面试 阅读(712) 评论(0) 推荐(0) 编辑
摘要:一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在 阅读全文
posted @ 2020-05-02 10:07 程序员面试 阅读(195) 评论(0) 推荐(0) 编辑
摘要:B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B Tree),B+树即 阅读全文
posted @ 2020-04-14 15:56 程序员面试 阅读(700) 评论(0) 推荐(0) 编辑
摘要:Apache NiFi概述 Apache NiFi团队dev@nifi.apache.org 什么是Apache NiFi? 简单地说,NiFi是为了自动化系统之间的数据流而构建的。虽然术语“数据流”在各种环境中使用,但我们在此处使用它来表示系统之间自动化和管理的信息流。这个问题空间一直存在,因为企 阅读全文
posted @ 2020-03-03 09:41 程序员面试 阅读(2068) 评论(0) 推荐(0) 编辑
摘要:本指南使用于谁? 本指南适用于从未使用过,在NiFi中有限度接触或仅完成特定任务的用户。本指南不是详尽的说明手册或参考指南。“ 用户指南”提供了大量信息,旨在提供更加详尽的资源,并且作为参考指南非常有用。相比之下,本指南旨在为用户提供所需的信息,以便了解如何使用NiFi,以便快速轻松地构建强大而灵活 阅读全文
posted @ 2020-03-03 09:39 程序员面试 阅读(5425) 评论(0) 推荐(0) 编辑
摘要:1、并发编程三要素? 1)原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。 2)可见性 可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。 实现可见性的方法: synchronized或者Loc 阅读全文
posted @ 2019-10-17 14:09 程序员面试 阅读(1078) 评论(0) 推荐(2) 编辑
摘要:面试官:“有性能优化经验没?” 应聘者:“有一点。” 面试官:“那你们从哪些方面做了优化?” 应聘者:“sql优化、JVM参数调优、JAVA代码性能优化。。” 面试官: “谈谈编写Java代码时有哪些优化方法?" 应聘者:“bala。bala。bala。。” 在JAVA程序中,性能问题的大部分原因并 阅读全文
posted @ 2019-01-22 12:38 程序员面试 阅读(1149) 评论(0) 推荐(1) 编辑
摘要:讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9中图形:白色正方形、白色长方形、白色圆形。。。。。。到这里了我们几 阅读全文
posted @ 2018-11-08 18:54 程序员面试 阅读(494) 评论(0) 推荐(0) 编辑
摘要:抽象工厂模式算是工厂相关模式的终极形态,如果完全理解了上一章的工厂方法模式,那么抽象工厂模式就很好理解了。它与工厂方法唯一的区别就是工厂的接口里是一系列创造抽象产品的方法,而不再是一个,而相应的,抽象产品也不再是一个了,而是一系列相关的产品。这其实是工厂方法模式的一种扩展。通常用继承和组合两种方式扩 阅读全文
posted @ 2018-11-08 14:15 程序员面试 阅读(423) 评论(0) 推荐(0) 编辑
摘要:导读: 1、JDK动态代理原理是什么?为什么不支持类的代理? 2、JDK动态代理实例 3、CGLib代理原理是什么? 4、CGLib代理实例 5、JDK动态代理与CGLib代理的区别是什么? 6、总结 注:阅读本文之前可以先阅读:什么是代理模式? 1. JDK动态代理原理是什么?为什么不支持类的代理 阅读全文
posted @ 2018-11-06 18:58 程序员面试 阅读(1202) 评论(0) 推荐(1) 编辑
摘要:垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读: 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结--根据GC原理来优化代码 正式阅读之前需要了解相关概念: Java 堆内存分为新生代和老年代, 阅读全文
posted @ 2018-10-16 20:14 程序员面试 阅读(24926) 评论(1) 推荐(5) 编辑
摘要:当你刚入职场时,无论你是用C++还是Java甚至只是应聘运维岗位,相信你都会遇到这个问题。 这是一个很基础的问题,但又是一个很考验人水平的问题。 说基础是因为每个学计算机的人都应该懂,进程线程是计算机的基础概念,是每个程序员时时刻刻都要接触的东西。 但这又是一个充满陷阱可以无限扩展和深入的一个问题。 阅读全文
posted @ 2018-10-10 15:25 程序员面试 阅读(14695) 评论(1) 推荐(5) 编辑
摘要:Java内存结构是每个java程序员必须掌握理解的,这是Java的核心基础,对我们编写代码特别是并发编程时有很大帮助。由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。 首先,我们回顾一下Java程序执行流程: 如上图所示,首先Java源代码文件 阅读全文
posted @ 2018-10-09 19:27 程序员面试 阅读(3471) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示