自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 问答 (5)
  • 收藏
  • 关注

原创 让大模型的响应时间从5秒降至0.1秒?解决性能瓶颈的秘密就在这里

《分布式系统性能优化:方法与实践》是一本面向AI时代的实战指南,针对大语言模型应用中的延迟与成本问题,提出系统化性能优化方案。书中重点介绍了语义缓存技术(可实现0.1秒内响应)等创新方法,通过20+工业案例覆盖架构设计、网络传输、缓存策略等6大核心领域,特别包含RAG系统、Agent系统等前沿场景优化。作者团队凝聚30年经验,构建了"多快好省"的四维指标体系,帮助开发者从救火式调优转向体系化建设。该书已获多位一线架构师推荐,在当当、京东有售。

2025-12-25 15:10:13 591 1

原创 0基础玩转腾讯元宝!这本全场景指南,让AI成为你的效率神器

《腾讯元宝从入门到精通》是一本AI实战指南,由资深专家谢磊编写,帮助普通人轻松掌握腾讯元宝的运用。书中涵盖工作、学习、生活的100多个高频场景,提供1000+提示词模板和实操案例,零基础也能快速上手。通过本书,读者可3分钟生成PPT、优化论文写作、规划生活事务等,显著提升效率。本书不仅教授工具使用,更培养AI思维,是AI时代提升个人价值的实用手册。现已在京东平台发售。

2025-11-05 09:30:33 4402 3

原创 Tomcat

本文介绍了服务器的基本概念,包括硬件服务器(提供硬件支持)和软件服务器(用于项目部署)。重点讲解了Tomcat服务器的目录结构、基本使用方法和常见启动问题解决方案。详细说明了war包发布流程和虚拟目录的两种配置方式(修改server.xml或独立配置文件),以及如何配置虚拟主机。内容涵盖Tomcat的启动/停止操作、端口冲突处理、异常排查等实用技术要点。

2025-10-24 10:09:33 438 3

原创 豆瓣9.3,100%好评!这本经典技术书,凭什么能“封神”20余年

《编码》第2版重磅上市:AI时代程序员必备的底层逻辑指南 在技术快速迭代的今天,《编码》这本经典著作仍占据计算机图书热销榜,豆瓣评分高达9.3。本书从手电筒通信讲起,通过摩斯电码、逻辑门等生动案例,完整揭示计算机从硬件到软件的运行原理。第2版新增二维码等现代技术案例,并优化CPU工作原理的讲解。 该书独特价值在于: 为初学者构建计算机系统认知框架 帮助开发者深入理解AI等技术的底层逻辑 提供软硬件结合的"第一性原理"思维

2025-10-24 10:06:08 1717

原创 JavaWEB响应对象详解

文章摘要: 本文介绍了JavaWeb中的响应对象(HttpServletResponse)及其使用方法。主要内容包括:1)响应对象概述,区分协议无关和协议相关的响应接口;2)常用响应方法及状态码含义;3)通过示例演示字节流和字符流输出中文时的乱码问题及解决方案;4)验证码生成示例。重点讲解了设置响应编码的四种方法,推荐使用setContentType()统一字符集,解决中文乱码问题。响应对象由Tomcat提供实现,开发时直接使用即可。

2025-10-17 09:31:53 983 3

原创 JavaWEB请求对象详解

本文介绍了JavaEE中请求对象(ServletRequest和HttpServletRequest)的基本概念、常用方法及使用示例。主要内容包括:请求对象概述及其在B/S架构中的作用;常用方法如获取服务器/客户端路径信息、请求头信息;以及获取请求参数的三种方式(getParameter、getParameterValues、getParameterNames)。文中提供了多个代码示例,如获取路径信息、请求头信息以及处理表单参数等,并展示了如何将请求参数封装到实体类中。这些方法在实际Web开发中常用于处理H

2025-10-17 09:29:55 819 1

原创 HTTP 响应码

HTTP状态码是服务器响应客户端请求时返回的三位数字代码,用于快速传达请求处理结果。状态码分为五类:1xx(信息性)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误),帮助客户端判断请求状态并决定下一步操作。常见状态码如200(成功)、404(资源不存在)、500(服务器错误)等,不仅标准化了通信流程,还辅助开发调试和系统监控。状态码是网络交互中高效、通用的"状态报告"机制。

