一、程序结构1.1命令行参数os包以跨平台的方式,提供了一些与操作系统交互的函数和变量。程序的命令行参数可从os包的Args变量获取;os包外部使用os.Args访问该变量。vars,sepstring//第一种循环fori:=1;i
前端打包优化相关 Webpack
怒放的生命1991
webpack前端webpacknode.js
前端打包优化相关Webpack打包时间的优化(基于VueCLI4+Webpack5)1.Webpack配置减少打包时间1.1对JS配置:排除node_modules和src中的打包内容在开发环境下,修改Webpack的JS规则,排除/node_modules和src目录中的JavaScript文件。这意味着node_modules和src目录中的JavaScript文件不会经过该规则定义的加载器处
数仓建模—手把手教你用 DeepSeek 打造高效数据治理体系
不二人生
大模型数仓建模大模型deepseek
数仓建模—手把手教你用DeepSeek打造高效数据治理体系在这个数字化转型的时代,数据治理已经成为企业提升竞争力的核心能力之一。然而,对于很多企业来说,数据治理仍然是一项复杂而艰巨的任务。今天,我们将为你详细介绍如何利用DeepSeek这一强大的AI工具,快速构建属于自己的数据治理体系。无论你是数据治理的新手,还是正在寻找更高效的解决方案,这篇文章都将为你提供清晰的指导。一、为什么要选择DeepS
线程的中断
is_Peng
Java基础Java线程中断interrupt
我们都知道线程被终止一般有两个原因:一是run()方法正常执行完毕而自然死亡;二是因为一个没有捕获的异常终止了run方法而异外死亡。当一个线程在正常执行完毕之前被中断是一件很可怕的事情,会出现很多意想不到的事情,比如不能归还锁而造成死锁现象,stop()方法和destroy()方法就是因此而被废弃的。在前一篇博客中,我们尝试了利用一些变量以指示目标线程应该停止运行来达到线程终止的目的。在Java的
探索 APIJSON PHP:一款强大的RESTful API 开发框架
周澄诗Flourishing
探索APIJSONPHP:一款强大的RESTfulAPI开发框架去发现同类优质开源项目:https://gitcode.com/在当今的Web开发中,API已经成为构建可扩展、跨平台应用的关键组件。APIJSONPHP是基于PHP语言的一款高效、便捷的RESTfulAPI开发框架,旨在简化API的设计和维护过程。本文将深入探讨该项目的核心特性、技术优势及应用场景,以期吸引更多开发者加入使用。1.项
Kotlin 中实现静态方法的几种方式
casual_clover
新起点kotlinandroid
在Kotlin中,与Java不同,Kotlin并不直接支持在类中定义静态方法(static方法)。不过,Kotlin提供了多种替代方式来实现类似的功能,例如通过object单例、companionobject伴生对象或顶级函数。以下是这些方法的具体实现和使用场景:1.使用object单例object是Kotlin中的单例模式实现方式。通过object,可以定义一个单例对象,其方法和属性可以在任何地
Python, Java开发婚礼举办案例与实操200例APP
Geeker-2025
pythonjava
开发一个婚礼举办案例与实操200例App,旨在为用户提供丰富的婚礼策划案例和实操经验,帮助用户更好地组织和策划婚礼。以下是App的核心功能设计和实现思路:---###核心功能设计1.**婚礼案例展示**:-提供200个以上的婚礼案例,包括室内、户外、主题婚礼等。-支持按风格、地点、预算等条件筛选案例。2.**案例详情**:-提供每个婚礼案例的详细信息,包括场地布置、流程安排、费用预算、摄影师和策划
Android开发:如何在应用中显示应用名称
t0_54program
编程问题解决手册android个人开发
在Android开发中,应用程序的用户界面(UI)设计是一个关键环节。许多新手开发者在使用AndroidStudio和Java语言创建应用时,可能会遇到一些常见的UI问题。比如,如何在应用的顶部显示应用名称(即标题栏或工具栏)。本文将详细讲解如何在Android应用中正确显示应用名称,并通过一个实际的实例来展示解决方案。问题描述假设你正在开发一个简单的Android应用,该应用可以将公斤(kg)转
E1-110.完美走位(滑动窗口)
lanmaoki
华为算法题算法
题目描述在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务必定会回到原点,则称此次走位为完美走位。现给定玩家的走位(例如:ASDA),请通过更换其中一段连续走位的方式使得原走位能够变成一个完美走位。其中待更换的
Linux内核地址空间布局详解
Linux加油站
linux网络
1.简介虽然x86_64的物理地址范围为64bit,但是因为地址空间太大目前不可能完全用完,当前支持57bit和48bit两种虚拟地址模式。地址模式单个空间用户地址空间内核地址空间32位2G0x00000000-0x7FFFFFFF0x80000000-0xFFFFFFFF64位(48bit)128T0x0000000000000000-0x00007FFFFFFFFFFF0xFFFF800000
Spring Boot项目中集成阿里云短信服务
山高自有客行路
#Springbootspringboot阿里云后端
1.导入阿里云依赖首先,在你的pom.xml文件中添加阿里云短信服务的Maven依赖:com.aliyundysmsapi201705252.0.24确保你已经包含了其他必要的依赖,如MySQL驱动和MyBatis:mysqlmysql-connector-javaruntimeorg.mybatis.spring.bootmybatis-spring-boot-starter2.2.0org.p
【面试题系列】Redis 常见面试题&答案
颜淡慕潇
面试题系列redis数据库缓存
一、基础概念1.Redis有哪些数据结构?各自的应用场景是什么?答案:Redis支持以下数据结构:String:最基础类型,存储字符串、数字、二进制数据。场景:缓存用户信息、计数器、分布式锁。Hash:键值对集合,类似Java的HashMap。场景:存储对象(如用户属性)。List:双向链表,支持左右插入和弹出。场景:消息队列(LPUSH+RPOP)、微博时间线。Set:无序唯一集合,支持交集、并
JVM垃圾收集器合集
18你磊哥
jvmjava进阶jvm
前言:JVMGC收集器的回顾与比较JVM(Java虚拟机)中的垃圾收集器是自动管理内存的重要机制,旨在回收不再使用的对象所占用的内存空间。以下是JVM中几种常见的垃圾收集器的详细介绍:一、新生代垃圾收集器1.Serial收集器类型:单线程收集器,新生代。特点:在垃圾收集时,会暂停所有其他工作线程(Stop-The-World),简单高效,发展历史最悠久。适用场景:适用于单核处理器环境和Client
Java设计模式之责任链模式
愿时光不负.
#行为型模式java设计模式责任链模式
责任链模式(ChainofResponsibilityPattern)1.概述责任链模式是一种行为型设计模式,它使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有对象处理它为止。责任链模式的核心思想是将请求的处理职责沿着对象链传递,而不明确指定具体哪个对象处理。2.适用场景多个对象可以处理同一个请求:但具体哪个对象处理该请求是
uinapp前端技术带动陪玩软件市场,语音陪玩系统源码开发打造你自己的市场
前端后端小程序数据库服务器
游戏陪玩app是一种为游戏玩家提供专业陪玩服务的软件。这个软件汇聚了大量游戏玩家,特别是大神级别的玩家,为玩家提供贴心、专业的游戏陪玩服务。用户可以通过软件轻松查找和选择满意的陪玩。此外,陪玩软件还提供了如语音互动、礼物打赏,在线接单,社交直播等功能,方便玩家畅玩游戏。跨平台开发:uniapp支持一次开发,多端发布,包括iOS、Android、Web以及各种小程序等平台。这意味着开发者可以编写一套
JVM 如何保证 Java 程序的安全性?
冰糖心书房
JVM2025Java面试系列jvmjava
JVM(JavaVirtualMachine)在设计时就考虑了安全性,它提供了一套多层次的安全机制,以保护系统免受恶意代码的侵害。这些机制主要包括:1.类加载器(ClassLoader)及双亲委派模型:类加载器的作用:负责加载Java类(.class文件)到JVM中。将类的字节码转换为内存中的Class对象。执行类的初始化。类加载器的类型:启动类加载器(BootstrapClassLoader):
MetaGPT零基础极速入门:手把手教你打造AI虚拟公司
Julian.zhou
MetaGPT人工智能人工智能
MetaGPT是什么?为什么突然爆火?MetaGPT是由中国团队开发的多智能体协作框架,仅需1个需求,自动生成完整软件项目!它能模拟真实IT公司流程,自动分解任务、编写代码、生成文档,GitHub狂揽18k+星!官网:https://www.deepwisdom.ai/源码地址:https://github.com/geekan/MetaGPTMetaGPT能做什么?一句需求,可以让模拟的一个团队
【编程向导】-JavaScript-基础语法-类型检测
wtrees_松阳
javaScript知识图谱javascript原型模式开发语言
类型检测类型检测的方法:typeofinstanceofObject.prototype.toStringconstructortypeoftypeof操作符返回一个字符串,表示未经计算的操作数的类型。typeofundefined;//"undefined"typeofnull;//"object"typeof100;//"number"typeofNaN;//"number"typeoftru
大模型——被骂惨的“现象级”产品Manus
不二人生
大模型人工智能大模型
被骂惨的“现象级”Manus,今天我们来扒一扒它的真实水平!昨天,一款由中国团队发布的Agent产品Manus在AI圈迅速走红,并登上热搜,许多人称其为真“打工人救星”。一段长达4分17秒的演示demo里,官方介绍,与传统AI助手不同,这款产品是一个真正自主的AIAgent,不仅能提供各行业领域的建议或答案,还能直接交付完整的任务成果,写周报、做PPT、简历筛选、甚至炒股票都不在话下。在Manus
深度学习 bert与Transformer的区别联系
Humingway
深度学习berttransformer
BERT(BidirectionalEncoderRepresentationsfromTransformers)和Transformer都是现代自然语言处理(NLP)中的重要概念,但它们代表不同的层面。理解这两者之间的区别与联系有助于更好地掌握它们在NLP任务中的应用。TransformerTransformer是一种特定的深度学习模型架构,由Vaswani等人在2017年的论文《Attenti
计算机操作系统进程(3)
脑子慢且灵
javalinuxwindowsidea开发语言
系列文章目录第二章:进程的描述与控制文章目录系列文章目录前言一、进程同步的基本概念:二、临界资源:总结前言前面我们学习了进程的定义和特征,进程状态的转换,接下来我们开始学习我们最重要的一点也是相对最难的一点,包括正在写着的我其实也感觉这东西有点抽象,但我尽量表达出来我在这段过程中对此学习的理解(我会举Java例子来更加形象的解释一下)。一、进程同步的基本概念:进程同步机制的主要任务,是对多个相关进
SpringBoot动态加载JAR包实战:实现插件化架构的终极指南
小诸葛IT课堂
springbootjar架构
在需要热插拔业务模块、支持灰度发布的系统中,动态加载外部JAR包是提升系统扩展性的核心技术。本文将手把手实现3种动态加载方案,包含可直接运行的SpringBoot代码,并深入分析类加载机制与内存泄漏预防策略。一、动态加载的应用场景电商平台:双十一期间动态加载营销活动模块风控系统:实时更新风控规则引擎物联网平台:按需加载设备协议解析器SaaS系统:客户定制化功能插件二、核心技术难点技
Manus技术深度研读:AI智能体的技术突破、应用场景与未来影响
emmm形成中
AI科技前沿人工智能
Manus技术深度研读:AI智能体的技术突破、应用场景与未来影响引言2025年3月6日,全球科技领域迎来了一款划时代的产品——Manus。这款由中国团队开发的通用型AI智能体(AIAgent)凭借其强大的任务执行能力和跨领域适应性,迅速成为业界焦点。Manus不仅能够独立思考、规划并执行复杂任务,还能直接交付完整成果,标志着AI技术从“工具辅助”向“自主协作者”的跨越。本文将从技术突破、应用场景、
全球首款通用AI Agent「Manus」来了!中国团队打造,让AI真正替你干活!
ruanjianan1
人工智能数据库
1.官网立即下载完整资料点击立即免费获取本文所有操作指南及最新动态已整理完成,点击上方链接即可免费领取!一、Manus是什么?AI界新晋全能选手Manus作为全球首款通用型AIAgent,由中国技术团队历时3年研发,彻底打破了传统AI工具只能完成单一任务的局限。它集成了多模态交互系统和自主任务规划能力,不仅能理解自然语言指令,还能主动拆解复杂任务、调用各类软件工具,真正实现"动口不动手"的智能体验
「基于大模型的智能客服系统」语义理解、上下文记忆与反馈机制设计
网罗开发
AI大模型人工智能人工智能职场和发展
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
Manus详解,看这一篇就够了
程序员鑫港
langchain数据库人工智能AI大模型Agent智能体
Monica公司发布了AIAgent智能体产品——Manus,是一款具备突破性技术的通用型AI代理,根据Manus官网(https://manus.im)技术白皮书和网络公开资料,整理Manus核心技术和应用信息如下,欢迎讨论。技术架构多智能体协作系统Manus采用规划代理、执行代理和验证代理的分工机制,模拟人类工作流程,提升复杂任务的处理效率。规划代理采用蒙特卡洛树搜索(MCTS)算法优化任务拆
多线程编程之理财
周凡杨
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