- 博客(31)
- 收藏
- 关注
原创 【JavaSE系列】网络编程
在当今这个高度互联的世界中,网络编程已成为软件开发不可或缺的一部分。无论是构建Web服务、移动应用还是物联网解决方案,都需要通过网络进行数据交换和资源共享。本篇博客旨在为读者提供一个关于网络编程基础的介绍,特别是针对使用Java语言进行网络编程的情况。我们将从网络编程的核心概念入手,探讨IP地址、端口号以及通信协议的重要性。随后,将介绍如何利用Java的标准库来实现基于TCP和UDP协议的客户端-服务器应用程序。网络编程是指利用计算机网络实现程序之间通信的一种编程方式。
2024-10-02 09:52:41 756
原创 828华为云征文|WordPress部署
WordPress 是一个非常流行的开源内容管理系统(Content Management System, CMS),它允许用户建立和管理网站,包括博客、企业网站、电子商务平台等。WordPress 最初在2003年由马特·穆伦维格(Matt Mullenweg)和迈克·利特卡(Mike Little)创建,目的是为用户提供一个易于使用的博客发布平台。随着时间的发展,WordPress 已经从一个简单的博客工具发展成为一个强大的网站构建平台。易用性。
2024-09-28 19:44:10 1088
原创 【JavaSE系列】IO流
在Java编程中,输入输出(I/O)操作是处理数据流的核心部分。无论是从文件读取数据、将数据写入到磁盘,还是通过网络进行通信,都需要使用I/O流来实现。Java提供了丰富的I/O流类库,它们不仅能够高效地处理各种类型的数据,还提供了灵活的方式来装饰和扩展这些基本功能。本篇博客旨在介绍Java I/O流的基础知识,包括其分类、体系结构以及如何使用不同类型的流来完成日常开发中的常见任务。IO流指的是程序中数据的流动。数据可以从内存流动到硬盘,也可以从硬盘流动到内存。
2024-09-28 18:59:20 1073
原创 【设计模式】UML类图
统一建模语言(UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。学习UML类图有助于理解设计模式中画出来的各种类图。一、类图概述类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。
2024-09-21 11:25:54 1274
原创 【设计模式】软件设计原则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。
2024-09-20 17:53:46 634
原创 【JavaSE系列】注解
随着Java语言的发展,注解(Annotations)逐渐成为了Java编程不可或缺的一部分。自从JDK 1.5引入注解以来,这一功能极大地丰富了Java的元数据表达能力,使得在不改变原有代码逻辑的前提下,可以在代码中嵌入补充信息。注解不仅能够为代码添加元数据,还可以在框架实现中发挥重要作用。本文旨在详细介绍Java注解的相关概念,包括Java预置注解、自定义注解、元注解以及如何通过反射获取注解信息等内容,帮助大家更好地理解和应用注解。什么是注解?注解是JDK1.5才引入的。
2024-09-14 12:17:17 747
原创 【JavaSE系列】反射机制
在当今的软件开发领域,灵活性和可扩展性成为了软件设计的重要考量因素。Java反射机制作为实现这一目标的强大工具之一,为开发人员提供了在运行时动态获取类的信息或动态调用对象的方法的能力。通过使用反射,开发人员可以在不知道具体实现细节的情况下,操作类、构造函数、方法及字段等。Java反射机制是指在运行时动态获取类的信息或动态调用对象的方法、修改属性等操作。主要核心就是Class类、Constructor类、Field类、Method类等API。
2024-09-14 09:18:59 1128
原创 【JavaSE系列】Java概述
Java是一种面向对象的编程语言(Java底层是C++语言实现的),由Sun Microsystems公司于1995年推出。它是一种通用的、高级的、并发性强的、安全的、可移植的、解释性的、编译性的、动态的、跨平台的编程语言。Sun Microsystems公司于2010年1月被甲骨文(Oracle)公司以74亿美元的价格收购。甲骨文公司成为了Java语言的主要维护者和开发者之一。甲骨文公司官网地址:http://www.oracle.com。
2024-08-31 08:51:14 745
原创 【Java日志系列】JUL日志框架
Java Util Logging (JUL) 是Java平台自带的一个日志框架,无需额外依赖第三方库即可使用。由于其集成度高、配置简单的特点,JUL在一些小型项目或初学者入门阶段非常受欢迎。本文将详细介绍JUL的基本概念、常用组件以及如何通过示例代码来理解和使用这些组件。此外,我们还会探讨如何通过配置文件来自定义日志行为,这对于实现更加灵活的日志管理至关重要。
2024-08-23 10:57:47 632
原创 【Java日志系列】Log4j2日志框架
在当今的软件开发领域中,日志记录是调试、监控和审计应用程序不可或缺的一部分。高效的日志记录不仅能帮助开发者理解程序的运行流程,还能在运行时出现问题时提供重要的线索。Apache Log4j 2 是一款广受欢迎的日志框架,它在 Log4j 1.x 的基础上进行了重大改进,并且相较于其他流行的框架如 Logback 也提供了更多的优化。本文旨在介绍 Log4j 2 的主要特点和如何使用它来增强应用程序的日志能力。
2024-08-23 10:28:44 1044 1
原创 【Java日志系列】Logback日志框架
日志是软件开发中不可或缺的一部分,它不仅能够帮助开发者了解应用程序运行的状态,还能在出现问题时提供诊断信息。Logback 是一个高效、灵活的日志框架,它由 Log4j 的创始人 Ceki Gülcü 开发,并且是 SLF4J (Simple Logging Facade for Java) 的默认实现。Logback 分为三个模块:core、classic 和 access,其中 classic 模块提供了丰富的日志功能。
2024-08-22 10:43:25 987
原创 【Java日志系列】JCL、SLF4J日志门面
在软件开发过程中,日志记录是一项至关重要的任务,它不仅有助于开发人员调试和追踪问题,还能帮助运维团队监控系统健康状况。然而,不同的日志框架有着不同的API,这导致应用程序在切换日志框架时需要修改大量代码,增加了维护成本。为了解决这一问题,门面模式被引入到日志管理中,通过创建一个统一的接口来降低应用程序与底层日志框架之间的耦合度。
2024-08-22 08:41:08 704
原创 【Java日志系列】Log4j日志框架
日志是软件开发中不可或缺的一部分,它能够帮助开发者追踪程序的运行状态,诊断问题,以及监控系统性能。Apache Log4j作为一款成熟的日志框架,因其高度的灵活性和可配置性,在Java开发领域得到了广泛的应用。本文将介绍Log4j的基本概念、组成部分、如何配置及使用。Log4j是Apache的一个开源项目,通过使用Log4j,我们开源控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;
2024-08-15 08:35:19 1409
原创 【JVM篇】自动内存管理——HotSpot虚拟机对象探秘
介绍完Java虚拟机的运行时数据区域之后,我们大致明白了Java虚拟机内存模型的概况,但可能会好奇其中的一些细节性的问题,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必须把讨论范围限定在具体的虚拟机和集中在某一个内存区域上才有意义。基于实用优先的原则,我们将以最常用的虚拟机HotSpot和最常用的内存区域Java堆为例,一起探讨一下HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。
2024-08-10 10:01:11 926
原创 【Java日志系列】日志概述
在软件开发中,日志记录是一项至关重要的任务。无论是简单的命令行应用还是复杂的分布式系统,都需要借助日志来监控程序的行为、诊断问题、审计安全事件以及追踪性能瓶颈。随着软件系统的复杂度不断提高,日志记录的重要性也随之增加。本文将介绍日志的基本概念、日志文件的不同类型以及常用的日志框架,并探讨日志门面技术如何帮助我们简化日志记录的过程。在实际的学习和生产环境中,日志的重要性不言而喻。对于 Web 应用以及更高级别的系统而言,日志往往是我们了解应用执行情况的重要途径。
2024-08-09 21:15:08 737 1
原创 【JVM篇】自动内存管理——运行时数据区
对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为Java程序员把控制内存的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误、修正问题将会成为一项异常艰难的工作。因此,我们有必要了解JVM的运行时数据区。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。
2024-08-09 15:19:11 861
原创 Hutool图形验证码的使用——Spring和Vue前后端交互实现验证码登录
图形验证码在阻止恶意程序进行大量非法操作有着较为广泛的应用,同时,作为一种全自动的图灵测试,图形验证码确保只有人类才能完成指定任务,从而区分合法用户和机器模拟的请求。那么,如何在自己的项目中实现一个图形验证码呢?如何利用前后端的交互实现一个需要图形验证码的场景呢?下面,我将利用Hutool工具来实现登录过程中的图形验证码场景。Hutool官方文档。
2024-02-22 15:35:08 3487 2
原创 数据库系统课设——教务管理系统
这两个星期学校进行数据库的课程设计,我利用所学知识做出来了一个较为简单的教务管理系统,具体功能包括登录、人员管理、教师课程申请、管理员审批课程、管理员安排课程、学生选课、教师给学生评分等等。分享一下我的课程设计,记录一下自己的成长过程。《教务管理系统》项目演示前端采用Vue2,后端采用Spring,数据库使用MySQL。系统主要有以下几大模块:用户登录、人员管理、课程申请、课程审批、课程安排、课程选课、成绩评定。
2023-11-23 15:55:18 27187 29
原创 Linux宝塔面板部署Vue和Spring项目
当一个前后端分离的项目写好之后,我们应该如何将其部署到服务器中呢?下面我们将在一个服务器中部署前端的vue项目,和后端的springboot项目,看看一个完整的前后端项目究竟是如何部署起来的吧!(声明:其中的前端vue代码来自B站黑马程序员的资料,后端的springboot代码是本人所写~) 在正式部署之前,我们应该将前提条件准备好, 必要的有FTP、MySQL、PHP、phpMyAdmin、java项目一键部署,其中,PHP用来启动前端项目,phpMyAdmin用来开启一个新的网页管理MySQL数据库。
2023-10-26 21:57:58 2314 2
原创 华为云耀云服务器L实例基本使用——实例创建与连接
什么是应用镜像呢?应用镜像是一个软件包或一个文件,其中包含了运行一个或多个应用程序所需的所有组件,包括代码、操作系统(OS)、运行时、库和依赖项等。这意味着镜像是一个操作系统环境和应用程序的一个打包。当您在不同的服务器上部署这个镜像时,它将创建完全相同的环境,使得应用程序在不同的服务器上得到相同的执行结果。应用镜像还可以包括一些其他元素,例如配置、环境变量、初始化脚本等等。配置和环境变量能够控制应用程序的行为,初始化脚本可以预先执行一些应用程序依赖关系的安装和配置,并确保应用程序可以正确运行。
2023-09-26 18:10:58 1900 4
原创 暑假实习生活总结 —— 用友ERP系统二次开发
第一次接触一个全新的领域,没有人是天才,需要不断的总结反思才能做的更好。公司每两周就会召开一次会议,进行项目的总结与进度的推进。在会议中,我会展示我的代码,并听取前辈的建议,将相关的知识点记录下来,进行整理,从而改进我的编码与思路,争取下一次做的更好。事实上,无论是工作、学习还是生活,我们都应该积极复盘,认识到自己的不足,才能有效改进当前的问题,努力进步。路漫漫其修远兮,吾将上下而求索。暑假的生活已经过去,新的学期又到来了,时间不等人,同时它也十分宝贵。
2023-09-07 20:43:37 2042 5
原创 浦丰投针问题(求圆周率的近似值)—— C++模拟
最近我在哔哩哔哩上听宋浩老师讲解概率论与数理统计的知识, 被宋老师讲的浦丰投针问题所吸引了,不由得感叹数学的魅力与神奇!那么,究竟什么是浦丰投针问题呢?这个圆周率的近似值又是怎么求出来的呢?
2023-06-23 17:05:24 1877 2
原创 用C++实现一个烧脑的推箱子游戏
在正式写代码之前,我们先要考虑一下哪些数据是在整个代码体系中都有可能会用的上的。在这里,我想到的是窗口的宽度和高度、每一个格子的宽度以及箱子的最大数目。//定义窗口宽度和高度//定义每个格子的宽度//箱子最大数目文章篇幅较长,如果您能耐心地看到这里,那么给自己点一个大大的赞吧!让我们一起探索代码所带来的乐趣,共同进步吧!如果您觉得本篇文章不错,也请点个免费的赞支持一下博主吖~~
2023-06-15 09:31:25 1703 7
原创 用C++实现炫酷的黑客代码雨
作为一名技术求知者,大家是不是觉得黑客电脑屏幕上的代码雨十分的帅气呢?下面,我将用C++来实现它,一起来感受这份代码所带来的酷炫与美感。首先,我们可以把整个代码雨看成是一个个雨滴所组成的一维数组,对于雨滴,我们又可以把它看作是由一连串数字组成的一维数组。在雨滴里面,我们只需要定义下落的第一个数字的坐标,接下来其他数字的坐标就可以通过数学运算得出来。考虑到每一个雨滴的下落速度不一样,所以我们还需要在结构体里面加上速度。#define SIZE 25 //每个雨滴数字的数量。
2023-06-07 17:55:14 4159 1
原创 我用《全民K歌》黑科技创造了一个自己的AI歌手!
在数字化时代的今天,人工智能(Artificial Intelligence,简称AI)正在以惊人的速度渗透到各个领域,音乐产业也不例外。AI歌手作为人工智能技术的一种应用,引起了广泛的关注和讨论。它们不仅能够产生动听的音乐,还能够模仿人类歌手的声音和风格,甚至参与现场演出。基于技术的飞速迭代,我有幸利用《全民K歌》提供的黑科技创造了一个自己的AI歌手。AI歌手作为人工智能技术的一项重要应用,正在改变音乐产业的面貌。它们不仅为音乐创作带来了新的可能性,还为音乐教育和娱乐提供了全新的体验。
2023-06-06 21:51:11 2251
原创 用C++实现经典的贪吃蛇游戏
六一儿童节到了,无论是大朋友还是小朋友,相信大家心里都藏有一颗向往浪漫的童真的心。贪吃蛇是一款经典的单机小游戏,大家在小时候应该都接触过。今天,我将用C++来复刻这款游戏,并祝福所有大朋友小朋友六一儿童节快乐,永远童心未泯。我们需要定义游戏整个场景的大小,蛇的朝向所代表的数值,蛇的速度,蛇的每一个结点大小,食物的大小。//定义场景大小//定义食物以及蛇的大小//定义蛇的朝向//蛇的速度(用在睡眠函数里面)如果您觉得本篇文章不错的话,不如将它分享出去吧!让更多的人感受这份童真快乐。
2023-06-01 11:13:17 8183 23
原创 【C++相对于C的扩展】4.引用
在C语言中,函数传递参数有值传递和地址传递两种类型。其中,地址传递采用的是指针。一般来说,指针带有*号,当代码逻辑较为复杂时,这种写法可读性比较差,而且不容易区分并理解。因此,C++多了一种策略——引用。
2023-05-30 19:57:04 118 2
原创 【C++相对于C的扩展】3.C++相对于C的一些增强
C++在一些方面相对于C有了一定的增强,就像是有个叫张三的朋友,经过锻炼,肌肉增加了一样。那么,C++究竟在哪些方面对C进行了增强呢?下面我们将从下面六个方面来进行探讨一下。全局变量的检测增强C++中所用变量和函数都必须有类型更严格的类型转换C++对struct的增强新增bool类型关键字三目运算符的增强本篇文章介绍了C++相对于C语言的6方面的增强,内容有点多,需要一定的耐心来理解。如果您能认真看到这里,不妨给自己一个大大的赞吧。
2023-05-25 17:55:52 188 1
原创 一款既有颜值又有实力的Edge浏览器插件——WeTab
我们知道,许多浏览器都可以安装扩展插件,有些插件的功能是非常不错的。下面我想推荐一款Edge浏览器的插件,WeTab。WeTab界面:WeTab整体的界面布局美观,摈弃了各种垃圾资讯和垃圾广告。该插件介绍就到这里啦,如果大家感兴趣的话,快去下载试试吧!
2023-05-18 17:18:06 4394 3
原创 【C++相对于C的扩展】2.C/C++中const的异同
C++在const的使用上相较于C更为严谨了,下面我们将分别介绍const在C语言中和C++中的使用情况,再进行总结比较。C/C++中const的主要异同点如下:同:C和C++中const修饰的全局变量保存在常量区,不能被修改。不同:(1)C中const修饰的局部变量赋值为常量时,局部变量保存在栈区,可以被指针修改;C++中const修饰的局部变量赋值为常量时,局部变量保存在符号表,不能被修改。(2)C中const修饰的全局变量默认为外部链接属性;C++中const修饰的全局变量默认为内部链接属性。
2023-05-10 20:16:38 175
原创 【C++相对于C的扩展】1.命名空间
为什么c++要在c的基础上衍生出命名空间呢?命名空间究竟该怎么使用呢?让我们一起来探讨一下。本文介绍了C++中命名空间存在的原因以及其基本的用法,如果您还觉得不错的话,可以点个免费的小赞支持一下,让我们共同进步吧!
2023-05-03 16:41:18 201 1
教务管理系统-前后端分离
2023-11-23
C++实现一个烧脑的推箱子游戏
2023-06-15
C++实现黑客代码雨效果
2023-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人