2025-10-16 09:52:28 893

原创 HTTP 协议

HTTP协议是超文本传输协议,由W3C管理维护,采用客户端-服务器问答机制。主要包含请求报文和响应报文两种形式,当前主流版本为HTTP1.1,相比1.0版本增加了消息头并优化了连接机制(1.0每次请求需新建/关闭连接,1.1支持持久连接)。协议结构分为请求部分(请求行、消息头、正文)和响应部分(响应行、消息头、正文),浏览器遇到特定标签(如<script>)时会自动发送请求。

2025-10-16 09:45:34 1423 13

原创 JVM - 内存泄露与内存溢出

本文介绍了内存溢出(OOM)和内存泄漏的概念及成因。内存溢出通常由于堆内存不足或创建大量无法回收的大对象导致,JVM会尝试GC但并非总能解决。内存泄漏指对象不再使用却无法被回收的情况,包括静态集合、单例模式、未关闭连接等8种常见场景。两者都会最终导致程序崩溃,但内存泄漏更具隐蔽性。文章还提供了相关异常信息和解决方案,如调整堆大小、及时释放资源等。

2025-10-14 10:30:09 1037 2

原创 从算筹到卫星导航:这本书藏着人类文明的进化密码

《改变世界的数学》是一本颠覆传统认知的数学科普读物。作者李祥兆博士以5000年数学史为脉络,将高深理论转化为通俗故事,揭示数学如何从远古记数工具发展为推动人类文明进步的核心力量。书中不仅对比东西方数学发展路径,更通过航海应用、CT扫描、DNA研究等现代案例,展现数学在科技中的关键作用。特色章节"数学与航海"详细解析数学如何助力大航海时代,而丰富的趣味故事让抽象理论变得生动易懂。本书适合大学生构建知识体系、教师家长创新教学方式,以及普通读者理解科技背后的数学逻辑。兼具专业性与可读性,是打破

2025-10-14 10:11:14 1180

原创 JVM-垃圾回收

文章摘要: 本文系统介绍了Java垃圾回收机制,重点分析了堆内存的回收管理。首先定义了垃圾对象的概念,解释了不及时回收可能导致内存溢出的问题。然后详细对比了两种垃圾判断算法:引用计数法(存在循环引用缺陷)和可达性分析法(通过GC Roots识别存活对象)。接着阐述了三种垃圾清除算法:标记-清除(产生内存碎片)、复制算法(适合新生代但需双倍空间)和标记-压缩算法(适合老年代整理内存)。文章强调了解垃圾回收原理对排查内存问题的重要性,并指出不同场景需采用不同回收策略,其中复制算法因高效性常用于新生代回收,而标记

2025-09-25 14:43:23 1157 1

原创 JVM-执行引擎

文章摘要 执行引擎是JVM的核心组件,负责将字节码转换为本地机器指令。其工作流程包括:通过PC寄存器获取指令地址,执行后更新下一条指令,并可能访问堆区对象数据。代码从编译到执行分为预处理、编译、汇编、链接四个阶段,最终由操作系统加载到内存,CPU按取指-译码-执行-访存-写回流程运行。不同语言处理方式各异,如解释型语言逐行翻译,JIT动态编译热点代码。这一机制实现了代码的跨平台执行与高效运行。(150字)

2025-09-23 09:00:39 921 3

原创 四、RabbitMQ Work Queues

摘要: 工作队列(任务队列)通过将资源密集型任务封装为消息并发送到队列,实现异步处理。多个工作线程可并行消费队列中的任务。RabbitMQ提供消息应答机制确保消息不丢失,包括自动应答(高风险)和手动应答(推荐)。手动应答支持批量确认(Multiple参数)和消息重新入队功能。文中提供了Java代码示例,展示如何创建生产者、消费者以及实现手动应答机制,确保任务处理的可靠性。关键点包括轮询分发、消息应答模式选择及异常情况下的消息重入队列机制。

2025-09-22 14:49:37 729

原创 大语言模型的微调策略

