- 通俗易懂:什么是Java虚拟机(JVM)?它的主要作用是什么?
大龄下岗程序员
mysqljavamysqlspring
Java虚拟机(JavaVirtualMachine,JVM)是一种软件实现的抽象计算机,它负责执行Java字节码(Bytecode)。Java程序并不是直接在物理计算机上运行,而是先由Java编译器将源代码编译成与平台无关的字节码,然后由JVM负责读取字节码并在实际硬件架构上运行。JVM的主要作用包括以下几个方面:1.跨平台性-JVM是Java语言“一次编写,到处运行”(WriteOnce,Ru
- chrales抓包常见问题总结
Duke_Guo
1.pc端点击help安装ssl证书2.信任证书3.连接手机代理4.安装手机证书5.信任手机证书-设置-点击通用-点击文件描述-安装信任charles证书6.信任证书-设置-点击通用-点击关于本机-点击证书信任设置7.添加https端口address:*port:4438.点击返回,电脑中Charles会出现一个提示框,点击allow。如果没有出现点击Proxy->Accesscontrolset
- 契可尼效应与焦虑
JeetChan
契可尼效应契可尼效应(Zeigarnikeffect;又称蔡加尼克效应)是一种记忆效应,指人们对于尚未处理完的事情,比已处理完成的事情印象更加深刻。这个现象是由蔡格尼克通过实验得出的结论。人们天生有一种办事有始有终的驱动力,人们之所以会忘记已完成的工作,是因为欲完成的动机已经得到满足;如果工作尚未完成,这同一动机便使他对此留下深刻印象。说到契可尼效应,很多例子与初恋相关,即所谓的“初恋情节”,总是
- Navigating the Console
Jacaranda2016
Theconcept"Project"isimportantforGCP.ProjectinformationincludesProjectname,ProjectIDandProjectNumber.ProjectIDcanbechangedlaterviashell.ProjectNumberisautomaticallycreatedandyoucannotchange.Howtoshutd
- JVM(Java虚拟机)概述
龙大.
JVMJavajvmjava开发语言
1.JVM的定义和作用JVM(JavaVirtualMachine)是一个能够运行Java字节码的虚拟计算机。它是Java平台的核心组成部分,负责执行编译后的Java程序,提供跨平台运行的能力。JVM使得Java程序可以在任何安装了JVM的操作系统上运行,无需对代码进行修改,实现了"一次编写,到处运行"(WriteOnce,RunAnywhere)的理念。2.JVM架构组件JVM主要由以下几个核心
- 带头循环双向链表的实现
四角小裤儿儿
数据结构链表数据结构c语言开发语言
文章目录带头循环双向链表的实现头文件接口函数完整代码带头循环双向链表的实现文章文章代码解析在代码块的注释中。头文件我们将代码分为三个文件实现,分别为:List.h:包含所有需要的头文件,定义以及接口函数的声明。List.c:保存所有接口函数的定义和实现test.c:主函数//List.h#pragmaonce#include#include#includetypedefintLTDataType;
- 微信小程序Code获取
m0_68138958
微信微信小程序
1.官方开发文档wx.login可以获取code2.微信PC端内存HOOK获取小程序Code3.抓PC包{微信小程序基本都是基于HTTPS的,在开发调试小程序时,普通的抓包软件是抓不到的,所以我们想要抓包首先需要配置证书SSL推荐软件fiddler或Charles1.fiddler配置抓取Https包1.下载最新版fiddler2.下载并安装Fiddler证书生成器3打开Fiddler,点击工具栏
- C++经典日期类实现
快乐老干妈
C++c++开发语言
学完C++类和对象以及四个默认成员函数,就可以来尝试自己实现一下日期类。完成日期类的各种功能,并加强自己的代码能力。日期类实现定义一个日期类//文件:Date.h#pragmaonce#includeusingstd::cout;usingstd::endl;//定义日期类classDate{public://直接写到类里面的函数默认inline修饰//所以短小的代码最好可以直接在类里面定义//构
- VUE——v-once指令
水煮庄周鱼鱼
VUEvue.js前端javascript
v-once指令仅渲染元素和组件一次,并跳过之后的更新。官网介绍v-once用法:Thiswillneverchange:{{msg}}comment{{msg}}{{i}}例子:Document改变aboutOnce值{{aboutOnce}}newVue({el:'#onceApp',data:{aboutOnce:'关于v-once的用法',changeOnce(){this.aboutOn
- MFC:基于OPenGL的三维渲染控件样例代码
pdycp
openglmfcc++
opengl类Myopengl.h#pragmaonce#include#pragmacomment(lib,"glut64.lib")#defineGLUT_DISABLE_ATEXIT_HACK#include"glut.h"classMyopengl:publicCWnd{public:Myopengl();~Myopengl();voiddisplay();//绘制图形voidlight(
- 贪吃蛇代码纯享版
玖剹
小游戏c++c语言数据结构算法
snack.h#pragmaonce#include#include#include#include#include#include#include#defineKEY_PRESS(VK)(((GetAsyncKeyState(VK))&0x1)?1:0)#defineWALLL'■'#defineBODYL'●'#definePOS_X24#definePOS_Y5#defineFOODL'★'
- UE5 C++ TPS开发 学习记录(八
烟水寻常
ue5c++学习
这一次到了p19完善了UI和写了创建房间MultiPlayerSessionSubsystem.h//FilloutyourcopyrightnoticeintheDescriptionpageofProjectSettings.#pragmaonce#include"CoreMinimal.h"#include"Subsystems/GameInstanceSubsystem.h"#includ
- linux的mail命令含义,Linux下的mail命令
会飞的卡卡奇
linux的mail命令含义
TheLinuxcommandlinecanbeverypowerfulonceyouknowhowtouseit.Youcanparsedata,monitorprocesses,automatebackupsanddoalotofotherusefulandcoolthingsusingit.Thereoftencomesaneedtogenerateareportandmailitout.I
- Java 定位导致CPU飙升的代码过程
kikiki4
线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的CPU的资源很少,但是到了整点的时候,CPU直线飙高,直接到达100%根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在借助jstack与top排查到线程然后定位到某行代码出的问题。排查演示使用jps找到程序的pid[root@logsbin]#./jps-l-m|greplogdir222169galaxy-log-
- 【早安心语】
壹典心理咨询
【2021-9-27】早安春夏秋冬Dotheirowndreams,gototheplacetheywanttogo,dowhattheywanttodo,becauselifeonlyonce,theopportunityonlyonce,gototravel,seetheworldmore,youwillfindthattheoriginalcareofthoseknotsarenothing
- 2021年正确打开方式
FanlyLee
AnewyearforaNewYear,always!新年即是焕然新生!-CharlesDickens亲爱的读者朋友们,元旦假期过的好吗?2021年第一篇推文,不准备烧脑了,来些轻松的吧,希望大家带着愉悦的心情开启新的旅程。L小姐书·读书俱乐部自成立以来,我们每天早上都会分享“晨汤”,很多书友都私下跟我反馈,常常有些句子打动到,或者鼓励了他们。过去这10个月,我们至少分享了300条句子,今天摘选其
- Phoncent:开启AI创作与学习的新时代
庄泽峰
人工智能gptAIGCAI写作
随着人工智能技术的飞速发展,我们生活中的许多方面都正在经历着深刻的变革。在这个大背景下,Phoncent平台的出现,无疑为我们提供了一个全新的、一站式的AI创作与学习体验。Phoncent的核心优势在于其深度整合了GPT技术。GPT,作为一种先进的大型语言模型,已经在自然语言处理领域展现出了惊人的能力。它能够理解并生成人类语言,为我们提供了与机器进行自然、流畅交流的可能性。在Phoncent平台上
- Phoncent博客:探索AI写作与编程的无限可能
庄泽峰
GPTAIGCAI写作Phoncent
Phoncent博客,一个名为Phoncent的创新AIGC博客网站,于2023年诞生。它的创始人是庄泽峰,一个自媒体人和个人站长,他在网络营销推广领域有着丰富的经验。庄泽峰深知人工智能技术在内容创作和编程领域的潜力和创造力,因此他决定创建Phoncent博客,为用户提供一个创新且实用的平台。Phoncent博客的初衷是将人工智能技术应用于个人创作和学习中。庄泽峰意识到人工智能技术的快速发展对于内
- UE4 C++笔记
毛甘木
UE4ue4c++
UE4C++笔记添加日志//FPSDemoGameModeBase.h#pragmaonce#include"CoreMinimal.h"#include"GameFramework/GameModeBase.h"#include"FPSDemoGameModeBase.generated.h"UCLASS()classFPSDEMO_APIAFPSDemoGameModeBase:publicA
- flink如何利用checkpoint保证数据状态一致性
Direction_Wind
flink技术原理flink大数据
flink数据状态一致性1状态一致性级别1.1AT-MOST-ONCE(最多一次):1.2AT-LEAST-ONCE(至少一次):1.3EXACTLY-ONCE(精确一次):1.4分布式快照与至少一次事件传递和重复数据删除的比较2flink内部实现状态一致性3端到端的一致性3.1Source3.2Sink3.2.1幂等写入3.2.2事务写入3.2.2.1两阶段提交3.2.2.2flink的两阶段提
- Kaggle Intermediate ML Part Two
卢延吉
NewDeveloper数据(Data)ML&ME&GPTDataML
CategoricalVariablesCategoricalvariables,alsoknownasqualitativevariables,areafundamentalconceptinstatisticsanddataanalysis.Here'sabreakdowntohelpyouunderstandthem:Whatarethey?Categoricalvariablesrepre
- 爬虫知识--01
糖果爱上我
爬虫pythonsqlitejavascript前端vue.js
爬虫介绍#爬虫的概念:通过编程技术(python:request,selenium),获取互联网中的数据(app,小程序,网站),数据清洗(xpaht,lxml)后存到库中(mysql,redis,文件,excel,mongodb)#基本思路:通过编程语言,模拟发送http请求,获取数据,解析,入库#过程:爬取过程,解析过程,会遇到反扒抓app,小程序,会通过抓包工具(charles,Fiddle
- AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCel
-晨-风-
Android高德混淆android
应用集成高德SDK,开启混淆后,APP在Android10及以上机型上的部分页面会闪退。2020-01-0717:09:44.33212910-14330/?E/AndroidRuntime:FATALEXCEPTION:pama#1Process:com.xxx.xxxxxx,PID:12910java.lang.AbstractMethodError:abstractmethod"voidan
- 计算行业集中度
IT_小白
行业集中度:行业集中度(ConcentrationRatio)又称行业集中率或市场集中度(MarketConcentrationRate),是指某行业的相关市场内前N家最大的企业所占市场份额(产值、产量、销售额、销售量、职工人数、资产总额等)的总和,是对整个行业的市场结构集中程度的测量指标,用来衡量企业的数目和相对规模的差异,是市场势力的重要量化指标。衡量指标:行业集中度是决定市场结构最基本、最重
- 【C++】实现Date类的各种运算符重载
伤心男孩拯救世界(Code King)
C++c++开发语言
上一篇文章只实现了operator==操作符重载,由于运算符较多,该篇文章单独实现剩余所有的运算符重载。继续以Date类为例,实现运算符重载:1.Date.h#pragmaonce#include#includeusingnamespacestd;classDate{private:int_year;int_month;int_day;public:voidPrint();Date(intyaer
- [Unity]摄像机屏幕中点获得某平面的一个坐标
BuladeMian
Unity
射线与平面相交的坐标点。从摄像机(这个摄像机有可能会倾斜一定的角度)发出一个射线,方向为Game视图的中心点,与Y为0的平面相交的点。黑色的Plane的Y轴坐标为0。新建一个方块设置坐标为显示出来的坐标。就可以看出结果是准确的。可以多试验几个方块的坐标为显示的坐标。...//UpdateiscalledonceperframevoidUpdate(){Rayray=Camera.main.Scre
- APISIX 可观测性最佳实践
apisix
APISIX介绍ApacheAPISIX是一个动态、实时、高性能的云原生API网关。它构建于NGINX+ngx_lua的技术基础之上,充分利用了LuaJIT所提供的强大性能。APISIX主要分为两个部分:APISIX核心:包括Lua插件、多语言插件运行时(PluginRunner)、Wasm插件运行时等;功能丰富的各种内置插件:包括可观测性、安全、流量控制等。APISIX在其核心中,提供了路由匹配
- 渗透测试之文件包含漏洞
little whhite
渗透测试服务器php
文件包含漏洞:服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当作PHP执行,可以给开发者节省大量的时间,从而也导致了客户端可以调用一个恶意文件,造成文件包含漏洞。常见的文件包含函数require()、require_once()、include()、include_once()文件包含实例网页为include函数包含CMD参数内容在同目录下还有一个1.php文件,内
- 2018-05-22
如果我名王玉珏
3.Charles,anatheist,iswritingapaperontheissueofprayerinpublicschools.Heiswellacquaintedwiththeargumentsadvancedbythosewhoopposesuchprayerbutunfamiliarwiththeothersideoftheissue.Charlesreasonsthatbecau
- OSDI 2023: ExoFlow A Universal Workflow System for Exactly-Once DAGs
结构化文摘
工作流DAG可靠性
我们使用以下6个分类标准对本文的研究选题进行分析:1.恢复策略的重点特定应用程序:每个应用程序都包含针对其独特需求的定制恢复机制。这可以提供优化的恢复,但意味着每个应用程序的开发人员必须独立处理容错性,这会增加复杂性。系统范围:总体分布式系统使用通用机制处理所有在其上运行的应用程序的恢复。这简化了开发,但牺牲了更细粒度、应用程序优化的恢复的可能性。2.性能/恢复权衡优先级以性能为中心:使用这种方法
- 多线程编程之理财
周凡杨
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