自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1997)
  • 收藏
  • 关注

原创 CSDN最新Java八股文超精炼面试题资料

我们使用java编译命令就能将java源文件编译对应成字节码文件(.class),字节码文件是一种八位数据的二进制流文件,可以被JVM快速加载到内存中运行AQS全称abstractQueueSynchronizer,即抽象队列同步器,是一种锁机制,它是作为一个基础框架使用的,像Reentrantlock,countdownlatch都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储了排队的线程。

2024-06-04 14:00:16 972

原创 Springboot整合rocketMq

今天整理一下RocketMq这个消息中间件的一些特性,以及使用方式。

2024-06-04 13:51:13 177

原创 Redis为什么不直接使用C语言的string,而是重新造了个SDS ?

本文从 Redis底层SDS对先tring进行了原理分析,SDS是一种很优秀的设计,它既遵循了C语言的部分功能,又规避了C语言字符串常见的一些问题,这或许就是 Redis优秀的一个原因。另外,SDS 为了保证读写速度,尽管做了很多节省内存的操作(比如:sdshdr8/16/32/64,int/embstr/raw),但是,还在是一定程度上采用空间换时间。通过 SDS 的设计,我们可以看出:在程序的世界里没有“银弹”,每种数据结构似乎总有其擅长的场景以及不足之处,这也正是各种数据结构百花齐放的原因。

2024-06-04 13:50:33 598

原创 Java八股文合集(2024年6月3持续更新)

我们使用java编译命令就能将java源文件编译对应成字节码文件(.class),字节码文件是一种八位数据的二进制流文件,可以被JVM快速加载到内存中运行AQS全称abstractQueueSynchronizer,即抽象队列同步器,是一种锁机制,它是作为一个基础框架使用的,像Reentrantlock,countdownlatch都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储了排队的线程。

2024-06-03 13:22:14 1197

原创 第三章: 了解Java 程序基本结构

在符合标识符规范的同时, 也为了区别其他标识符, 类名尽量首字母大写, 使用大驼峰, 同时还有注意见名知意的习惯。关键字是用来声明类的, 后面跟着的是类名, 但大家应该注意到前面还有一个。这里需要注意的是方法名也是标识符, 所以定义方法名时要符合标识符规范.我们首先需要了解一下, 一个完成的Java 程序的基本结构是什么样的。也是一个关键字, 表示修饰符, 修改当前的类是一个公开的类。就是解释说明程序的文字, 是一种给开发人员阅读的文本,方法的格式是固定的, 表示程序的入口。

2024-06-03 13:20:42 256

原创 Express 路径转正则 path-to-regexp

本文从 restful 获取服务器资源的 url 开始到,express 中常用获取用户 id 的资源到 path-to-regexp 的api 设计使用方式,使用原生 Node.js + path-to-regexp 实现一个简单的路由匹配。关联了 restful 规范和路径动态表现形式,下面就需要一些方式来解析路径,path-to-regexp 就一个应用于 express 中的路径解释库。我们看到使用枚举的方式也可以轻松的完成,但是这些枚举的路径在程序中都是可以重复的,可以抽象的。

2024-06-03 13:20:01 296

原创 程序员Java面试八股文分享~

一种事物的多种表现形态就是多态,比如定义一个类为动物,那么动物可以被子类继承,从而实现具体动物的方法。死锁是指两个或两个以上的进程在竞争资源的过程中造成的不可解堵塞。两个线程都在互相等待。java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能成为java的反射机制。序列化:将java对象转换成字节流的过程。反序列化:将字节流转换成java对象的过程。当java对象需要。

2024-05-30 21:40:35 1050

原创 MyBatis 核心配置文件详细内容详解

mybatis-confg.xml ,也就是MyBatis 的核心配置文件,主要配置连接数据库的信息等(**一般一个数据库,对应一个这个MyBatis 的核心配置文件),同样的与之对应的通过mybatis-config.xml 核心配置文件'所创建的对象:SqlSession FactoryBuilder,SqlSessionFactory 也是一个数据库相对应上一个对象。 标签表示:配置环境(在MyBatis 的核心配置文件当中,可以配置多个),注意:一般s。

2024-05-30 21:39:17 932

原创 线程会很感谢你的,给它一个可以通信的传话筒

(3)使当前线程等待,直到另一个线程调用此对象的notify()方法或notifyAll()方法,或者指定的毫秒timeout过去,另外nanos是额外时间,以纳秒为单位。Java线程的等待/通知机制指的是:线程A获得了synchronized同步方法、同步方法块的锁资源后,调用了锁对象的wait()方法,释放锁的同时进入。(2)使当前线程等待,直到另一个线程调用此对象的notify()方法或notifyAll()方法,或者指定的毫秒timeout过去。,即成功获取锁的顺序与申请锁资源的顺序一致。