摘要: 大语言模型(LLM)在特定领域任务中表现有限,需通过微调优化性能。微调策略分为全面微调(调整所有参数,资源消耗大)和参数高效微调(PEFT),后者包括前缀调优、提示调优、LoRA等方法,显著降低计算成本。基于ChatGPT的微调支持API、命令行和UI操作,需准备JSONL格式数据并配置超参数。微调后模型可适配特定任务,部分性能甚至超越GPT-4,适用于个性化需求场景。

2025-09-18 14:10:10 694 1

原创 二、初识 RabbitMQ

RabbitMQ是一个开源的消息代理和队列服务器,核心功能包括接收、存储和转发消息。其核心概念包括生产者(发送消息)、交换机(路由消息)、队列(存储消息)和消费者(接收消息)。RabbitMQ通过Broker管理消息,支持虚拟主机(vhost)实现多租户隔离,使用Connection和Channel优化TCP连接效率,Exchange根据规则分发消息到Queue。安装步骤包括依赖包安装、服务启动及管理插件配置,并提供用户权限管理命令。常用操作涵盖服务启停、用户添加及权限设置等。

2025-09-18 13:58:15 1048

原创 Deepseek+Cherry Studio搭建本地知识库

本文介绍了如何注册华为硅基流动平台并使用其AI模型构建本地知识库。注册后可获14元余额和2000万token配额,创建API密钥后可在Cherry Studio中连接硅基流动模型。详细说明了添加嵌入式模型、创建知识库并上传文档的步骤,以及如何在聊天界面调用知识库问答。作者对比了本地模型与云平台模型的性能差异,推荐使用硅基流动平台+本地知识库的方案。文末附有京东购买链接。

2025-09-17 10:12:18 1313 1

原创 一、消息队列概述

消息队列(MQ)是一种跨进程通信机制,采用FIFO队列存储消息,实现上下游逻辑解耦。主要作用包括流量消峰、应用解耦和异步处理。常见MQ产品有:ActiveMQ(维护较少)、Kafka(高吞吐,适合大数据)、RocketMQ(金融级可靠)和RabbitMQ(高并发易用)。选择依据:大数据场景选Kafka,金融交易选RocketMQ,中小规模选RabbitMQ。

2025-09-17 09:54:48 1087

原创 JVM-对象内存布局

本文摘要介绍了Java对象的实例化过程,包括对象创建的两种方式(new和反射)和六个步骤:类加载检查、内存分配、并发处理、空间初始化、对象头设置和执行init方法。同时分析了对象的内存布局(对象头、实例数据和对齐填充)以及访问定位的两种方式(句柄和直接指针),指出HotSpot采用直接指针访问以提高性能。文章结合字节码指令和内存管理机制,深入解析了Java对象从创建到访问的全过程。

2025-09-16 15:07:16 1107 2

原创 JVM-运行时内存

本文主要介绍了JVM运行时内存结构中的程序计数器和虚拟机栈。程序计数器是线程私有的小型内存区域,用于存储当前线程执行的字节码指令地址,是唯一不会发生内存溢出的区域。虚拟机栈同样为线程私有,采用栈帧结构存储方法调用的数据,包括局部变量表、操作数栈、动态链接、方法返回地址等。局部变量表存储方法参数和局部变量,操作数栈用于执行引擎计算,动态链接将符号引用转为直接引用,方法返回地址记录调用位置。栈大小可通过-Xss参数设置,栈溢出会抛出StackOverFlowError。垃圾回收不涉及虚拟机栈和程序计数器,仅作用

2025-09-16 09:39:12 872 1

原创 JVM-运行时内存-堆

本文主要介绍了JVM堆内存的结构与配置参数。堆内存是JVM管理的核心区域,包含新生代(Eden、Survivor区)和老年代。对象分配遵循特定规则:从Eden区开始,经过多次GC后存活的对象会晋升到老年代。可通过-Xms、-Xmx等参数调整堆大小,-XX:NewRatio设置新生代与老年代比例,-XX:SurvivorRatio调整Eden与Survivor区比例。文章还详细说明了GC触发机制和对象分配过程,包括Minor GC、Major GC和Full GC的区别,以及OOM异常的产生条件。

2025-09-15 14:36:12 817

原创 JVM-运行时内存-虚拟机栈与本地方法栈

