- 博客(92)
- 收藏
- 关注
原创 【Apache Hive】
Apache Hive 是大数据生态中不可或缺的工具,尤其适合需要 SQL 兼容性和批处理能力的场景。尽管实时性不足,但其易用性、扩展性及与 Hadoop 生态的深度整合,使其在企业数据仓库和离线分析中持续发挥重要作用。
2025-03-28 21:29:16
1078
原创 【Java】JVM
隔离加载类修改类加载的方式扩展加载类防止源码泄露自定义类加载器的父类加载器由方法设置,该方法返回的是。开发人员可以通过继承抽象类java.lang.classLoader类的方式,实现自己的类加载器,以满足一些特殊的需求在JDK1.2之前,在自定义类加载器时,总会去继承classLoader类并重写loadclass()方法,从而实现自定义的类加载类,但是在JDK1.2之后已不再建议用户去覆盖loadclass()方法,而是建议把自定义的类加载逻辑写在findclass()方法中。
2025-03-28 21:28:42
1503
原创 【etcd】
ETCD gRPC Proxy 是一个面向高性能场景的智能代理层,通过请求合并、响应缓存、负载均衡等机制显著提升集群的读吞吐量,同时简化客户端逻辑。适用于需要缓解 Leader 压力、优化高频读操作的场景(如 Kubernetes 大规模集群)。结合监控和调优,可最大化发挥其性能优势。
2025-03-17 23:41:39
662
原创 【计算机网络】浏览器组成、工作原理、页面渲染流程...
理论上,既然样式表不改变Dom树,也就没有必要停下文档的解析等待它们,然而,存在一个问题,脚本可能在文档的解析过程中请求样式信息,如果样式还没有加载和解析,脚本将得到错误的值,显然这将会导致很多问题,这看起来是个边缘情况,但确实很常见。在树的构建阶段,将修改以Document为根的DOM树,将元素附加到树上。每次读取输入流中的一个或多个字符,并根据这些字符转移到下一个状态,当前的符号状态及构建树状态共同影响结果,这意味着,读取同样的字符,可能因为当前状态的不同,得到不同的结果以进入下一个正确的状态。
2025-03-17 23:41:19
958
原创 【Mac】安装 Parallels Desktop、Windows、Rocky Linux
PD试用15天,可百度下激活码 or 破解工具。打开禁用开机密码。
2025-03-17 00:23:49
1431
原创 【Tomcat】
Apache Tomcat(通常简称为)是一个开源的和,由 Apache 软件基金会维护。它实现了 Java Servlet、JavaServer Pages (JSP) 和 WebSocket 等规范,是部署和运行 Java Web 应用程序的核心工具之一。Tomcat 设计两个核心组件连接器(Connector)和容器(Container)来分别做这两件事情。连接器负责对外交流,容器负责内部处理。
2025-03-17 00:23:36
826
原创 【Apache Storm】
Apache Storm 作为一种强大的实时流处理框架,已经被广泛应用于多个领域,如金融交易监控、实时日志分析、用户行为分析等场景。Storm 的事件驱动模型、低延迟处理能力、分布式容错机制,使其在处理实时数据流时具有明显的优势。尽管 Storm 在低延迟和高可靠性方面表现出色,随着流处理领域的发展和用户需求的演变,Storm 也面临着进一步发展的机遇与挑战。
2025-03-16 11:19:09
772
原创 【Spring】
Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。注解说明@Component该注解用于描述 Spring 中的 Bean,它是一个泛化的概念,仅仅表示容器中的一个组件(Bean),并且可以作用在应用的任何层次,例如 Service 层、Dao 层等。使用时只需将该注解标注在相应类上即可。该注解用于将数据访问层(Dao 层)的类标识为 Spring 中的 Bean,其功能与 @Component 相同。
2025-03-16 11:18:34
951
原创 【协议篇】RPC、gRPC
模式请求流数量响应流数量典型场景一元 RPC11简单请求-响应(如 REST)服务端流式RPC1N服务端主动推送(如实时数据)客户端流式RPCN1客户端批量提交(如文件上传)双向流式RPCNN实时双向交互(如聊天)
2025-03-15 00:08:34
1156
原创 【Scala】
sbt(Scala Build Tool) 是一个专为 Scala 和 Java 项目 设计的开源构建工具,类似于 Java 的 Maven 或 Gradle,但针对 Scala 生态进行了深度优化。
2025-03-14 23:45:25
1042
1
原创 【Hadoop】
Hadoop起源于Lucene框架,后其创始人为解决对于海量数据存储困难、检索速度慢的问题,借鉴了Google的大数据神级三大思想,创建了Nutch,后被分离出来,纳入Apache的项目Hadoop中。因此说Google的大数据三大思想是Hadoop的思想之源也不为过。这三大思想分别对应三篇论文:Hadoop目前发展得最好的有三大发行版本:Apache、Cloudera(CDH)、Hortonworks(HDP)。他们都有各自的特点:HDFS(Hadoop Distributed File System)是
2025-03-07 02:11:34
1195
原创 【计算机网络】WebSocket
WebSocket 是一种在单个 TCP 连接上实现全双工通信的协议,旨在解决传统 HTTP 协议在实时通信场景中的局限性。
2025-03-07 02:11:12
644
原创 【计算机网络】HTTP 协议族
HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的协议之一,用于客户端(如浏览器)与服务器之间的通信。
2025-03-06 03:13:39
612
原创 【Java】Servlet
Servlet 是 Java Web 开发的基石,理解其原理是掌握高级框架(如 Spring MVC)的前提。尽管现代开发中更多使用框架,但 Servlet 的核心机制(如生命周期、请求/响应模型)仍然是关键基础。
2025-03-06 03:13:07
810
原创 【计算机网络】多路复用
多路复用的本质是 通过高效的事件通知机制,最大化资源利用率。无论是物理层的信号传输,还是软件层的并发处理,它都通过“共享资源、按需分配”的思想解决了大规模任务管理的难题。在网络编程中,掌握I/O多路复用技术(如epoll)是构建高性能服务器的基石,也是现代高并发框架(如Node.js、Nginx)的核心实现原理。
2025-03-05 01:52:07
1166
原创 【Java】网络通信IO模型
模型BIONIOAIO阻塞性同步阻塞同步非阻塞异步非阻塞线程模型1 连接 1 线程多路复用(单线程/线程池)回调驱动复杂度低中高高适用场景低并发、简单应用高并发、实时响应(如 Netty)特定场景(如文件操作)接口SocketBIO:仅用于教学或低负载场景。NIO:大多数高并发场景的首选,结合 Netty 等框架简化开发。AIO:谨慎使用,需评估操作系统支持与业务需求。为什么主流框架(如 Netty)选择 NIO 而非 AIO?
2025-03-05 01:51:16
1350
原创 【计算机网络】Socket
Socket(套接字)是操作系统提供的 网络通信抽象层,允许应用程序通过标准接口(如 TCP/IP 或 UDP)进行数据传输。它本质上是 IP地址 + 端口号 的组合,用于标识网络中的唯一通信端点。Socket 是网络编程的基石,理解其原理和实现有助于开发高性能、可靠的网络应用。尽管现代框架(如 HTTP 库、gRPC)封装了底层细节,但在需要精细控制网络行为(如自定义协议、低延迟优化)时,直接操作 Socket 仍是必备技能。
2025-03-04 22:54:29
1008
原创 【Java】IO流
Java IO流通过分层设计(节点流+处理流)和装饰器模式,灵活支持多种数据操作场景。掌握字节流、字符流及缓冲机制是高效处理IO的关键,同时注意资源释放和编码问题。对于高性能需求,可进一步学习NIO框架。
2025-03-04 21:37:58
678
原创 【Java】日志框架
Java日志框架是开发中记录和管理日志的重要工具,合理选择和使用日志组件能提升项目的可维护性和灵活性。(1)日志门面(2)日志实现3.2 SLF4J + Log4j 2.x4、桥接旧项目示例若旧项目使用Log4j 1.x或JCL,可通过桥接器统一到SLF4J:JCL → SLF4J二、Log4j2Apache Log4j 2 是 Java 社区中广泛使用的高性能日志框架,作为 Log4j 1.x 的升级版本,它在架构设计、性能和功能上进行了全面优化。内置级别(从低到高):TRACE <
2025-03-03 14:37:26
710
原创 【Java】反射
Java 反射机制是动态编程的基石,虽然功能强大,但需谨慎使用。它在框架开发、动态代理、测试工具等场景中不可或缺,但在性能敏感或安全性要求高的场景下应避免滥用。理解反射是掌握 Java 高级特性的关键一步!
2025-03-03 14:37:15
627
原创 【计算机网络】OSI模型、TCP/IP模型、路由器、集线器、交换机
OSI由国际标准化组织ISO提出,属于理论模型,市场实践失败。层级名称功能概要典型协议/技术7应用层用户应用程序接口6表示层数据格式转换与加密5会话层会话管理与同步4传输层端到端可靠传输TCP, UDP3网络层逻辑寻址与路由2数据链路层物理寻址与帧传输Ethernet, PPP, Wi-Fi(MAC层)1物理层物理介质传输比特流光纤, 双绞线, 无线电波OSI 每一层都定义了特定的功能和协议,为上一层提供服务,并与下一层进行交互。
2025-02-23 21:41:19
1477
原创 【数据序列化协议】Protocol Buffers
Protocol Buffers(简称 Protobuf)是 Google 开发的一种高效、跨平台的数据序列化协议,专为结构化数据的存储和通信设计。它通过简洁的接口定义语言(IDL)描述数据结构,并生成高效的序列化代码,广泛应用于微服务通信(如 gRPC)、大数据存储等场景。高效性:二进制编码,体积比 XML/JSON 小 3-10 倍,序列化速度快 5-100 倍跨语言支持:支持 Java、C++、Python、Go 等主流语言,代码自动生成。
2025-02-23 21:41:09
487
原创 【SpringBoot】配置文件加载顺序
此外,对于多环境的配置文件(如application-dev.properties、application-prod.yml等),Spring Boot也会根据激活的profile来加载相应的配置文件。当外部配置文件和jar包内部的配置文件存在相同的配置项时,外部配置文件中的配置项会覆盖jar包内部的配置文件中的相同配置项。这是Spring Boot配置加载机制中的一个重要特性,它允许你在不同的环境中使用不同的配置文件来适应不同的需求。
2025-02-13 02:43:06
801
原创 【算法篇】CAP、Paxos、Raft
Raft 算法是一种用于管理分布式系统中复制日志的一致性算法。它通过选举一个领导者(Leader),并让领导者负责管理和协调日志复制,以确保所有节点的数据一致性。Raft 算法通过领导者选举和日志复制两大核心机制实现分布式系统的数据一致性。客户端向集群发送写请求(例如:“账户A转账100元”)。若客户端连接的是Follower,Follower返回当前Leader的地址(通过LeaderID字段)。客户端将请求重定向到Leader节点。Leader 处理请求。
2025-02-13 02:42:17
1278
原创 【Redis】Linux、Windows、Docker 环境下部署 Redis
Redis 有可能正在将内存中的数据同步到硬盘中,强行终止Redis进程可能会丢失数据,正确方式是向Redis发送 SHUTDOWN命令。在Linux中可以通过初始化脚本启动Redis,使得Reds能随系统自动运行,在生产环境中推荐使用该方式运行Redis。,将该脚本复制到ect/init.d目录中,文件重命名为redis_端口号,并将脚本中REDISPORT变量值改为同样的端口号。,对应上面注册服务时使用的配置文件,所以后续的自定义配置就需要修改这个文件。,则Redis将采取后台进程方式启动。
2025-02-09 00:56:07
711
原创 【Docker】
创建自定义网络时,Docker会在该网络上启动一个嵌入式的DNS服务器。这个DNS服务器专门用于解析同一网络中的容器名和服务名。自定义网络中的DNS服务器能够动态地更新和维护容器名的解析记录,从而确保容器之间可以通过名称进行通信。
2025-02-09 00:55:49
980
原创 【设计模式】
设计模式是在软件设计中反复出现的问题的通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、可扩展性和重用性。设计模式是一种抽象化的思维方式,可以帮助开发人员更好地组织和设计他们的代码。它们提供了一种通用的框架,可以用于解决各种不同的软件设计问题。设计模式不是完整的代码,而是一种描述问题和解决方案之间关系的模板。设计模式并不是一成不变的法则,而是根据不同的问题和情境来决定是否使用以及如何使用。了解和应用设计模式可以帮助开发人员更好地组织代码,提高代码的
2025-02-07 01:48:55
541
原创 【Docker】联合文件系统
联合文件系统(UnionFS,Union File System)是一种分层的文件系统技术,允许将多个目录或文件系统叠加到一起,形成一个逻辑上的统一视图。它的关键特点是:对底层数据只读,同时支持写入时复制(Copy-On-Write, COW)。在容器技术(如 Docker)中,UnionFS 被广泛用于实现高效的镜像存储和文件系统管理。联合文件系统是一种分层且高效的文件系统,它通过分层、只读基础和写时复制的方式,支持增量更新和高效资源管理。
2025-02-07 01:48:42
710
原创 【SpringBoot】整合 MybatisPlus
1、log4j2第一步,导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions><!-- 去掉springboot默认配置 --> <exclusion>
2024-12-03 19:58:21
1402
2
原创 【Git】
Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。我们可以把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不过“交换”修改不方便而已。git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
2024-12-02 22:22:58
1108
原创 【Linux】常用命令:alternatives、update-alternatives、scp、curl...
update-alternatives和alternatives都是Linux系统中用于管理命令链接符的工具,它们允许用户在系统中存在多个软件版本时,方便地设置和切换默认使用的版本。在RHEL或CentOS等系统中,alternatives命令实际上是一个指向update-alternatives命令的软链接(在较新的版本中可能有所变化,但功能相似)。在某些RHEL或CentOS版本中,update-alternatives可能作为一个软链接存在,指向alternatives命令。
2024-11-24 23:35:24
522
原创 【Mac】VMware Fusion Pro 安装 CentOS 7
按e是添加定制引导项目,按c是进入grub(CentOS的开机程序),关于定制引导选项参考 https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/chap-anaconda-boot-options。显示的是内核的版本,如果出现多个,说明你有升级过内核;CentOs升级内核后,旧的内核是不会自动删除,所以才有多个正常启动选项,让你选择用哪个内核来启动。
2024-11-24 00:38:04
2791
5
GFPGANv1.4.pth
2025-01-16
codeformer-v0.1.0.pth
2025-01-16
Stable-diffusion openai
2025-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人