2024-05-30 21:35:33 809

原创 2024年“Java八股文背诵版“,堪称2024最强!

不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。

2024-05-29 21:10:12 1364

原创 从源码搞懂 kube-scheduler Pod绑定Node全流程

试想一下,如果我们部署一个 或者 ,有3个副本,我们希望的是每个节点都有一个pod,当节点数不够的化,才把所有pod都放在一个节点上。或者当某些节点资源不足以支撑部署对应 Pod 的时候,则不把对应的 Pod 调度到该节点上。这个该如何实现呢?这个分配的过程其实就是 的功能。我们先通过一个 来部署一个nginx服务yaml复制代码这个配置是部署了一个副本的nginx,并且通过Service NodePort方式暴露出固定端口 。我们通过 应用配置文件。 接收到这个配置文件后,先验证它的合

2024-05-29 21:08:48 719

原创 NumPy 泊松分布模拟与 Seaborn 可视化技巧

泊松分布是一种离散概率分布,用于描述在给定时间间隔内随机事件发生的次数。它常用于模拟诸如客户到达商店、电话呼叫接入中心等事件。

2024-05-29 21:07:34 249

原创 Java八股文合集(2024年5月28持续更新)

我们使用java编译命令就能将java源文件编译对应成字节码文件(.class),字节码文件是一种八位数据的二进制流文件,可以被JVM快速加载到内存中运行AQS全称abstractQueueSynchronizer,即抽象队列同步器,是一种锁机制,它是作为一个基础框架使用的,像Reentrantlock,countdownlatch都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储了排队的线程。

2024-05-28 20:57:51 1860

原创 Debezium CDC入门级介绍

线上实时任务,通过 FlinkSQL 关联 Iceberg 维表,维表大搞有 60w,首先通过 FlinkSQL关联 Iceberg 维表上线了,经过一番调优后:TaskManager Memory 给到了 16G,但通过监控可以轻易的发现 Heap 没下来过 10GB本文通过实际案例,详细介绍了如何通过替换维表实现FlinkSQL任务内存占用的优化。作者通过分析Iceberg lookup部分源码,发现其cache的数据会存在内存中,导致内存占用过大。

2024-05-28 20:54:44 845

原创 Flink 通过 paimon 关联维表,内存降为原来的1/4

线上实时任务,通过 FlinkSQL 关联 Iceberg 维表,维表大搞有 60w,首先通过 FlinkSQL关联 Iceberg 维表上线了,经过一番调优后:TaskManager Memory 给到了 16G,但通过监控可以轻易的发现 Heap 没下来过 10GB本文通过实际案例,详细介绍了如何通过替换维表实现FlinkSQL任务内存占用的优化。作者通过分析Iceberg lookup部分源码,发现其cache的数据会存在内存中,导致内存占用过大。

2024-05-28 20:53:55 567

原创 2024最全java面试题整理(持续更新)

MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2024-05-27 19:25:51 1222

原创 了解Java垃圾收集

Java 的垃圾收集是 Java 虚拟机 (JVM) 中的自动内存管理机制。它识别并丢弃程序不再使用的对象,释放内存并防止内存泄漏。这是一个关键功能,它允许 Java 程序避免手动分配和取消分配内存。Java 的垃圾收集机制是其内存管理的重要组成部分。通过理解垃圾收集的原理和不同垃圾收集器的特点,开发者可以更好地优化应用程序性能,避免常见的内存管理错误。合理选择和调优垃圾收集器,不仅能提升应用的响应速度和稳定性,还能在一定程度上简化开发过程中内存管理的复杂性。

2024-05-27 19:23:51 713

原创 【双指针】实战:快慢指针(2)

数组链表上面两种类型是比较常见的。快慢指针主要思想就是通过两个指针一前一后去判断。与二分查找不同。二分查找是首尾(左右)两个指针。快慢指针可以解决循环问题重复问题最值问题(长度,一般争对数组)

2024-05-27 19:23:17 933

原创 Java面试题大全(整理版)1000+面试题附答案详解,最全面详细,看完稳了

对于Java后端的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer, 也已经帮助了很多的Java学习者,希望也能帮助到你。进大厂是大部分程序员的梦想,而进大厂的门槛也是比较高的,所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全,其中概括的知识点有:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、

2024-05-24 13:50:28 395

原创 数据源管理|JDBC|JdbcTemplate|MybatisPlusGenerator

拙作艰辛,字句心血,望诸君垂青,多予支持,不胜感激。

2024-05-24 13:35:58 225

