- 博客(80)
- 收藏
- 关注
原创 DeepSeek全方位指南:10分钟快速上手 (建议收藏!!!)
DeepSeek 是一款功能强大的数据处理和分析工具,广泛应用于数据挖掘、机器学习、商业智能等领域。本文将通过图文结合的方式,详细介绍 DeepSeek 的安装、配置、基本使用、高级功能以及实用技巧,帮助你快速上手并掌握这一工具。
2025-02-03 06:00:00
2445
原创 25000 字详解 23 种设计模式(干货满满~)
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
2025-01-27 06:45:00
1923
原创 50道Java集合经典面试题(收藏版)
Java基础50道面试题涵盖了Java编程语言的基础知识、面向对象编程、集合、多线程、异常处理等方面。
2025-01-26 13:00:00
568
原创 万字深度剖析Tomcat源码 (全是干货,建议收藏!!!)
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
2025-01-25 06:30:00
1436
原创 一篇文章,让你彻底弄懂生产者--消费者问题
生产者-消费者模式是一个十分经典的多线程并发协作的模式,弄懂生产者-消费者问题能够让我们对并发编程的理解加深。所谓生产者-消费者问题,实际上主要是包含了两类线程,一种是生产者线程用于生产数据,另一种是消费者线程用于消费数据,为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库,生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为;而消费者只需要从共享数据区中去获取数据,就不再需要关心生产者的行为。
2025-01-24 18:09:20
1095
原创 从源码分析线程池ThreadPoolExecutor的实现原理 (高频考点!!!)
ThreadPoolExecutor是一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。
2025-01-24 17:30:00
1703
原创 并发容器之ArrayBlockingQueue和LinkedBlockingQueue实现原理详解
在多线程编程过程中,为了业务解耦和架构设计,经常会使用并发容器用于存储多线程间的共享数据,这样不仅可以保证线程安全,还可以简化各个线程操作。为了加深对阻塞队列的理解,唯一的方式是对其实验原理进行理解,这篇文章就主要来看看ArrayBlockingQueue和LinkedBlockingQueue的实现原理。
2025-01-24 06:30:00
802
原创 一篇文章,从源码深入详解ThreadLocal内存泄漏问题
threadLocal是为了解决对象不能被多线程共享访问的问题,通过threadLocal.set方法将对象实例保存在每个线程自己所拥有的threadLocalMap中,这样每个线程使用自己的对象实例,彼此不会影响达到隔离的作用,从而就解决了对象在被共享访问带来线程安全问题
2025-01-23 12:00:00
1148
原创 并发容器之ConcurrentLinkedQueue
ConcurrentLinkedQueue是基于链接节点的无界线程安全队列。此队列按照FIFO(先进先出)原则对元素进行排序。队列的头部是队列中存在时间最长的元素,而队列的尾部则是最近添加的元素。新的元素总是被插入到队列的尾部,而队列的获取操作(例如poll或peek)则是从队列头部开始。
2025-01-23 06:45:00
939
原创 ConcurrentHashMap核心原理,彻底整明白了!
HashMap 在我们日常的开发中使用频率最高的一个工具类之一,然而使用 HashMap 最大的问题之一就是它是线程不安全的,如果我们想要线程安全应该怎么办呢?这时候就可以选择使用 ConcurrentHashMap,ConcurrentHashMap 和 HashMap 的功能是基本一样的,ConcurrentHashMap 是 HashMap 的线程安全版本。
2025-01-22 17:04:54
1450
原创 【Java并发编程】详解Condition的await和signal等待通知机制~
任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上),主要包括 wait()、wait(long timeout)、notify() 以及 notifyAll() 方法,这些方法与 synchronized 同步关键字配合,可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能特性上还是有差别的。——摘自《Java并发编程的艺术》
2025-01-21 17:00:00
1984
原创 深入理解AbstractQueuedSynchronizer(AQS)
AQS,全称是AbstractQueuedSynchronizer,中文译为抽象队列式同步器。这个抽象类对于JUC并发包非常重要,JUC包中的ReentrantLock,,Semaphore,ReentrantReadWriteLock,CountDownLatch等等几乎所有的类都是基于AQS实现的。
2025-01-21 06:30:00
545
原创 初识Lock与AbstractQueuedSynchronizer(AQS)
在针对并发编程中,DougLea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。
2025-01-20 12:30:00
802
原创 彻底理解 volatile 关键字及应用场景,面试必问,小白都能看懂!!!
volatile是Java的一个关键字,是一种同步机制。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。
2025-01-20 07:30:00
2209
原创 面试官:说说你对 final 的理解?
final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字final所修饰,它的取值在程序的整个执行过程中将不会改变。
2025-01-19 20:52:42
802
原创 一文带你彻底理解 Synchronized (图文解析~)
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍可以访问该object中的非加锁代码块。
2025-01-19 07:00:00
681
原创 一文让你彻底掌握ThreadLocal (这次终于懂了~)
ThreadLocal是Thread的局部变量,用于编多线程程序,对解决多线程程序的并发问题有一定的启示作用。
2025-01-18 20:24:22
1036
原创 史上最强HashMap源码深度解析(看这篇就够了!!!)
HashMap作为Java集合框架中的重要成员,广泛应用于各种场景。本文将深入探讨HashMap在JDK7中的源码实现,帮助大家更好地理解其内部机制。
2025-01-17 07:00:00
843
原创 图解 | 最全面的 ArrayList 源码解析 (干货满满!!!)
在Java的集合体系中,List接口的实现类ArrayList是非常常用的容器类,比如把查询数据的结果通过ORM框架,将数据存储到ArrayList当中,下面来介绍一下ArrayList是如何实现的,注意下面所有分析均基于JDK8,不同版本可能会有差异。
2025-01-16 06:30:00
806
原创 Java集合常见面试题大全
Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包。
2025-01-15 06:00:00
889
原创 程序员带薪摸鱼操作指南,仅此一份 (必须收藏 !!!)
作为一个程序员,长时间盯着代码看,确实容易让人感到疲惫。这时候,一些小工具就能派上大用场了。今天给大家安利程序员常用的“摸鱼神器”,让你在紧张的工作之余也能放松一下。
2025-01-14 07:00:00
1332
原创 精心整理的 22道 Kafka 高频面试题(含答案),你都会了吗?
这篇文章是关于 Java 开发面试中 Apache Kafka 相关问题的精选汇总。涵盖了 Kafka 的基础知识与概念,包括其用途、核心组件概念、消息顺序与存储等;架构与设计,如集群工作原理、高可用与分区机制等;消费者与生产者,涉及消费消息方式、生产者可靠性配置等;性能与优化,包括影响性能因素、调优方法、批处理机制等;故障排查与安全性,如 Broker 宕机影响与恢复、集群监控诊断、安全特性与实施等。
2025-01-13 21:14:14
1087
原创 面试官:你了解乐观锁和悲观锁吗?CAS 是如何实现?
乐观锁和悲观锁是并发控制的一种机制,用于多线程或多进程环境下对共享资源的访问管理,以防止数据不一致或竞态条件。
2025-01-13 15:55:50
846
原创 万字长文,理解Elasticsearch和面试总结 (建议收藏!!!)
Elasticsearch可以实现秒级的搜索,cluster是一种分布式的部署,极易扩展(scale )这样很容易使它处理PB级的数据库容量。最重要的是Elasticsearch使它搜索的结果可以按照分数进行排序,它能提供我们最相关的搜索结果(relevance) 。
2025-01-12 10:25:13
1041
原创 万字详解,吃透 ElasticSearch (干货来袭,知识满满 !!!)
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
2025-01-11 10:47:02
1045
原创 JAVA并发编程系列 (二)
Java并发(Concurrency)是指在同一个程序中,多个线程(Thread)能够同时执行。这些线程可以在不同的处理器或核心上运行,也可以在同一个处理器或核心上通过时间片轮转的方式运行。并发使得程序能够更高效地利用系统资源,提高程序的执行速度和性能。
2025-01-10 14:08:49
755
原创 JAVA并发编程系列 (一)
Java并发编程是Java开发中的一个重要领域,它涉及到如何在同一时间内执行多个任务,以提高程序的效率和性能。Java提供了多种工具和技术来实现并发编程,包括线程(Thread)、锁(Lock)、同步(Synchronization)、原子变量(Atomic Variables)、线程池(Thread Pool)等。
2025-01-09 21:22:13
816
原创 Linux常用命令大全,一篇搞定 (干货满满!!!)
掌握Linux基础命令,不管是对于运维、测试还是开发,都是一项必不可少的技能。Linux系统提供了丰富的命令,可以帮助我们高效地完成各种任务,如磁盘操作、目录操作、进程管理和设定文件权限等。
2025-01-08 06:00:00
502
原创 程序员大佬20年职业生涯得到的30个经验教训,值得每位程序员看!!!
对于一个程序员来说,如何掌控自己的职业生涯,最终获取成功,在此总结出了30条经验教训,希望能给那些还在拼搏的年轻程序员们些许帮助。
2025-01-07 09:49:09
854
原创 35 道必懂的 Linux 运维面试题,你确定都能答对?
Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
2025-01-06 20:46:23
1330
原创 女生面试如何面对尴尬问题 (干货宝典 !!!)
在面试过程中,被问到不懂的东西是再常见不过的情景。这不仅考验着求职者的专业素养,更考验其应变能力、学习态度以及沟通技巧。面对这种情况,正确的应对策略能够帮助你化被动为主动,甚至给面试官留下深刻印象。
2025-01-05 20:00:51
612
原创 JVM 面试题 35 问,面试又可以多扯一个小时了!!!
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
2025-01-04 20:26:09
893
原创 一文吃透常用的 JVM 调优命令!
虽然目前市场上有很多成熟的 JVM 可视化监控分析工具,但是所有的工具其实都依赖于 JDK 的接口和底层相关的命令,了解这些命令的使用对于我们在紧急情况下排查 JVM 相关的线上故障,会有更加直观的帮助。
2025-01-03 20:38:39
870
原创 20个SpringBoot优化小妙招,让你的代码如诗般优雅 (值得收藏!!!)
在开发Spring Boot应用时,性能优化是一个至关重要的环节。通过一系列的技术手段和方法,我们可以显著提高应用的响应速度、稳定性和资源利用率。本文将探讨Spring Boot项目中的性能优化技巧,并提供相应的例子代码。
2025-01-02 22:20:28
595
原创 30道微服务面试题,你能回答上来几个?(面试真题汇总 !!!)
服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。 这些服务通常拥有自己的技术栈,包括数据库和数据管理模型;通过一个REST API、事件流和消息代理组合彼此通信;以及按照业务能力进行组织,具有通常称为有界上下文的服务分隔线。
2024-12-14 21:35:33
1361
原创 40个MySQL性能优化策略,全都会算我输(文末有福利 !!!)
MySQL是目前最流行和广泛使用的开源关系型数据库之一,随着数据量的增长和访问负载的提高,优化数据库性能变得至关重要,以确保系统能够高效地处理大量的并发请求。本文将记录一些MySQL数据库性能优化的技巧,提高数据库的运行效率,提升系统性能。
2024-12-13 15:38:15
1086
原创 牢记这16个SpringBoot 扩展接口,写出更加漂亮的代码 (文末有福利 !!!)
Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。
2024-12-12 19:31:04
1350
原创 全网最全Log配置教程及框架性能比较,看这篇就够了!!!
Log4j:Apache的开源项目,是一个功能强大的日志组件,提供方便的日志记录。在项目中使用Log4j可以控制日志信息输出到控制台、文件甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别可以更灵活的控制日志的输出过程,方便调试。
2024-12-11 21:37:19
924
原创 Kafka面试必刷题(实用干货,助力成功 !!!)
Apache Kafka是一个分布式流处理平台,主要用于构建实时数据流驱动的应用程序和微服务。它是一个高性能、高吞吐量、可伸缩、容错的发布-订阅消息系统,旨在处理大量实时数据并在分布式环境中实现高可用性。Kafka最初是由LinkedIn开发的,后来成为Apache软件基金会的一个开源项目。
2024-12-10 06:00:00
967
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人