- 博客(58)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 使用pnpm、vite搭建Phaserjs的开发环境
本文介绍了如何使用pnpm快速搭建Vite+Phaser.js开发环境:1)通过pnpm create vite初始化项目并选择模板;2)安装Phaser依赖;3)替换main.js文件内容配置Phaser游戏场景,包含预加载、创建和更新函数;4)添加居中文本显示功能;5)运行pnpm run dev启动项目。教程简洁明了,适合快速入门Phaser.js游戏开发。
2025-05-27 18:22:12
505
原创 使用Java制作贪吃蛇小游戏
这篇文章介绍了如何使用Java和Swing库实现贪吃蛇游戏。游戏包含蛇的移动、吃食物、计分和游戏结束判定等基本功能。文章采用面向对象设计,将游戏分为SnakeGame(主类)、GamePanel(游戏面板)、Snake和Food等类。详细展示了创建游戏窗口、初始化游戏面板、绘制游戏元素(蛇、食物、分数)、处理键盘输入控制蛇移动等核心功能的实现代码。游戏通过定时器控制刷新频率,实现蛇的自动移动,并包含碰撞检测机制。代码考虑了蛇不能反向移动、食物生成避开蛇身等游戏细节,为初学者提供了一个完整的贪吃蛇游戏开发教程
2025-05-25 11:33:09
642
原创 Luhn 算法原理及 Java 实现
Luhn 算法,也称为 “卢恩算法”,是一种简单的校验和算法,通常用于验证身份识别码,如信用卡号码、IMEI 号码等。该算法的目的是检测数据输入时可能出现的错误,例如转录错误或键盘输入错误。它通过对号码中的数字进行特定的数学运算来生成校验和,从而判断号码的有效性。Luhn 算法是一种简单而有效的校验算法,在实际应用中广泛用于数据验证。通过上述 Java 代码实现,我们可以方便地对各种可能的号码进行 Luhn 校验,以确保数据的准确性和完整性。
2025-05-22 14:22:25
373
原创 深入剖析原型模式:原理、实现与应用实践
原型模式是一种创建型设计模式,通过复制已有对象实例来创建新对象,而非通过传统的构造函数调用。其核心思想是克隆已有对象,避免重复的初始化操作,从而提高代码复用性和系统灵活性。原型模式包含三个关键角色:抽象原型、具体原型和客户端。在实现上,Java通过Cloneable接口和clone()方法实现,Python则通过copy模块的deepcopy()方法实现。原型模式适用于对象创建成本高、需要快速创建大量相似对象、动态生成对象类型以及缓存对象实例等场景。其优点包括提高对象创建效率、增强系统灵活性和便于扩展维护,
2025-05-21 09:24:30
914
原创 Redis MISCONF Redis is configured to save RDB snapshots, but it‘s currently unable to persist... 报错
该错误信息表明Redis配置了保存RDB快照,但当前无法将数据持久化到磁盘。这通常是由于磁盘空间不足导致的。Redis在配置了stop-writes-on-bgsave-error选项时,如果RDB快照保存失败,会禁止写入操作以防止数据丢失。解决此问题的方法包括:1. 检查磁盘空间,清理不必要的文件或日志以释放空间;2. 将Redis的数据目录挂载到有足够空间的磁盘上;3. 检查Redis日志以获取更多关于RDB错误的详细信息。通过这些步骤,可以恢复Redis的正常写入功能。
2025-05-19 08:55:36
151
原创 解锁责任链模式:Java代码中的优雅之道
责任链模式作为一种强大的行为型设计模式,为我们在软件开发中处理复杂业务逻辑和请求流程提供了一种优雅而灵活的解决方案。通过将请求的发送者和处理者解耦,以及将处理逻辑分散到多个处理者中,责任链模式不仅降低了代码的耦合度,提高了系统的可维护性和可扩展性,还使得代码的结构更加清晰,职责更加单一。在实际项目中,责任链模式有着广泛的应用场景,无论是常见的框架如 Servlet Filter、Spring Security,还是各种业务场景如订单处理、权限控制等,都能看到责任链模式的身影。
2025-05-16 10:40:23
838
原创 单例模式深度解析:从原理到高阶应用实践
单例模式是一种创建型设计模式,确保一个类仅有一个实例,并提供全局访问点。其核心要素包括私有静态实例变量、私有构造方法、公共静态访问方法,以及可选的线程安全措施和防反射/序列化攻击机制。单例模式适用于需要严格控制资源访问、频繁创建销毁成本高、需要全局状态协调的场景,如配置信息管理器、数据库连接池、日志记录器等。 经典实现方式包括饿汉式、懒汉式、双重检查锁、静态内部类和枚举实现。每种方式各有优缺点,如饿汉式线程安全但无法延迟加载,懒汉式可延迟加载但需同步锁,双重检查锁优化了同步锁粒度,静态内部类无同步开销,枚举
2025-05-16 09:50:03
1119
原创 SpringBoot核心优势与适用场景分析
SpringBoot的核心优势在于其零配置开发范式、智能自动装配、起步依赖生态体系、嵌入式容器革命以及生产就绪特性。通过预定义最佳实践,SpringBoot消除了80%的显式配置需求,简化了项目结构、配置文件和组件扫描路径。智能自动装配机制通过类路径扫描和条件评估,自动注册Bean定义,减少了手动配置的复杂性。起步依赖(Starter POM)生态体系聚合了常用依赖,简化了依赖管理。嵌入式容器(如Tomcat、Jetty、Undertow)提供了高性能的Web服务器,且配置灵活。生产就绪特性(如Actuat
2025-05-15 08:20:24
954
原创 从Spring到SpringBoot的演进之路
Spring框架自2002年提出轻量级容器概念以来,经历了多个版本的演进,逐步解决了Java企业级开发中的复杂性问题。然而,随着功能的扩展,配置复杂度也显著增加,导致开发效率下降。2014年,SpringBoot的诞生标志着Spring生态的重大突破,其核心设计哲学包括约定优于配置、自动装配、起步依赖和嵌入式容器等,极大地简化了开发流程。SpringBoot通过条件化装配、SpringFactoriesLoader机制等技术,实现了智能化的配置处理,显著提升了开发效率和项目启动速度。此外,SpringBoo
2025-05-15 08:06:28
657
原创 Java NIO 深度解析:突破传统IO的性能瓶颈
Java NIO(非阻塞I/O)模型通过引入Buffer、Channel和Selector等核心组件,解决了传统BIO模型在高并发场景下的性能瓶颈。NIO的演进从JDK1.4开始,逐步支持AIO、文件系统API和现代协议如HTTP/2。Buffer机制通过直接内存和堆内存的对比,优化了IO操作效率;Channel体系提供了文件操作和网络通信的高级特性,如零拷贝和文件锁;Selector则通过多路复用模型显著提升了并发处理能力。在实际应用中,Reactor模式和线程模型的选择对高性能服务器设计至关重要,而性能
2025-05-14 18:02:17
1086
原创 基于Java的蚁群算法深度解析与完整实现
本文深入剖析蚁群算法(ACO)的核心原理与实现细节,结合旅行商问题(TSP)场景,提供完整的Java代码实现及工程级优化方案。文章从蚂蚁觅食行为的信息素机制出发,详解路径选择概率模型、动态信息素更新策略及参数调优方法。通过面向对象设计构建蚁群算法核心类库,实现包括路径构建、轮盘赌选择、局部/全局信息素更新等关键算法模块,并给出参数动态调整、精英策略、并行化计算等进阶优化手段。实验部分通过5城市TSP案例验证算法有效性,最终输出最优路径与长度。针对工业级应用,提出混合策略(遗传算法交叉、2-opt局部搜索)、
2025-05-13 23:13:59
1026
原创 纯Java实现反向传播算法:零依赖神经网络实战
本文详细介绍了如何仅使用Java标准库实现反向传播(Backpropagation)算法,旨在帮助开发者深入理解BP算法的数学原理,掌握面向对象的神经网络实现,并构建可扩展的算法框架。文章首先简要回顾了反向传播算法的基本原理,包括前向传播和误差反向传播两个阶段,并给出了核心公式。接着,文章提供了完整的Java实现代码,包括网络初始化、激活函数、前向传播、反向传播和权重更新等关键步骤。此外,文章还对比了纯Java实现与使用ND4J库和Python+Numpy的优缺点,并给出了实际工程建议。最后,文章讨论了常见
2025-05-09 23:13:58
722
原创 从性能小白到调优大师:我是如何让服务器起死回生的
"那天盯着监控大屏上跳动的性能指标曲线,就像看着心电监护仪上垂危病人的生命体征——CPU使用率长期99%,内存泄漏像决堤的洪水,响应时间曲线比过山车还刺激。作为一个刚接手遗留系统的菜鸟,我终于理解了什么叫'代码跑起来比老奶奶过马路还慢'..."
2025-05-08 10:02:30
707
原创 WPS/Office(Word、Excel、PPT) 自动测评方法
在各高等、中等院校的计算机类课程中,计算机基本应用技能的上机操作考试,广受重视,大为盛行。其中,office(word、excel、ppt)上机考试最为普遍。于是,实现这类Office文档操作的自动阅卷评分,很有必要。本人最近项目上刚好遇到需要解决这种自动评分的问题,所以再次记录下解决的方法思路。
2024-05-30 17:42:14
2401
原创 关系型数据库的一种自动测评方式
关系型数据库在如今已经是一门比较常用以及重要的技术,现在的大部分应用程序系统都构建于关系型数据库系统之上,数据库技能也是每个IT从业人员的必备技能之一,因此一些高校、培训学校等机构都把数据库课程作为必修课程之一。这就牵涉到考核的问题了,对于学生是否掌握该门技术,常见的考核方式就是出题做试卷了。现在大部分学校基本都是上机考试,那对于数据库这种计算机类的考核,显然用纸质试卷来弄显然不太好的样子,最好还要支持上自动测评。
2024-05-09 15:17:37
730
1
原创 前端npm, yarn, pnpm下载速度太慢,设置国内镜像源的几种方式,让其速度飞起来
在前端开发的时候使用国外的镜像源速度很慢并且容易下载失败,有时候需要尝试多次才有可能下载成功,很麻烦,因此可以切换为国内镜像源,下面为常用的npm,yarn,pnpm切换国内镜像源(以淘宝为例)的方式。上面那种设置是全局的,以后每次都会自动读取已经设置好的源,如果只是一次性使用,可以使用下面的命令。### 三、Yarn 切换镜像源。### 三、pnpm 切换镜像源。### 二、NPM切换镜像源。1. 查看当前的镜像源。2. 设置为淘宝镜像源。2. 设置为淘宝镜像源。1. 查看当前镜像源。
2023-06-08 09:36:13
24310
1
原创 libGDX 3D 的基本使用
上面代码中,我们创建了一个 PerspectiveCamera 摄像机,其视野为67度(这是常用的),并将纵横比设置为当前的宽度和高度。在render方法中,我们清屏,调用 modelBatch.begin(cam),渲染我们的ModelInstance,然后调用modelBatch.end() 完成渲染。默认情况下,这是在(0,0,0),所以我们只需创建一个ModelInstance,它应该在(0,0,0)处呈现。首先,我们需要添加一个摄像机,摄像机可以从某个角度查看我们创建的3D场景。
2022-11-10 09:06:43
1256
1
原创 Maven 引入中央仓库中不存在/自定义/第三方的 jar 包、以及打包为生成可运行 jar 包
如果有些jar包在maven仓库中是不存在,我们有两种方式将其引入到我们的maven工程。我这里已smarthome-nbcodec-1.1.6-SNAPSHOT.jar 包为例。
2022-10-31 12:59:23
1767
原创 使用Maven 构建、开发和打包 JavaFX 项目
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理等。使用 Maven, 可以方便地构建打包JavaFX项目。本章前提条件是你系统已经安装并且配置好了 jdk8 和 Maven,并且已经熟悉了 Maven 的相关使用。
2022-10-27 20:00:12
5510
原创 使用Eclipse进行JavaFX项目的构建、开发和打包
打开 Eclipse,点击顶上菜单 Help -> Install New Software:在上图的新弹出界面中选择 “Add”:在新弹出的界面中输入:然后点击“OK”,如下图所示:把中间列表的选框都勾上,点击“Next”,显示安装的所有详细信息:继续Next, 然后同意协议,安装:Eclipse会在后台安装插件,安装完成之后,重新启动Eclipse:打开Eclipse的Help->Eclipse Marketplace的插件市场:在插件市场搜索e(fx)clipse,点击 Install。然后一路 Ne
2022-10-26 09:23:10
6794
6
原创 Encog3 in Java: 第十章 使用自组织映射
•自组织映射(SOM)是什么•用SOM映射颜色•训练SOM•SOM在森林覆盖率数据中的应用本章重点介绍用Encog实现自组织映射(SOM)。SOM是一种特殊的神经网络,它对数据进行分类。通常,SOM将映射更高分辨率的数据映射到单维或多维输出。这可以帮助神经网络看到输入数据之间的相似之处。芬兰学院的Teuvo Kohonen博士创建了SOM。正因为如此,...
2018-07-19 22:07:27
660
原创 Encog3 in Java: 第九章 使用图像数据
•图像处理•寻找边界•Downsampling•使用图像数据集使用神经网络识别图像是一个非常通用的任务,这章将探索Encog怎样使用图像,使用在前几章中同样的前馈神经网络,神经网络能够设计去识别某些图像,专用数据集简化了将图像数据输入神经网络的过程。这章将介绍ImageMLDataSet.这个类能够接受加载图像列表以及加工成一种Encog友好的形式...
2018-07-19 22:06:48
496
原创 Encog3 in Java :第八章 使用时序数据
预测神经网络是如何工作使用Encog时序数据集尝试预测太阳黑子使用Encog市场数据集尝试预测股票市场预测是神经网络的另一种常用功能。预测神经网络将尝试根据当前值和过去值预测未来的值。这种神经网络被称为时序神经网络,因为它们随着时间的推移而运作。本章将介绍时序神经网络和Encog为它们提供的支持类。在这一章中,你将看到Encog时序神经网络的应用。首先,我们将看看如何...
2018-07-19 22:06:13
692
原创 Encog3 in Java :第七章 其他神经网络类型
•理解Elman神经网络•理解Jordan神经网络•ART1神经网络•不断发展的NEAT到目前为止在这本书中我们主要看了前馈神经网络,神经网络中的所有连接并不是都需要前馈。还可以创建递归连接,本章将介绍允许创建一个递归连接的神经网络。虽然ART1不是一个递归神经网络,我们也将看看ART1神经网络,这种网络类型很有趣,因为它不像大多数其他神经网络一样,它没有一个明显的学习阶段,ART1神经网...
2018-05-20 12:44:34
740
原创 Encog3 in Java : 第六章 更多监督训练
第六章•介绍Lunar Lander示例•监督训练没有训练集•使用遗传算法•使用模拟退火算法•遗传算法和模拟退火算法的训练集到目前为止,本书仅仅探索了训练一个神经网络使用的是监督传播训练方法,这章将看看一些非传播训练技术,本章的神经网络将在没有训练集的情况下进行训练,但依然在经常被用来帮助训练神经网络的输出反馈的监督下。我们将不提前准备数据。这种训练有两种常见的技术,模拟退火和遗传算...
2018-04-30 21:35:57
359
原创 Encog3 in Java : 第五章 传播训练
•传播训练是如何工作的•传播训练的类型•训练和方法工厂•多线程训练训练是一种神经网络调节权重已得到令人满意输出的方式,这本书包括了监督和无监督两种方式,这章将讨论传播训练,一种监督训练的形式, 需要提供预期输出给训练算法。Encog也支持无监督训练,对于无监督训练,不需要向神经网络提供预期输出,当然,神经网络对于有限方向的数据进行学习和洞察。第十章将讨论无监督训练。传播训练对于前馈,简单递...
2018-04-11 21:44:46
984
5
原创 Encog3 in Java : 第四章 使用JAVA构建神经网络
第四章使用JAVA构建神经网络•构建一个神经网络•激活函数•Encog持久化•在代码里使用Encog Analyst这章将展示用Encog怎样构造前馈与简单递归神经网络,以及在最后部分怎样保存这些神经网络。创建神经网络类型使用BasicNetwork和BasicLayer这两个类,除了这两个类,还使用了激活函数,激活函数的作用也将讨论。考虑到神经网络需要花费大量时间去训练,因此保存你...
2018-04-09 21:00:46
4239
1
原创 Encog3 in Java : 第三章 Encog Workbench
•Encog Workbench的结构•一个简单的XOR示例•使用EncogAnalyst•Encog分析报告Encog Workbench是一个GUI应用程序,它能够学习大量不同的机器学习任务而不用编写java或者c#代码,EncogWorkbench本身是用java编写的,但生成的文件,可以使用于任何Encog框架。EncogWorkbench是分布式,作为一个单一的自...
2018-04-08 17:52:20
749
原创 Encog3 in Java : 第二章 为Encog获取数据
•为神经网络寻找数据•为什么规范化•指定规范源•指定规范目标神经网络可以为他们获取到的数据提供深刻的洞察力,然而,你不能将任意类型的数据直接输入到神经网络中,这种“原始”数据必须通常被转换为神经网络能够处理的形式,本章将展示如何规范化“原始”数据,为encog使用。在数据能够规范化之前,我们必须首先要有数据,一旦你确定神经网络应该做什么,你必须找一些数据教神经网络怎样执行...
2018-04-01 08:26:25
1341
原创 Encog3 in Java : 第一章 回归,分类 & 聚类
•分类数据•数据回归分析•聚类数据•如何构建机器学习问题虽然还有其他模型,但是回归,分类和聚类在机器学习问题上是三种最主要的数据评估方式,这三种模式是最常见的,也是这本书的重点,下一节将为你介绍分类,回归和聚类。 1.1数据分类分类尝试确定输入数据所属哪个类别,分类通常是一个监督训练操作,这意味着是用户向神经网络提供数据和期望的结果,对于数据分类,期...
2018-03-31 08:07:28
739
原创 Encog3 in Java :介绍
小弟我英语水平很差,四级没过而最近要补考四级,但单纯记单词又记不住还困,然而最近又想学习人工智能,所以就找了个人工智能的外文资料自己试试翻译,有诸多错误的地方,请大神们多多指教哈Encog是一个JAVA和.Net的机器学习框架,最初,Encog创建时仅仅支持神经网络,后来的版本扩展了更多通用的机器学习,然而,这本书将重点在主要的神经网络方面,在这本书中学到的大多数技术能够应用到其他的机器学习技术领...
2018-03-30 13:29:47
849
原创 简单解决ScrollView和ListView冲突不兼容问题
在我们使用ScrollView中嵌套ListView的时候ListView只显示一行,其实这个可以直接动态设置ListView的高度即可,ListView的高度也很好计算,每项显示的高度乘以总显示的项即可,比如 每项高度为38dip 则 float height = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 38, getRe
2017-06-30 11:02:14
478
原创 蛇形填数
描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n输出输出结果是蛇形方陈。以下是代码#include using namespace std;double PI=3.1415926;in
2015-03-12 18:42:47
548
原创 街区最短路径问题
街区最短路径问题描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那个地方使得所有住
2015-01-11 17:56:50
738
1
原创 Android平台中常用的可视化控件
一. TextView二. ImageView 1、结构 java.lang.Object android.view.View android.widget.ImageView 已知直接子类: ImageButton, QuickContactBadge 已知间接子
2014-12-30 16:46:09
1794
转载 QT 超详细简介
一.QT相关术语 Trolltech专业制造软件开发工具和应用程序 1.什么是QT? Qt是一个完整的C++应用程序开发框架。它包含一个类库,和用于/ 跨平台开发及国际化的工具。Qt API在所有支持的平台上都是相同 的,Qt工具在这些平台上的使用方式也一致, 因而Qt应用的开发和 部署与平台无关。 2.什么是Q
2014-12-27 21:33:41
1054
原创 大数阶乘
大数阶乘时间限制:3000 ms | 内存限制:65535 KB难度:3描述我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?输入输入一个整数m(0输出输出m的阶乘,并在输出结束之后输入一个换行符样例输入50样例输出304140932017133780436126081660647688443
2014-12-14 10:44:05
640
原创 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
ASCII码排序时间限制:3000 ms | 内存限制:65535 KB难度:2描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例
2014-12-09 19:03:06
8851
转载 Android获取手机屏幕大小
获取手机屏幕大小SurfaceView简单例子玩转Android---UI篇---ZoomControls放大缩小图片更多相关推荐 这里总结下android中关于手机屏幕的相关操作:1、获取屏幕的分辨率(因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)Java代码 // 通过WindowManager获取
2014-11-30 17:31:24
592
ehcache3集群、ehcache-clustered、terracotta资源包
2022-10-26
ECMA-376规范(包括4个部分)打包资源
2022-10-26
LayUI 一款 Web UI 前端开发框架
2022-10-26
frp高性能反向代理window版本
2022-10-26
MYSQL SQL列数据转换为行数据
2024-11-06
photoshop插件开发 - UXP问题
2024-03-06
使用java怎么读取到Access数据库中的窗体信息,VBA信息(相关搜索:二进制)
2023-10-16
有什么好的办法对window系统用户的所有操作行为进行记录呢
2023-07-21
myeclipse报错: ClassNotFoundException:
2016-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人