本文主要介绍了Java虚拟机栈的结构与工作原理。首先通过对比运行时内存和内存结构图,阐述了"栈管运行,堆管存储"的原则。然后详细解析了栈帧的组成,包括局部变量表(存储方法参数和局部变量)、操作数栈(基于栈的执行引擎工作区)、动态链接(将符号引用转为直接引用)、方法返回地址等核心组件。最后讨论了栈溢出的典型场景(StackOverflowError)、栈大小设置的影响(-Xss参数)、以及栈与垃圾回收的关系(不涉及GC)。文章特别强调,方法内的局部变量若在内部产生和消亡则是线程安全的。整体

2025-09-15 12:40:12 914 1

原创 JVM-运行时内存-程序计数器

程序计数器是JVM中线程私有的小型存储区域,用于记录当前线程执行的字节码指令地址,确保线程切换后能正确恢复执行位置。它通过自动增加指令地址实现顺序执行,通过修改地址实现程序跳转。作为唯一不会出现内存溢出的区域,程序计数器对多线程环境至关重要,每个线程独立拥有自己的计数器以避免执行干扰。这一机制保障了CPU在频繁线程切换时仍能准确维护各线程的执行状态。

2025-09-15 10:22:41 604

原创 CopyOnWrite

Redis和Java的CopyOnWriteArrayList都采用了COW(Copy-on-Write)机制,但实现方式和目的不同。Redis主要利用操作系统的fork()和COW实现RDB持久化和主从复制,通过内存页级的延迟复制保证数据一致性;而Java的CopyOnWriteArrayList在语言层面实现数组复制,确保并发安全。两者都体现了COW的核心思想:以写操作性能为代价换取读操作的高效和安全。Redis巧妙地借助系统级COW机制,使其持久化和复制功能既高效又优雅。

2025-09-14 16:00:00 676 1

原创 JVM-双亲委派机制

双亲委派机制是Java类加载的核心机制,它通过层级委托的方式确保类加载的安全性和唯一性。该机制要求类加载器优先将加载任务委托给父加载器,只有在父加载器无法完成时才自行加载。这种设计避免了类的重复加载,保护了核心API不被篡改,但也存在顶层加载器无法访问底层加载器类的弊端。实践中,双亲委派机制经历了三次主要突破:JDK1.2前的兼容性调整、SPI服务的线程上下文类加载器方案,以及OSGi等模块化热部署需求导致的网状加载结构。这些突破表明,双亲委派虽是推荐模型,但并非强制约束,开发者可根据实际需求灵活调整类加载

2025-09-14 09:30:00 1029

原创 JVM-ClassLoader 源码剖析 与 自定义类加载器

本文深入剖析了ClassLoader的源码结构及其工作机制。首先分析了ClassLoader作为抽象类的基本功能与现有类加载器(如URLClassLoader、ExtClassLoader、AppClassLoader)的继承关系。重点解读了ClassLoader的核心方法如loadClass(实现双亲委派机制)、findClass、defineClass等的工作原理。 文章还对比了Class.forName()与ClassLoader.loadClass()在类初始化时序上的关键差异。最后探讨了自定义类加

2025-09-13 13:30:00 682

原创 JVM-类的加载器分类与测试

本文介绍了Java虚拟机中的类加载器体系结构。主要内容包括:1)类加载器的分类,分为引导类加载器和自定义类加载器;2)类加载器之间的父子关系,下层加载器包含上层加载器的引用;3)三类主要类加载器的特点:引导类加载器(C++实现)、扩展类加载器(加载扩展目录)和系统类加载器(默认程序加载器);4)自定义类加载器的作用,如实现插件机制和模块隔离;5)获取类加载器的方法。类加载器层次结构是Java动态扩展能力的基础,通过继承ClassLoader类可自定义加载逻辑。

2025-09-13 09:30:00 482

原创 JUC 并发编程-StampedLock

读写锁ReentrantReadWriteLock』并不是真正意义上的读写分离,它只允许读读共存,而读写和写写依然是互斥的,大多实际场景是“读/读”线程间并不存在互斥关系,只有"读/写"线程或"写/写"线程间的操作需要互斥的。因此引入 ReentrantReadWriteLock。一个 ReentrantReadWriteLock 同时只能存在一个写锁但是可以存在多个读锁,但不能同时存在写锁和读锁, 也即一个资源可以被多个读操作访问或一个写操作访问,但两者不能同时进行。

