- 嵌入式设备上SystemTap调试工具使用
塵觴葉
杂谈linuxbpf
SystemTap调试工具简介SystemTap调试器常用于Linux内核的动态调试,不过该工具集也可用于应用的跟踪调试。随着Linux内核及其应用程序的复杂度不断加深,使用一些在功能上区别于传统的GDB调试工具就变得越来越重要了。这类调试工具具有低延时(LowLatency),高性能,动态调试的特点。嵌入式Linux设备的系统软件通常不需从头开发,这些调试工具可以帮助开发者快速理解Linux内核
- SystemTap 工作原理
weixin_30275415
《systemtap原理及使用》https://www.cnblogs.com/youngerchina/p/5624588.html这篇帖子前边系统介绍了systemtap的工作原理,摘取几个图。《使用Kprobes调试内核》https://www.ibm.com/developerworks/cn/linux/l-kprobes.html这篇帖子介绍了用kprobes调试内核的方法总结:kpr
- 使用systemtap进行内核跟踪
程序猿Ricky的日常干货
systemtap
当我们利用systemtap跟踪内核时,首先需要了解systemtap提供了什么跟踪点,这些跟踪点在systemtap中被称为probe事件。systemtap的语法类似于awk和bpftrace语法,是一种事件驱动的语言。当内核执行到时某一种事件被触发就会处理相应的动作。格式如下:probeprobe-point{statement}systemtap中支持的事件分为很多类型,本文将触发介绍一些
- 使用PHP和MQTT构建高效的物联网数据转发服务器流程
极客小张
php物联网服务器单片机运维MQTT数据库
一、项目概述项目目标和用途本项目旨在搭建一个基于PHP的物联网服务器,能够接收来自各种传感器的数据,并通过MQTT协议将数据转发到其他设备或服务。该系统适用于智能家居、环境监测等场景,能够实现实时数据监控和远程控制。技术栈关键词PHPMQTTMySQLESP8266/ESP32(单片机)DHT11(温湿度传感器)Linux服务器Apache/Nginx二、系统架构系统架构设计本项目的系统架构主要由
- systemtap原理及使用
csr_hema
SystemTap的架构SystemTap用于检查运行的内核的两种方法是Kprobes和返回探针。但是理解任何内核的最关键要素是内核的映射,它提供符号信息(比如函数、变量以及它们的地址)。有了内核映射之后,就可以解决任何符号的地址,以及更改探针的行为。Kprobes从2.6.9版本开始就添加到主流的Linux内核中,并且为探测内核提供一般性服务。它提供一些不同的服务,但最重要的两种服务是Kprob
- Nextcloud允许外部IP或域名访问
想和我重名?
小TipsLinuxlinux服务器
找到config.php文件并修改,docker安装的话可能在www/文件夹下,或者别的文件夹里,根据样例修改下面是官方的样例在arrry的选项里添加访问的方式,也就是在浏览器里要怎样的访问方式就添加怎样的访问方式,按照样添加IP和端口,然后重启Nextcloud后再访问来源Nextcloud修改trusteddomains指定哪些主机可访问_dockernextcloudtrusteddomai
- System.getProperty,System.getenv().get(),environment.getProperty区别
spum
java前端服务器
启动类:@SpringBootApplicationpublicclassM2Application{publicstaticvoidmain(String[]args){System.setProperty("a.x","xx_xx");//如果放到run下面不会生效并且在后续System.getProperty("a.x")也是null//如果-D或者环境变量中也设置了,生效的还是这里Spri
- Java中的System.getenv()和System.getProperty()
星辰鸿溟
JavaHadoopYarnHadoopHDFS
System.getenv()和System.getProperty()是Java种常用的两种读取环境配置信息的方法,它们都是java.lang.System类的方法,用途有相似之处,但我们在实际使用中,需要更加注意二者的区别。1.System.getenv()System.getenv()读取的是当前系统环境的环境变量。要深入理解环境变量的本质,需要对系统父子进程关系有更加清晰的认识。一般来说,
- 讲解:CIS 330、To-Be System、SQL、SQLR|Processing
banzhichuai
EnhancingtheAs-IsHospitalDatabaseCreatinganImprovedTo-BeSystemForthisassignment,youwillenhancetheHospitaldatabase(theas-issystem)basedontheresultsofrequirementselicitation,whichisdescribedbelow.Youwil
- BZOJ-2521: [Shoi2010]最小生成树(最小割)(本蒟蒻的BZOJ第401 AC撒花~)
AmadeusChan
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2521挺神奇的一个最小割模型,如果要使得该边一定在MST上,那么要保证该边连接的两个连通块之间不存在其他边权小于等于它的边,那么自然就最小割啦。代码:#include#include#includeusingnamespacestd;#definemaxn1010#definemaxv1010#
- System.getenv()和System.getProperty() 的区别
一步一台阶
javagetenvgetPropertySystemVMarguments
最近遇到一个需求,服务器实例需要获取当前的环境变量。经过查资料,发现环境变量可以在两个地方设置。一、在系统层面设置环境变量在系统层面设置环境变量,之前我们应该都操作过,以windows系统为例System.getenv()可以获取的在这里设置的变量。二、在java虚拟机层面设置环境变量个人理解,System.getProperty()可以获取在JVM层面的变量,有些变量在JVM启动后,就内置了,如
- 2018-06-15 h5开发记录
superKelly
php加载流程php->html->js+cssphp1.smarty赋值$smarty->assign("loadMsg",array('pic'=>'error','footDesc'=>'ec:'.$res));$smarty->caching=false;2.发起请求$url=Config::getApiActivityUrl().'/activity/anniversary/getGue
- Node.js的学习与简单使用
学习Java的唐唐
前端技术学习javajsnodejs
一、简介1、什么是Node.js简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。2、Node.js有什么用如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个
- Linux修改docker默认存储目录(/var/lib)
weixin_42181142
linuxlinuxdocker
Linux修改docker默认存储目录(/var/lib)1.使用ssh脚本方式#!/bin/bash#设置新目录路径NEW_DATA_ROOT="/new/path/to/docker"#停止Docker服务echo"StoppingDockerservice..."sudosystemctlstopdocker#备份现有数据echo"BackingupexistingDockerdata...
- THINKPHP like between 的array用法
kang1919
TP
if($title!=''){$_where['title']=array('LIKE','%'.$title.'%');}if(''!=$url){$_where['url']=array('LIKE','%'.$url.'%');}if(0<$start_time&&$start_time<$end_time){$_where['create_time']=array('between',ar
- composer手动安装
骑着大象去上班
1、下载下载composer.phar文件官网下载https://getcomposer.org/download/1.8.0/composer.phar或者命令执行php-r"readfile('https://getcomposer.org/installer');"|php然后将composer.phar放在某个文件夹下,比如我的就是D:\wnmp\composer下下载后在composer
- 潜聊django认证模块
给我起把狙
djangopython数据库
潜聊django认证模块一、什么是Django认证模块?Django的认证模块(AuthenticationSystem)主要用于认证(确认用户的身份)和授权(决定用户可以做什么)。这个模块帮助你管理用户的登录、注册、权限等功能。二、认证模块的核心概念用户模型(UserModel):这是用来保存用户信息的一个数据结构,比如用户名、密码、电子邮件等。在Django中,默认的用户模型已经定义好了,我们
- PHP 常用正则表达式大全
小小优化师 anny
正则表达式
$code=preg_replace("/$code=preg_replace("|(.*)|i","",$code);匹配标签及内的正则匹配非汉字字母数字preg_replace("/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/iu","",$filecontent);//hanzi汉字常用正则表达式大全!匹配中文字符的正则表达式:[u4e00-u9fa5]评注:匹配中文还真是个
- clickhouse对比两台机器数据
微亮之海
clickhouse
selectconcat(database,'.',name),total_rowsfromsystem.tableswhereengine='MergeTree'anddatabase!='system'andtotal_rows!=0orderbydatabase,name;两台机器分别跑,导出数据后对比
- 2024春招面试题:Java并发相关知识_threadlocal经典的应 场景就是连接管理
2401_84182824
程序员java面试jvm
//程序运行时,有主线程和垃圾回收线程也在运行。如果超过2个线程在运行,那就说明上面的20个线程还有没执行完的,就需要等待while(Thread.activeCount()>2){Thread.currentThread().getThreadGroup().activeCount();Thread.yield();//交出CPU执行权}System.out.println("number值加了
- 基于ThinkPHP5的旧衣回收小程序——二手交换废物系统的设计与实现
IT实战课堂—x小凡同学
Java毕业设计项目小程序
摘要:随着社会的快速发展和人们生活水平的提高,旧衣物数量迅速增加,传统的旧衣处理方式已难以满足现代社会的需求。为了有效减少资源浪费,提高旧衣物的利用率,本文基于ThinkPHP5框架设计并实现了一款旧衣回收小程序——二手交换废物系统。该系统通过线上平台,实现旧衣物的回收、分类、展示、交换等功能,为用户提供了一种便捷、环保的旧衣处理方式。本文将从系统需求分析、系统设计、系统实现、系统测试与评估等方面
- Github 2024-05-19 php开源项目日报 Top10
老孙正经胡说
githubphp开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-05-19统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量PHP项目10C项目1Laravel:以优雅语法简化Web开发创建周期:4028天开发语言:PHP协议类型:MITLicenseStar数量:30824个Fork数量:10526次关注人数:30824人贡献人数:383人OpenIssues数量:27
- Github 2024-06-23php开源项目日报Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-06-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量PHP项目10JavaScript项目1Laravel:以优雅语法简化Web开发创建周期:4028天开发语言:PHP协议类型:MITLicenseStar数量:30824个Fork数量:10526次关注人数:30824人贡献人数:383人OpenIs
- 分享一个基于微信小程序的智慧校园服务平台(源码、调试、LW、开题、PPT)
计算机源码社
微信小程序微信小程序毕业设计项目计算机毕设源码计算机毕设毕设选题课程设计源码毕业设计答辩
作者:计算机源码社个人简介:本人八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!学习资料、程序开发、技术解答、文档报告如需要源码,可以扫取文章下方二维码联系咨询Java项目微信小程序项目Android项目Python项目PHP项目ASP.NET项目Node.js项目选题推荐项目实战|基
- nginx负载均衡优化和高可用
小bug大问题
架构学习nginx负载均衡运维linux服务器学习
代理和负载均衡的区别代理负责把连接请求直接转发到后台某个web节点负载均衡负责把请求使用某种调度算法分散发布给后台所有web节点1.配置nginx代理服务器lb1lb1:192.168.8.10web1:192.168.8.20web2:192.168.8.30(1)启动lb1,安装nginxyum-yinstallepel-releaseyum-yinstallnginxsystemctlsta
- Java解答 求出e的值
黄小莫
java深度优先开发语言
求出e的值—Java题目详情:测试用例:样例输入10样例输出2.7182818011测试代码(仅供参考):importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intn=in.nextInt();doublex;//定义一个存放阶乘的容器doubles
- gd32 定时器时钟_【GD32F350开发分享二】GD32F350时钟配置,非常重要
weixin_39875675
gd32定时器时钟
/*systemfrequencydefine*/#define__IRC8M(IRC8M_VALUE)/*internal8MHzRCoscillatorfrequency*/#define__HXTAL(HXTAL_VALUE)/*highspeedcrystaloscillatorfrequency*/#define__SYS_OSC_CLK(__IRC8M)/*mainoscillator
- helm2和helm3的区别及helm2的安装使用
Rami
1.从Helm2到Helm3helm是一个k8s应用包管理工具,负责云原生应用的安装部署和生命周期管理2.Helm2两个主要的组件Tiller:helm的服务端,部署在k8s里面的一个pod,通常在kube-system这个名称空间里,主要负责部署helmcharts,管理release,跟k8sAPIserver通信。helmClient:helm的客户端,主要负责从公有或者私有charts仓库
- kubernetes的worker节点删除后重新加入(kubeadm方式)
忍冬行者
k8skubernetes
1.设置操作的节点不可调度及驱逐节点kubectlcordonkubectldrain--delete-local-data--force--ignore-daemonsets2.删除节点kubectldeletenode3.清空节点,清空init配置,需要删除的节点上执行systemctlstopkubeletsystemctlstopdockerrm-rf/var/lib/cni/rm-rf/
- 使用软连接的方式修改Docker数据存储目录
道不贱卖,法不轻传
Dockerdocker运维容器
1、停止正在运行的docker:systemctlstopdocker2、创建文件夹:mkdir/data/docker(/data为新磁盘目录名)3、移动/var/lib/docker/目录到新目录中:mv/var/lib/docker/*/data/docker4、删除/var/lib/docker/目录:rm-rf/var/lib/docker5、软连接/data/docker到/var/l
- 多线程编程之join()方法
周凡杨
javaJOIN多线程编程线程
现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?
Java实现过程如下:
public class T1 implements Runnabl
- java中switch的使用
bingyingao
javaenumbreakcontinue
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
br
- hive having count 不能去重
daizj
hive去重having count计数
hive在使用having count()是,不支持去重计数
hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;
FAILED: SemanticExcep
- WebSphere对JSP的缓存
周凡杨
WAS JSP 缓存
对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。
现服务
- 设计模式总结
朱辉辉33
java设计模式
1.工厂模式
1.1 工厂方法模式 (由一个工厂类管理构造方法)
1.1.1普通工厂模式(一个工厂类中只有一个方法)
1.1.2多工厂模式(一个工厂类中有多个方法)
1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
&n
- 实例:供应商管理报表需求调研报告
老A不折腾
finereport报表系统报表软件信息化选型
引言
随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标
1、通过报表为采购决策提供数据分析与支撑
2、对供应商进行综合评估以及管理,合理管理和
- mysql
林鹤霄
转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html
mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@centos var]# service mysql
- Linux下多线程堆栈查看工具(pstree、ps、pstack)
aigo
linux
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) &n
- html input与textarea 值改变事件
alxw4616
JavaScript
// 文本输入框(input) 文本域(textarea)值改变事件
// onpropertychange(IE) oninput(w3c)
$('input,textarea').on('propertychange input', function(event) {
console.log($(this).val())
});
- String类的基本用法
百合不是茶
String
字符串的用法;
// 根据字节数组创建字符串
byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);
1,length() 获取字符串的长度
&nbs
- JDK1.5 Semaphore实例
bijian1013
javathreadjava多线程Semaphore
Semaphore类
一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
S
- 使用GZip来压缩传输量
bijian1013
javaGZip
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。
PJL Compressi
- 【Java范型三】Java范型详解之范型类型通配符
bit1129
java
定义如下一个简单的范型类,
package com.tom.lang.generics;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value = value;
}
}
- 【Hadoop十二】HDFS常用命令
bit1129
hadoop
1. 修改日志文件查看器
hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml
cat edits.xml
修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志
2. fsimage查看HDFS中的块信息等
&nb
- 怎样区别nginx中rewrite时break和last
ronin47
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
location /
{
proxy_pass http://test;
- java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class CombinationToSum {
/*
第21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,
使其和等
- eclipse svn 帐号密码修改问题
开窍的石头
eclipseSVNsvn帐号密码修改
问题描述:
Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。
解决思路:
删除subclipse记录的帐号、密码信息,重新输入
- [电子商务]传统商务活动与互联网的结合
comsci
电子商务
某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。
如何避免销售量和利润率增加的
- java 解析 properties-使用 Properties-可以指定配置文件路径
cuityang
javaproperties
#mq
xdr.mq.url=tcp://192.168.100.15:61618;
import java.io.IOException;
import java.util.Properties;
public class Test {
String conf = "log4j.properties";
private static final
- Java核心问题集锦
darrenzhu
java基础核心难点
注意,这里的参考文章基本来自Effective Java和jdk源码
1)ConcurrentModificationException
当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是:
1)用listIterator, 它支持在遍历的过程中修改元素,
2)不用listIterator, new一个
- 1分钟学会Markdown语法
dcj3sjt126com
markdown
markdown 简明语法 基本符号
*,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号
空白行表示另起一个段落
`是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签
换行
单一段落( <p>) 用一个空白行
连续两个空格 会变成一个 <br>
连续3个符号,然后是空行
- Gson使用二(GsonBuilder)
eksliang
jsongsonGsonBuilder
转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述
GsonBuilder用来定制java跟json之间的转换格式
二.基本使用
实体测试类:
温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList
gundumw100
android
有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f
- JavaWeb之JSP指令
ihuning
javaweb
要点
JSP指令简介
page指令
include指令
JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP指令的基本语法格式:
<%@ 指令 属性名="
- mac上编译FFmpeg跑ios
啸笑天
ffmpeg
1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
2、安装yasm-1.2.0
curl http://www.tortall.net/projects/yasm
- sql mysql oracle中字符串连接
macroli
oraclesqlmysqlSQL Server
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CON
- Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate
qiaolevip
学习永无止境每天进步一点点git纵观千象
// 报错如下:
$ git pull origin master
fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce
rtificate
// 原因:
由于git最新版默认使用ssl安全验证,但是我们是使用的git未设
- windows命令行设置wifi
surfingll
windowswifi笔记本wifi
还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么
教你命令行设置 笔记本电脑wifi:
1、开启wifi命令
netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456
netsh wlan start hostednetwork
pause
其中pause是等待输入,可以去掉
2、
- Linux(Ubuntu)下安装sysv-rc-conf
wmlJava
linuxubuntusysv-rc-conf
安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
背景知识
sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf
- svn切换环境,重发布应用多了javaee标签前缀
zengshaotao
javaee
更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。
然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出