Tulip开发
文章平均质量分 71
Cult Of
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TCP 与 UDP 的区别
TCP和UDP是两种不同的传输层协议:TCP是面向连接的可靠协议,通过三次握手、数据确认、重传等机制保证数据正确传输,适合Web、文件传输等场景;UDP是无连接的快速协议,不保证可靠性但延迟极低,适合游戏、直播等实时应用。现代应用常混合使用二者:UDP处理实时数据,TCP处理关键数据。理解这两种协议的本质差异(可靠VS快速)是网络编程的重要基础。原创 2025-11-18 16:08:07 · 502 阅读 · 0 评论 -
差点膨胀成微信的小型支持私聊的聊天软件的实现与Java联机基础
这篇文章介绍了一个基于Java开发的小型聊天软件实现过程。作者通过构建"服务器-客户端"模型,逐步实现了用户登录、好友管理、消息收发等核心功能。服务器作为中转站管理在线用户信息,客户端负责用户交互,使用Socket通信、对象序列化和多线程处理等技术实现数据传输和并发处理。文章详细阐述了功能模块设计、实现思路和Java网络编程的关键技术点,如Socket连接、对象流传输、多线程处理等,并分享了开发过程中遇到的挑战和功能扩展的思考,最终形成一个具备基础聊天功能的简化版微信。原创 2025-08-29 13:16:40 · 564 阅读 · 0 评论 -
Java是如何实现通信的,在空气之外?
本文介绍了Java网络通信的核心原理与实现方法。通过聊天室程序示例,重点阐述了Socket编程中"收发对应"的基本原则:服务器端监听与客户端连接必须匹配,每个write操作对应read操作。文章还讲解了多线程处理客户端连接、消息广播机制以及异常处理等关键技术,强调网络通信的本质在于维护严格的输入输出对应关系。这些对应原则确保了Java网络应用的可靠性和稳定性,使开发者能够构建高效的通信系统。原创 2025-08-26 12:02:14 · 507 阅读 · 0 评论 -
Java 图片像素碰撞检测
摘要:ImageIconCrack类实现了2D图形应用中精确的像素级碰撞检测,解决了传统矩形边界检测在透明区域误判的问题。该方法通过读取图片的像素数据,先进行快速矩形碰撞预判,再对重叠区域逐像素检查透明度,仅当两个非透明像素重叠时才判定为碰撞。适用于格斗游戏、精确拖拽等需要高精度交互的场景,相比矩形检测更耗时但准确度更高。建议对频繁检测的图片使用内存缓存,并控制图片尺寸以优化性能。原创 2025-08-14 18:32:50 · 442 阅读 · 0 评论 -
JavaSwing监听器的原理及使用
本文系统介绍了Java GUI编程中的事件驱动模型和Swing监听器机制。核心内容包括:1) Java事件本质是用户与GUI组件的交互行为,通过事件监听器实现响应;2) 重点解析了MouseListener、KeyListener和ActionListener三类常用监听器及其方法;3) 详细说明了通过实现接口或继承适配器类两种监听器调用方式;4) 深入探讨了事件驱动编程的精髓、线程安全(EDT)和焦点管理等关键概念。原创 2025-08-10 12:44:55 · 887 阅读 · 0 评论 -
Daisy —— 轻量级 Java 消息广播与订阅工具
本人的一个轻量级开源项目,用于Java近乎于scratch一般方便的广播和消息接收系统而不用受改static变量之苦。Daisy 是一个单文件、零依赖的 Java 工具类,用于实现跨类的线程安全消息广播与订阅。空主题安全处理:修复了 null 作为键时的 hashCode() 问题。特性 单文件:下载 Daisy.java 放进项目即可用。灵活订阅:支持订阅指定主题或全部主题。零依赖:纯 Java SE 实现。原创 2025-08-08 13:20:29 · 362 阅读 · 0 评论 -
用 JavaSwing 开发经典横版射击游戏:从 0 到 1 实现简易 Contra-like 游戏
通过上述设计,我们实现了一个具备基础玩法的横版射击游戏框架。这个简易版本虽然功能有限,但包含了 2D 游戏开发的核心要素:场景管理、角色控制、碰撞检测、游戏循环和用户输入。增加多种敌人类型和 Boss 战实现道具系统(武器升级、生命值恢复)添加关卡切换与进度保存加入音效与背景音乐优化 AI 逻辑,实现更复杂的敌方行为JavaSwing 虽然不是游戏开发的首选工具,但通过这个案例可以看出,利用其基础组件和绘图能力,完全可以构建出具有可玩性的小型游戏。原创 2025-08-02 16:56:34 · 1032 阅读 · 0 评论 -
基于 LFU 策略的存储缓存系统设计与实现
本文探讨了StorageCacheSystem的设计实现,这是一个结合磁盘持久化与内存缓存的存储系统。系统采用LFU缓存策略,通过"缓存优先"访问机制和双重备份存储策略,实现数据的高效管理。核心设计包括数据生命周期管理、访问频率统计、缓存容量控制与淘汰机制。文章还讨论了频率统计优化方案(时间窗口衰减)以及应对缓存击穿、雪崩等问题的解决方案。该系统在保证数据安全性的同时,通过智能缓存策略显著提升了热点数据的访问效率。原创 2025-08-02 16:40:31 · 645 阅读 · 0 评论 -
生命游戏,模拟生命的诞生和生存(Java)
摘要:本文介绍了使用Java实现康威生命游戏的方法。系统采用三层架构:GameUI类负责图形界面展示,GameOfLife类管理网格状态,DieDaiGuiZe类实现核心算法。算法基于二维网格中细胞的邻域状态(3×3范围内)进行迭代更新,存活细胞在2-3个活邻居时存活,死亡细胞在恰好3个活邻居时复活。实现采用双矩阵策略避免状态污染,通过嵌套循环完成每代演化,展现了复杂系统自组织的特性。该实现有效模拟了生命游戏的基本规则和动态特征。原创 2025-07-29 17:28:02 · 912 阅读 · 0 评论 -
使用Object继承和泛型处理一个复杂多变还要多层套用还要变成无限拓展链的数据结构————————(示例)利用 Object 继承和泛型处理员工职位多层嵌套的无限拓展信息链
本文探讨了Java中equals、toString和clone三个方法的必要性及标准重写模式。equals方法需重写以比较内容而非地址,标准流程包括基础校验、类型转换和字段比较;toString重写应返回类名及属性值的格式化字符串;clone方法需实现深拷贝,对引用类型属性进行递归克隆。文章通过员工管理系统的示例,展示了如何正确实现这三个方法,并验证克隆对象的独立性。掌握这些重写模式能有效处理复杂对象的比较、打印和复制需求。原创 2025-07-26 17:43:43 · 932 阅读 · 0 评论 -
2D游戏背景滚动教程(JavaSwing)
2D游戏视口滚动控制技术摘要:本文介绍了一个2D游戏视口滚动系统的实现方案。核心思路是将游戏窗口作为显示大世界的"视口",通过计算角色位置与屏幕边缘触发区域的关系来控制背景滚动。系统包含视口初始化、滚动触发区域设置、边界约束等关键模块,实现了当角色接近屏幕边缘时平滑滚动背景,并确保视口不会超出世界边界。代码示例展示了如何计算角色屏幕坐标、处理键盘输入、更新视口位置以及优化绘制性能,最终实现角色在超大世界中自由移动的效果。原创 2025-07-26 12:51:07 · 364 阅读 · 0 评论 -
Java线程初步(2)
本文展示了一个基于Java多线程的小球碰撞动画系统,主要包含三个核心组件:1)UI框架负责创建窗口和面板;2)ThreadListener类处理鼠标点击添加小球和键盘控制(S键暂停/D键恢复);3)BallClass实现小球物理系统,包括运动轨迹、边界反弹和碰撞检测。系统通过ThreadBall线程实现动画循环,采用2毫秒休眠控制帧率,在保持性能的同时实现流畅动画效果。该案例完整演示了多线程编程、图形绘制和用户事件处理的综合应用,为开发交互式动画提供了实用参考。原创 2025-07-23 19:00:31 · 869 阅读 · 0 评论 -
Java线程初步
本文介绍了Java多线程编程的基本方法,以一个Swing界面中球体移动的案例进行演示。主要内容包括:1)通过继承Thread类创建线程(ThreadBall示例);2)线程核心操作在run()方法中实现(如球体向右移动);3)通过start()方法启动线程执行。该案例展示了如何利用多线程实现简单的动画效果,为Java多线程编程提供了入门实践。原创 2025-07-22 13:47:39 · 225 阅读 · 0 评论 -
日麻役种计算器的java雏形实现
可以看到,里面主要有诸如主页面牌的位置,54张牌的可供选择的点击地点,和已经被选择的牌的显示(当然还有一个答案显示和背景Panel)本项目实现了一个简易的日麻役种计算器,技术栈为Java Swing。包括前端的选牌,看你选的牌,根据你选的牌计算等部分。(本人并不懂全部的规则,所以计算部分的完善只能后人补充了)包括是否是宝牌,牌面数字,牌种类,是牌堆中第几张等等。通过这些内容,我们可以实现日麻役种的简易计算。各种各样的“是与非”原创 2025-05-25 15:34:46 · 190 阅读 · 0 评论 -
Java 接口设计,书写,调用
当我们的指尖在键盘上敲击出interface这个词时,便悄然叩响了数字世界与理念世界的共振。这看似寻常的语法符号,实则是柏拉图洞穴外投射的永恒投影——它不执着于石壁上的影子,而直指万物运行的元型。那些在字节流中浮沉的接口,恰似《周易》六十四卦的爻变之相。每个方法签名为一道卦象,不涉具体,却暗藏万般可能。正如"乾"卦可化龙在天,亦可为马行地,同一接口在不同实现中演绎着形态的嬗变与本质的恒常。在编译器的凝视下,接口成为一场精妙的二律背反:它既是牢不可破的契约,又是虚无缥缈的承诺。原创 2025-03-26 22:12:44 · 660 阅读 · 0 评论 -
Java的继承
今天来聊一个快被说烂了的话题,继承。继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以复用父类的代码,并且可以添加自己的特性。对多个类的操作如果同时存在多个类,这些类都具备很多相同的属性、特征、方法,那么我们可以实现将相同部分的属性和方法定义在一个父类中,这些类都来继承父类,可以直接继承父类的属性和方法。1如果父类中的属性和方法使用了受限制的访问权限修饰符修饰,同样子类也不一定可以直接调用.2。原创 2025-03-23 17:21:48 · 252 阅读 · 0 评论 -
代码中那些你以为不是很重要的细节 之 运算符与逻辑控制
从运算符的隐式类型转换,到逻辑控制的边界条件,再到引用类型的地址传递,这些细节看似琐碎,却直接影响程序的正确性与性能。明确类型:避免混合类型运算的意外结果。防御性编程:利用短路特性、边界检查等手段预防潜在错误。理解内存机制:区分值类型与引用类型的底层行为差异。只有重视这些“不起眼”的细节,才能写出健壮、高效的代码。原创 2025-03-09 20:27:08 · 1152 阅读 · 0 评论 -
代码中那些你以为不是很重要的细节 之 运算符与逻辑控制
从运算符的隐式类型转换,到逻辑控制的边界条件,再到引用类型的地址传递,这些细节看似琐碎,却直接影响程序的正确性与性能。明确类型:避免混合类型运算的意外结果。防御性编程:利用短路特性、边界检查等手段预防潜在错误。理解内存机制:区分值类型与引用类型的底层行为差异。只有重视这些“不起眼”的细节,才能写出健壮、高效的代码。原创 2025-03-09 20:23:58 · 1485 阅读 · 0 评论 -
使用Java构建简单的图像查看器和处理器
在本篇博客中,我们将介绍如何使用Java开发一个简单的图像查看器和处理器,主要功能包括加载图像、应用灰度和二值化滤镜,以及保存处理后的图像。该项目采用Java的Swing库构建图形用户界面,并采用面向对象的方法,使代码模块化,易于扩展。原创 2025-02-18 19:22:24 · 231 阅读 · 0 评论 -
c++简易仓库管理系统概念代码暨内存管理与智能指针使用
在现代C++编程中,内存管理一直是开发者关注的重点。传统的裸指针虽然灵活,但容易导致内存泄漏和悬挂指针等问题。为了解决这些问题,C++11引入了智能指针,提供了更安全、自动化的内存管理方式。本文将深入探讨如何利用智能指针设计一个高效的库存管理系统,展示其强大的自学能力和技术实力。智能指针是C++标准库中用于自动管理动态分配内存的工具。原创 2025-02-15 22:16:13 · 610 阅读 · 0 评论 -
JAVA贪吃蛇
贪吃蛇是一款经典的街机游戏,玩家控制一条蛇在屏幕上移动,吃掉食物以增长身体长度,同时避免撞墙或撞到自己。在本项目中,我们将使用Java的Swing库来构建图形用户界面,并实现游戏的核心逻辑。运行上述代码后,您将看到一个窗口,显示一个黑色的游戏区域。您可以使用键盘的方向键控制蛇的移动,目标是吃掉红色的食物,避免撞墙或撞到自己。在这篇博客中,我们将深入探讨如何使用Java编程语言实现经典的贪吃蛇游戏。通过这次实践,您将体验到从零开始构建一个完整游戏的过程,提升您的编程能力和对面向对象设计的理解。原创 2025-02-15 22:04:38 · 1481 阅读 · 0 评论 -
有关Java制作五子棋(Gobang)的代码与心得
五子棋是一个非常好的java开发练手项目(对于所有开发语言都是)。我将展示一系列的代码,实现建议的绘制棋盘,落子,判定胜负,人机对战等操作。mousePressed是下棋的实现,actionPerformed是按键的监听。我们使用一种策略,extend JFrame来让棋盘固定,成为整个图案最底色的一部分。如所示,GoFrame让JFrame多了绘制基本页面,移动时重绘两个功能。所有的函数,包装类,图形都在上面被调度。开始游戏,中断游戏,悔棋,pvp/pve。这是一个棋子类,用来存放棋子行,列,颜色。原创 2025-01-15 02:45:00 · 189 阅读 · 0 评论 -
Java利用JFrame简单的软件页面UI开发(无修饰版)
这一部分创建了一个JFrame的ui界面,有注册登录两个按钮,账号密码两栏。用户信息栏部分:用户的名字,密码,管理员专属名字密码,此处可连接SQL。关于java进行软件开发的登陆页面的最简单版本@Alicea_Wind。按钮动作部分:按完按钮,调用数据库来找查信息并进行注册和登录两种操作。对于那些想直接抄代码的朋友:记得改变量。原创 2024-11-26 23:57:49 · 169 阅读 · 0 评论
分享