2025-09-12 14:15:00 1613

原创 JVM-类的加载器

文章摘要:本文介绍了Java类加载器(ClassLoader)的核心作用、加载方式及必要性。类加载器负责将class文件读入JVM并转换为Class对象,分为显式加载(代码调用)和隐式加载(JVM自动加载)。了解加载机制有助于定位ClassNotFoundException等异常,支持动态加载和加解密操作,并实现自定义加载规则。类唯一性由加载器及其命名空间决定,不同加载器加载的相同类被视为不同类。类加载机制具有双亲委派、可见性(子可访问父)和单一性(父类不重复加载)三大特征,但某些场景会突破双亲委派模型(如

2025-09-12 08:54:51 826 1

原创 JVM-类的加载过程

本文系统介绍了Java类加载机制的核心流程,包括加载、链接、初始化三个阶段。在加载阶段,JVM通过二进制流获取类信息并创建类模板对象;链接阶段包含验证、准备和解析步骤,确保类结构的正确性;初始化阶段执行<clinit>()方法完成静态变量赋值。特别说明了数组类和final变量的特殊处理,以及多线程环境下初始化的线程安全性。最后指出类的使用需经历完整加载过程,并简要提及卸载机制。全文通过图示和代码示例,清晰地阐述了类加载的关键技术细节。

2025-09-11 17:10:45 905

原创 ThreadLocal

本文介绍了ThreadLocal的概念、作用及其实现原理。ThreadLocal提供线程局部变量,每个线程都有独立初始化的变量副本,解决了线程安全问题。文章分析了ThreadLocal、Thread和ThreadLocalMap三者的关系,指出ThreadLocalMap是ThreadLocal的静态内部类,以ThreadLocal实例为key存储数据。重点讨论了ThreadLocal的内存泄漏问题,由于Entry使用弱引用作为key,当ThreadLocal对象被回收后,key会变为null但value仍

2025-09-11 09:42:23 856

原创 Java CAS

CAS(比较并交换)是一种并发技术,通过硬件保证原子性操作。它包含三个参数:内存位置、预期值和更新值。当内存值与预期值匹配时,更新值才会被写入,否则操作失败。Java中的Unsafe类提供了CAS底层实现,基于CPU指令cmpxchg完成原子操作。相比synchronized,CAS非阻塞且效率更高,适用于多线程场景。AtomicInteger等原子类通过CAS+volatile保证线程安全,如getAndIncrement()方法避免i++的线程不安全问题。自旋锁借鉴CAS思想,线程通过循环尝试获取锁而非

2025-09-11 09:06:08 876

原创 Java volatile 关键字

摘要: volatile关键字通过内存屏障指令保证了变量的可见性和有序性,但不保证原子性。其内存语义包括:写操作直接刷新到主内存,读操作直接从主内存读取。JVM通过插入四种内存屏障(StoreStore、StoreLoad、LoadLoad、LoadStore)禁止指令重排序,确保多线程环境下的操作顺序。volatile适用于状态标志、低开销读写等场景,但复合操作(如i++)需配合synchronized或原子类实现原子性。

2025-09-10 15:51:15 908 1

原创 Java内存模型 JMM 看这一篇就够了

本文摘要: Java内存模型(JMM)是抽象规范,定义了多线程环境下变量访问规则,围绕原子性、可见性和有序性展开。计算机存储体系从磁盘到CPU缓存存在速度差异,JMM屏蔽硬件差异保证跨平台一致性。线程操作变量需通过工作内存(主内存副本)进行,不能直接读写主内存。JMM通过happens-before原则解决并发操作顺序问题,包含8条具体规则如次序规则、锁定规则等。这些规则避免显式使用volatile/synchronized,简化了并发编程,确保线程安全性和执行结果正确性。

2025-09-10 10:03:01 1030 1

原创 LookSupport与线程中断

如何优雅地停止运行中的线程 Java线程中断机制是一种协作式停止线程的方式,通过设置中断标志位而非强制终止。主要方法包括: 中断机制:通过调用线程的interrupt()方法设置中断标志位,需要线程自身检查标志位并处理中断逻辑。Thread.stop等方法已被废弃。 实现方式: 使用volatile变量作为中断标志 使用AtomicBoolean作为中断标志 通过Thread类的isInterrupted()方法检查中断状态 注意事项: 调用interrupt()不会立即停止线程,只是设置标志位 阻塞状态下

2025-09-10 09:45:30 622

原创 “史上最烂”操作系统Windows Vista,为何失败?

摘要: Windows Vista因过度追求功能扩张导致系统臃肿(代码超7000万行),兼容性负担使其在新硬件上性能不佳,恰逢低价低配电脑流行,用户体验差于XP。尽管技术前瞻,但时机与硬件趋势错位使其失败。后续Windows 7通过优化工程效率获得成功。推荐新版操作系统教材,涵盖现代技术更新,实例升级至Windows 11等最新系统。 (字数:149字)

2025-09-09 11:03:25 2585 2

原创 Java中的阻塞队列

BlockingQueue是Java并发包中解决多线程数据安全传输的队列工具,支持阻塞操作。当队列空时获取操作会被阻塞,队列满时添加操作会被阻塞。它提供了多种方法:非阻塞的offer()/poll()、可设置超时的offer()/poll()、阻塞的put()/take()等,简化了生产者-消费者模型的实现。通过共享队列,BlockingQueue自动处理线程阻塞与唤醒,开发者无需手动控制线程同步,有效提升了多线程程序的开发效率。

2025-09-09 08:59:26 783 1

原创 Java中线程安全的集合

本文演示了Java集合的线程安全问题及解决方案。示例代码展示了多线程操作ArrayList时会出现ConcurrentModificationException异常,原因在于ArrayList的add方法非线程安全。提出了三种线程安全解决方案: 使用Vector类,其add方法通过synchronized实现同步; 使用Collections.synchronizedList方法包装ArrayList; 重点推荐CopyOnWriteArrayList,采用写时复制机制实现读写分离。 其中CopyOnWri

2025-09-08 09:49:04 988

原创 JUC 并发编程-基础

本文主要介绍了Java多线程中锁的使用以及Callable和Future接口。 在锁的部分,通过示例代码演示了synchronized关键字在不同场景下的表现,得出以下结论: 非静态同步方法使用同一把锁(当前对象) 静态同步方法使用类对象作为锁 普通方法与同步锁无关 不同实例对象的非静态同步方法使用不同锁 在Callable和Future接口部分,说明了: Callable接口允许线程返回结果,而Runnable不能 Future接口用于获取异步任务的结果 FutureTask结合了Runnable和Fut

2025-09-08 09:05:01 877 1

原创 线程间通信

线程间通信主要有共享内存和消息传递两种模型。本文通过Java实现线程间交替加减操作,展示了两种实现方案:1)使用synchronized配合wait/notifyAll实现同步;2)使用Lock配合Condition的await/signal实现更灵活的线程控制。此外,还介绍了定制化通信案例,通过多个Condition实现按顺序循环打印不同次数的字符。两种方案都有效解决了线程同步问题,Lock方案提供了更细粒度的线程控制能力。