原创 使用 Docker 部署 Jenkins 并设置初始管理员密码

每一次开始,我都特别的认真与胆怯,是因为我期待结局,也能够不会那么粗糙,不会让我失望,所以,就多了些思考,多了些拘束,所以,我也就格外重视第一次!在这篇博客中,我们将介绍如何使用 Docker 部署 Jenkins,并在目录下创建相关卷。

2024-05-24 13:35:12 272

原创 2024Java八股文合集(持续更新)

我们使用java编译命令就能将java源文件编译对应成字节码文件(.class),字节码文件是一种八位数据的二进制流文件,可以被JVM快速加载到内存中运行AQS全称abstractQueueSynchronizer,即抽象队列同步器,是一种锁机制,它是作为一个基础框架使用的,像Reentrantlock,countdownlatch都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储了排队的线程。

2024-05-23 14:23:25 831

原创 设计模式之策略模式

经常写if和switch的朋友们可以考虑用策略模式替换原有写法。策略模式允许我们定义一系列算法,将每一个算法封装起来,并使它们可以互相替换。

2024-05-23 14:21:11 261

原创 AI大模型落地-巨量实体关系映射

实体匹配(entity mapping)通常是指将两个没有直接关系的对象,通过一些方式建立起映射关系。比如:故宫、故宫博物院、北京故宫 三者指的是同一景区,将三者关联起来,就属于实体关系映射。

2024-05-23 14:20:40 735

原创 程序猿Java面试八股文分享~

一种事物的多种表现形态就是多态,比如定义一个类为动物,那么动物可以被子类继承,从而实现具体动物的方法。死锁是指两个或两个以上的进程在竞争资源的过程中造成的不可解堵塞。两个线程都在互相等待。java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能成为java的反射机制。序列化:将java对象转换成字节流的过程。反序列化:将字节流转换成java对象的过程。当java对象需要。

2024-05-22 20:22:38 1236

原创 跨域问题及4种解决方案

跨域问题指的是在Web开发中,由于浏览器的同源策略限制,当一个网页尝试访问与它不同源(协议、域名或端口不同)的资源时,可能会遇到安全限制导致无法正常访问的问题。这种策略旨在防止恶意网站读取或修改其他网站的数据,保护用户信息安全。这样说可能有点抽象,下面具体展开说明。跨域问题指的是在Web开发中,由于浏览器的同源策略限制,导致无法正常访问的问题。主要原理就是请求参数。

2024-05-22 20:15:13 400

原创 让人头大的 IDEA 乱码问题

事情是这样的,年初的时候入职了这家公司,近半年来,莫名其妙的出现了好几次乱码:刚开始个别文件乱码,再打开几个或者重新构建下,就会整个项目乱码;Git 记录显示内容相同,但是还是提示已修改;个别文件的换行符自动被修改...,凡此种种,乱码层出不穷,为了处理乱码问题,花费了大量的精力,因为刚入职,好多东西等着熟悉,也没时间深究测试这个乱码到底咋回事,解决了能用就行。直到最后一次乱码,终于让我找到了规律 ......

2024-05-22 20:14:25 356

原创 2024Java八股文合集(持续更新)

我们使用java编译命令就能将java源文件编译对应成字节码文件(.class),字节码文件是一种八位数据的二进制流文件,可以被JVM快速加载到内存中运行AQS全称abstractQueueSynchronizer,即抽象队列同步器,是一种锁机制,它是作为一个基础框架使用的,像Reentrantlock,countdownlatch都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储了排队的线程。

2024-05-21 14:34:12 547

原创 一键自动化博客发布工具,用过的人都说好(头条篇)

摘要是一个textarea,我们根据placeholder来定位到这个元素:python复制代码summary_input = driver.find_element(By.XPATH, '//div[@class="multi-abstract-cell-content-input"]//textarea[contains(@placeholder,"好的摘要比标题更吸引读者")]') summary_input.send_keys(summary)

2024-05-21 14:23:28 642

原创 京东面试:如何进行JVM调优?

JVM 调优是一个很大的话题,在回答“如何进行 JVM 调优?”之前,首先我们要回答一个更为关键的问题,那就是,我们为什么要进行 JVM 调优?只有知道了为什么要进行 JVM 调优之后,你才能准确的回答出来如何进行 JVM 调优?所以,针对不同的 JVM 调优的手段和侧重点也是不同的。具体来说它们的执行如下。

2024-05-21 14:22:43 672

原创 2024最新java面试八股文(面试必备)

HashSet 是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,HashSet 不允许重复的值。重写发生在父类与子类之间,方法名相同,参数列表相同,返回值的范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类,如果父类方法访问修饰符为private则子类不能重写该方法。在 Java 中垃圾回收线程就是特殊的守护线程。

