- Python | Redis工具类
-拟墨画扇-
Pythonredis数据库缓存python
一、需求自动连接Redis数据库,通过连接池处理数据对输出结果进行Log打印并保存到文件二、代码Utils.redisUtils.py#!/usr/bin/envpython#-*-coding:utf-8-*-importredisfromUtils.loggerimportlog"""Redis数据格式(1)字符串|存储形式:key-value:str-存储二进制数据:可以存储任意类型的数据,
- 有什么小程序适合个人开发?
真仲为工作室
小程序开发小程序个人开发微信小程序
在这个信息爆炸的时代,小程序已经成为了我们生活中的一部分。无论是出行、购物还是娱乐,小程序都能为我们提供便捷的服务。对于个人开发者来说,开发一个小程序不仅可以锻炼自己的技术能力,还可以为他人提供便利,甚至有可能成为一个成功的创业项目。那么,有哪些小程序适合个人开发呢?工具类小程序是一个不错的选择。这类小程序主要提供一些实用的工具,如计算器、天气预报、备忘录等。这类小程序的需求量大,用户群体广泛,而
- 由InputStream.available()引发的偶现bug
eduiH
踩坑记录java面试springboot
案情经过需求是通过Feign下载一个文件,然后将下载接口得到的InputStream文件转成MultipartFile类型然后再调另外一个接口。从Feign返回的InputStream中读取文件流转换成MultipartFile类型过程中会涉及到将InputStream转成OutputStream的操作。由于懒得找所以直接使用了前辈写的工具类,也懒得看实现细节,先把功能实现其他再说。代码大概是这样
- cesium+turf.js实现缓冲区分析
Lee-j
javascript前端vue.js
1.实现效果可以在地图上绘制点,线,面,并且根据绘制的点线面绘制缓冲区。2.实现工具1.用cesium的handle进行点线面绘制。2.用turf.buffer函数对绘制的点线面进行缓冲区分析。3.在地图上绘制缓冲区。3.缓冲区工具类代码import{buffer,point,lineString,polygon,}from'@turf/turf';importbusfrom'../../even
- 一线大厂面试真题——Collection 和 Collections 有什么区别
似来
Java基础面试题面试职场和发展java开发语言
(1)Collection是最基本的集合接口,Collection派生了两个子接口list和set,分别定义了两种不同的存储方式。(2)Collections是一个包装类,它包含各种有关集合操作的静态方法(对集合的搜索、排序、线程安全化等)。此类不能实例化,就像一个工具类,服务于Collection框架。
- AQS抽象的队列式同步器
俊采星驰_coder_qi
常问问题整理于网络参考https://segmentfault.com/a/1190000017372067推荐确实写的不错J.U.C简单解释一下J.U.C,是JDK中提供的并发工具包,java.util.concurrent。里面提供了很多并发编程中很常用的实用工具类,比如atomic原子操作、比如lock同步锁、fork/join等。AQSAQS,队列同步器AbstractQueuedSync
- Java常用工具方法及工具类
tansci
Javautil
在平时开发中遇到的各种格式化工具类,整理还在继续中......目录二、数值类型保留小数点三、List去重方式四、使用AES加解密五、数字的加、减、乘、除操作六、Map转实体类七、获取周或月的开始&结束日期八、Java8日期时间类(LocalDate)九、判断是否是数字字符串一、时间工具类字符串时间格式后返回字符串返回某个时间段内的时分整点时间段packagecom.example.demo.dat
- Spring Boot整合STOMP实现实时通信
1telescope
Javawebsocketspringbootjava后端
目录引言代码实现配置类WebSocketMessageBrokerConfigDTO工具类Controllercommon.htmlstomp-broadcast.html运行效果完整代码地址引言STOMP(SimpleTextOrientedMessagingProtocol)作为一种简单文本导向的消息传递协议,提供了一种轻量级且易于使用的方式来实现实时通信。本篇博客将讲解如何使用SpringB
- java根据PostMan发送请求:设置接口请求工具类。
Dubbo-罗
javajava
我们使用java代码进行接口远程调用第三方接口时,总会抒写接口代码,那么有这么多种方式进行发送请求。那我们应该怎么使用呢?比如有webservice接口,比如有Post请求的接口,必须有Get请求的接口。比如传的参数有xml的形式,比如传的参数有json格式等等格式情况,那我们的接口请求代码应该如何区别,抒写呢?我们要根据postMan中的方式来,只要是能够通过postMan发送成功的请求都可以使
- iOS小技能:设置app语言(跟随系统和特定语言)
iOS逆向
#iOS本地化ioscocoamacos
文章目录引言I读取本地化字符串的方式1.1设置当前语言工具类(封装读取本地化字符串)1.2获取系统语言环境1.3跟随系统1.4根据特定bundle读取本地化字符串II设置app语言2.1设置语言2.2语言切换界面2.3重新加载所有界面以更新语言2.4资源文件III案例:登录界面切换中英文IVstrings文件的文本内容过长导致key失效的解决方案4.1问题
- websocket 通用类封装和使用
桃根仙
websocket网络协议网络
websocket工具类封装exportdefaultclassSocketService{staticinstance=null;staticgetInstance(){if(!this.instance){this.instance=newSocketService();}}wx=null;callBackMapping={};connected=false;sendRetryCount=0;
- Java实战:基于ThreadLocal打造强大的Java上下文管理组件
拥抱AI
java开发语言
引言在大型分布式系统的设计与开发过程中,上下文信息的管理和传递是一个常见且关键的需求。例如,用户登录信息、事务ID、请求ID等都需要在调用链路中保持一致性,以便于跟踪、监控和调试。为此,Java为我们提供了ThreadLocal工具类,它可以将变量绑定到当前线程,实现在同一个线程内的多个方法间共享数据。本文将详细介绍如何基于ThreadLocal实现一个高效的上下文管理组件,并结合实际案例进行深入
- java对接第三方接口的三种方式
codeer力
javajava开发语言
在日常工作中,经常需要跟第三方系统对接,我们做为客户端,调用他们的接口进行业务处理,常用的几种调用方式有:1.原生的Java.net.HttpURLConnection(jdk);2.再次封装的HttpClient、CloseableHttpClient(Apache);3.Spring提供的RestTemplate;当然还有其他工具类进行封装的接口,比如hutool的HttpUtil工具类,里面
- springboot接收base64文件并上传
脑壳疼___
springboot后端java
1.前言在常见的开发场景中,前端往往对文件进行base64编码,采用json格式发送给后端,后端收到base64文件的字符串后进行保存实现步骤:后端直接通过Base64工具类对字符串进行解码,解码后获取字节数组。将字节数组保存到文件我想都应该会吧2.实现/***保存base64图片*@parambase64Strbase64文件*@paramimgFilePath上传地址(示例:D:\\1.png
- 【业务功能篇135】多线程+countDownLatch执行大数据量定时任务
studyday1
JavaSpringbootjavajvm多线程定时任务
对于业务中存在一些功能需求,业务逻辑复杂且数据量大,过程处理也就比较繁琐,如果直接在单线程同步执行,效率就比较低了,所以我们需要利用多线程,开启多个线程去把任务分线程异步执行,这些效率就有显著提升多线程+countDownLatchCountDownLatch概念CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。CountD
- JavaWeb购物系统(十一)购物系统-连接数据库(Mysql、sqlServer、Access的匹配方案)
艺术留白
JavaWeb购物系统数据库mysqlsqlserver
我们推荐使用的是连接Mysql,因为我的购物系统就是在Mysql环境下测试的。当然在最后,我也对sqlServer和Access的连接做了一些测试,但可能得修改业务相关的sql语句,因为不同的数据库管理系统厂商对sql支持不同。至于为什么要做不同数据库的匹配:当然是有的学校必须得用sqlServer和Access正文Mysql使用德鲁伊数据库连接池和apache.dbutils工具类JdbcUti
- Guava 工具类之Cache的使用 本地缓存组件
ʚ小华
guava缓存
一.guavacache介绍1.介绍guavacache是Googleguava中提供的一款轻量级的本地缓存组件,其特点是简单、轻便、完善、扩展性强,内存管理机制也相对完善。2.使用缓存的优点1.减少了网络调用的开销2.减少了数据请求的序列化和反序列化二.guavacache分类guavacache提供了2种类型:Cache:创建1个缓存.LoadingCache:它能够通过CacheLoader
- log4net 快速使用demo
zq爱生活爱代码
C#
添加log4net包然后查找安装首先是在根目录下创建log4net.config配置文件-->-->-->-->-->-->其次是设定工具类,只要是info以及errorusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace
- .Net5 WebApi中使用log4net记录日志(已在生产环境中使用)
Lingbug
.Net3.1/.Net5c#
本文讲解在.Net5WebApi中使用log4net记录日志(已在生产环境中使用)安装Log4Net编写Log4Net配置文件(注意:要修改配置文件属性为始终复制)编写Log4Net初始化类LoggerInit(用来初始化Log4Net加载配置文件)在Startup构造函数中初始化/启动日志开发记录日志工具类供业务端调用定义记录日志接口ILoggerUtil定义记录日志接口实现类LoggerUti
- 分页工具类
TM_enn
javamybatis
介绍方法convertToIPage用于将一个List转换为IPage,并在方法内部计算总数和总页数。该方法利用了MyBatis-Plus框架提供的IPage接口,并采用泛型,使其能够兼容任意类型的数据。packagecom.util;importcom.baomidou.mybatisplus.core.metadata.IPage;importcom.baomidou.mybatisplus.
- JAVA高并发——JDK的并发容器
布道师小羊
#网络+并发+函数式+JVMJAVA高阶java开发语言
文章目录1、超好用的工具类:并发集合简介2、线程安全的HashMap3、深入浅出ConcurrentHashMap3.1、ConcurrentHashMap的内部数据结构3.2、put()方法的实现3.3、get()方法的实现4、有关List的线程安全5、高效读写的队列:深度剖析ConcurrentLinkedQueue类6、高效读取:不变模式下的CopyOnWriteArrayList类7、数据
- SpringBoot工具类
springbootjava
断言1.断言是一个逻辑判断,用于检查不应该发生的情况2.Assert关键字在JDK1.4中引入,可通过JVM参数-enableassertions开启3.SpringBoot中提供了Assert断言工具类,通常用于数据合法性检查//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数message参数用于定制异常信息。voidnotNull(Objectobject,S
- SpringBoot工具类
springbootjava
断言1.断言是一个逻辑判断,用于检查不应该发生的情况2.Assert关键字在JDK1.4中引入,可通过JVM参数-enableassertions开启3.SpringBoot中提供了Assert断言工具类,通常用于数据合法性检查//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数message参数用于定制异常信息。voidnotNull(Objectobject,S
- RSA算法加密、签名和验签、解密
熊出没
加密算法算法
一、背景介绍RSA是一种非对称加密算法,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。二、RSA算法工具类packagecom.hl.rsademo.util;importjava.io.ByteArrayOutputStream;importjava.nio.charset.StandardCharsets;importjav
- 转换会报错:com.alibaba.fastjson.jsonexception: syntax error, expect {, actual string, pos 82
深街&酒肆
java开发语言
我的是pos82转化工具类转换是没问题的Objectobj=JSONObject.toJSONString(obj)Demedeme=JSONObject.parseObject(obj,Deme.clazz);返回的实体类@JsonProperty(value="file_url")privateListfiles;publicListgetfiles(){returnfiles;}public
- 【工具类】开源照片管理工具pthtoprism
knowledgebao
工具类照片图像处理photoshop
1.pthtoprism1.pthtoprism1.1.安装1.2.管理照片方式1.2.1.直接管理原始照片目录1.2.2.导入照片1.3.界面功能1.4.参考资料1.1.安装wgethttps://dl.photoprism.app/docker/docker-compose.yml#修改docker-compose.yml文件,具体参考下面内容dockercomposeup-d下载docker
- 【工具类】非 sudo 运行 docker
knowledgebao
工具类docker容器运维
非root运行docker命令sudogroupadddockersudousermod-aGdocker$USERnewgrpdockersudochownroot:docker/var/run/docker.socksudochown"$USER":"$USER"/home/"$USER"/.docker-Rsudochmodg+rwx"$HOME/.docker"-Rlinux(ubuntu
- 【工具类】vscode ssh 远程免密登录开发
knowledgebao
工具类vscodesshide
存放代码的机器运行sshd,使用vscode的机器保证可以通过ssh登录服务器vscode机器通过ssh-keygen生成ssh公私钥对将客户端的id_rsa.pub加入到服务器的鉴权队列catid_rsa.pub>>authorized_keysvscode配置即可.ctrl+p,remote-ssh:opensshconfigurationfile…HostubuntuHostNamexxx.
- 将Xml转为Map集合工具类
Fairy要carry
工具xmljavapython
packagecom.wyh.wx.utils;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importjava.io.ByteArrayInputStream;importjava.io.InputStream;importjava.nio.charset.StandardCharse
- 33个热门数据分析软件,你都用过哪些?
俊红的数据分析之路
数据库可视化编程语言大数据hadoop
最近有一位小伙伴问我,做数据岗该学习哪些软件,我想了想扔给他33个软件数据分析工具类软件,大体可以分为以下5类:Excel生态工具、数理统计工具、BI工具、数据库工具、编程工具(Excel单独分成一类,主要是因为它应用场景广泛,且用户基数过于庞大,甚至超过其他所有工具用户之和)每个类别的代表工具分别有:「Excel生态」:Excel、VBA、PowerQuery、PowerPivot、PowerV
- 多线程编程之理财
周凡杨
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