2025-09-07 23:23:37 544

原创 Java 中的锁

摘要 本文系统介绍了Java中的锁机制,涵盖乐观锁与悲观锁的区别(CAS算法实现乐观锁)、公平锁与非公平锁的底层原理(基于AQS实现)及适用场景、可重入锁的实现机制(synchronized通过计数器实现,ReentrantLock基于AQS状态管理)。重点分析了ReentrantLock的可重入性实现,包括锁获取/释放流程和线程所有权检查。此外还提及读写锁和自旋锁的概念。文章通过源码解析和流程图,深入阐释了各类锁的设计思想与实现细节,为开发者合理选择锁策略提供了理论依据。

2025-09-07 19:47:09 796

MySQL5.7学习笔记

MySQL5.7学习笔记

2023-06-05

JavaSE 五万字总结.pdf

JavaSE总结 Java基础语法 类型转换 运算符 流程控制 循环 Random 数组 方法 方法重载 递归 二进制 类和对象 成员变量局和部变量 封装 构造方法 String 集合 继承 GIT 抽象类 多态 Java8 异常 泛型 Map File IO 多线程 线程池 网络编程 类加载器 反射 注解 枚举 HTTP XML解析 单元测试 日志 java面试 Java基础 java面试资料

2023-05-15

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

TA关注的人

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