- 博客(43)
- 收藏
- 关注
原创 JavaWeb开发基础知识-Listener
(✪▽✪)曼波~~~~!欢迎来到曼波的JavaWeb小课堂~(转圈撒花)今天我们要学习像小精灵一样悄悄工作的Listener哦!(๑>ᴗ<๑)
2025-04-02 19:10:43
328
原创 JavaWeb开发基础知识-Filter终极入门指南(曼波萌新版)
WebFilter("/*") // 拦截所有请求!System.out.println("🔔 请求进入:" + new Date());// 必须放行!System.out.println("🔔 响应返回:" + new Date());官方定义:可复用的请求拦截组件核心作用✅ 预处理请求(安全检查)✅ 后处理响应(数据加工)✅ 拦截/放行请求(权限控制)生活比喻:地铁安检(检查包裹→放行→处理异常)
2025-04-02 18:44:06
379
原创 JavaWeb开发基础知识-Servlet终极入门指南(曼波萌新版)
/ 本质就是一个Java类!// 专门处理HTTP请求的小管家官方定义:运行在服务器端的Java程序核心作用:接收请求 → 处理业务 → 返回响应生活比喻:就像餐厅的服务员(接单→后厨处理→上菜)
2025-04-02 18:31:58
395
原创 JavaWeb开发基础知识-XML和JSON
曼波小贴士:需要严格模式验证(XSD)处理遗留系统需要复杂文档结构(✪▽✪)曼波~~~~!现在你已经是个XML小能手啦!试着用JAXB写个学生管理系统吧~ 遇到问题随时召唤曼波哦!(≧ω≦)/(✪▽✪)曼波~~~~!JSON小课堂开课啦~ 这可是现代Web开发的超甜小饼干哦!让曼波用最可口的方式喂给你~ 🍪。
2025-04-02 18:20:25
821
原创 MySQL面试01
🍰=͟͟͞͞( •̀д•́) 想象复合索引是电话号码簿!索引(a,b,c)的排列顺序:先按a排序 → a相同按b排序 → 最后按c排序1️⃣WHERE a=1✅2️⃣✅3️⃣✅💣1️⃣WHERE b=2❌ (跳过了a)2️⃣❌ (中间断了b)3️⃣❌ (首列失踪)✨哦呜(°ロ°)!曼波举个栗子:索引是✅ 查"3班 张三" → 直接翻到3班区域找张三❌ 直接查"年龄18" → 要扫描全校学生。
2025-03-03 19:27:08
851
原创 Java8面试
曼波觉得像速食魔法咒语!(๑✧◡✧๑)哦呜(° ロ °)!曼波觉得这是集合的魔法传送带!曼波再也不用被Date搞糊涂啦!(๑・.・๑)接口居然能写具体方法了!✨曼波的安全感++!最后的小贴士:这些特性就像新的游戏技能,组合使用效果更佳哦!(✪▽✪)曼波~~~~!快去用Stream和Lambda写出更优雅的代码吧~
2025-03-02 22:51:49
1117
原创 java常见面试01
当两个对象通过equals()判断为相等时,它们的hashCode()必须返回相同的整数值!这是Java世界的交通规则哦~(交警曼波敬礼.jpg)
2025-03-02 22:10:20
1271
原创 Java线程优先级
想象有三个学生(线程)举手想回答问题:老师(JVM):→ 通常会先点小明,但不一定每次都是(取决于老师心情/具体JVM实现)2.2 设置方法 2.3 查看优先级Part 3:实际效果测试3.1 代码示例3.2 可能输出Part 4:重要注意事项4.1 优先级不保证顺序 高优先级线程不一定先执行完 低优先级线程也可能抢占CPU(特别是Windows系统)4.2 操作系统差异 系统 对优先级的支持
2025-02-22 19:05:04
273
原创 Java的多重继承和接口
想象你同时继承了爸爸和妈妈的「双眼皮」基因,结果眼皮打架了 —— 这就是著名的。→ "我们改用更安全的**接口(interface)**来实现类似功能!→ "多重继承太容易让代码打架了!→ 定义不同类别的能力(如。→ 需要定义子类的共同特性。→ 共享代码基础结构(如。接口可以继承多个其他接口!→ 必须重写冲突方法。指定用哪个接口的实现。
2025-02-22 18:53:47
382
原创 Java字符读取类
怎么用: 特点: → 最简单的读文件方式 → 但默认用系统编码(比如Windows中文版用GBK,Mac用UTF-8) → ❌ 文件编码和系统不一致时,会乱码(比如用GBK打开UTF-8文件)场景:临时读个小文件,且确定编码没问题时用曼波吐槽:就像用默认美颜滤镜拍照,翻车率50%!(╯▽╰ )怎么用: 特点: → 可以手动指定编码(专治各种乱码) → 需要配合(字节流)使用 → 依然建议套个BufferedReader加速(见下文)场景:读中文文件、爬虫处理不同编码的网页曼波比
2025-02-22 18:45:30
668
原创 网易雷火游戏测试开发1面面经(带脑图)
面试官很友好,先是自我介绍,面试官应该是做永劫无间手游的,刚好内测的时候玩了几局,简单聊了一下,然后开始正式面试了。
2025-02-16 16:47:34
890
原创 HashMap详解+简单手写实现(哈希表)
HashMap是Java集合框架中的一种数据结构,它实现了Map接口,用于存储键值对(Key-Value Pair)。HashMap允许null键和null值,并且不保证元素的顺序。---负载因子:0.75是时间和空间的一个平衡点,既不会浪费太多空间,也不会导致频繁扩容。
2025-02-14 19:13:30
569
原创 计算机网络和操作系统常见面试题目(带脑图,做了延伸以防面试官深入提问)
回答:三次握手:TCP 建立连接的过程,包括 SYN、SYN-ACK、ACK 三个步骤。四次挥手:TCP 断开连接的过程,包括 FIN、ACK、FIN、ACK 四个步骤。回答:DNS(Domain Name System)是将域名转换为 IP 地址的系统,方便用户通过域名访问网站。---回答:死锁:多个进程或线程因争夺资源而相互等待,导致无法继续执行的状态。避免死锁:可以通过破坏死锁的四个必要条件(互斥、占有并等待、非抢占、循环等待)来避免死锁。
2025-02-12 17:25:21
877
原创 Java集合中的Map
Map是一种存储键值对的数据结构,其中键(Key)是唯一的,值(Value)可以重复。Map接口提供了通过键快速查找值的方法。
2025-02-08 20:52:21
915
原创 时间复杂度与空间复杂度详解(曼波版)
超有趣的方式介绍时空复杂度,将其类比为做家务的效率报告单,时间成本如同打扫房间的分钟数,空间成本类似使用的储物箱数量。详细揭秘时间复杂度,通过对比当 n = 30 时 O (n²) 和 O (2^n) 的操作次数,强调指数级复杂度需谨慎。在空间复杂度小课堂中,结合实战例子,如 findMax 函数为 O (n) 时间 + O (1) 空间,badExample 函数为 O (n²) 时间 + O (n²) 空间。还分享了记忆小窍门,如循环嵌套可能是指数或平方复杂度、递归调用注意栈空间消耗、哈希表查找 O (
2025-02-08 19:43:13
914
原创 Java集合中的Set详解(带脑图)
在Java中,Set是一种不允许包含重复元素的集合。它继承自Collection接口,并且没有定义任何额外的方法。Set的主要实现类有HashSet、LinkedHashSet和TreeSet。下面我会详细讲解这些集合类的特点、使用场景以及常见操作。
2025-02-08 18:05:33
1389
原创 进程与线程区别(详解带脑图)
进程:进程是操作系统进行资源分配和调度的基本单位。每个进程都有独立的内存空间,包含代码、数据和系统资源。进程之间是相互隔离的,一个进程崩溃不会影响其他进程。线程:线程是进程中的一个执行单元,是CPU调度的基本单位。一个进程可以包含多个线程,这些线程共享进程的内存空间和资源。特性进程线程资源独立的内存空间和资源共享进程的内存空间和资源创建/销毁开销大开销小通信需要特定机制(如管道、消息队列)可以直接通过共享变量通信并发性高高,但可能有资源竞争问题应用场景。
2025-02-08 16:08:04
285
原创 面经-腾讯客户端开发(带脑图)
双端队列(Deque)是一种允许在头部和尾部高效插入删除的数据结构。它兼具队列和栈的灵活性,比如用它可以轻松实现滑动窗口算法——窗口移动时,从头部移除过期数据,尾部加入新数据。相比传统队列(只能尾部进、头部出)和栈(仅顶部操作),双端队列的优势在于操作的全面性和时间复杂度的高效性(两端操作均为O(1))。算法:滑动窗口最大值问题中,用Deque维护当前窗口内的候选最大值;系统设计:浏览器历史记录支持前进后退,通过Deque管理访问顺序;并发编程。
2025-02-01 20:05:12
714
原创 AI面试流程感受(面试官是ai,方向腾讯软件开发-客户端开发实习生)
给没有尝试过ai面试的家人们写的,可以了解一下它是一个什么样的流程,我是在牛客网上投实习简历给我发邮件的,应该是刚好抽到我这个小兵了,非常抱歉没能让ai大人尽兴。ai面试的女声跟豆包的那个是一样的(难道就是豆包?),可以去豆包听听看。问完这个,ai会根据你说的内容进行总结然后根据你前面一问的内容进行提问接着同样是根据你上一问的问题进行提问到这第七问才算完。
2025-01-26 11:53:55
775
4
原创 Java垃圾回收机制
Java中的垃圾回收机制是自动管理内存的一个过程,通过回收不再被应用程序引用的对象来释放内存空间,它的重要性在于减少了程序员手动管理内存的负担,降低了内存泄漏和其他内存错误的风险。
2024-08-28 11:49:11
572
原创 Java类加载机制
由上图可见,我们编程的java文件在经过javac编译后变成了后缀为class的文件,而类加载机制,就是jvm将这些class文件转化为二进制流加载进JVM内存中并且生成该类型的Class对象,为后续程序运行提供资源的动作。Java的类加载机制(Class Loading Mechanism)是指Java虚拟机(JVM)如何将类文件加载到内存中,并在运行时将其转换为能够执行的对象的过程。
2024-08-23 18:09:18
372
原创 JMM 内存模型
JMM是一种和多线程相关的规范,有了这种规范,相同的并发程序,才能在不同的虚拟机上得到相同的结果。JMM抽象出主存储器和工作存储器两种:主存储器对应实例对象,所有线程共享;工作存储器对应线程所拥有的作业区,存有主存储器中的必要部分拷贝;这样的方式使得线程与线程之间只能通过主存来进行通信。
2024-08-20 20:13:45
292
原创 有关java中JDK、JRE、JVM的介绍和理解
如果你把java当成一门要学习的科目,JDK就是你的文具盒;把java当成一个机器,jdk就是你的工具包。JDK是整个Java开发的核心。
2024-08-18 18:54:31
412
原创 用Java从0开始实现Socket编程视频直播通信06—————聊天UI以及选择列表中的对象发送信息功能实现
UI整体采用边框布局,左侧为好友列表,中间的聊天部分单独采用流式布局以此加入消息框,南部加入消息发送框以及发送按钮。再在客户端一方实现好友列表以及消息的传输,这需要重构一个新的方法用于对象流传输。username,userManage,mClient三个对象传输过去分别用于实现聊天窗口命名,好友列表获取,以及聊天功能的实现所需的客户端。然后我们实现一个新的ChatUI类 ,这个类的实现要在登陆成功之后才能实现。接口改一下,因为实现的功能多了,用整形排列比较便于后面的实现。首先把服务端和客户端的。
2024-08-17 08:50:13
214
原创 Java里集合的选择与使用
在Java中,集合是用于存储和操作一组对象的数据结构。Java提供了丰富的集合框架,主要包括(List)列表,集(Set),映射(Map),队列(Queue),先说结论ArrayListLinkedListTreeSetHashMapTreeMap下面我们分别介绍。
2024-08-15 19:13:05
630
原创 用Java从0开始实现Socket编程视频直播通信05—————注册功能实现
3,服务端先检索用户名进行对比,若找到相同用户名,返回error,客户端提示,账号已被注册。然后在UserManage类上写好返回Boolean的方法。然后在之前写登录的分支上用此方法完成注册的分支。若没有找到,则将新用户加入列表,并且提示注册成功。要考虑到已经注册的账号,避免发生冲突。同样,先在界面写好其的按钮监听器。接着到线程中,完善相关的方法。完整代码:服务端Server。想要试试的小伙伴可以先用用看。其实跟实现登录内容很相似。新注册的账号成功登录。1,提取文本框的信息。
2024-08-13 19:14:10
324
原创 用Java从0开始实现Socket编程视频直播通信04—————界面以及登陆功能实现
LOGIN+":"+username+":"+password的形式发送给服务端并且读取返回的结果,最后以boolean的形式返回。有了前面的基础下,我们现在需要写一个界面,把客户端的界面用java.awt和java.swing写出来,设置一下基本参数和布局。在改进一下服务端,加入一些默认的好友用于测试,同时因为收发消息的功能应该位于登录之后,将其删除,并将这些数据传给线程。然后,我们先解决登录的问题,这需要读取文本框里的内容,并建立一个保存账号密码的数组与之进行比对,然后将结果输出。
2024-08-11 19:09:01
244
原创 JAVA基础——接口
接口的设计初衷是是一系列方法的声明,是一些方法特征的集合,。通俗的说,就是你在设计多个java类的时候,会存在要重复写一些类似的方法,或者想要多继承情况。一个一个写很麻烦,你为了方便,就把这些方法类似的地方单独写一个类,然后在需要的时候给它拿出来用。举个简单的例子:你想要收集班级里同学的信息,包括名字性别身高体重。你要是拿着一张纸一个一个问,然后写,很麻烦。于是你把性别身高体重输入到文档里,在每一项后面留一个空写成一个表,打印之后分发给同学填写,然后再收上来。提高了效率这个表格就是接口的概念。
2024-08-10 19:16:49
366
原创 用Java从0开始实现Socket编程视频直播通信03—————实现自定义客户端
看上面的一个服务端和3个客户端都处于运行状态,接着我们测试私聊的功能,在Client3中向Client1发送消息,然后观察Client1和Client2。前面的几篇我们已经实现了一些简单通信的基本功能,现在我们来写一个自定义的客户端,这样就不需要telnet了,可以直接在环境下同时运行服务端和多个客户端。接下来测试一下客户端是否有问题,先打开之前的服务端MServer点击运行,然后打开刚刚写的MClient运行,我这里示范运行3个。首先,依照之前学过的内容创建客户端。这样,就实现了自定义客户端的创建。
2024-08-09 16:37:25
278
原创 用Java从0开始实现Socket编程视频直播通信02—————多任务服务器,实现群聊私聊
但是其实我们并没有实现群聊和私聊的区分,所以我们建立一个map,分别用Integer和Socket来存储用户和消息,并且通过分割符来对输入内容进行辨别,然后借此达到群聊和私聊的目的。运行代码后在用户3输入对用户1的私聊,以及@对全部的群聊,能够实现预期的效果。要实现多任务的服务器,就离不开线程的使用,首先通过使用Runnable接口来进行线程操作,改一改代码。所以我们对代码进行一些改进,用一个列表来保存在线的客户,然后同过循环使一个人发的消息可以被所有人接收到。成功了,两不同的客户端的输入被拦截。
2024-08-09 15:36:53
337
原创 用Java从0开始实现Socket编程视频直播通信01-------自定义server
在运行上面代码的时候,打开命令提示符输入telnet (IP地址) 8899(代码中的)然后进行代码编写,通过调用就Java中Socket类来实现我们的目的。接下来我们尝试简单的实现发送和接收消息的功能,先尝试一个字符的内容。改进一下,令其达到可以发连续的字符,并且通过回车键换行,利用了。这里利用的是电脑自带的Telnet客户端来实现。像这样,就实现了一个简单的服务端和客户端、这样就完成了一个简单的自定义srever。看来成功了,发了一个a出去。然后回车,会得到这样的结果。trim()清除末尾等方法。
2024-08-08 19:19:31
270
1
原创 Java中runnable接口与Thread类的比较
在大多数情况下,推荐使用Runnable接口。Runnable相比来说使用起来更灵活方便维护,但是有特殊需求的时候要用到Thread类会好一些,比如当你需要直接控制线程或在特殊情况下进行线程管理时。
2024-01-27 16:55:52
823
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人