- snjk
-
y=sin(x)
猜测你不行的问题在于:
y=sin(x)取得的值是小于1的。
而Windows的LineTo等函数参数是整数,会取整,导致你的实际Y值都成0了。
解决方法:
1。定义X,Y都需要double类型。
2。在调用LineTo等函数。先把X,Y的值放大10背或者更高。(X,Y直接*10)
- 真可
-
我就是你所谓牛B框框的那个
不要以为我没做过这种工作,那个截图就是我几年前做过的一个小程序。
你以为我是在说空话?笑话!!
- 大鱼炖火锅
-
一样的画法啊
你怎么画的y=x^2就怎么画y = sin(x)啊
你这么说人并不知道你为什么画不出来,怎么给你解决?
segments什么意思及同义词
segments英 [seɡ"mənts] 美 [seɡ"mənts] n.部分( segment的名词复数 );瓣;[计算机](字符等的)分段;[动物学]节片2023-07-23 04:44:351
如何查看一个表所占用的空间大小
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name="表名"。解释:segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。2023-07-23 04:44:461
检验细胞分类中segments什么意思
尿路有炎症,这个没有疑问,上皮细胞这个没有什么意义的,只有参考价值。血液报告中血红蛋白偏低是有些贫血,中性细胞升高也是炎症的反应。2023-07-23 04:44:561
"满足不同人群的需要"怎么翻译? 英语
satisfy all walks of people补充一下,更确切的可以是satisfy people from all walks of life2023-07-23 04:45:067
-operating segments和business segment的区别
消费群体 企业经理 高德纳澳大利亚研究主管 director 指导者,指挥者,监督人,管理人,主管人;尤指 主管;(工程等的)总监;校长;院长;所长;署长;局长;处长;主任[略作dir.] 理事;董事;经理 conductor 指导者;带领者,向导;指挥人;管理人 research conductor 研究指导人2023-07-23 04:45:252
business segments是什么意思
business segments业务部门2023-07-23 04:45:442
OSI体系结构的处理信息的传输层
第四层是处理信息的传输层。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。理解第4层的另一种方法是,第4层提供端对端的通信管理。像TCP等一些协议非常善于保证通信的可靠性。有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。第五层是会话层这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。第六层是表示层这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。第七层是“一切”。第7层也称作“应用层”。是专门用于应用程序的。应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7层协议。SMTP、DNS和FTP都是第7层协议。2023-07-23 04:45:511
3dmax中connect Edge Segments是什么意思?
用于在修改面板中将2D物体转换为Editable poly编辑模式,在poly模型子物体Edge(边界)级别下,分班对XY轴向上的边进行ConnectEdgeSegments(连接边界段数)这个命令必须要在布局空间使用,以下是cad帮助文件的说明.试过就知道怎么用了,要提醒的是这个命令会自动创建两个层, PV和PH(下面有详细说明),而且得出的是两个块,落在z=0的平面上,如果没找到,可能是和实体重合了(只要光打开pv,ph层就可以看到). “绘图”菜单:“实体”=>“设置”=>“轮廓”命令行: solprof选择对象: 使用对象选择方法是否在单独的图层中显示隐藏的轮廓线? [是(Y)/否(N)]<是>: 输入 y 或 n,或按 ENTER 键是仅生成两个块:一个用于整个选择集的可见直线,另一个用于整个选择集的隐藏线。 生成隐藏线时,实体可以部分或完全隐藏其他实体。 绘制可见轮廓块时使用的线型为 BYLAYER,绘制隐藏轮廓块时使用的线型为 HIDDEN(如果已经加载)。 可见线和隐藏线的块放在按如下命名规则命名的图层上: PV-视口句柄用于可见的轮廓图层 PH-视口句柄用于隐藏的轮廓图层 例如,若在句柄为 4B 的视口中创建轮廓图,包含可见线的块将插入到图层 PV-4B 中,包含隐藏线(如果需要)的块将插入到图层 PH-4B 中。 如果这些图层不存在,该命令将创建它们。 如果这些图层已经存在,块将添加到图层上已经存在的信息中。 注意 要确定视口句柄,请在图纸空间中选择该视口并使用 LIST 命令。 选择一个布局选项卡以便从模型空间转移到图纸空间。 V 不会改变图层的显示;如果只是需要观察刚创建的轮廓线,请关闭包含原实体的图层(通常为当前层)。 否 把所有轮廓线当作可见线,并且为每个选定实体的轮廓线创建一个块。 不管是否被另一实体全部或部分遮挡,都将创建选择集中每一实体的所有轮廓线。 用与原实体同样的线型绘制可见的轮廓块,并且放在一个按“是”选项中描述的命名规则唯一命名的图层上。 注意 如果要删除隐藏线,则相互重叠的实体(共用某些公用部分)将会产生悬垂边。 这是因为,必须在边进入另一实体的点处将这些边断开,以便能把它们区分为可见和隐藏。 在生成轮廓之前对重叠的实体进行合并运算(使用 UNION 命令)可以消除悬垂边。 下一个提示确定使用二维还是三维的对象来表示轮廓的可见线和隐藏线。是否将轮廓线投影到平面? [是(Y)/否(N)]<是>: 输入 y 或 n,或按 ENTER 键是AutoCAD 将用二维对象创建轮廓线。 三维轮廓被投射到一个与观察方向垂直并且通过 UCS 原点的平面上。 通过消除平行于观察方向的线,以及将在侧面观察到的圆弧和圆转换为直线,SOLPROF 可以清理二维轮廓。 否 AutoCAD 将用三维对象创建轮廓线。 下一命令确定是否显示相切边。 相切边是指两个相切面之间的分界边, 它只是一个假想的两面相交并且相切的边。 例如,如果要将方框的边做成圆角,将在圆柱面与方块平面结合的地方创建相切边。 大多数图形应用程序都不显示相切边。2023-07-23 04:46:061
英语语言学 关于音段的问题 sound segments 音段 是什么意思? 在胡壮麟的语言学书
简单来说,就是每个语音单位(元音或辅音等)在语流中所占的时间段。也可以理解为音乐中节奏的“拍子”。实验语音学以语音试验作为手段研究语音,利用电子计算机进行语音分析和合成模拟语音及人的发音器官。把语流分解为无数离散音段,每段的千分之几秒长度分析并计算音素和超音位的特征数据,把运动的语流分析为相对静止的音段,然后把离散的特征数据通过语音合成还原为语流。而有些语音成素,比如英语的重音、汉语的声调,它们是通过音高变化来调节语音的,也就是说超出音段的范围,所以称“超音段”。2023-07-23 04:46:161
OSI七层型的层次结构是什么?
OSI是Open System Interconnect的缩写,意为开放式系统互联参考模型。在OSI出现之前,计算机网络中存在众多的体系结构,其中以IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(Digital Network Architecture)数字网络体系结构最为著名。为了解决不同体系结构的网络的互联问题,国际标准化组织ISO(注意不要与OSI搞混))于1981年制定了开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)。这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presen tation Layer)和应用层(Application Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。OSI 标准制定过程中采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。在OSI中,采用了三级抽象,既体系结构,服务定义,协议规格说明。ISO将整个通信功能划分为七个层次,划分层次的原则是:1、网中各节点都有相同的层次。2、不同节点的同等层次具有相同的功能。3、同一节点能相邻层之间通过接口通信。4、每一层使用下层提供的服务,并向其上层提供服务。5、不同节点的同等层按照协议实现对等层之间的通信。第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。第二层:数据链路层(DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。 数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。 第三层是网络层(Network layer)在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。 如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。网络层协议的代表包括:IP、IPX、RIP、OSPF等。第四层是处理信息的传输层(Transport layer)。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。 传输层协议的代表包括:TCP、UDP、SPX等。第五层是会话层(Session layer)这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。 第六层是表示层(Presentation layer)这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。第七层应用层(Application layer),应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。 通过 OSI 层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机 A 上的应用程序要将信息发送到计算机 B 的应用程序,则计算机 A 中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据被放置在物理网络媒介中并被发送至计算机 B 。计算机 B 的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 B 的应用层。最后,计算机 B 的应用层再将信息传送给应用程序接收端,从而完成通信过程。下面图示说明了这一过程。 OSI 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。这些控制信息包含特殊的请求和说明,它们在对应的 OSI 层间进行交换。每一层数据的头和尾是两个携带控制信息的基本形式。 对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。然而,在对来自上一层数据增加协议头和协议尾,对一个 OSI 层来说并不是必需的。 当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。协议头包含了有关层与层间的通信信息。头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。对于网络层,一个信息单元由第三层的头和数据组成。对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。换句话说,在给定的某一 OSI 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。 例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B ,数据首先传送至应用层。 计算机 A 的应用层通过在数据上添加协议头来和计算机 B 的应用层通信。所形成的信息单元包含协议头、数据、可能还有协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。 计算机 B 中的物理层收到信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取计算机 A 的数据链路层添加的协议头中的控制信息;然后去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至上一层。应用层执行完这些动作后,数据就被传送至计算机 B 中的应用程序,这些数据和计算机 A 的应用程序所发送的完全相同 。 一个 OSI 层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助一 OSI 层与另一计算机系统的对应层进行通信。一个 OSI 模型的特定层通常是与另外三个 OSI 层联系:与之直接相邻的上一层和下一层,还有目标联网计算机系统的对应层。例如,计算机 A 的数据链路层应与其网络层,物理层以及计算机 B 的数据链路层进行通信。2023-07-23 04:46:262
突破性能瓶颈!ElasticSearch百亿级数据检索优化案例
本文中的数据平台已迭代三个版本,从头开始遇到很多常见的难题,终于有片段时间整理一些已完善的文档,在此分享以供所需朋友的。实现参考,少走些弯路,在此篇幅中偏重于ES的优化,目前生产已存储百亿数据,性能良好,关于HBase,Hadoop的设计优化估计有很多文章可以参考,不再赘述。 项目背景:在一业务系统中,部分表每天的数据量过亿,已按天分表,但业务上受限于按天查询,并且DB中只能保留3个月的数据(硬件高配),分库代价较高。 改进版本目标: 谈到优化必须能了解组件的基本原理,才容易找到瓶颈所在,以免走多种弯路,先从ES的基础结构说起(如下图): 一些基本概念: ES依赖一个重要的组件Lucene,关于数据结构的优化通常来说是对Lucene的优化,它是集群的一个存储于检索工作单元,结构如下图: 在Lucene中,分为索引(录入)与检索(查询)两部分,索引部分包含 分词器、过滤器、字符映射器 等,检索部分包含 查询解析器 等。一个Lucene索引包含多个segments,一个segment包含多个文档,每个文档包含多个字段,每个字段经过分词后形成一个或多个term。 通过Luke工具查看ES的lucene文件如下,主要增加了_id 和 _source字段: Lucene 索引文件结构主要的分为:词典、倒排表、正向文件、DocValues等,如下图: Lucene 随机三次磁盘读取比较耗时。其中.fdt文件保存数据值损耗空间大,.tim和.doc则需要SSD存储提高随机读写性能。 另外一个比较消耗性能的是打分流程,不需要则可屏蔽。 关于DocValues: 倒排索引解决从词快速检索到相应文档ID, 但如果需要对结果进行排序、分组、聚合等操作的时候则需要根据文档ID快速找到对应的值。 通过倒排索引代价缺很高:需迭代索引里的每个词项并收集文档的列里面 token。这很慢而且难以扩展:随着词项和文档的数量增加,执行时间也会增加。Solr docs对此的解释如下: 在lucene 4.0版本前通过FieldCache,原理是通过按列逆转倒排表将(field value ->doc)映射变成(doc -> field value)映射,问题为逐步构建时间长并且消耗大量内存,容易造成OOM。 DocValues是一种列存储结构,能快速通过文档ID找到相关需要排序的字段。在ES中,默认开启所有(除了标记需analyzed的字符串字段)字段的doc values,如果不需要对此字段做任何排序等工作,则可关闭以减少资源消耗。 ES中一个索引由一个或多个lucene索引构成,一个lucene索引由一个或多个segment构成,其中segment是最小的检索域。 数据具体被存储到哪个分片上:shard = hash(routing) % number_of_primary_shards 默认情况下 routing参数是文档ID (murmurhash3),可通过 URL中的 _routing 参数指定数据分布在同一个分片中,index和search的时候都需要一致才能找到数据,如果能明确根据_routing进行数据分区,则可减少分片的检索工作,以提高性能。 在我们的案例中,查询字段都是固定的,不提供全文检索功能,这也是几十亿数据能秒级返回的一个大前提: 1、ES仅提供字段的检索,仅存储HBase的Rowkey不存储实际数据。 2、实际数据存储在HBase中,通过Rowkey查询,如下图。 3、提高索引与检索的性能建议,可参考官方文档(如 https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html )。 一些细节优化项官方与其他的一些文章都有描述,在此文章中仅提出一些本案例的重点优化项。 1、批量写入,看每条数据量的大小,一般都是几百到几千。 2、多线程写入,写入线程数一般和机器数相当,可以配多种情况,在测试环境通过Kibana观察性能曲线。 3、增加segments的刷新时间,通过上面的原理知道,segment作为一个最小的检索单元,比如segment有50个,目的需要查10条数据,但需要从50个segment,分别查询10条,共500条记录,再进行排序或者分数比较后,截取最前面的10条,丢弃490条。在我们的案例中将此 "refresh_interval": "-1" ,程序批量写入完成后进行手工刷新(调用相应的API即可)。 4、内存分配方面,很多文章已经提到,给系统50%的内存给Lucene做文件缓存,它任务很繁重,所以ES节点的内存需要比较多(比如每个节点能配置64G以上最好)。 5、磁盘方面配置SSD,机械盘做阵列RAID5 RAID10虽然看上去很快,但是随机IO还是SSD好。 6、 使用自动生成的ID,在我们的案例中使用自定义的KEY,也就是与HBase的ROW KEY,是为了能根据rowkey删除和更新数据,性能下降不是很明显。 7、关于段合并,合并在后台定期执行,比较大的segment需要很长时间才能完成,为了减少对其他操作的影响(如检索),elasticsearch进行阈值限制,默认是20MB/s, 可配置的参数:"indices.store.throttle.max_bytes_per_sec" : "200mb" (根据磁盘性能调整) 合并线程数默认是:Math.max(1, Math.min(4, Runtime.getRuntime().availableProcessors() / 2)),如果是机械磁盘,可以考虑设置为1:index.merge.scheduler.max_thread_count: 1, 在我们的案例中使用SSD,配置了6个合并线程。 1、关闭不需要字段的doc values。 2、尽量使用keyword替代一些long或者int之类,term查询总比range查询好 (参考lucene说明 http://lucene.apache.org/core/7_4_0/core/org/apache/lucene/index/PointValues.html )。 3、关闭不需要查询字段的 _ source 功能,不将此存储仅ES中,以节省磁盘空间。 4、评分消耗资源,如果不需要可使用filter过滤来达到关闭评分功能,score则为0,如果使用constantScoreQuery则score为1。 5、关于分页: (1)from + size: 每分片检索结果数最大为 from + size,假设from = 20, size = 20,则每个分片需要获取 20 x 20 = 400条数据,多个分片的结果在协调节点合并(假设请求的分配数为5,则结果数最大为 400 * 5 = 2000条) 再在内存中排序后然后20条给用户。这种机制导致越往后分页获取的代价越高,达到50000条将面临沉重的代价,默认from + size默认如下: index.max_result_window:10000 (2) search_after: 使用前一个分页记录的最后一条来检索下一个分页记录,在我们的案例中,首先使用from+size,检索出结果后再使用search_after,在页面上我们限制了用户只能跳5页,不能跳到最后一页。 (3) scroll 用于大结果集查询,缺陷是需要维护scroll_id 6、关于排序:我们增加一个long字段,它用于存储时间和ID的组合(通过移位即可),正排与倒排性能相差不明显。 7、关于CPU消耗,检索时如果需要做排序则需要字段对比,消耗CPU比较大,如果有可能尽量分配16cores以上的CPU,具体看业务压力。 8、关于合并被标记删除的记录,我们设置为0表示在合并的时候一定删除被标记的记录,默认应该是大于10%才删除: "merge.policy.expunge_deletes_allowed": "0"。 优化效果评估基于基准测试,如果没有基准测试无法了解是否有性能提升,在这所有的变动前做一次测试会比较好。在我们的案例中: 1、单节点5千万到一亿的数据量测试,检查单点承受能力。 2、集群测试1亿-30亿的数量,磁盘IO/内存/CPU/网络IO消耗如何。 3、随机不同组合条件的检索,在各个数据量情况下表现如何。 4、另外SSD与机械盘在测试中性能差距如何。 性能的测试组合有很多,通常也很花时间,不过作为评测标准时间上的投入有必要,否则生产出现性能问题很难定位或不好改善。对于ES的性能研究花了不少时间,最多的关注点就是lucene的优化,能深入了解lucene原理对优化有很大的帮助。 目前平台稳定运行,百亿的数据查询100条都在3秒内返回,前后翻页很快,如果后续有性能瓶颈,可通过扩展节点分担数据压力。2023-07-23 04:46:541
EDI标准的三要素是什么?
EDI文档由遵循特定的EDI标准格式规范的数据元素(data elements)、段 (segments) 和 信封 (envelopes) 构成。EDI标准的规则准确定义了信息在文档中的位置,以及查找信息的方式。因此,在创建EDI文档时(如,采购订单),必须严格按照EDI标准(ANSI/EDIFACT)的格式规范。这样,当接收方的EDI翻译器读取到传入的EDI采购订单时,就能准确地找到买方公司名称、采购订单号、订购商品以及价格等信息。之后,这些数据将按照接收方系统的格式,直接传入其订单录入系统。以下列采购订单为例,将其转换为ANSI标准和EDIFACT标准的两个EDI文档:按照EDI标准,如采购订单、发货单、提前装船通知,称为“事务集”或“消息”,由数据元素、段和信封构成。数据元素(Data Elements): EDI事务集中独立的信息单元例如,在许多EDI文档形式的采购订单或是发货单中你会看到,如城市、州、国家、品号、数量和价格等这样的数据元素。 数据元素被区分为数字型、文本型和日期型,其定义包含:数据类型 – 数字型、字母型、日期型或时间型最小长度/最大长度可用的代码值一定对应某个数据类型,例如,数据元素是单价,可以用货币符号表示美元、欧元等不同货币类型数据元素(Data Elements)构成段(Segments)段(Segments): 一组相关的数据元素填写采购订单信息时,一定期望看到相关的数据能以组划分,但是,通常情况下,纸质样式的采购订单是以一个整体展现的。 请注意,以下订单被划分成四部分后,每部分都传达了不同的信息:EDI文档的每个部分都用一个特定的段描述,以下是依照ANSI标准,用一组段(segments)对上述采购订单进行了描述,每个段都用ST,BEG,N1之类的段识别符开始,指明随从的数据元素的类型,段中的数据元素之间用 “*”符号分隔。对于任意类型的商业文档,EDI标准文档定义:片段中可能包含的必选的、可选的或是有条件约束的元素每个段可能包含纸质文档中相应的EDI元素,这些元素被定义在标准规范字典里,同样的,每条标准都有相应的字典必要的片段和元素序列片段重复的次数现在,一旦所有的段被收集到一个指定的队列,就形成了一个完整的事务集。之后,事务集被装进信封发送给伙伴。信封(Envelopes)EDI文档传输需要使用三个“信封”存放事务集,分别是事务集信封(消息信封)、组信封和交互信封。我们平时可以用一个信封传送多个纸质商业文档,但是,EDI文档交换需要使用多个信封。每个事务集放在独立的事务集信封中一组事务集(如,一个订单)放在一个组信封中(组信封对于ANSI标准是必须有的,对于EDIFACT标准是可选的)所有的组信封都放置在交互信封中,由发送方传送至接收方如下图所示:在适当的部分,会用一对段标识来指明信封的起始和终止位置。以EDIFACT标准为例,用UNH和UNT段标识指明事务组信封,用UNG和UNE段标识指明组信封,用UNA/B和UNZ段标识指明交互信封。通常情况下,用“S”标注开始,用“E”标注结束。下图以采购订单为例,对事务集信封(消息信封)、组信封和交互信封这三个层次进行了说明。本文由知行软件原创,请尊重原创内容,如需转载本文章,请注明文章原始地址。2023-07-23 04:47:054
用beckhoff怎么编程八段数码管输出?
Beckhoff可以使用PLC编程软件如TwinCAT进行编程,八段数码管可以通过数字量输出模块进行输出。以下是一个简单的示例程序,可以将一个变量的值以十六进制数的形式显示在八段数码管上:PROGRAM ExampleVARValue : UINT; // 要显示的变量HexStr : STRING[8]; // 存储十六进制字符串的变量Segments : ARRAY[1..8] OF BOOL; // 八段数码管的输出信号i : INT;END_VAR// 转换十六进制字符串并设置八段数码管的输出信号HexStr := TONUM_HEX(Value, 8);FOR i := 1 TO 8 DOSegments[i] := (HexStr[i] = "1");END_FOR// 将八段数码管的输出信号连接到数字量输出模块的输出端口// 注意,具体的输出端口需要根据硬件配置进行设置Q1 := Segments[1];Q2 := Segments[2];Q3 := Segments[3];Q4 := Segments[4];Q5 := Segments[5];Q6 := Segments[6];Q7 := Segments[7];Q8 := Segments[8];END_PROGRAM在实际应用中,还需要根据具体硬件和接口协议进行相应的配置和调试。2023-07-23 04:48:001
matlab程序 求解释
如果lower(val_method)这个变量对应的值为"manual",并且segment不是元胞数组,那么就输出那段提示,并且使Model这个变量为空数组,然后函数返回并退出。另外,Matlab的逻辑与运算应该是&&,而不是&。2023-07-23 04:48:091
网络协议中的高低层次是什么?有什么作用
1.OSI参考模型 OSI/RM只给出了计算机网络的一些原则性说明,并不是一个具体的网络。它将整个网络的功能划分成七个层次。层与层之间的联系是通过各层之间的接口来进行的,上层通过接口向下层提出服务请求,而下层通过接口向上层提供服务。两个用户计算机通过网络进行通信时,除物理层之外,其余各对等层之间均不存在直接的通信关系,而是通过各对等层之间的通信协议来进行通信(用虚线连接),只有两物理层之间通过传输介质进行真正的数据通信。 OSI参考模型中各层的主要作用为: 物理层 为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。 数据链路层 负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。 网络层 为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。 传输层 传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。 会话层 该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。 表示层 该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。 应用层 该层直接面向用户,是OSI中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。 TCP/IP协议使用范围极广,是目前异种网络通信使用的唯一协议体系,适用于连接多种机型,既可用于局域网,又可用于广域网,许多厂商的计算机操作系统和网络操作系统产品都采用或含有TCP/IP协议。TCP/IP协议已成为目前事实上的国际标准和工业标准。 TCP/IP也是一个分层的网络协议,不过它与OSI模型所分的层次有所不同。TCP/IP从底至顶分为网络接口层、网际层、传输层、应用层等4个层次。应用层 传输层 网际网层 网络接口层 TCP/IP协议各层功能如下: 网络接口层 这是TCP/IP协议的最低一层,包括有多种逻辑链路控制和媒体访问协议。网络接口层的功能是接收IP数据报并通过特定的网络进行传输,或从网络上接收物理帧,抽取出IP数据报并转交给网际层。 网际网层(IP层) 该层包括以下协议:IP(网际协议)、ICMP(Internet Control Message Protocol,因特网控制报文协议)、ARP(Address Resolution Protocol,地址解析协议)、RARP(Reverse Address Resolution Protocol,反向地址解析协议)。该层负责相同或不同网络中计算机之间的通信,主要处理数据报和路由。在IP层中,ARP协议用于将IP地址转换成物理地址,RARP协议用于将物理地址转换成IP地址,ICMP协议用于报告差错和传送控制信息。IP协议在TCP/IP协议组中处于核心地位。 传输层 该层提供TCP(传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)两个协议,它们都建立在IP协议的基础上,其中TCP提供可靠的面向连接服务,UDP提供简单的无连接服务。传输层提供端到端,即应用程序之间的通信,主要功能是数据格式化、数据确认和丢失重传等。 应用层 TCP/IP协议的应用层相当于OSI模型的会话层、表示层和应用层,它向用户提供一组常用的应用层协议,其中包括:Telnet、SMTP、DNS等。此外,在应用层中还包含有用户应用程序,它们均是建立在TCP/IP协议组之上的专用程序。2023-07-23 04:48:194
eterm中出现EOT SUCCESSFUL, BUT ASR UNUSED FOR 1 OR MORE SEGMENTS 是什么意思?高手翻译下,谢谢?
传输结束字符成功,但是实现在时间中,持续1(或多个段不可用)2023-07-23 04:48:271
keil C中的警告:UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 是因为什么造成的?
这个警告是因为所给的段未被调用,已被排除在覆盖过程之外。keilC中的警告解释:WARNING1:UNSOLVEDEXTERNALSYMBOLS指定模块的外部符号在PUBLIC符号表中找不到WARNING2:REFERENCEMADETOUNSOVEDEXTERNAL访问了未能匹配的外部符号code地址WARNING4:DATASPACEMEMORYOVERLAP数据空间指定范围出现覆盖WARNING5:CODESPACEMEMORYOVERLAP程序空间指定范围出现覆盖WARNING6:XDATASPACEMEMORYOVERLAP外部数据空间指定范围出现覆盖WARNING7:MODULENAMENOTUNIQUE模块名重名。模块未处理WARNING8:MODULENAMEEXPLICITLYREQUESTEDFROMANOTHERFILE其他文件指名要求本模块名WARNING9:EMPTYABSOLUTESEGMENT本模块包含空的绝对段,因未定位,它可能在不通知的情况下随时被覆盖WARNING10:CANNOTDETERMINEROOTSEGMENTL51对输入文件要求分辨是C51还是PL/M文件,然后进行流程分析,在无法确定的时候,发出本警告。它发生在主程序被汇编调用的时候,需要程序员用OVERLAP特殊控制选项进行干预WARNING11:CANNOTFINDSEGMENTORFUNCTIONNAME在目标模块中找不到OVERLAP控制选项中规定的段或者函数间调用WARNING12:NOREFERENCEBETWEENSEGMENTS试图用OVERLAP控制选项删除本来不存在的段间访问或者函数间调用WARNING13:RECURSIVECALLTOSEGMENTCALLER段递归调用SEGMENT段。PL/M51和C51的非重入函数不允许递归调用WARNING14:IMCOMPIABLEMEMORYMODEL指定模块试图与以前不同的存储模式编译WARNING15:MULTICALLTOSEGMENT两个函数调用同一个函数(如主函数和中断函数),参数和局部变量将被覆盖WARNING15:UNCALLEDSEGMENT,IGNOREDFOROVERLAPPROCESS所给的段未被调用,已被排除在覆盖过程之外2023-07-23 04:48:351
ElasticSearch部署架构和容量规划
前面介绍了ElasticSearch原理和使用相关的内容,在生产环境如何比较科学的进行容量规划、部署、调优、排查问题呢,业界和官方也对相关的问题进行总结,我这边也结合自己的经验对这些使用ElasticSearch经常遇到的问题进行了总结。其中主要包括以下三大模块: ElasticSearch有多种类型的节点,在前面概述和核心也已经介绍过了。在这里可以重新回顾下。ElasticSearch的部署节点类型如下: 主节点及其候选节点,负责集群状态(cluster state)的管理 配置项:node.master,默认为true 数据节点,负责数据存储及处理客户端请求 配置项:node.data,默认为true ingest节点,负责数据处理,脚本执行 配置项:node.ingest,默认为true 协调节点 配置项:设置上面三个参数全部为false,那么它就是一个纯协调节点 机器学习节点,收费属于x-pack 在生产环境部署推荐配置整体思路就是:尽量是一个节点只承担一个角色。 因为不同的节点所需要的计算机资源都不一样。职责分离后可以按需扩展互不影响。 资源要求:中高CPU;中高内存;中低磁盘 一般在生产环境中配置3台 一个集群只有1台活跃的主节点,负责分片管理,索引创建,集群管理等操作 资源要求:CPU、内存、磁盘要求都高 资源要求:高配置CPU;中等配置的RAM;低配置的磁盘 资源要求:一般中高CPU;中高内存;低磁盘 协调节点扮演者负载均衡、结果的聚合,在大型的es集群中条件允许可以使用高配的cpu和内存。因为如果客户端发起了深度分页等请求可能会导致oom,这个在之前也有过分析。 注意: 如果和数据节点或者Coordinate节点混合部署,数据节点本来相对有比较大的内存占用。 而Coordinate节点有时候可能会有开销很高的查询导致OOM,这些甚至都有可能影响Master节点,导致集群的不稳定。 搭建一个es集群是由模式可循的。 这是一个基础版的职责分离的部署架构: 但是如果大量的聚合查询等操作,这种架构不太适合了。 当系统中有大量的复杂查询或者聚合时候,我们可增加Coordinating节点,增加查询的性能,这里增加了负载均衡层,通过负载均衡扩展时应用程序无感知。 这样部署部署相互影响,写入多的话,多部署ingetst节点,读的时候聚合查询较多可以多部署协调节点,存储数据量大,可以适当对数据节点进行调优。 我们知道数据有冷热之分,比如写入频繁的日志数据,近期的索引将会频繁写入。es根据数据这些特征引入了hot节点和warm节点。 使用ssd,该节点上的索引不断的有新文档写入和查询,对cpu、io的要求较高。 可以使用HDD,上面的索引不会有写入,查询较少。上面只保存只读索引或者旧索引,使用大容量便宜的机械硬盘。 配置步骤: 针对多机房灾备,ElasticSearch业界有多种不同的通用解决方案: 一个集群中的节点分布在不同的机房 应用程序同时将数据写入两个集群 应用程序先将数据写入消息队列,然后由下游的消费者消费并写入集群 ElasticSearch官方的跨集群复制功能,基于文档操作实现订阅复制 定期将索引备份到外部存储,如hdfs等设备 写请求交给网关,网关实时写入主集群,然后异步写备集群 如下是基于CCR跨集群复制的部署架构,因为篇幅有限,异地多活又是一个很大的话题,其它方案和其细节可以查阅相关资料。 我们知道当es集群的节点数大于索引的分片数时,集群将无法通过水平扩展提升集群的性能。而分片数过多,对于聚合查询以及集群的元数据管理也都有影响。我们可以总结为: 分片数量较多 优点: 缺点: 通常建议一个集群总分片数小于10w。 如何设计分片的数量呢?一个分片保持多大的数据量比较合适呢? 我们需要根据使用场景来设置: 避免使用非常大的分片,因为这会对群集从故障中恢复的能力产生负面影响。而每个分片也会消耗相应的文件句柄,内存和CPU资源,分片太多会互相竞争,影响性能。 主分片数一旦确定就无法更改,只能新建创建并对数据进行重新索引(reindex),虽然reindex会比较耗时,但至少能保证你不会停机。所以我们一定要科学的设计分片数。 这里摘录于官方关于分片大小的建议: 主分片与副本都能处理查询请求,它们的唯一区别在于只有主分片才能处理索引请求。副本对搜索性能非常重要,同时用户也可在任何时候添加或删除副本。额外的副本能给带来更大的容量,更高的呑吐能力及更强的故障恢复能力 3.1.3. 小结 根据实际经验我们稍微总结下: 对于数据量较小(100GB以下)的index 对于数据量较大(100GB以上)的index: 综合考虑整个index的shard数量,如果shard数量(不包括副本)超过50个,就很可能引发拒绝率上升的问题,此时可考虑把该index拆分为多个独立的index,分摊数据量,同时配合routing使用,降低每个查询需要访问的shard数量。 关闭交换分区的方法是: 这里是官方的jvm推荐配置链接: https://www.elastic.co/cn/blog/a-heap-of-trouble es的节点提供查询的时候使用较多的内存来存储查询缓存,es的lucene写入到磁盘也会先缓存在内存中,我们开启设计这个es节点时需要根据每个节点的存储数据量来进行判断。这里有一个流行的推荐比例配置: 示例: 有一个业务的数据量预估实际有1T,我们把副本设置1个,那么es中总数据量为2T。 这里31G表示的是jvm设置不超过32g否则不会使用java的指针压缩优化了。 前面也提到过,数据节点推荐使用ssd 可以考虑: 写入的目标在于增大写入的吞吐量,这里主要从两个方面进行优化: 这里可以针对myindex索引优化的示例: 首先有几个原则我们需要清楚: 我们可以通过health相关的api进行查看 我们可以使用profile api来定位慢查询。 在查询条件中设置profile为true的参数,将会显示查询经历的细节。 其结果为: 这里会返回一个shards列表。其中: 主要包含了如下信息: Profile API让我们清楚地看到查询耗时。提供了有关子查询的详细信息,我们可以清楚地知道在哪个环节查询慢,另外返回的结果中,关于Lucene的详细信息也让我们深入了解到ES是如何执行查询的。 ES记录了两类慢日志: 慢搜索日志 用来记录哪些查询比较慢,每个节点可以设置不同的阈值。 之前我们已经详细分析了ES的搜索由两个阶段组成: 慢搜索日志给出了每个阶段所花费的时间和整个查询内容本身。慢搜索日志可以为查询和取回阶段单独设置以时间为单位的阈值,在定义好每个级别的时间后,通过level决定输出哪个级别的日志。 示例如下 前面参考官方链接: https://www.elastic.co/guide/en/elasticsearch/reference/7.17/index-modules-slowlog.html 如果出现节点占用CPU很高,我们需要知道CPU在运行什么任务,一般通过线程堆栈来查看。 这里有两种方式可以查看哪些线程CPU占用率比较高: 这里推荐使用hot_threads api 通过返回的结果可以看到什么线程占用更高,正在做什么操作。更详细的内容可以参考官网: https://www.elastic.co/guide/en/elasticsearch/reference/7.17/cluster-nodes-hot-threads.html 4.3.2 内存使用率过高 1)缓存类型 首先我们需要了解ES中的缓存类型,缓存主要分成如图所示三大类,如下图所示,一个es节点的内存结构: Node Query Cache(Filter Context) Shard Query Cache(Cache Query的结果) Fielddata Cache Segments Cache (segments FST数据的缓存),为了加速查询,FST永驻堆内内存,无法被GC回收。该部分内存无法设置大小,长期占用50%~70%的堆内存,只能通过delete index,close index以及force-merge index释放内存 ES底层存储采用Lucene(搜索引擎),写入时会根据原始数据的内容,分词,然后生成倒排索引。查询时,先通过查询倒排索引找到数据地址(DocID)),再读取原始数据(行存数据、列存数据)。 但由于Lucene会为原始数据中的每个词都生成倒排索引,数据量较大。所以倒排索引对应的倒排表被存放在磁盘上。 这样如果每次查询都直接读取磁盘上的倒排表,再查询目标关键词,会有很多次磁盘IO,严重影响查询性能。为了解磁盘IO问题,Lucene引入排索引的二级索引FST[Finite State Transducer]。原理上可以理解为前缀树,加速查询 2)节点的内存查看 3)案例分析 如果节点出现了集群整体响应缓慢,也没有特别多的数据读写。但是发现节点在持续进行Full GC。 常见原因: Segments个数过多,导致Full GC 我们可以通过查看ElasticSearch的内存分析命令发现: segments.memory占用很大空间。 解决方案: Field data cache 过大,导致Full GC 我们可以查看ElasticSearch的内存使用,发现fielddata.memory.size占用很大空间。同时,数据不存在写入和更新,也执行过segments merge。 解决方案: 复杂的嵌套聚合,导致集群Full GC 节点响应缓慢,持续进行Full GC。导出Dump分析。发现内存中有大量 bucket对象,查看日志,发现复杂的嵌套聚合 解决方案: 4)断路器 es有多种断路器,我们可以合理使用,避免不合理操作引发的OOM,每个断路器可以指定内存使用的限制。 关于es的断路器使用可以参考官网文档: https://www.elastic.co/cn/blog/improving-node-resiliency-with-the-real-memory-circuit-breaker 在排查es问题时,我们会使用一些常见的命令来分析cpu、io、网络等问题。常见的命令如下 我们这里按照1s的频率输出磁盘信息 如果想查看和进程关联的信息,可以使用pidstat或者iotop。 例如,下面为iotop的输出结果 sar命令可以诊断操作系统内存相关情况。 PS:我们需要关闭内存交换,内存交换会严重损害性能 。 我们知道,操作系统有内核态和用户态,该命令可以输出相关信息 Recv-Q和Send-Q代表该连接在内核中等待发送和接收的数据长度。 如果改数据太多,可能原因为应用程序处理不及时或者对端的数据接收不及时,比如网络拥塞之类 本片文章先介绍了es的部署架构,回顾了es节点类型以及它们的配置方式,也了解了不同类型对硬件的要求不一样。然后总结了几种不同的架构模式,比如基础部署、读写分离、冷热分离、异地多活等架构模式,在生产环境中一般我们推荐读写分离架构模式,如果可以最好加上冷热分离,不过配置可能稍微复杂点。 对于容量规划与调优,首先要明确存储的数据量和使用场景,推荐内存磁盘比为:搜索类比例(1:16),日志类(1:48);比如2T的总数据,搜索如果要保持良好的性能的话,每个节点31*16=496G。每个节点实际有400G的存储空间。那么2T/400G,则需要5个es存储节点,每个节点分片数多少合适,文中也有介绍。副本分片数需要根据我们的容错需求。我们还总结了集群配置和jvm配置相关的优化。 es的使用优化,我们分别总结了写入和查询的优化。写入是其单次数据量、索引refresh、分词等情况都会影响其吞吐量,我们需要根据实际情况来优化。针对于查询,我们可以使用api工具进行分析,分析慢耗时发在在哪一步。当es集群出现异常时,如cpu过高、内存fullgc、卡顿、变红,我们逐一分析了可能的原因和解决办法,同时也介绍了一些常见的诊断工具和监控api。 我们需要先了解es内部运作的原理,这样才能根据实际情况正确的设置集群参数和数据模型,还需要结合实际工作遇到的问题不断的总结经验,才能用好ElasticSearch。2023-07-23 04:48:431
如何重建LOB类型的索引和LOB段
分两种情况,一种是移动普通索引,另一种是移动分区索引。oracle移动普通索引到其他表空间语法:alter index 索引名 rebuild tablespace 其他表空间;oracle移动分区索引到其他表空间语法:alter table 表名 move partition 分区名 tablespace 其他表空间;2023-07-23 04:48:592
我是一个初学者,谁有 c# winform 中用到ini 配置文件的具体例子,发我一份紧用作学习之用,谢谢~
写一个ini的类:using System;using System.Collections;using System.Collections.Specialized;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.InteropServices;using System.IO;using System.Text;namespace Client{ public class Ini { private static string _FileName; //INI文件名 public static string FileName { get { return _FileName; } set { _FileName = value; } } //声明读写INI文件的API函数 [DllImport("kernel32")] private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, byte[] retVal, int size, string filePath); //写INI文件 public static void WriteString(string Section, string Ident, string Value) { if (!WritePrivateProfileString(Section, Ident, Value, _FileName)) { throw (new ApplicationException("写Ini文件出错")); } } //读取INI文件指定 public static string ReadString(string Section, string Ident, string Default) { Byte[] Buffer = new Byte[200]; int bufLen = GetPrivateProfileString(Section, Ident, Default, Buffer, Buffer.GetUpperBound(0), _FileName); //必须设定0(系统默认的代码页)的编码方式,否则无法支持中文 string s = Encoding.GetEncoding(0).GetString(Buffer); s = s.Substring(0, bufLen); s = s.Replace("", ""); return s.Trim(); } //读整数 public static int ReadInteger(string Section, string Ident, int Default) { string intStr = ReadString(Section, Ident, Convert.ToString(Default)); try { return Convert.ToInt32(intStr); } catch (Exception ex) { Console.WriteLine(ex.Message); return Default; } } //写整数 public static void WriteInteger(string Section, string Ident, int Value) { WriteString(Section, Ident, Value.ToString()); } //读布尔 public static bool ReadBool(string Section, string Ident, bool Default) { try { return Convert.ToBoolean(ReadString(Section, Ident, Convert.ToString(Default))); } catch (Exception ex) { Console.WriteLine(ex.Message); return Default; } } //写Bool public static void WriteBool(string Section, string Ident, bool Value) { WriteString(Section, Ident, Convert.ToString(Value)); } //从Ini文件中,将指定的Section名称中的所有Ident添加到列表中 public static void ReadSection(string Section, StringCollection Idents) { Byte[] Buffer = new Byte[16384 * 2]; //Idents.Clear(); int bufLen = GetPrivateProfileString(Section, null, null, Buffer, Buffer.GetUpperBound(0), FileName); //对Section进行解析 GetStringsFromBuffer(Buffer, bufLen, Idents); } private static void GetStringsFromBuffer(Byte[] Buffer, int bufLen, StringCollection Strings) { Strings.Clear(); if (bufLen != 0) { int start = 0; for (int i = 0; i < bufLen; i++) { if ((Buffer[i] == 0) && ((i - start) > 0)) { String s = Encoding.GetEncoding(0).GetString(Buffer, start, i - start); Strings.Add(s); start = i + 1; } } } } //从Ini文件中,读取所有的Sections的名称 public static void ReadSections(StringCollection SectionList) { //Note:必须得用Bytes来实现,StringBuilder只能取到第一个Section byte[] Buffer = new byte[65535]; int bufLen = 0; bufLen = GetPrivateProfileString(null, null, null, Buffer, Buffer.GetUpperBound(0), _FileName); GetStringsFromBuffer(Buffer, bufLen, SectionList); } //读取指定的Section的所有Value到列表中 public static void ReadSectionValues(string Section, NameValueCollection Values) { StringCollection KeyList = new StringCollection(); ReadSection(Section, KeyList); Values.Clear(); foreach (string key in KeyList) { Values.Add(key, ReadString(Section, key, "")); } } /**/ ////读取指定的Section的所有Value到列表中, //public void ReadSectionValues(string Section, NameValueCollection Values,char splitString) //{ string sectionValue; // string[] sectionValueSplit; // StringCollection KeyList = new StringCollection(); // ReadSection(Section, KeyList); // Values.Clear(); // foreach (string key in KeyList) // { // sectionValue=ReadString(Section, key, ""); // sectionValueSplit=sectionValue.Split(splitString); // Values.Add(key, sectionValueSplit[0].ToString(),sectionValueSplit[1].ToString()); // } //} //清除某个Section public static void EraseSection(string Section) { // if (!WritePrivateProfileString(Section, null, null, _FileName)) { throw (new ApplicationException("无法清除Ini文件中的Section")); } } //删除某个Section下的键 public static void DeleteKey(string Section, string Ident) { WritePrivateProfileString(Section, Ident, null, _FileName); } //Note:对于Win9X,来说需要实现UpdateFile方法将缓冲中的数据写入文件 //在Win NT, 2000和XP上,都是直接写文件,没有缓冲,所以,无须实现UpdateFile //执行完对Ini文件的修改之后,应该调用本方法更新缓冲区。 public static void UpdateFile() { WritePrivateProfileString(null, null, null, _FileName); } //检查某个Section下的某个键值是否存在 public static bool ValueExists(string Section, string Ident) { // StringCollection Idents = new StringCollection(); ReadSection(Section, Idents); return Idents.IndexOf(Ident) > -1; } //确保资源的释放 }}读INI文件:Ini.FileName = Application.StartupPath + "\aaaa.ini";要用什么方法可直接调用2023-07-23 04:49:184
最长的英语单词怎么读
按音标分开隔段读,熟练后再整个拼起来读。2023-07-23 04:49:473
EOT SUCCESSFUL, BUT ASR UNUSED FOR 1 OR MORE SEGMENTS
重复订座的意思2023-07-23 04:50:202
Elasticsearch的缓存机制简介
根据名称其实就能理解,这是属于Node级别的缓存。主要用于缓存Filter中的Query结果,基于LRU策略,当缓存满了的情况下,会自动去除一个最近最少被使用的Query Cache。 缓存分为两个级别,第一级是 Query ,第二级是 Segmemt ,就像是 Map<Query, Map<Segment, DocIdSet>> 这种结构一样。 DocIdSet 使用的数据结构是 Bitset 。 indices.queries.cache.size 集群中的每个节点都必须有的静态配置,用来控制用来缓存的内存大小,默认是10%,支持两种格式一种是百分数,代表占节点heap的百分比,另一种则是精确的值,比如512mb。 indices.queries.cache.count 在官方文档并没有写,这是一个节点级别的配置,可以在elasticsearch.yml中配置,控制缓存的总数量。 indices.queries.cache.all_segments 用于是否在所有 Segment 上启用缓存,默认是false,不会对文档数小于100000或者小于整个索引大小的3%的 Segment 进行缓存。 index.queries.cache.enabled 是属于index级别的配置,用来控制是否启用缓存,默认是开启的。 Segment 中文档数大于100000或者大于整个所以大小的3%。 请注意如果想要索引所有段,请设置indices.queries.cache.all_segments 缓存不会失效,而是通过判断文档是否符合 Query 的条件,如果符合条件的话则会将文档加入到 Bitset 中。 主要用于 sort 以及 aggs 的字段。这会把字段的值加载到内存中,以便于快速访问。 field data cache 的构建非常昂贵,因此最好能分配足够的内存以保障它能长时间处于被加载的状态。 indices.fielddata.cache.size 用来控制缓存的大小,支持两种格式,一种是百分数,代表占节点heap的百分比,另一种是精确值,如10gb,默认是无限。 顾名思义,Shard级别的缓存。默认的主要用于缓存size=0的请求, aggs 和 suggestions ,还有就是 hits.total 。 需要注意,每当分片索引refresh的时候,如果数据发生了实际变化,那么缓存就会自动失效。所以呢,refresh时间越长,那么缓存的时间也就越长。缓存采用的也是LRU策略。 index.requests.cache.enable 这个参数用来控制是否启用分片级别的缓存,默认是false 通过url传参方式request_cache=true indices.requests.cache.size 用来控制缓存在 heap 中的大小,默认是1%。 用于缓存新索引的数据,用于缓存新索引的数据,当空间填满之后,会将数据写到磁盘上成为一个新的段。2023-07-23 04:50:291
如何从linux导出oracle数据表
用exp命令,具体用法:1. 获取帮助 exp help=y2. 导出一个完整数据库exp system/manager file=bible_db log=dible_db full=y3. 导出数据库定义而不导出数据exp system/manager file=bible_db log=dible_db full=y rows=n4. 导出一个或一组指定用户所属的全部表、索引和其他对象exp system/manager file=seapark log=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。SET LINESIZE 132SET PAGESIZE 0SET TRIMSPOOL ONSPOOL c:seapark.synSELECT "Create public synonym "||synonym_name||" for "||table_owner||"."||table_name||";"FROM dba_synonymsWHERE table_owner = "SEAPARK" AND owner = "PUBLIC";SPOOL OFF5. 导出一个或多个指定表exp seapark/seapark file=tank log=tank tables=tankexp system/manager file=tank log=tank tables=seapark.tankexp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)6. 估计导出文件的大小全部表总字节数:SELECT sum(bytes) FROM dba_segments WHERE segment_type = "TABLE";seapark用户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = "SEAPARK"AND segment_type = "TABLE";seapark用户下的aquatic_animal表的字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = "SEAPARK"AND segment_type = "TABLE"AND segment_name = "AQUATIC_ANIMAL";7. 导出表数据的子集(oracle8i以上)NT系统:exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruitUNIX系统:exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruit8. 用多个文件分割一个导出文件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G tables=hr.paycheck9. 使用参数文件exp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Export the sample tables used for the Oracle8i Database Administrator"s Bible.file=bible_tableslog=bible_tablestables=(amy.artistamy.booksseapark.checkupseapark.items)10. 增量导出“完全”增量导出(complete),即备份整个数据库 exp system/manager inctype=complete file=990702.dmp“增量型”增量导出(incremental),即备份上一次备份后改变的数据 exp system/manager inctype=incremental file=990702.dmp“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据 exp system/manager inctype=cumulative file=990702.dmp2023-07-23 04:50:511
关于c语言的问题
把你的程序写下来(本文的许多命令或方法同样适用于TC3) 在开始看本文以前,我先说明一下C语言的安装和使用中最应该注意的地方:许多网友在下载Turbo C 2.0和Turbo C++ 3.0后,向我问得最多的是在使用过程中碰到如下问题:1)出现找不到 stdio.h conio.h等include文件;2)出现cos.obj无法连接之类的错误 这些问题是由于没有设置好路径引起的,目前下载的TC2,TC3按安装分类大概有两种版本:一是通过install安装,这类应该已经设置好了路径;二是直接解压后建立TC.EXE的快捷方式,在WINDOWS下双击即可运行(DOS下直接运行TC.EXE),目前国内大多为这种,因此下载使用前请注意路径设置:设置方法为:OPTION->DIRECTORIES:INCLUDE: [TC2/3所在目录]/includeLIB: [TC2/3所在目录]/liboutput输出目录请自己设置一个工作目录,以免混在一起。最后还提醒一点:FILES中的Change dir(改变当前目录)中应设置为当前程序所在目录。一、 Turbo C 2.0的安装和启动 Turbo C 2.0的安装非常简单, 只要将1#盘插入A驱动器中, 在DOS的"A>" 下键入: A>INSTALL 即可, 此时屏幕上显示三种选择: 1. 在硬盘上创造一个新目录来安装整个Turbo C 2.0系统。 2. 对Turbo C 1.5更新版本。这样的安装将保留原来对选择项、颜色和编辑功能键的设置。 3. 为只有两个软盘而无硬盘的系统安装Turbo C 2.0。 这里假定按第一种选择进行安装, 只要在安装过程中按对盘号的提示, 顺序插入各个软盘, 就可以顺利地进行安装, 安装完毕将在C盘根目录下建立一个TC 子目录, TC下还建立了两个了目录LIB和INCLUDE, LIB子目录中存放库文件, INCLUDE子目录中存放所有头文件。运行Turbo C2.0时, 只要在TC 子目录下键入TC并回车即可进入Turbo C 2. 0 集成开发环境。二、 Turbo C 2.0集成开发环境的使用 进入Turbo C 2.0集成开发环境中后, 屏幕上显示: —————————————————————————————— File Edit Run Compile Project Options Debug Break/watch┌————————————Ed i t——————————————┐│ Line 1 Col 1 Insert Indent Tab File Unindent c:NONAME.C ││ ││ ││ ││ ││ ││ ││ ││—————————Message——————————————— ││ ││ │└————————————————————————————┘F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu———————————————————————————————其中顶上一行为Turbo C 2.0 主菜单, 中间窗口为编辑区, 接下来是信息窗口, 最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕, 以后的编程、编译、调试以及运行都将在这个主屏幕中进行。下面详细介绍主菜单的内容。 1.主菜单 主菜单在Turbo C 2.0主屏幕顶上一行, 显示下列内容:File Edit Run Compile Project Options Debug Break/watch 除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母(即大写字母), 就可进入该项的子菜单中。 File (文件)菜单 ----按Alt+F可进入File菜单, 该菜单包括以下内容: .Load (加载)装入一个文件, 可用类似DOS的通配符(如*.C)来进行列表选择。也可装入其它扩展名的文件, 只要给出文件名(或只给路径)即可。该项的热键为F3, 即只要在主菜单中按F3即可进入该项, 而不需要先进入File菜单再选此项。 .Pick (选择) 将最近装入编辑窗口的8个文件列成一个表让用户选择, 选择后将该程序装入编辑区, 并将光标置在上次修改过的地方。其热健为Alt-F3。 .New (新文件) 说明文件是新的, 缺省文件名为NONAME.C, 存盘时可改名。 .Save (存盘) 将编辑区中的文件存盘, 若文件名是NONAME.C时, 将询问是否更改文件名, 其热键为F2。 .Write to (存盘) 可由用户给出文件名将编辑区中的文件存盘, 若该文件已存在, 则询问要不要覆盖。 .Directory (目录) 显示目录及目录中的文件, 并可由用户选择。 .Change dir (改变目录) 显示当前目录, 用户可以改变显示的目录。 .Os shell (暂时退出) 暂时退出Turbo C 2.0到DOS提示符下, 此时可以运行DOS 命令, 若想回到Turbo C 2.0中, 只要在DOS状态下键入EXIT即可。 .Quit (退出) 退出Turbo C 2.0, 返回到DOS操作系统中, 其热键为Alt+X。 说明: 以上各项可用光标键移动色棒进行选择, 回车则执行。也可用每一项的第一个大写字母直接选择。若要退到主菜单或从它的下一级菜单列表框退回均可用Esc键,Turbo C 2.0所有菜单均采用这种方法进行操作, 以下不再说明。 Edit (编辑)菜单---按Alt+E可进入编辑菜单, 若再回车, 则光标出现在编辑窗口, 此时用户可以进行文本编辑。编辑方法基本与wordstar相同, 可用F1键获得有关编辑方法的帮助信息。与编辑有关的功能键如下: F1 获得Turbo C 2.0编辑命令的帮助信息 F5 扩大编辑窗口到整个屏幕 F6 在编辑窗口与信息窗口之间进行切换 F10 从编辑窗口转到主菜单 编辑命令简介: PageUp 向前翻页 PageDn 向后翻页 Home 将光标移到所在行的开始 End 将光标移到所在行的结尾 Ctrl+Y 删除光标所在的一行 Ctrl+T 删除光标所在处的一个词 Ctrl+KB 设置块开始 Ctrl+KK 设置块结尾 Ctrl+KV 块移动 Ctrl+KC 块拷贝 Ctrl+KY 块删除 Ctrl+KR 读文件 Ctrl+KW 存文件 Ctrl+KP 块文件打印 Ctrl+F1 如果光标所在处为Turbo C 2.0库函数, 则获得有关该函数的帮助信息 Ctrl+Q[ 查找Turbo C 2.0双界符的后匹配符 Ctrl+Q] 查找Turbo C 2.0双界符的前匹配符 说明: a. Turbo C 2.0的双界符包括以下几种符号: 花括符 { } 尖括符 < > 圆括符 ( ) 方括符 [ ] 注释符 /* */ 双引号 " 单引号 "" Turbo C 2.0在编辑文件时还有一种功能, 就是能够自动缩进, 即光标定位和上一个非空字符对齐。在编辑窗口中, Ctrl+OL为自动缩进开关的控制键。Run (运行)菜单---按Alt+R可进入Run菜单, 该菜单有以下各项: .Run (运行程序) 运行由Project/Project name项指定的文件名或当前编辑区的文件。如果对上次编译后的源代码未做过修改, 则直接运行到下一个断点(没有断点则运行到结束)。否则先进行编译、连接后才运行, 其热键为Ctrl+F9。 .Program reset (程序重启) 中止当前的调试, 释放分给程序的空间, 其热键为Ctrl+F2。 .Go to cursor (运行到光标处) 调试程序时使用, 选择该项可使程序运行到光标所在行。光标所在行必须为一条可执行语句, 否则提示错误。其热键为F4。 .Trace into (跟踪进入) 在执行一条调用其它用户定义的子函数时, 若用Trace into项, 则执行长条将跟踪到该子函数内部去执行, 其热键为F7。 .Step over (单步执行) 执行当前函数的下一条语句, 即使用户函数调用, 执行长条也不会跟踪进函数内部, 其热键为F8。 .User screen (用户屏幕) 显示程序运行时在屏幕上显示的结果。其热键为Alt+F5。 Compile (编译)菜单---按Alt+C可进入Compile菜单, 该菜单有以下几个内容: .Compile to OBJ (编译生成目标码) 将一个C源文件编译生成.OBJ目标文件, 同时显示生成的文件名。其热键为Alt+F9。 .Make EXE file (生成执行文件) 此命令生成一个.EXE的文件, 并显示生成的.EXE文件名。其中.EXE文件名是下面几项之一。 a. 由Project/Project name说明的项目文件名。 b. 若没有项目文件名, 则由Primary C file说明的源文件。 c. 若以上两项都没有文件名, 则为当前窗口的文件名。 .Link EXE file (连接生成执行文件) 把当前.OBJ文件及库文件连接在一起生成.EXE文件。 .Build all (建立所有文件) 重新编译项目里的所有文件, 并进行装配生成.EXE文件。该命令不作过时检查(上面的几条命令要作过时检查, 即如果目前项目里源文件的日期和时间与目标文件相同或更早, 则拒绝对源文件进行编译)。 .Primary C file (主C文件) 当在该项中指定了主文件后, 在以后的编译中, 如没有项目文件名则编译此项中规定的主C文件, 如果编译中有错误, 则将此文件调入编辑窗口, 不管目前窗口中是不是主C文件。 .Get info 获得有关当前路径、源文件名、源文件字节大小、编译中的错误数目、可用空间等信息。 Project (项目)菜单---按Alt+P可进入Project菜单, 该菜单包括以下内容: .Project name (项目名) 项目名具有.PRJ的扩展名, 其中包括将要编译、连接的文件名。例如有一个程序由file1.c, file2.c, file3.c组成, 要将这3个文件编译装配成一个file.exe的执行文件, 可以先建立一个file.prj的项目文件, 其内容如下: file1.c file2.c file3.c 此时将file.prj放入Project name项中, 以后进行编译时将自动对项目文件中规定的三个源文件分别进行编译。然后连接成file.exe文件。如果其中有些文件已经编译成.OBJ文件, 而又没有修改过, 可直接写上.OBJ扩 展名。此时将不再编译而只进行连接。例如: file1.obj file2.c file3.c 将不对file1.c进行编译, 而直接连接。 说明: 当项目文件中的每个文件无扩展名时, 均按源文件对待, 另外, 其中的文件也可以是库文件, 但必须写上扩展名.LIB。 .Break make on (中止编译) 由用户选择是否在有Warining(警告)、Errors(错误)、Fatal Errors( 致命错误)时或Link(连接)之前退出Make编译。 .Auto dependencies (自动依赖) 当开关置为on, 编译时将检查源文件与对应的.OBJ文件日期和时间, 否则不进行检查。 .Clear project (清除项目文件) 清除Project/Project name中的项目文件名。 .Remove messages (删除信息) 把错误信息从信息窗口中清除掉。 Options (选择菜单) ---按Alt+O可进入Options菜单, 该菜单对初学者来说要谨慎使用。 .Compiler (编译器) 本项选择又有许多子菜单, 可以让用户选择硬件配置、存储模型、调试技术、代码优化、对话信息控制和宏定义。这些子菜单如下: Model 共有Tiny, small, medium, compact, large, huge 六种不同模式可由同户选择。 Define 打开一个宏定义框, 同户可输入宏定义。多重定义可同分号, 赋值可用等号。 Code generation 它又有许多任选项, 这些任选项告诉编译器产生什么样的目标代码。 Calling convention 可选择C或Pascal方式传递参数。 Instruction set 可选择8088/8086或80186/80286指令系列。 Floating point 可选择仿真浮点、数学协处理器浮点或无浮点运算。 Default char type 规定char的类型。 Alignonent 规定地址对准原则。 Merge duplicate strings 作优化用, 将重复的字符串合并在一起。 Standard stack frame 产生一个标准的栈结构。 Test stack overflow 产生一段程序运行时检测堆栈溢出的代码。 Line number 在.OBJ文件中放进行号以供调试时用。 OBJ debug information 在.OBJ文件中产生调试信息。 OptimizationOptimize for 选择是对程序小型化还是对程序速度进行优化处理。 Use register variable 用来选择是否允许使用寄存器变量。 Register optimization 尽可能使用寄存器变量以减少过多的取数操作。 Jump optimization 通过去除多余的跳转和调整循环与开关语句的办法, 压缩代码。 Source Indentifier length 说明标识符有效字符的个数, 默认为32个。 Nested comments 是否允许嵌套注释。 ANSI keywords only 是只允许ANSI关键字还是也允许Turbo C 2.0关键字 Error Error stop after 多少个错误时停止编译, 默认为25个。 Warning stop after 多少个警告错误时停止编译, 默认为100个。 Display warning Portability warning 移植性警告错误。 ANSI Violations 侵犯了ANSI关键字的警告错误。 Common error 常见的警告错误。 Less common error 少见的警告错误。 Names 用于改变段(segment)、 组( group) 和类(class)的名字, 默认值为CODE,DATA,BSS。 .Linker (连接器) 本菜单设置有关连接的选择项, 它有以下内容: Map file menu 选择是否产生.MAP文件。 Initialize segments 是否在连接时初始化没有初始化的段。 Devault libraries 是否在连接其它编译程序产生的目标文件时去寻找其缺省库。 Graphics library 是否连接graphics库中的函数。 Warn duplicate symbols 当有重复符号时产生警告信息。 Stack warinig 是否让连接程序产生No stack的警告信息。 Case-sensitive link 是否区分大、小写字。 .Environment (环境) 本菜单规定是否对某些文件自动存盘及制表键和屏幕大小的设置Message tracking Current file 跟踪在编辑窗口中的文件错误。 All files 跟踪所有文件错误。 Off 不跟踪。 Keep message 编译前是否清除Message窗口中的信息。 Config auto save 选on时, 在Run, Shell或退出集成开发环境之前,如果Turbo C 2.0的配置被改过, 则所做 的改动将存入配置文件中。选off时不存。 Edit auto save 是否在Run或Shell之前, 自动存储编辑的源文件。 Backup file 是否在源文件存盘时产生后备文件(.BAK文件)。 Tab size 设置制表键大小, 默认为8。 Zoomed windows 将现行活动窗口放大到整个屏幕, 其热键为F5。 Screen size 设置屏幕文本大小。 .Directories (路径) 规定编译、连接所需文件的路径, 有下列各项: Include directories 包含文件的路径, 多个子目录用";"分开。 Library directories 库文件路径, 多个子目录用";"分开。 Output directoried 输出文件(.OBJ, .EXE, .MAP文件)的目录。 Turbo C directoried Turbo C 所在的目录。 Pick file name 定义加载的pick文件名, 如不定义则从current pick file中取。 .Arguments (命令行参数) 允许用户使用命令行参数。 .Save options (存储配置) 保存所有选择的编译、连接、调试和项目到配置文件中, 缺省的配置文件为TCCONFIG.TC。 .Retrive options 装入一个配置文件到TC中, TC将使用该文件的选择项。 Debug (调试)菜单---按Alt+D可选择Debug菜单, 该菜单主要用于查错, 它包括以下内容: .Evaluate .Expression 要计算结果的表达式。 .Result 显示表达式的计算结果。 .New value 赋给新值。 .Call stack 该项不可接触。而在Turbo C debuger 时用于检查堆栈情况。 .Find function 在运行Turbo C debugger时用于显示规定的函数。 .Refresh display 如果编辑窗口偶然被用户窗口重写了可用此恢复编辑窗口的内容。 Break/watch (断点及监视表达式)---按Alt+B可进入Break/watch菜单, 该菜单有以下内容: . Add watch 向监视窗口插入一监视表达式。 .Delete watch 从监视窗口中删除当前的监视表达式。 .Edit watch 在监视窗口中编辑一个监视表达式。 .Remove all watches 从监视窗口中删除所有的监视表达式。 .Toggle breakpoint 对光标所在的行设置或清除断点。 . Clear all breakpoints 清除所有断点。 . View next breakpoint 将光标移动到下一个断点处。 三、Turbo C 2.0的配置文件所谓配置文件是包含Turbo C 2.0有关信息的文件, 其中存有编译、连接的选择和路径等信息。可以用下述方法建立Turbo C 2.0的配置: 1. 建立用户自命名的配置文件 可以从Options菜单中选择Options/Save options命令, 将当前集成开发环境的所有配置存入一个由用户命名的配置文件中。下次启动TC时只要在DOS下键入: tc/c <用户命名的配置文件就会按这个配置文件中的内容作为Turbo C 2.0的选择。 2. 若设置Options/Environment/Config auto save 为on, 则退出集成开发环境时, 当前的设置会自动存放到Turbo C 2.0配置文件TCCONFIG.TC中。Turbo C 在启动时会自动寻找这个配置文件。 3. 用TCINST设置Turbo C的有关配置, 并将结果存入TC.EXE中。Turbo C 在启动时, 若没有找到配置文件, 则取TC.EXE中的缺省值。2023-07-23 04:51:011
end-segments什么意思
end-segments结尾段2023-07-23 04:51:272
因特网体系结构包含几个层次?每层实现什么功能?
(1物理层,2数据链路层,3网络层,4传输层,5会话层,6表示层,7应用层)OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。1至4层被认为是低层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。每一层负责一项具体的工作,然后把数据传送到下一层。 第一层是物理层(也即OSI模型中的第一层)在课堂上经常是被忽略的。它看起来似乎很简单。但是,这一层的某些方面有时需要特别留意。物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。甚至一个信鸽也可以被认为是一个1层设备。网络故障的排除经常涉及到1层问题。我们不能忘记用五类线在整个一层楼进行连接的传奇故事。由于办公室的椅子经常从电缆线上压过,导致网络连接出现断断续续的情况。遗憾的是,这种故障是很常见的,而且排除这种故障需要耗费很长时间。 第2层是数据链路层 运行以太网等协议。请记住,我们要使这个问题简单一些。第2层中最重要的是你应该理解网桥是什么。交换机可以看成网桥,人们现在都这样称呼它。网桥都在2层工作,仅关注以太网上的MAC地址。如果你在谈论有关MAC地址、交换机或者网卡和驱动程序,你就是在第2层的范畴。集线器属于第1层的领域,因为它们只是电子设备,没有2层的知识。第2层的相关问题在本网络讲座中有自己的一部分,因此现在先不详细讨论这个问题的细节。现在只需要知道第2层把数据帧转换成二进制位供1层处理就可以了。 第3层是网络层 在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。 如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。 第4层是处理信息的传输层。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。理解第4层的另一种方法是,第4层提供端对端的通信管理。像TCP等一些协议非常善于保证通信的可靠性。有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。 第5层是会话层 这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。 第6层是表示层 这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。 第7层是“一切”。第7层也称作“应用层”,是专门用于应用程序的。应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7层协议。SMTP、DNS和FTP都是7层协议。 学习OSI模型中最重要的事情是它实际代表什么意思。 假如你是一个网络上的操作系统。在1层和2层工作的网卡将通知你什么时候有数据到达。驱动程序处理2层帧的出口,通过它你可以得到一个发亮和闪光的3层数据包(希望是如此)。作为操作系统,你将调用一些常用的应用程序处理3层数据。如果这个数据是从下面发上来的,你知道那是发给你的数据包,或者那是一个广播数据包(除非你同时也是一个路由器,不过,暂时不用担心这个问题)。如果你决定保留这个数据包,你将打开它,并且取出4层数据包。如果它是TCP协议,这个TCP子系统将被调用并打开这个数据包,然后把这个7层数据发送给在目标端口等待的应用程序。这个过程就结束了。 当要对网络上的其它计算机做出回应的时候,每一件事情都以相反的顺序发生。7层应用程序将把数据发送给TCP协议的执行者。然后,TCP协议在这些数据中加入额外的文件头。在这个方向上,数据每前进一步体积都要大一些。TCP协议在IP协议中加入一个合法的TCP字段。然后,IP协议把这个数据包交给以太网。以太网再把这个数据作为一个以太网帧发送给驱动程序。然后,这个数据通过了这个网络。这条线路中的路由器将部分地分解这个数据包以获得3层文件头,以便确定这个数据包应该发送到哪里。如果这个数据包的目的地是本地以太网子网,这个操作系统将代替路由器为计算机进行地址解析,并且把数据直接发送给主机。2023-07-23 04:51:371
桔子的英文怎么写?
问题一:橘子的英文怎么写 orange 问题二:一个桔子的英文怎么写 an orange 问题三:橘子,英文怎么写? 橙子 orange 橘子 tangerines 柑橘类citrus 问题四:桔子用英语怎么写?????? orange 桔子 tangerine 蜜橘 问题五:一些橙色的桔子用英文怎么写 some orange oranges 问题六:橘子用英语怎么说 orange [英][??rind?] [美][??r?nd?,?r-] n.桔子,橙子;[植]桔树;橙色;桔色 adj.橙色的;橘色的;桔红色的 例句 1.And jonas can make the sky orange? 而jonas能使天空变成橙色? 2.Paint an outline with orange marking spray paint. 油漆大纲与橙标记喷漆。 3.Would you like some orange? 你要橘子水吗? 4.An orange light was sighted from an aircraft. 一道橙色的光是短视从飞机。 5.I"m going to have orange juice. 我要喝桔子汁。 6.Would you peel me an orange? 给我剥个橙子行吗? 7.Color it orange, please. 请把它涂成桔黄色。 8.My shirt is orange and white. 我的衬衫是橘黄色和白色的. 9.What are these orange ones? 这些橘色的是什么? 10.Use orange to red for the colors. 使用橙红色,为的色彩。 11.Is an orange house on the corner with 绩an martin av. 圣马丁av角落是橙色的房子。 12.I like orange and apple. 我喜欢桔子和苹果. 13.She"s in orange group? 她是橙色组的? 14.Sweetened beverage of diluted orange juice. 桔子汁稀释过的甜饮料。 15.Why is the orange greenish? 为什么这个橙子绿油油的? 16.Your hair was orange! 你的头发是橙色的! 17.A jaffa orange has ten segments. 以色列的雅法橙有十瓣。 18.Orange is my favourite colour. 桔黄色是我最喜欢的颜色。 19.Drinking a cup of orange? 喝杯橘子汁怎么样? 20.Orange juice is only $2. 橘子汁只售2元。 望采纳哦!! 问题七:一个橘子用英文怎么说 an orange! 一个大橘子是 a big orange... blabla~~~ 问题八:橘子的英文怎么写 orange 问题九:一个桔子的英文怎么写 an orange 问题十:橘子,英文怎么写? 橙子 orange 橘子 tangerines 柑橘类citrus2023-07-23 04:51:441
怎么查看oracle数据库数据量大小?
select round(sum(bytes) / 1024 / 1024 / 1024, 2) || "G" from dba_segments where owner not in ("MDSYS", "OUTLN", "CTXSYS", "OLAPSYS", "HR", "SYSTEM", "EXFSYS", "SCOTT", "DBSNMP", "ORDSYS", "SYSMAN", "OE", "PM", "SH", "XDB", "ORDDATA", "IX", "SYS", "WMSYS")2023-07-23 04:51:547
Oracle怎么查看表的大小?
可用如下语句查看:select round(bytes/1024/1024,2)||"m" from user_segments where segment_name="表名";注意:表名需要用英文大写。如要查询数据库中emp表的大小,用如下语句:selectround(bytes/1024/1024,2)||"m"fromuser_segmentswheresegment_name="emp";查询结果:查询结果代表emp表所占空间大小为0.06m。2023-07-23 04:52:452
如何重建LOB类型的索引和LOB段
当我们想重建LOB类型的索引的时候,就会出现报错,重现如下:create table test ( id int, txt clob ); SQL> select * from user_segments;SEGMENT_NAME PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME BYTES BLOCKS EXTENTS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS BUFFER_POOL-------------------------------------------------------------------------------- ------------------------------ ------------------ ------------------------------ ---------- ---------- ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------------- -----------TEST TABLE USERS 41943040 5120 55 65536 1 2147483645 DEFAULTSYS_IL0000049476C00002$$ LOBINDEX USERS 65536 8 1 65536 1 2147483645 DEFAULTSYS_LOB0000049476C00002$$ LOBSEGMENT USERS 65536 8 1 65536 1 2147483645 DEFAULTalter index SYS_IL0000049476C00002$$ rebuild tablespace users ONLINE NOLOGGINGORA-02327: 无法以数据类型 LOB 的表达式创建索引我们先回忆一下相关知识,以下来自ORACLE 9I&10G编程艺术 lobindex和lobsegment,它们做什么用?创建这些段是为了支持我们的LOB列。我们的实际LOB数据就存储在lobsegment中(确实,LOB数据也有可能存储在表T中,不过稍后讨论ENABLE STORAGE IN ROW子句时还会更详细地说明这个内容)。lobindex用于执行LOB的导航,来找出其中的某些部分。创建一个LOB列时,一般来说,存储在行中的这是一个指针(pointer),或LOB定位器(LOB locator)。我们的应用所获取的就是这个LOB定位器。当请求得到LOB的“12.000~2,000字节”时,将对lobindex使用LOB定位器来找出这些字节存储在哪里,然后再访问lobsegment。可以用lobindex很容易地找到LOB的各个部分。由此说来,可以把LOB想成是一种主/明细关系。 表中的LOB实际上只是指向lobindex,lobindex再指向LOB本身的各个部分。为了得到LOB中的N~M字节,要对表中的指针(LOB定位器)解除引用,遍历lobindex结构来找到所需的数据库(chunk),然后按顺序访问。这使得随机访问LOB的任何部分都能同样迅速,你可以用同样快的速度得到LOB的最前面、中间或最后面的部分,因为无需再从头开始遍历LOB。 ORACLE也说:The LOB index is an internal structure that is strongly associated with the LOB storage. 也就是说不让直接重建 但是我觉得可以明确INDEX是用来确定LOBSEGMENT的位置,如果经常对表中的行进行DML或者对大字段进行DML,我觉得重建还是用必要的。既然是索引就要遵守索引的原则。大量的DML必然使索引的页节点越来越多,深度越来越大,但是其中包含了空闲空间。 ORACLE METALINK 说 Use the ALTER TABLE ... MOVE command which will rebuild the indexes ,也就是使用ALTER TABLE MOVE语句来进行REBUILD索引。 下面就测试一下: 首先理解几个概念,才能了解实验结果:1、IN ROW 默认的这个子句是(ENABLE STORAGE IN ROW),也就是小于4000字节就存储在表段中,如果大于4000字节就存储在lob段中,同时使用LOBINDEX来指定位置,我这里使用DISABLE STORAGE IN ROW,也就是不管多大都存在LOBSEGMENT中。2、CHUNK 表示最小LOGSEGMENT最小的存储单元,而且一个CHUNK只限于一个SEGMENT行使用,如果一个CHUNK设置为32K,你的SEGMENT行只有2K那就要浪费30k。3、CACHE 表示是否把读取写入LOGSEGMENT记录到缓存,默认是NOCACHE,可以是CACHE和CACHE READS,前者读写都保存,后者读保存,写是直接写。而NOCACHE,就是直接读写。下面是我建立表的语句。 CREATE TABLE "PPTEST"."TEST2" ( "ID" NUMBER(*,0), "TXT" CLOB ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" LOB ("TXT") STORE AS ( TABLESPACE "USERS" DISABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))我这里DISABLE STORAGE IN ROW CHUNK 8192,CHUNK是8K。现在我插入数据SQL> insert into test2 2 select * from test;589824 rows inserted 这里有58W多行,计算一下SEGMENTS占用空间。589824*8K=4.5G查看一下:select SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 gb,BLOCKS from user_segments;SYS_IL0000049480C00002$$ LOBINDEX 0.03027343 3968SYS_LOB0000049480C00002$$ LOBSEGMENT 4.54199218 595328TEST2 TABLE 0.01855468 2432确实我们的LOGSEGMENT是4.5G。现在我们收集统计信息,并且对索引进行分析如下:SQL> execute dbms_stats.gather_schema_stats(ownname => "PPTEST",cascade => true);PL/SQL procedure successfully completedanalyze index SYS_IL0000049480C00002$$ validate structure;analyze index SYS_IL0000049480C00002$$ compute statistics;过后查看都没有发现LOGINDEX的结构信息,不知道为何。 但是考虑进行了大量的DML够后进行REBULIDING索引的大小肯定会减少。现在我们来进行REBULDING实验。首先模拟大量删除插入,delete test2;insert into test2select id,txt from (select rownum rn, id, txt from test) where mod(rn, 8) = 0;先全部删除,然后再插入1/8的数据。(过程巨慢)SQL> delete test2;589824 rows deleted查看select SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 gb,BLOCKS from user_segments;SYS_IL0000049480C00002$$ LOBINDEX 0.078125 10240SYS_LOB0000049480C00002$$ LOBSEGMENT 4.60449218 603520TEST2 TABLE 0.01855468 2432索引的块大量增加,占用空间也大量增加,这里我也不太明白为何大量增加。这时其实没有任何数据了。然后进行了插入。SQL> insert into test2 2 select id,txt from (select rownum rn, id, txt from test) where mod(rn, 8) = 0;73728 rows inserted 查看select SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 gb,BLOCKS from user_segments;SYS_IL0000049480C00002$$ LOBINDEX 0.0859375 11264SYS_LOB0000049480C00002$$ LOBSEGMENT 5.10449218 669056TEST2 TABLE 0.01855468 2432其实这个时候数据只是以前的1/8 但是LOGSEGMENT和LOBINDEX 却更大。所以有大量的浪费空间。我们直接重建TEST2表SQL> alter table test2 move tablespace users;查看SYS_IL0000049480C00002$$ LOBINDEX 0.0859375 11264SYS_LOB0000049480C00002$$ LOBSEGMENT 5.10449218 669056TEST2 TABLE 0.00292968 384只是重建了TEST2段使用语句 ALTER TABLE test2 MOVE TABLESPACE users LOB (TXT) STORE AS lobsegment (TABLESPACE users );进行重建重建期间可以看到临时对象如下:4.635 TEMPORARY 0.00061035 804.187 TEMPORARY 0.1328125 174084.611 TEMPORARY 0.00097656 128显然表本身,LOBSEGMENT和LOBINDEX都再重建然后查看SQL> select SEGMENT_NAME,SEGMENT_TYPE,BYTES/1024/1024/1024 gb,BLOCKS from user_segments;SEGMENT_NAME SEGMENT_TYPE GB BLOCKS-------------------------------------------------------------------------------- ------------------ ---------- ----------TEST2 TABLE 0.00292968 384LOBSEGMENT LOBSEGMENT 0.56835937 74496SYS_IL0000049480C00002$$ LOBINDEX 0.00390625 512因为我这里使用 lobsegment所以以前的SYS_LOB0000049480C00002$$ 变为了LOBSEGMENT,可以看到这个时候容量正常了。0.56G刚好是以前的1/8.如果想单独重建会报错。METALINK上记录如下:Explanation-----------The "ALTER TABLE foo MODIFY LOB (lobcol) ..." syntax does not allowfor a change of tablespace ALTER TABLE my_lob MODIFY LOB (a_lob) (TABLESPACE new_tbsp); (TABLESPACE new_tbsp) * ORA-22853: invalid LOB storage option specificationYou have to use the MOVE keyword instead as shown in the examples.结论:1、LOGSEGMENT不会重用HWM以下的空间,所以大量DML会不断增加它的大小。2、进行LOBsegment和LOBINDEX重建很有必要,使用语法如下: ALTER TABLE test2 MOVE TABLESPACE users LOB (TXT) STORE AS lobsegment (TABLESPACE users );必须和表一起重建,单独重建LOBSEGMENT或者LOGINDEX没有办法。2023-07-23 04:53:011
oracle segments by row lock waits 是什么意思
oracle segments by row lock waits 是按行锁定等待的Oracle段的意思2023-07-23 04:53:081
oracle下查看表、索引、分区表用空间大小
0、查看用户表、索引、分区表占用空间 select segment_name, sum(bytes)/1024/1024 Mbytese from user_segments group by segment_name; 1、表占用空间 select segment_name, sum(bytes)/1024/1024 Mbytese from user_segments where segment_type="TABLE" group by segment_name; 2、索引占用空间select segment_name ,sum(bytes)/1024/1024 from user_segments where segment_type ="INDEX" group by segment_name; 3、分区表TABLE PARTITION占用空间 select segment_name,sum(bytes)/1024/1024 Mbytes from user_segments where segment_type="TABLE PARTITION" group by segment_name;2023-07-23 04:53:151
could not temporarily connect to one or more segments怎么办
h2023-07-23 04:53:322
Oracle数据库导出时提示ora-24324错误
那就要针对情况具体分析,一般可参考如下方法:1. 获取帮助exp help=y2. 导出一个完整数据库exp system/manager file=bible_db log=dible_db full=y3. 导出数据库定义而不导出数据exp system/manager file=bible_db log=dible_db full=y rows=n4. 导出一个或一组指定用户所属的全部表、索引和其他对象exp system/manager file=seapark log=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。SET LINESIZE 132SET PAGESIZE 0SET TRIMSPOOL ONSPOOL c:seapark.synSELECT "Create public synonym "||synonym_name||" for"||table_owner||"."||table_name||";" FROM dba_synonyms WHERE table_owner = "SEAPARK" AND owner = "PUBLIC";SPOOL OFF5. 导出一个或多个指定表exp seapark/seapark file=tank log=tank tables=tankexp system/manager file=tank log=tank tables=seapark.tankexp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)6. 估计导出文件的大小全部表总字节数:SELECT sum(bytes) FROM dba_segments WHERE segment_type = "TABLE";seapark用户所属表的总字节数:SELECT sum(bytes) FROM dba_segments WHERE owner = "SEAPARK" AND segment_type = "TABLE";seapark用户下的aquatic_animal表的字节数:SELECT sum(bytes) FROM dba_segments WHERE owner = "SEAPARK" AND segment_type = "TABLE" AND segment_name = "AQUATIC_ANIMAL";7. 导出表数据的子集(oracle8i以上)NT系统:exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruitUNIX系统:exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruit8. 用多个文件分割一个导出文件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G tables=hr.paycheck9. 使用参数文件exp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Export the sample tables used for the Oracle8i Database Administrator"s Bible.file=bible_tableslog=bible_tablestables=(amy.artistamy.booksseapark.checkupseapark.items)10. 增量导出“完全”增量导出(complete),即备份整个数据库exp system/manager inctype=complete file=990702.dmp“增量型”增量导出(incremental),即备份上一次备份后改变的数据exp system/manager inctype=incremental file=990702.dmp“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据exp system/manager inctype=cumulative file=990702.dmp2023-07-23 04:53:471
hl7中的7是什么意思
hl7中的7是OSI模型的第七层。HL7作为标准它是开放系统互联(OSI)七层协议第七层(应用层)的协议。Hl7是作为规范各医疗机构之间,医疗机构与病人、医疗事业行政单位、保险单位以及其它单位之间各种不同信息系统之间进行医疗数据传递的标准。HL7目标:1、HL7标准应该支持各种技术环境下的数据交换,同时也应支持各种编程语言和操作系统,以及支持各种通讯环境。2、同时支持单数据流和多数据流两种通讯方式。3、最大限度的兼容性,预留了供不同使用者 使用的特殊的表、编码定义、和消息段(如:HL7的Z-segments)。4、标准必须具有可扩展性,以支持新的要求,这包括协议本身的扩展及与现有系统和新 系统的兼容。5、标准应该是在充分参考现有的产品通讯协议基础上,被广泛接受的工业标准。6、HL7的长期目标就是制定一种用于医疗机构电子数据交换的标准或协议。标准背景:第七层是国际标准组织(ISO)的开放式系统互联(OSI)模型的最高层。这不是说HL7与ISO定义的OSI的第七层原理完全一致。而且,HL7也没有指定一套ISO批准的规范,以便占领HL7抽象消息规范作用的1-6层。但是HL7符合位于OSI模型的第7层内的这种从应用端到应用端接口的概念定义。2023-07-23 04:53:541
shell编程实现多层管道
我提供编程。2023-07-23 04:54:142
customer segment是什么意思啊
消费者划分2023-07-23 04:54:355
masm,link,debug,debug2000,cv,td的入口参数
masm: Usage: masm /options source(.asm),[out(.obj)],[list(.lst)],[cref(.crf)][;] /a Alphabetize segments /b<number> Set I/O buffer size, 1-63 (in 1K blocks) /c Generate cross-reference /d Generate pass 1 listing /D<sym>[=<val>] Define symbol /e Emulate floating point instructions and IEEE format /I<path> Search directory for include files /l[a] Generate listing, a-list all /M{lxu} Preserve case of labels: l-All, x-Globals, u-Uppercase Globals /n Suppress symbol tables in listing /p Check for pure code /s Order segments sequentially /t Suppress messages for successful assembly /v Display extra source statistics /w{012} Set warning level: 0-None, 1-Serious, 2-Advisory /X List false conditionals /z Display source line for each error message /Zi Generate symbolic information for CodeView /Zd Generate line-number information =========================================================== link: Microsoft (R) Overlay Linker Version 3.60 Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Valid options are: /BATCH /CODEVIEW /CPARMAXALLOC /DOSSEG /DSALLOCATE /EXEPACK /FARCALLTRANSLATION /HELP /HIGH /INFORMATION /LINENUMBERS /MAP /NODEFAULTLIBRARYSEARCH /NOFARCALLTRANSLATION /NOGROUPASSOCIATION /NOIGNORECASE /NOPACKCODE /OVERLAYINTERRUPT /PACKCODE /PAUSE /QUICKLIBRARY /SEGMENTS /STACK =========================================================== debug: Runs Debug, a program testing and editing tool. DEBUG [[drive:][path]filename [testfile-parameters]] [drive:][path]filename Specifies the file you want to test. testfile-parameters Specifies command-line information required by the file you want to test. After Debug starts, type ? to display a list of debugging commands.============================================================用下面的命令弄出来的,应该够了吧?masm/helplink/helpdebug/?2023-07-23 04:54:511
求救 KEIL C编译后报警:*** WARNING L19: COMMON CODE SEGMENTS LOCATED TO BANKED AREA
有些需要被多个bank调用的公共代码段被你分配到某个bank中去了。你的应用是分bank的吧。注意公共部分代码段只能放在bank0里面,否则等你跑到bank2里面的时候发现要调用bank3的函数那就欲哭无泪了……2023-07-23 04:54:582
下载什么软件可以在手机上看工程图纸
手机cad怎么下载2023-07-23 04:55:104
请问EXE文件头中都有什么
有一个标记,表示自己是exe文件还有对于系统有哪些要求具体的我也不懂,还没学呢2023-07-23 04:56:182
oracle user segments 什么时候更新
1、last_ddl_time是改变对象权限或结构时才会进行更新,而仅改变数据是无法更新的,所以你的方法不准确。2、这种只有通过查看网页的修改数据代码进行寻找数据存放的位置。希望采纳~2023-07-23 04:56:401
Oracle10g exp导出某个用户下的所有对象和数据该怎么写
导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y导出数据库定义而不导出数据 exp system/manager file=bible_db log=dible_db full=y rows=n 导出一个或一组指定用户所属的全部表、索引和其他对象 exp system/manager file=seapark log=seapark owner=seapark exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold) 注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。 SET LINESIZE 132 SET PAGESIZE 0 SET TRIMSPOOL ON SPOOL c:seapark.syn SELECT "Create public synonym "||synonym_name ||" for "||table_owner||"."||table_name||";" FROM dba_synonyms WHERE table_owner = "SEAPARK" AND owner = "PUBLIC"; SPOOL OFF 导出一个或多个指定表 exp seapark/seapark file=tank log=tank tables=tank exp system/manager file=tank log=tank tables=seapark.tank exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist) 估计导出文件的大小 全部表总字节数: SELECT sum(bytes) FROM dba_segments WHERE segment_type = "TABLE"; seapark用户所属表的总字节数: SELECT sum(bytes) FROM dba_segments WHERE owner = "SEAPARK" AND segment_type = "TABLE"; seapark用户下的aquatic_animal表的字节数: SELECT sum(bytes) FROM dba_segments WHERE owner = "SEAPARK" AND segment_type = "TABLE" AND segment_name = "AQUATIC_ANIMAL";导出表数据的子集(oracle8i以上) NT系统: exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruit UNIX系统: exp system/manager query="Where salad_type="FRUIT"" tables=amy.salad_type file=fruit log=fruit用多个文件分割一个导出文件 exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G tables=hr.paycheck使用参数文件 exp system/manager parfile=bible_tables.par bible_tables.par参数文件: #Export the sample tables used for the Oracle8i Database Administrator"s Bible. file=bible_tables log=bible_tables tables=( amy.artist amy.books seapark.checkup seapark.items )增量导出 “完全”增量导出(complete),即备份整个数据库 exp system/manager inctype=complete file=990702.dmp “增量型”增量导出(incremental),即备份上一次备份后改变的数据 exp system/manager inctype=incremental file=990702.dmp “累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据 exp system/manager inctype=cumulative file=990702.dmp 导出某个用户所拥有的数据库表:exp 用户名/密码 file=存放位置存放文件名.dmp log=存放位置存放文件名.log owner=拥有者用户名2023-07-23 04:57:511
求大大帮忙翻译下 意思要顺畅一些
找我帮你写,,,,,,,,,,,2023-07-23 04:58:062
no segments* file found in org.apache.lucene.store.FSDirectory@
writer = new IndexWriter(DIR, new StandardAnalyzer(), false);writer = new IndexWriter(DIR, new StandardAnalyzer(), true);在索引没有建立前,使用增量索引时,会发生这个异常在索引建立时使用writer = new IndexWriter(DIR, new StandardAnalyzer(), true);以后使用writer = new IndexWriter(DIR, new StandardAnalyzer(), false);2023-07-23 04:58:141
关于linux中ipcs -q 消息的问题
都是通过ftok()函数来获取id的2023-07-23 04:58:223
新乐学眼镜戴上有紫影
不适应。新乐学眼镜戴上有紫影是因为刚配好眼镜刚刚戴上,所以还不太适应,经过一段时间的适应之后紫影就会消失。新乐学镜片承载着“多区正向光学离焦”(Defocus Incorported Multiple Segments—DIMS)技术,像普通的单焦点镜一样易于安装,对镜框的选择没有限制。2023-07-23 04:59:101
价值主张的11要素包括?
价值主张( Value Proposition):即公司通过其产品和服务所能向消费者提供的价值。价值主张确认了公司对消费者的实用意义。消费者目标群体( TargetCustomer Segments):即公司所瞄准的消费者群体。这些群体具有某些共性,从而使公司能够(针对这些共性)创造价值。定义消费者群体的过程也被称为市场划分( MarketSegmentation)。分销渠道( Distribution channels):即公司用来接触消费者的各种途径。这里阐述了公司如何开拓市场。它涉及到公司的市场和分销策略。客户关系( Customer Relationships):即公司同其消费者群体之间所建立的联系。我们所说的客户关系管理( Customer RelationshipManagement):即与此相关。价值配置( Value Configurations):即资源和活动的配置。核心能力( Core Capabilities):即公司执行其商业模式所需的能力和资格。价值链( Valuechain):为了向客户提供产品和服务的价值,相互之间具有关联性的,支持性活动。成本结构( Cost structure):即所使用的工具和方法的货币描述。收入模型( RevenueMode):即公司通过各种收入流( Revenueflow)来创造财富的途径。裂变模式( BusinessNameconsumer):也即BNC模式,公司商业模式转变的方式、转变的方向。供参考。2023-07-23 04:59:184
oracle 查询语句 第一次执行很快,第二次执行就很慢 。是什么原因
贴出你的查询!2023-07-23 04:59:295