- 入门SpringBoot-mybatis
``Lotus。
SpringBootMyBatismybatisspringbootjava
通上次学的SpringBoot来整合一、使用注解版的Mybatis整合SpringBoot1、实体类(entity)packagecom.cxy.entity;importlombok.Data;@DatapublicclassUser{privateLongid;privateStringname;privateIntegerage;privateStringemail;}2、mapperpac
- Python Cookbook-2.19 根据指定的搜索路径和模式寻找文件
我不会编程555
#Python学习python前端linux
任务给定一个搜索路径(一个描述目录信息的字符串),需要在此目录中找出所有符合匹配模式的文件。解决方案基本上,需要循环路径中的所有目录。这个循环最好被封装成一个生成器:importglob,osdefall_files(pattern,search_path,pathsep=os.pathsep):'''给定搜索路径,找出所有满足匹配条件的文件'''forpathinsearch_path.spli
- 【第八节】C++设计模式(结构型模式)-Decorator(装饰器)模式
攻城狮7号
c++版本设计模式c++设计模式装饰器模式
目录一、问题引出二、模式选择三、代码实现四、总结讨论一、问题引出装饰器模式:动态扩展对象功能的设计模式在面向对象(OO)设计与开发中,我们常面临为已有类添加新职责的需求。传统方法是通过继承创建子类来实现功能扩展,但这种方式容易导致继承层次过深,显著增加系统复杂度。装饰器模式(DecoratorPattern)应运而生,其通过组合替代继承的机制,为功能扩展提供了更灵活的解决方案,从而避免了继承层次过
- 三分钟掌握 TCP/IP:揭示互联网飞速互联的奥秘!
跑起来总会有风
tcp/ip网络
TCP/IP模型详解本文基于经典的TCP/IP模型原理,结合常见实践进行深入解读,适用于对计算机网络或互联网协议栈感兴趣的读者。希望能帮助大家更好地理解现代网络通信的核心框架。一、什么是TCP/IP?TCP/IP是互联网的基础协议栈,英文全称为TransmissionControlProtocol/InternetProtocol。它由美国国防部(DoD)在20世纪60年代发展起来,并在ARPAN
- c++STL常用容器之Map/Multimap容器——全面总结(附案例解析)(十九)map按value值进行比较以及仿函数更改默认排序规则
磊磊cpp
C/C++STL详细教学
这里有C++STL——全面总结详细教程(附案例解析)(持续更新中)目录map/multimap容器map基本概念map构造和赋值map大小和交换map插入和删除map查找和统计map容器排序仿函数更改默认排序规则和Value值排序map/multimap容器map基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会
- Python Cookbook-2.18 从指定的搜索路径寻找文件
我不会编程555
#Python学习python开发语言
任务给定一个搜索路径(一个描述目录信息的字符串),需要根据这个路径和请求的文件名找到第一个符合要求的文件。解决方案需要循环指定的搜索路径中的目录:importosdefsearch_file(filename,searchpath,pathsep=os.pathsep):"""给定一个搜索路径,根据请求的名字找到文件"""forpathinsearch_path.split(pathsep):ca
- java23种设计模式-解释器模式
千里码!
设计模式后端技术#Java设计模式解释器模式java
解释器模式(InterpreterPattern)学习笔记编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.模式定义行为型设计模式,给定
- COMP8410 Data Mining S1 2025
后端
COMP8410DataMiningS12025PostgraduateAssignment1Maximummarks100Weight20%ofthetotalmarksforthecourseMintopasshurdle30%LengthMaximumof8pagesexcludingcoverpage,bibliographyandappendices.LayoutA4.Atleast11
- 设计模式-行为型模式
Normal Developer
设计模式
行为型设计模式主要关注对象之间的职责分配,即它们如何交互以及如何分配职责。这类模式不仅描述了如何在对象之间划分责任,还涉及算法的封装和实现。以下是几种常见的行为型设计模式及其简要说明:1.观察者模式(ObserverPattern)目的:定义一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。应用场景:事件处理系统、订阅发布机制。示例:importjav
- JSP介绍(二)
frandiy
java开发语言
JSP介绍什么是JSPjsp(JavaServerPage)是JavaEE规范中的Web组件,用来编写动态页面。JSP文件以.jsp为后缀,通常存放在Eclipse的工程目录中的WebContent目录下,与静态资源使用方式非常相似。内容构成:JSP文件中的内容是HTML和Java代码的结合,静态部分使用HTML和文本,动态部分使用Java代码。Web容器处理JSP文件请求的三个阶段翻译阶段:We
- AI+RPA:开启智能自动化新时代
coding侠客
AI+RPA系列人工智能rpa自动化python
不知大家在日常的购物中,有没有想过,京东,淘宝等平台面对如此庞大的用户量,618,双十一等活动期间的各种报表是如何快速生成的呢?当我们刷短视频时,可曾疑惑过,为何相似主题的短视频,有的点赞,评论等互动量很高,有些却很少?直播带货公司为何能迅速崛起?还有,在面对大批量数据校验时,如何高效完成任务?答案或许就藏在RPA之中。本文将探讨在AI时代,RPA与AI的紧密结合,将会给我们带来哪些机会。一、RP
- Scala的Array
心仪悦悦
scala开发语言后端
类型:①可修改的:ArrayBufferpackagetest_29importscala.collection.mutable.ArrayBufferobjectTest{defmain(args:Array[String]):Unit={//1.新建valarr1=ArrayBuffer(1,2,3)//2.添加arr1+=4arr1.insert(0,100)//3.删除arr1-=3//删
- vite+vue+ts+element-plus从零开发管理后台框架(05)-菜单和路由
vue3
视图新建src/views/Home.vue,内容如下。首页新建src/views/sys/AdmUserPassword.vue,内容如下。密码更新新建src/views/sys/AdmUser.vue,内容如下。管理员新建src/views/log/AdmUserLogin.vue,内容如下。管理员登录日志路由配置编辑src/router/index.ts,修改Main路由如下。{path:'
- COMP3425 Data Mining S1 2025
后端
COMP3425DataMiningS12025UndergraduateAssignment1Maximummarks100Weight20%ofthetotalmarksforthecourseMintopasshurdle30%LengthMaximumof8pagesexcludingcoverpage,bibliographyandappendices.LayoutA4.Atleast1
- 学影刀有什么好处?为什么学习影刀?
sc0_joker
学习rpa
引言:影刀RPA,学了有用吗?公司在推广用这个软件,在让大家学,学得好可以转岗RPA专员,请问一下大家值不值得花时间学?我个人觉得如果有时间的话还是学,后期对你的帮助是巨大的我作为一名数字营销专业人士,每周需要处理大量的数据。去年,我开始寻找能够自动化Windows软件操作的工具,以提高工作效率。在尝试了多种RPA工具后,我最终选择了影刀RPA,并开始了我的自动化之旅。在寻找自动化工具的过程中,我
- java23种设计模式-装饰器模式
千里码!
设计模式后端技术#Java设计模式装饰器模式
装饰者模式(DecoratorPattern)学习笔记1.模式定义结构型设计模式,动态地为对象添加额外的职责。通过组合而非继承的方式扩展功能,提供比继承更灵活的替代方案。2.适用场景✅需要动态/透明地给对象添加功能✅需要撤销附加功能时✅无法通过继承扩展功能(final类)✅需要组合多个可选功能✅避免"子类爆炸"问题3.模式结构«interface»Component+operation()Conc
- java23种设计模式-观察者模式
千里码!
设计模式后端技术#Java设计模式观察者模式
观察者模式(ObserverPattern)学习笔记编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.模式定义行为型设计模式,定义对象间
- Java设计模式:中介者模式详解与最佳实践
范范0825
java设计模式中介者模式
Java设计模式:中介者模式详解与最佳实践1.引言在软件开发过程中,特别是复杂系统的构建中,模块间的交互往往成为影响代码质量的重要因素。当模块之间耦合度过高时,系统的维护、扩展和理解成本都会显著增加。为了降低模块之间的耦合度,保持系统的灵活性和可维护性,我们可以使用设计模式中的中介者模式(MediatorPattern)。本篇文章将详细介绍中介者模式的概念、优点及其在Java中的应用,并通过实例代
- Java集合设计模式面试题
夜游猿
Java开发工程师面试java设计模式开发语言
Java集合设计模式面试题迭代器模式Q1:Java集合框架中的迭代器模式是如何实现的?迭代器模式提供了一种统一的方式来访问集合中的元素,而不需要暴露集合的内部结构。publicclassIteratorPatternExample{//1.基本迭代器使用publicvoidbasicIteratorUsage(){Listlist=newArrayListiterator=list.iterato
- java23种设计模式-中介者模式
千里码!
设计模式后端技术#Java设计模式中介者模式
中介者模式(MediatorPattern)学习笔记编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.模式定义行为型设计模式,通过定义一
- python将字符串s和换行符写入文件fp_【python】文件操作
徐士萍
本文内容包括:文件的读写操作文件的各种系统操作存储对象遍历文件上代码:importosimportos.pathrootdir="d:/code/su/data"#指明被遍历的文件夹forparent,dirnames,filenamesinos.walk(rootdir):#三个参数:分别返回1.父目录2.所有文件夹名字(不含路径)3.所有文件名字fordirnameindirnames:#输出
- JSP基础实践项目:创建交互式网站案例
DIY飞跃计划
本文还有配套的精品资源,点击获取简介:JSP(JavaServerPages)是一种动态网页技术,通过将HTML与Java代码结合,简化了JavaWeb应用的开发。本案例面向初学者,包含多个JSP页面,演示了数据展示、用户输入处理等功能。页面由静态和动态内容组成,展示了JSP生命周期的三个阶段、内置对象、动作标签等核心概念。还包括JavaBean的使用和MVC设计模式的基础。案例包含JSP文件、J
- COMPX322-25A Asynchronous Event Viewer
后端
COMPX322-25AAssignmentOneDueDate:MondayMarch24th,10amAsynchronousEventViewerPARTONEForthiscourseworkyouaretoimplementawebapplicationthatdisplaysinformationaboutlocalevents.Yourimplementationwillrequir
- COMPX322-25A Asynchronous Event Viewer
后端
COMPX322-25AAssignmentOneDueDate:MondayMarch24th,10amAsynchronousEventViewerPARTONEForthiscourseworkyouaretoimplementawebapplicationthatdisplaysinformationaboutlocalevents.Yourimplementationwillrequir
- Google搜索免费API访问
X.Cristiano
ai搜索引擎
背景最近做Agent相关的内容,想利用LLM结合搜索的能力,然后根据自定义functioncall输出答案。所以这里就需要用到搜索引擎的结果,这边测试过Google和Bing的搜索结果,对于此次的任务来说,Google的搜索结果是更好的。前面的文章也分析到用SerpApi去调用google的api接口(搜索的收费比gpt4都贵)。基于此,整合github上的信息,自己来做一个简单的google搜索
- 力扣回溯:组合总和3
c栈算法小辰哥
漫话算法leetcode算法职场和发展
1.216.组合总和III-力扣(LeetCode)这道题注意回溯的步骤:递归出口,单次操作,恢复现场classSolution{public:vector>ret;vectorpath;voidset(intk,intn,intsum,intstart){if(path.size()==k){if(sum==n){ret.push_back(path);}return;}for(inti=sta
- 基于“桌面云+RPA”技术金融应用实施建议
风来泊
银行信息系统架构详解rpa金融
近年来,国家政策对金融科技的发展给予了高度重视。“十四五”规划和2035年远景目标纲要明确提出,要加快数字化发展,建设数字中国,并特别强调要加强金融科技应用,推动金融机构数字化转型。在这场数字化转型的浪潮中,企业正面临着前所未有的挑战与机遇,如何高效地优化业务流程、降低运营成本、提升工作效率,成为提升企业生产力的重要课题。基于此背景下,RPA(RoboticProcessAutomation,机器
- 探索企业级智能对话:ChatGPT + 企业数据 (C) 开源项目推荐
芮川琨Jack
探索企业级智能对话:ChatGPT+企业数据(C#)开源项目推荐azure-search-openai-demo-csharpAsampleappfortheRetrieval-AugmentedGenerationpatternrunninginAzure,usingAzureCognitiveSearchforretrievalandAzureOpenAIlargelanguagemodels
- QT开发技术 【opencv图片裁剪,平均哈希相似度判断,以及获取游戏窗口图片】
增援未来章北海
QT开发技术qtopencv哈希算法
一、图片裁剪intCJSAutoWidget::GetHouseNo(cv::MatmatMap){cv::imwrite(m_strPath+"/Data/map.png",matMap);for(inti=0;i(i);uchar*data2=matDst2.ptr(i);intnTmp=i*8;for(intj=0;j=nAvg1)?1:0;nArr2[i]=(nArr2[i]>=nAvg2
- 力扣hot100——分割回文子串 + 回溯算法总结(算法代码模板)
01_
力扣hot100算法leetcode回溯算法
给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。解法思路:切割一个a之后,在ab中再去切割第二段.....classSolution{public:vector>res;//最终结果vectorpath;//当前结果vector>partition(strings){backtracking(s,0);returnres;}voidbacktracking
- 多线程编程之理财
周凡杨
java多线程生产者消费者理财
现实生活中,我们一边工作,一边消费,正常情况下会把多余的钱存起来,比如存到余额宝,还可以多挣点钱,现在就有这个情况:我每月可以发工资20000万元 (暂定每月的1号),每月消费5000(租房+生活费)元(暂定每月的1号),其中租金是大头占90%,交房租的方式可以选择(一月一交,两月一交、三月一交),理财:1万元存余额宝一天可以赚1元钱,
- [Zookeeper学习笔记之三]Zookeeper会话超时机制
bit1129
zookeeper
首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容
Created /zoo-739160015
CONNECTEDCONNECTED
.............CONNECTEDCONNECTED
CONNECTEDCLOSEDCLOSED
- SecureCRT快捷键
daizj
secureCRT快捷键
ctrl + a : 移动光标到行首ctrl + e :移动光标到行尾crtl + b: 光标前移1个字符crtl + f: 光标后移1个字符crtl + h : 删除光标之前的一个字符ctrl + d :删除光标之后的一个字符crtl + k :删除光标到行尾所有字符crtl + u : 删除光标至行首所有字符crtl + w: 删除光标至行首
- Java 子类与父类这间的转换
周凡杨
java 父类与子类的转换
最近同事调的一个服务报错,查看后是日期之间转换出的问题。代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象。报java.lang.ClassCastException。
代码:
- 可视化swing界面编辑
朱辉辉33
eclipseswing
今天发现了一个WindowBuilder插件,功能好强大,啊哈哈,从此告别手动编辑swing界面代码,直接像VB那样编辑界面,代码会自动生成。
首先在Eclipse中点击help,选择Install New Software,然后在Work with中输入WindowBui
- web报表工具FineReport常用函数的用法总结(文本函数)
老A不折腾
finereportweb报表工具报表软件java报表
文本函数
CHAR
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。
Number:用于指定字符的数字,介于1Number:用于指定字符的数字,介于165535之间(包括1和65535)。
示例:
CHAR(88)等于“X”。
CHAR(45)等于“-”。
CODE
CODE(text):计算文本串中第一个字
- mysql安装出错
林鹤霄
mysql安装
[root@localhost ~]# rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm Preparing... #####################
- linux下编译libuv
aigo
libuv
下载最新版本的libuv源码,解压后执行:
./autogen.sh
这时会提醒找不到automake命令,通过一下命令执行安装(redhat系用yum,Debian系用apt-get):
# yum -y install automake
# yum -y install libtool
如果提示错误:make: *** No targe
- 中国行政区数据及三级联动菜单
alxw4616
近期做项目需要三级联动菜单,上网查了半天竟然没有发现一个能直接用的!
呵呵,都要自己填数据....我了个去这东西麻烦就麻烦的数据上.
哎,自己没办法动手写吧.
现将这些数据共享出了,以方便大家.嗯,代码也可以直接使用
文件说明
lib\area.sql -- 县及县以上行政区划分代码(截止2013年8月31日)来源:国家统计局 发布时间:2014-01-17 15:0
- 哈夫曼加密文件
百合不是茶
哈夫曼压缩哈夫曼加密二叉树
在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤;
加密步骤:
1,统计文件中字节出现的次数,作为权值
2,创建节点和哈夫曼树
3,得到每个子节点01串
4,使用哈夫曼编码表示每个字节
- JDK1.5 Cyclicbarrier实例
bijian1013
javathreadjava多线程Cyclicbarrier
CyclicBarrier类
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。
CyclicBarrier支持一个可选的 Runnable 命令,
- 九项重要的职业规划
bijian1013
工作学习
一. 学习的步伐不停止 古人说,活到老,学到老。终身学习应该是您的座右铭。 世界在不断变化,每个人都在寻找各自的事业途径。 您只有保证了足够的技能储
- 【Java范型四】范型方法
bit1129
java
范型参数不仅仅可以用于类型的声明上,例如
package com.tom.lang.generics;
import java.util.List;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value =
- 【Hadoop十三】HDFS Java API基本操作
bit1129
hadoop
package com.examples.hadoop;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoo
- ua实现split字符串分隔
ronin47
lua split
LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或 C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从 而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函
- java-从先序遍历和中序遍历重建二叉树
bylijinnan
java
public class BuildTreePreOrderInOrder {
/**
* Build Binary Tree from PreOrder and InOrder
* _______7______
/ \
__10__ ___2
/ \ /
4
- openfire开发指南《连接和登陆》
开窍的石头
openfire开发指南smack
第一步
官网下载smack.jar包
下载地址:http://www.igniterealtime.org/downloads/index.jsp#smack
第二步
把smack里边的jar导入你新建的java项目中
开始编写smack连接openfire代码
p
- [移动通讯]手机后盖应该按需要能够随时开启
comsci
移动
看到新的手机,很多由金属材质做的外壳,内存和闪存容量越来越大,CPU速度越来越快,对于这些改进,我们非常高兴,也非常欢迎
但是,对于手机的新设计,有几点我们也要注意
第一:手机的后盖应该能够被用户自行取下来,手机的电池的可更换性应该是必须保留的设计,
- 20款国外知名的php开源cms系统
cuiyadll
cms
内容管理系统,简称CMS,是一种简易的发布和管理新闻的程序。用户可以在后端管理系统中发布,编辑和删除文章,即使您不需要懂得HTML和其他脚本语言,这就是CMS的优点。
在这里我决定介绍20款目前国外市面上最流行的开源的PHP内容管理系统,以便没有PHP知识的读者也可以通过国外内容管理系统建立自己的网站。
1. Wordpress
WordPress的是一个功能强大且易于使用的内容管
- Java生成全局唯一标识符
darrenzhu
javauuiduniqueidentifierid
How to generate a globally unique identifier in Java
http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log
http://stackoverflow
- php安装模块检测是否已安装过, 使用的SQL语句
dcj3sjt126com
sql
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。
本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T
- 5天学会一种 web 开发框架
dcj3sjt126com
Web框架framework
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架
各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文
- Gson使用三(Map集合的处理,一对多处理)
eksliang
jsongsonGson mapGson 集合处理
转载请出自出处:http://eksliang.iteye.com/blog/2175532 一、概述
Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。 二、Map参考实例
package com.ickes.json;
import java.lang.refl
- cordova实现“再点击一次退出”效果
gundumw100
android
基本的写法如下:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
//navigator.splashscreen.hide();
document.addEventListener("b
- openldap configuration leaning note
iwindyforest
configuration
hostname // to display the computer name
hostname <changed name> // to change
go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately
dont forget to change /etc/hosts
- Nullability and Objective-C
啸笑天
Objective-C
https://developer.apple.com/swift/blog/?id=25
http://www.cocoachina.com/ios/20150601/11989.html
http://blog.csdn.net/zhangao0086/article/details/44409913
http://blog.sunnyxx
- jsp中实现参数隐藏的两种方法
macroli
JavaScriptjsp
在一个JSP页面有一个链接,//确定是一个链接?点击弹出一个页面,需要传给这个页面一些参数。//正常的方法是设置弹出页面的src="***.do?p1=aaa&p2=bbb&p3=ccc"//确定目标URL是Action来处理?但是这样会在页面上看到传过来的参数,可能会不安全。要求实现src="***.do",参数通过其他方法传!//////
- Bootstrap A标签关闭modal并打开新的链接解决方案
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
Bootstrap里面的js modal控件使用起来很方便,关闭也很简单。只需添加标签 data-dismiss="modal" 即可。
可是偏偏有时候需要a标签既要关闭modal,有要打开新的链接,尝试多种方法未果。只好使用原始js来控制。
<a href="#/group-buy" class="btn bt
- 二维数组在Java和C中的区别
流淚的芥末
javac二维数组数组
Java代码:
public class test03 {
public static void main(String[] args) {
int[][] a = {{1},{2,3},{4,5,6}};
System.out.println(a[0][1]);
}
}
运行结果:
Exception in thread "mai
- systemctl命令用法
wmlJava
linuxsystemctl
对比表,以 apache / httpd 为例 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service 检查服务状态 service h