2024-05-20 13:47:32 800

原创 定期删除 OpenResty/Nginx 大日志文件的方法

也可以帮助你自动管理和定期删除旧的日志内容,确保日志文件不会无限制地增长。例如,我们可以为 Nginx 日志创建一个自定义的。例如,我们可以为 Nginx 日志创建一个自定义的。通常由系统的 Cron 任务定期运行。通过这种方式,即使你的日志文件是一个大的单一文件,首先,确保系统上已经安装了。这个文件通常会包含一条执行。在应用配置之前,可以使用。

2024-05-20 13:46:21 235

原创 原生 Ajax、jQuery 库与 Fetch API:谁能主宰后端数据传输?

原生Ajax提供了最基础的异步通信能力,适合对性能有严格要求或特定场景下的定制化需求。jQuery凭借其易用性和跨浏览器兼容性,依然是许多项目中快速实现Ajax请求的优选。Fetch API作为新一代标准,以其现代化的Promise支持和更强大的功能,逐渐成为未来趋势,特别是在追求现代JavaScript特性的项目中。开发者在选择异步请求实现方式时,应考虑项目的具体需求、团队熟悉度及对新特性的追求,从而做出最合适的选择。

2024-05-20 13:45:00 685 1

原创 “Java八股文背诵版“,堪称2024最强!

不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。

2024-05-19 03:39:24 1003

原创 重塑网页交互新篇章:Ajax三种方法的实战指南

Ajax,全称为Asynchronous JavaScript and XML(异步JavaScript与XML),是一种网页开发技术,它使得网页能够在不重新加载整个页面的情况下与服务器交换数据并局部更新页面内容。这一技术极大地提高了用户体验,因为它让用户感觉网页响应更快、交互更流畅。

2024-05-19 03:37:00 824

原创 现代全栈前端框架 + Docker 构建镜像优化

在 Node.js 项目中,使用辅助库很常见,明显这些库不会在生产环境中使用,例如如果我们使用了 test 库,在部署声到生产环境之前,移除这些不会在生产环境运行的库,减小 docker 构建的体积,也能加快构建速度。在生产环境运行并不需要开发环境的内容,优化开中各种问题,就成了开发者必须面对的一道题了,下面是我们对 Docker + Remix、Next 框架事件一些探索的总结。做选型的时候做好各种方面测试,能有效的避免包体积一些问题。在开始项目之前,了解自己的设备性能,了解技术只要的性能是什么样的。

2024-05-19 03:36:27 659

原创 谁说PHP不能异步和并行运行?

在处理需要远程接口调用的大量数据时,我们面临一个关键问题:串行处理导致的效率低下。如果每个接口调用需要1秒,那么即使是10条数据,也需要10秒来完成,这还没有考虑到网络延迟和接口提供方可能出现的问题。在串行执行的情况下,一旦接口调用遇到问题,整个处理时间会成倍增加,这不仅降低了程序的响应速度,也增加了系统的不稳定性。它允许并行运行不同的进程,并具有易于使用的API。,你可以调用它来检查你的平台是否能够运行异步进程。注意:该扩展库异步并行执行需要所需的扩展。可以看出上面是按并行调用接口,总共耗时。

2024-05-17 17:15:26 192

原创 一文读懂全连接队列

我们在调用 listen 时,主要创建了全连接(accept queue)和半连接(syn queue)队列。全连接队列的大小取决于 min(backlog, somaxconn)不同版本对于全连接队列溢出的策略是不同的,但本质都是通过丢弃 Client 请求来保证 Server 的稳定。全连接队列主要供 accept 调用,因此只要使用先进先出的队列结构即可。全连接队列的数据主要来自于半连接,需要根据不同的 Client 获取,因此被设计成查询高效的哈希表结构。

2024-05-17 17:12:29 539

原创 “Java八股文背诵版“,终于整理完了,堪称2024最强!

当今互联网行业中,Java作为一种广泛应用的编程语言,对于求职者来说仍是一项受欢迎的技能。然而,随着市场上的开发人员数量越来越多,的竞争也愈加激烈。与过去相比,现在的企业对Java程序员的需求更高,因此招聘流程变得更加严格。许多公司增加了笔试环节和多轮面试,以确保他们雇佣到最适合的候选人。在Java面试中,重点考察的是候选人的编程能力、数据结构和算法知识、Spring框架和数据库相关知识等。此外,企业通常还会问到一些关于面向对象设计和代码优化的问题。

2024-05-17 17:11:19 419

原创 2024年国内最牛的 Java 面试八股文合集

不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。

2024-05-16 13:12:28 849

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除