vic

阅读 / 问答 / 标签

NVIDIA Virtual Audio Device (Wave Extensible) (WDM)是什么?!!

NVIDIA虚拟音频设备(波扩展)这是你装显卡驱动时安装上来的,显卡驱动安装时可不选此程序。虚拟设备,实际上就是不存在的。如果你的声卡不能够驱动,而有些程序运行的必要条件是必须有相应的设备进行音频输出(如果此类程序无法找到相应的设备的话,就会异常退出),在这种情况下,你当然会需要用到虚拟音频设备。当你的音频驱动(第二个)不能用时,虚拟音频设备就可启用。没有音频输出设备就会退出的程序很少,虚拟音频设备可以卸载。

电脑开机出现boot device not found.please install an oper

木有启动项啊。设置成从硬盘启动系统,进入bios设置下

java如何调用webservice接口

http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html有几种方法

如何调用webservice接口

什么语言啊?一般来说就是访问webservice的网址就行了啊

Victor Lewis-Smith的《Scoop》 歌词

歌曲名:Scoop歌手:Victor Lewis-Smith专辑:Tested On Humans For IrritancyScoop!作词:大森祥子 作曲&编曲:SONIC DOVE歌:川澄绫子 能登麻美子by shin_soma前髪1ミリ切り过ぎちゃったし...寄り道してたら迷子になったし...溜め息の卵たちは无数に生まれるけれど睫毛はくるんってちゃんとキマッたし!ネイルはバシッて绮丽に涂れたし!それだけで100のダメもフツウにチャラになっちゃう笑颜がふっと こぼれてくる嬉しいとか 楽しいとか敏感に感じていたいじゃない?「幸せ」って思うたびにもっともっとハッピー増えるからニュースにさえならないようなささやかなScoopをキャッチしてにっこりできちゃう私単纯过ぎてもね 绝対 ま~る!ゆるめの指轮気づけば消えたし...煮込んだシチュー煮诘まって焦げたし...どうしてって泣きたくなる失败绝えないけれどしおれかけた花かれんに咲いたし!子犬は“お手”ってやっと覚えたし!2℃くらい胸の奥があったまる出来事もあるだからバランス とれてるかなありがとうとか おめでとうとか一度でも多く言いたいじゃない?幸せって难しい颜していたらきっと远ざかるから世界中が见落とすようなちっぽけなScoopをキャッチしてほのぼの送る毎日平凡过ぎてもねやっばり ま~る!嬉しいとか 楽しいとか敏感に感じていたいじゃない?「幸せ」って思うたびにもっともっとハッピー増えるからニュースにさえならないようなささやかなScoopをキャッチしてにっこりできちゃう私単纯过ぎてもね绝対 ま~る!http://music.baidu.com/song/2933428

quake-hit victims什么意思

quake-hit victims地震袭击的受害者-----------------------------------如有疑问欢迎追问!满意请点击右上方【选为满意回答】按钮

【BLE】Nordic Softdevice命名规则

Softdevice命名规则一: Softdevice包括两种底层协议栈:BLE和ANT。BLE包括两种角色:central(又称master)和peripheral(又称slave),为此需要给这些不同类型的协议栈进行命名区分。协议栈命名格式为Sxyz,其中 x – 表示协议栈的类型,1表示BLE协议栈,2表示ANT协议栈,3表示同时支持BLE和ANT y – 表示BLE角色,1表示从设备,2表示主设备,3表示同时支持主设备和从设备 z – 表示芯片类型,0表示nRF51系列,2表示nRF52系列 比如S110,表示只支持从设备模式的nRF51 BLE协议栈 比如S130,表示既支持从设备模式又支持主设备模式的nRF51 BLE协议栈 比如S132,表示既支持从设备模式又支持主设备模式的nRF52 BLE协议栈 比如S212,表示nRF52 ANT协议栈 比如S332,表示nRF52既支持BLE协议栈又支持ANT协议栈,而且BLE协议栈既支持从设备模式又支持主设备模式 Softdevice命名规则二: 大体上跟命名规则1相同,但是协议栈编号最后2位跟芯片型号一样,比如S140,代表这个协议栈专门用于nRF52840。

每次开机都会出现adobe desktop service想使用本地项目钥匙串

清理启动项:方法一、1、按住键盘上微软徽标键的同时,按下 R 键,就会弹出”运行“的界面,输入”msconfig“点击确定;2、进入”系统配置“的界面后,选择”启动“选项卡,将不需要开机启动的软件前面的勾取消,然后点击确定;方法二、使用电脑管家清理启动项。1、点击“启动项”2、禁用不必要的启动项即可。

protocol buffer的service接口生成问题

什么是protocol bufferProtocolBuffer是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。1.2 他们如何工作你首先需要在一个 .proto 文件中定义你需要做串行化的数据结构信息。每个ProtocolBuffer信息是一小段逻辑记录,包含一系列的键值对。这里有个非常简单的 .proto 文件定义了个人信息:message Person { required string name=1; required int32 id=2; optional string email=3; enum PhoneType { MOBILE=0; HOME=1; WORK=2; } message PhoneNumber { required string number=1; optional PhoneType type=2 [default=HOME]; } repeated PhoneNumber phone=4;}有如你所见,消息格式很简单,每个消息类型拥有一个或多个特定的数字字段,每个字段拥有一个名字和一个值类型。值类型可以是数字(整数或浮点)、布尔型、字符串、原始字节或者其他ProtocolBuffer类型,还允许数据结构的分级。你可以指定可选字段,必选字段和重复字段。你可以在( gle.com/apis/protocolbuffers/docs/proto.html )找到更多关于如何编写 .proto 文件的信息。一旦你定义了自己的报文格式(message),你就可以运行ProtocolBuffer编译器,将你的 .proto 文件编译成特定语言的类。这些类提供了简单的方法访问每个字段(像是 query() 和 set_query() ),像是访问类的方法一样将结构串行化或反串行化。例如你可以选择C++语言,运行编译如上的协议文件生成类叫做 Person 。随后你就可以在应用中使用这个类来串行化的读取报文信息。你可以这么写代码:Person person;person.set_name("John Doe");person.set_id(1234);person.set_email("jdoe@example.com");fstream.output("myfile",ios::out | ios::binary);person.SerializeToOstream(&output);然后,你可以读取报文中的数据:fstream input("myfile",ios::in | ios:binary);Person person;person.ParseFromIstream(&input);cout << "Name: " << person.name() << endl;cout << "E-mail: " << person.email() << endl;你可以在不影响向后兼容的情况下随意给数据结构增加字段,旧有的数据会忽略新的字段。所以如果使用ProtocolBuffer作为通信协议,你可以无须担心破坏现有代码的情况下扩展协议。你可以在API参考( oogle.com/apis/protocolbuffers/docs/reference/overview.html )中找到完整的参考,而关于ProtocolBuffer的报文格式编码则可以在( .google.com/apis/protocolbuffers/docs/encoding.html )中找到。1.3 为什么不用XML?ProtocolBuffer拥有多项比XML更高级的串行化结构数据的特性,ProtocolBuffer:更简单小3-10倍快20-100倍更少的歧义可以方便的生成数据存取类例如,让我们看看如何在XML中建模Person的name和email字段:<person> <name>John Doe</name> <email>jdoe@example.com</email></person>对应的ProtocolBuffer报文则如下:#ProtocolBuffer的文本表示#这不是正常时使用的二进制数据person { name: "John Doe" email: "jdoe@example.com"}当这个报文编码到ProtocolBuffer的二进制格式( .google.com/apis/protocolbuffers/docs/encoding.html )时(上面的文本仅用于调试和编辑),它只需要28字节和100-200ns的解析时间。而XML的版本需要69字节(除去空白)和 5000-10000ns的解析时间。当然,操作ProtocolBuffer也很简单:cout << "Name: " << person.name() << endl;cout << "E-mail: " << person.email() << endl;而XML的你需要:cout << "Name: " << person.getElementsByTagName("name")->item(0)->innerText() << endl;cout << "E-mail: " << person.getElementsByTagName("email")->item(0)->innerText() << end;当然,ProtocolBuffer并不是在任何时候都比XML更合适,例如ProtocolBuffer无法对一个基于标记文本的文档建模,因为你根本没法方便的在文本中插入结构。另外,XML是便于人类阅读和编辑的,而ProtocolBuffer则不是。还有XML是自解释的,而 ProtocolBuffer仅在你拥有报文格式定义的 .proto 文件时才有意义。1.4 听起来像是为我的解决方案,如何开始?下 er编译器,用于生成你需要的IO类。构建和安装你的编译器,跟随README的指令就可以做到。一旦你安装好了,就可以跟着编程指导( ogle.com/apis/protocolbuffers/docs/tutorials.html )来选择语言-随后就是使用ProtocolBuffer创建一个简单的应用了。1.5 一点历史ProtocolBuffer最初是在Google开发的,用以解决索引服务器的请求、响应协议。在使用ProtocolBuffer之前,有一种格式用以处理请求和响应数据的编码和解码,并且支持多种版本的协议。而这最终导致了丑陋的代码,有如:if (version==3) { ...}else if (version>4) { if (version==5) { ... } ...}通信协议因此变得越来越复杂,因为开发者必须确保,发出请求的人和接受请求的人必须同时兼容,并且在一方开始使用新协议时,另外一方也要可以接受。ProtocolBuffer设计用于解决这一类问题:很方便引入新字段,而中间服务器可以忽略这些字段,直接传递过去而无需理解所有的字段。格式可以自描述,并且可以在多种语言中使用(C++、Java等)然而用户仍然需要手写解析代码。随着系统的演化,他需要一些其他的功能:自动生成编码和解码代码,而无需自己编写解析器。除了用于简短的RPC(Remote Procedure Call)请求,人们使用ProtocolBuffer来做数据存储格式(例如BitTable)。RPC服务器接口可以作为 .proto 文件来描述,而通过ProtocolBuffer的编译器生成存根(stub)类供用户实现服务器接口。ProtocolBuffer现在已经是Google的混合语言数据标准了,现在已经正在使用的有超过48,162种报文格式定义和超过 12,183个 .proto 文件。他们用于RPC系统和持续数据存储系统。2 语言指导本指导描述了如何使用ProtocolBuffer语言来定义结构化数据类型,包括 .proto 文件的语法和如何生成存取类。这是一份指导手册,一步步的例子使用文档中的多种功能,查看入门指导( m/apis/protocolbuffers/docs/tutorials.html )选择你的语言。2.1 定义一个消息类型@waiting …2.2 值类型@waiting …2.3 可选字段与缺省值@waiting …2.4 枚举@waiting …2.5 使用其他消息类型@waiting …2.6 嵌套类型@waiting …2.7 更新一个数据类型@waiting …2.8 扩展@waiting …2.9 包@waiting …2.10 定义服务@waiting …2.11 选项@waiting …2.12 生成你的类@waiting …3 代码风格指导本文档提供了 .proto 文件的代码风格指导。按照惯例,你将会,你将会生成一些便于阅读和一致的ProtocolBuffer定义文件。3.1 消息与字段名使用骆驼风格的大小写命名,即单词首字母大写,来做消息名。使用GNU的全部小写,使用下划线分隔的方式定义字段名:message SongServerRequest { required string song_name=1;}使用这种命名方式得到的名字如下:C++: const string& song_name() {...} void set_song_name(const string& x) {...}Java: public String getSongName() {...} public Builder setSongName(String v) {...}3.2 枚举使用骆驼风格做枚举名,而用全部大写做值的名字:enum Foo { FIRST_VALUE=1; SECOND_VALUE=2;}每个枚举值最后以分号结尾,而不是逗号。3.3 服务如果你的 .proto 文件定义了RPC服务,你可以使用骆驼风格:service FooService { rpc GetSomething(FooRequest) returns (FooResponse);}4 编码本文档描述了ProtocolBuffer的串行化二进制数据格式定义。你如果仅仅是在应用中使用ProtocolBuffer,并不需要知道这些,但是这些会对你定义高效的格式有所帮助。4.1 一个简单的消息@waiting …4.2 基于128的Varints@waiting …4.3 消息结构@waiting …4.4 更多的值类型@waiting …4.5 内嵌消息@waiting …4.6 可选的和重复的元素@waiting …4.7 字段顺序@waiting …5 ProtocolBuffer基础:C++@waiting …6 ProtocolBuffer基础:Java@waiting …7

mysql数据库管理工具navicat for mysql怎么用

Navicat for MySQL是一款可视化操作Mysql数据库的软件,界面简单,方便使用。1、使用Navicat for MySQL之前当然先下载该软件,可以通过百度搜索查找 Navicat for MySQL。请认准百度安全验证最好到官方网站,或者正规网站站下载;2、下载完以后直接双击安装包,根据自己的的需要安装对应的组件以及指定对应的安装位置就可以了;3、打开Navicat for MySQL主界面如下图所示:4、点击主界面中的“链接”,会弹出一个添加链接的窗口;"连接名”可以任意输入,这个会窗口显示,建议输入容易识别和有意义的名称;“主机名或IP地址”必须输入有效MySql访问IP地址;“端口”一般默认为3306,如果有自定义MySql访问端口,则输入对应的自定义端口即可;“用户名”和“密码”则是对应访问MysSql数据库的帐号,注意如果连接的MySql是非本机服务,则使用“root”是无法链接成功,这是MySql的安全策略问题;点击“确认”则可以成功创建一个数据连接,并且会在左窗口显示,也可以点击“连接测试”,测试一下是否可以成功链接;5、点击左窗口链接,连接成功后,在左侧的导航窗口后会看到当前链接的所有的MySQL数据库,其中灰色的表示没有打开数据库,绿色的标识的就是已经被打开的数据库。右键点击一个灰色的数据库,在右键菜单中包含打开、关闭、新建、删除和数据传输等操作;在已经打开数据中的选中表,可以创建、删除、修改表,在右键菜单中包含建表、导入、导出、运行SQL文件等操作;6、在主窗口点击“查询”,则可以对当前选中的数据库进行表查询、以及对查询的创建、修改、删除等;7、在主窗口点击“视图”,则可以对当前选中的数据库进行添加、修改、删除、导出视图;8、在主窗口点击“函数”,则可以对当前选中的数据库进行添加、修改、删除、运行函数;9、在主窗口还有“事件”、“报表”、“备份”、“计划”、“模型”等菜单,这些都不怎么常用,不过基本也是创建、删除、修改等操作。

用Navicat for mysql 创建存储过程

function inorder($root) gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)configure:3438: $? = 0configure:3427: gcc -V >&5llvm-gcc-4.2: argument to `-V" is missingconfigure:3438: $? = 1configure:3427: gcc -qversion >&5i686-apple-darwin11-llvm-gcc-4.2: no input filesconfigure:3438: $? = 1

请问一下Vicetone的Nevada的风格是什么

LikeIwould,你试听下

Vicky,vic是victoria的昵称(小名),那elaine呢?

Elaine(伊莱恩)这个词源教名Helen的中世纪土话形式+希腊语,含义是"光明;光辉的.别名Ellen人"(light;bright one),英格兰人的姓氏,女子名.Elaine-Ellen

vic卡的全称

VoiceInterfaceCard。VIC卡是一个虚拟接口卡,全称是VoiceInterfaceCard,该卡可以将一张物理网卡虚拟出多个虚拟网卡,并且支持在同一个物理硬件上同时支持HBA主机总线适配器&NIC网络接口适配器功能选项。

Victoria在哪个国家

维多利亚州是澳大利亚的。维多利亚州(Victoria,VIC),简称维州或维省,今划分为79个地方政府区域,位于澳大利亚大陆东南端,素有“花园之州” (The Garden State) 的美誉。首府墨尔本(Melbourne)。是澳大利亚本土六个州中,幅员最小、人口密度却最高的一个州,总面积237,629平方公里,陆地面积227,416平方公里,总人口为澳大利亚第二,人口5,205,200(2007年6月),仅次于新南威尔士州。

已知输入信号Vi1=30mV,Vi2=10mV,则共模信号Vic和差模信号Vid分别为

Vic=1/2(Vi1+Vi2)=20mv;Vid=Vi1-Vi2=20mv。给分给分!!!!

时髦辣妹的Vic恋情

那年,23岁的维多利亚·贝克汉姆 (Victoria Beckham) 和22岁的大卫·贝克汉姆 (David Beckham) 的恋情可以说是传奇式的罗曼蒂克。维多利亚·贝克汉姆 (Victoria Beckham) 和大卫·贝克汉姆 (David Beckham) 在1997年4月份相识前,贝克汉姆只是偶尔看一看辣妹乐队的演唱录像,当时,他曾指着荧屏上的维多利亚·贝克汉姆 (Victoria Beckham) 对队友内维尔说:“那就是我要娶的姑娘。”那时,维多利亚·贝克汉姆 (Victoria Beckham) 刚与交往了两年的男朋友、花商马克·伍德分手。在接受记者采访时,维多利亚·贝克汉姆 (Victoria Beckham) 回忆了她和大卫·贝克汉姆 (David Beckham) 初识时的一段颇有意思的对话。维多利亚·贝克汉姆 (Victoria Beckham) 说,她当时对大卫·贝克汉姆 (David Beckham) 说,她认为踢足球真无聊,贝克汉姆回答她说,他认为辣妹的音乐没有多少味道。然而,这两个当初似乎不可能走到一起的年轻人竟然很快坠入情网,此后,两人电话频繁,有时一天要打上十几次,最长的一次竟有1个小时之久!为此,曼联队的主教练福格森曾训斥大卫·贝克汉姆 (David Beckham) 使用他的移动电话的时间太长。1998年1月24日是两人的大好日子,当时他们约好在柴郡的一家酒店吃午餐,踌躇满志的大卫·贝克汉姆(David Beckham) 预订了30支玫瑰,在维多利亚·贝克汉姆 (Victoria Beckham) 抵达时奉上。维多利亚·贝克汉姆 (Victoria Beckham) 回忆未婚夫求婚的过程时说:“他突然取出戒指,单膝脆下,说:‘维多利亚,嫁给我吧!"我热泪盈眶,反问他:‘你会娶我吗?"”大卫·贝克汉姆 (David Beckham) 随即为她套上价值4万英镑的钻石戒指,之后他们宣布订婚。

VIC牌照换ACT牌照都需要什么材料呀?

需要做一个ACT的车检,叫RWC,您可以开我们店,我可以帮着做这个车检,需61.5刀,然后,如果您车在10年之内,还需做个IDcheck,检查汽车改公里数配件号等东西,需要在dickson的车管所做,然后带上2个车检单和老牌照可以去dickson或者woden或者belconnen的shopfront换ACT牌照

在我结里面,Nichkhun后来不是送了求婚戒指给Victoria吗?

对对对的 在后来的hot summer舞台上 V妈还带了的 有特写

vic广告歌曲叫什么 或者那小段歌词是什么 回答出加100

是Elastica 的2:1 给你一个连接听歌:http://www.tudou.com/programs/view/3fcnuvYZw50/歌词是Keeping a brave face in circumstances is impossibleCannot describeSo manyDecisionsIt"s impossibleTo know which isThe proper order - the best position, to be inTake advantage or so it seems, the way it goesIt"s tragic laid down on your sideToo easyYou know that you knowYou"re soaking wet, you talk too much, it"s notNecessaryBefore the ice meltsI just want to sayThis packet"s yoursDon"t ask for more,Cos somewhereAlong the lineI"ve forgottenAlreadySandman comesTwo to oneIn the darkDark reflectionsIn my bedIn my headAgainSandman goesTwo in towWet and dumbThree"s the numberComing downComing roundAgain

sm公司的人私下叫宋茜什么名字 不可能都称呼为victoria xi吧……

圭line

Vic 3269 是什么意思,就是澳大利亚维多利亚州后面的3269是什么意思呢?

Vic就是维多利亚州,3269是维多利亚州下属区的邮政编码,包括Port Campbell, Princetown and Waarre这3个区,都是维州西南沿海的乡村区。

数字PCR时 FAM和VIC信号会相互干扰吗

我选定了大部分人选 用的搭配 FAM 和VIC通道,其中与FAM 对应的淬灭基因为BHQ, 与VIC通道对应的淬灭基因为TAMRA。在检测的过程中总是出现FAM通道的信号漏到VIC通道,有时也能反过来,刚开始以为是模板的污染或者是仪器校正的问题,结果一一排除了,后来有人说是仪器本身的物理因素造成的,FAM和VIC荧光波长本来就有重叠的部分,这也是事实,可是这样会造成结果的判读有问题,各位做荧光的大虾给我指点指点迷津:或是规范结果判断的方法或是减少荧

hexvic是哪个化学物质

不是化学物质。hex和vic是一个通道,但技术原理不同。FAM通道、VIC通道等是核酸检测中技术的荧光通道。FAM通道、VIC通道等实现多重PCR检测技术在TaqMan荧光探针连接相应的激发荧光基团FAM、VIC。

VIC的软件中断和ARM内核的软件中断一样吗?

ARM内核本身只有快速中断FIQ和普通中断IRQ这2条中断输入信号线,只能接受2个中断。如果处理2个以上的中断事件,就需要借助向量中断控制器(VIC)。

青羽vic换号了吗

青羽vic换号了。青羽Vic是半次元ACG爱好者圈子里的一位博主,颇受青少年们的喜爱。半次元是国内二次元爱好者社区,汇聚了包括Coser、绘师、写手等创作者在内的众多二次元同好,提供cosplay、绘画和文字作品创作发表、二次元同好交流等社群服务。

单fam通道信号会泄露到vic通道吗

单fam通道信号会泄露到vic通道。根据查询相关公开信息显示:其中与FAM对应的淬灭基因为BHQ,与VIC通道对应的淬灭基因为TAMRA,在检测的过程中总是出现FAM通道的信号漏到VIC通道,有时也能反过来,刚开始以为是模板的污染或者是仪器校正的问题。

电脑vic系统怎么没声音

1、首先打开开始菜单中的控制面板,然后在控制面板中选择“系统和安全”下的“查找并解决问题”项;2、然后打开硬件和声音选项,在声音选项界面下,选择播放音频,在播放音频对话框点击下一步按钮;3、在弹出来的界面中,选择Headphones,并点击下一步,这时候它就会给出诊断信息:外设没有插上,并给出修复建议:插上扬声器或耳机;4、这时候如果插入耳机或扬声器,并点击下一步按钮,系统会自动更改修复,并提示修复完成。

爱马仕viC需要消费多少

年均消费额达到30万元以上。年均消费额达到30万元以上的“重度消费客群”。根据报告数据,VIC或重度消费者在中国整个奢侈品消费客群中虽然占比仅11%。

vic气象防锈袋,双层共挤聚乙烯防锈薄膜是什么意思

1、双层共挤是一种薄膜的制作方式,大体意思是薄膜分内外双层进行吹制作,两层在吹塑前热合成一张膜体,由于有内外双层的区分,供料系统也是分开的,制作VCI薄膜时,在内层母料中添加VCI防锈料,这样就使得VCI缓蚀剂只分布在内层中,只向内挥发,增强防锈效果,同时也节省了成本。其实,只要保证足量的VCI缓蚀剂添加,效果都是一样的,双层共挤的方式只能说对于生产厂商来讲成本更有利,对于客户来讲,没本质的区别。2、双层共挤在袋体结构中具有一定的优势,在片材时比较容易弄混淆,需要特别注意。否则没有丝毫的效果了。如有问题,请见头像或资料咨询。

银泰VIC部门是负责什么工作的?

VIP和VIC都一个意思,会员,贵宾。只不过VIP指的是重要的人,VIC是重要的顾客,细节不同罢了。总的来说,会员中心(管理部门)

急!会计盈利报表中NNS VIC VLC MACO CORES 分别是什么意思?

00maco

为什么有些东欧国家,巴尔干地区的人名后都带VIC ?

准确的应该是“诺维奇”意思是“...之子”俄罗斯人姓名一般由三节组成。如伊万·伊万诺维奇·伊万诺夫(Иван ИвановичИванов),伊万为本人名字,伊万诺维奇为父名,意为伊万之子,伊万诺夫为姓。妇女姓名多以娃、娅结尾。妇女婚前用父亲的姓,婚后多用丈夫的姓,但本人名字和父名不变。如尼娜·伊万诺夫娜·伊万诺娃(Иина Ивановна Иванова),尼娜为本人名,伊万诺夫娜为父名,伊万诺娃为父姓。假如她与罗果夫(Pоrов)结婚,婚后姓改为罗果娃(Pоrова),其全名为尼娜·伊万诺夫娜·罗果娃。俄罗斯人姓名排列通常是名字、父名、姓,但也可以把姓放在最前面,特别是在正式文件中,即上述伊万和尼娜的姓名可写成伊万诺夫·伊万·伊万诺维奇,伊万诺娃·尼娜·伊万诺夫娜。名字和父名都可缩写,只写第一个字母。 俄罗斯人一般口头称姓,或只称名。为表示客气和尊敬时称名字与父名,如对伊万·伊万诺维奇·伊万诺夫尊称伊万·伊万诺维奇,对尼娜·伊万诺夫娜·伊万诺娃尊称尼娜·伊万诺夫娜。特别表示对长者尊敬,也有只称父名的,如人们常称列宁为伊里奇(Ильич),列宁的全名为符拉基米尔·伊里奇·列宁。家人和关系较密切者之间常用爱称,如伊万爱称万尼亚(Bаня)、瓦纽沙(Bанюша)。谢尔盖(Cергей)爱称谢廖沙(Селеша)等等。

stem上的VIC封禁求解释

是VAC把 一旦发现在带VAC的游戏里面作弊就会被永久封禁,这个封禁不单单是你开挂的游戏,你所有的带VAC的游戏都会被永久封禁

请问日本的vic双层机油滤清器 是什么原理

能机油滤清器主要根据油的密度不同进行过滤的,这种情况下是很多的,不光是日本产的,这款机器国产的也是这样的原理。

澳大利亚这街道怎么翻译?街道类型是什么?99 East End Crs, , St Albans Park. VIC

这个地址 99 East End crescent , St. Albans Park. VIC.可以翻译成。维多利亚省圣阿尔班斯公园东端月弧街99号。Crescent 是指月弧就(弯)形的街道。一般点说就是弯道,文艺点说就是月弧街,月亮湾。

汽车侧面金色的VIC标志是什么意思

可以在一些汽车装饰店买到的 很多车都是自己装的

抗vic实验是什么

是抗体。是一种用于检测血清中抗体水平的实验,也叫做virus-inactivationtest(Vic),该实验主要用于检测病毒感染时机体对病毒抗原的应答情况,以及病毒的存活能力以及抗原的抗性能力。此外,这种实验还可以用来评估病毒抗血清制剂的质量、疫苗的效能和新型抗体药物的开发。

达安基因fam和vic都是什么基因

淬灭基因和荧光基因。fam通道对应的是淬灭基因,荧光基因为VIC、所以两者分别是淬灭基因和荧光基因。基因(遗传因子)是遗传变异的主要物质,支配着生命的基本构造和性能,储存着生命孕育、生长、凋亡过程的全部信息,通过复制、转录、表达,完成生命繁衍、细胞分裂和蛋白质合成等重要生理过程。

vic,lvahoe是哪个城市

vicaustralia是澳大利亚,是澳大利亚的一个州。vicaustralia属于澳大利亚维多利亚州。维多利亚州位于澳大利亚大陆的东南沿海,西北部分别与南澳大利亚州和新南威尔士州相邻,是澳大利亚最小的大陆州。

什么是vip,什么是vic卡?

VIP和VIC都一个意思,会员,贵宾。只不过VIP指的是重要的人,VIC是重要的顾客,细节不同罢了。VIP是英文Very Important People的缩写,以及贵宾的意思。VIC是英文Very Important Client的缩写,由于Client的称谓比People更尊贵,所以VIC是比VIP还要尊贵的意思,意即“超级贵宾”。扩展资料:会员卡按材质可分为:普通印刷会员卡、磁条会员卡、IC会员卡、ID会员卡、金属会员卡几种。会员卡按行业可分为:酒店会员卡,美食会员卡,旅游会员卡,医疗会员卡,美发会员卡,服装会员卡,网吧会员卡几种。会员卡按等级可分为:贵宾会员卡,会员金卡,会员银卡,普通会员卡几种。会员卡按功能可分为:预付费会员卡,返现会员卡,积分会员卡,打折会员卡。会员卡按发行方可分为:普通会员卡,第三方会员卡。

oracle 使用navicat premium工具 操作rowid为什么没有返回的物理地址显示

Every row stored in the database has an address. Oracle Database uses a ROWID datatype to store the address (rowid) of every row in the database. Rowids fall into thefollowing categories:■ Physical rowids store the addresses of rows in heap-organized tables, tableclusters, and table and index partitions.■ Logical rowids store the addresses of rows in index-organized tables.■ Foreign rowids are identifiers in foreign tables, such as DB2 tables accessedthrough a gateway. They are not standard Oracle Database rowids.A data type called the universal rowid, or UROWID, supports all kinds of rowids.

VIC客户是什么意思

vic应该取得是victory(胜利)的前三个字母。

新冠阳性的vic值是多少

若VIC通道Ct值≤43。且扩增曲线呈典型的S型,则结果为:N基因为阳性。若VIC通道Ct值>43,或无数值,且CY5通道Ct值≤35,则N基因为阴性。

vic这个英文名好吗,怎么读,中文意思是什么

vic 维克,英国人和法国人用这个名字的比较多。这个词来源于 victor, 是victor的简写,意思是‘胜利者"

vip和vic有什么区别?

VIP和VIC都一个意思,会员,贵宾。只不过VIP指的是重要的人,VIC是重要的顾客,细节不同罢了。VIP是英文Very Important People的缩写,以及贵宾的意思。VIC是英文Very Important Client的缩写,由于Client的称谓比People更尊贵,所以VIC是比VIP还要尊贵的意思,意即“超级贵宾”。扩展资料:会员卡按材质可分为:普通印刷会员卡、磁条会员卡、IC会员卡、ID会员卡、金属会员卡几种。会员卡按行业可分为:酒店会员卡,美食会员卡,旅游会员卡,医疗会员卡,美发会员卡,服装会员卡,网吧会员卡几种。会员卡按等级可分为:贵宾会员卡,会员金卡,会员银卡,普通会员卡几种。会员卡按功能可分为:预付费会员卡,返现会员卡,积分会员卡,打折会员卡。会员卡按发行方可分为:普通会员卡,第三方会员卡。

vip和vic是一个意思吗,有什么区别?

VIP和VIC都一个意思,会员,贵宾。只不过VIP指的是重要的人,VIC是重要的顾客,细节不同罢了。VIP是英文Very Important People的缩写,以及贵宾的意思。VIC是英文Very Important Client的缩写,由于Client的称谓比People更尊贵,所以VIC是比VIP还要尊贵的意思,意即“超级贵宾”。扩展资料:会员卡按材质可分为:普通印刷会员卡、磁条会员卡、IC会员卡、ID会员卡、金属会员卡几种。会员卡按行业可分为:酒店会员卡,美食会员卡,旅游会员卡,医疗会员卡,美发会员卡,服装会员卡,网吧会员卡几种。会员卡按等级可分为:贵宾会员卡,会员金卡,会员银卡,普通会员卡几种。会员卡按功能可分为:预付费会员卡,返现会员卡,积分会员卡,打折会员卡。会员卡按发行方可分为:普通会员卡,第三方会员卡。

我的会员卡上面是vic不是vip vic是什么意思?

VIP=Very Important Person字面意思非常重要人物(贵宾)VIC=Very Important Customer这个是我猜的,他们的意思是重要客户(贵客)~=-=

vic客人和vip客人区别

等级不同、特权不同。vic客人指的是超级贵宾,而vip仅仅只是贵宾。进店有过消费就可以成为vip,而vic的门槛更高,年消费额更高,消费品类也要求更多。vip客人消费可以获得一些商品的折扣优惠。vic客人则不仅有商品的折扣优惠,一般只要是奢侈品的vic用户都是能够优先购买商品,还可以买本季度的一些限量款。会员活动不是表演秀,是一种情感体验和升华的营销,所以活动要注重参与性,有时候用大牌明星演出还不及一个会员拓展来的记忆犹新。很多会员更多的是需求是交友平台和商务平台,商家的责任就是搭建和维护这个平台,比如留住客户,可以建立一个完善的企业客户网对与企业开发老客户的新需求是非常可行的,也是非常必要的,这个企业客户网其实也是通过会员卡系统进行客户关系治理的衍生物。只要进店有过消费就是vip,所以说vic和vip区别还是挺大的,一般只要是奢侈品的vic用户都是能够优先的购买商品,还可以买本季度的一些限量款。

VIC是什么意思 听说是人名

vic. 缩写词 abbr. 1.=vicar2.=vicinity Vic. 缩写词 abbr. 1.=Vicar2.=Vicarage3.=Victoria 以下结果来自互联网网络释义 vic 1.毗 翻译论坛-译网情深 - 打印文章 - vic- 毗 Vic 1.周渝民 世界名人QQ流行英文昵称 Vic周渝民 2.维克拉丁胜利者,征服者 男生英文名字的意义 - 弄潮儿的地盘 - ... Vic维克拉丁胜利者,征服者

vic什么意思?

VIC的中文翻译是维克,人名。词汇分析音标:[vu026ak]释义:n.飞机V字队形编队n.(Vic)人名;(英、法)维克;(西)比克拓展资料1、OurVicwasstabbedintherightleg,yes? 受害者被刺中了右腿,对吗?2、See,vic?DidItellyounottoworry? 明白了,维克?我不是告诉你不用担心吗?3、SaidtheVichadbookedintothesafarisuite. 他说死者定了一个“狩猎”套间。4、Yunbo:Yes,hehelpedusalot.HerecommendedVic"sSteakHouse. 云波:对,他帮了我们不少忙。就是他给我们推荐的威克牛排酒家。5、Somethingdefinitelycameincontactwiththevic"sshirt. 死者的衬衫肯定接触到了什么东西。

奢侈品vic是什么意思?

VIC是Very Important Client的缩写,是指超级贵宾,其意义等同于VIP,即very important person,是指“贵宾”,“贵客”、“重要人士”、“高级用户”、“高级会员”。成为奢侈品牌的VIP可以优先购买产品,也有权利购买本季度限量款。She made her first sale to a very important client.她和一个非常重要的客户做成了第一笔生意。She"s a very important client of ours.她是我们一位非常重要的客户。Hotel inspection is very very important conduct for client and our business.强调店内参观对客人和酒店生意是非常非常重要的。

vic怎么读

vic的读音是:[vu026ak]。VIC(Variable Infiltration Capacity)模型是由Washington大学、California大学Berkely分校以及Princeton大学的研究者基于Wood等人的思想共同研制出的大尺度分布式水文模型,也可以称之为“可变下渗容量模型”。VIC模型可同时对水循环过程中的能量平衡和水量平衡进行模拟,弥补了传统水文模型对能量过程描述的不足。在实际应用中,VIC模型也可只进行水量平衡的计算,输出每个网格上的径流和蒸发,再耦合汇流模型将网格上的径流转化为流域出口断面的流量过程。水文现象和水文规律十分复杂,利用实体场景研究水文过程变化规律,以及某些要素物理性质的模型称为水文物理模型。水文实验是水文物理模型的核心环节,它是为探求和研究水文现象和过程并对其作出成因分析的科学实验。水文现象受许多自然因素制约和人类活动影响,一般的水文观测和分析难以清楚地揭示其物理过程和相互关系,需要在野外或实验室内用特定的程序、装置和设备进行系统的、有控制的观测和试验。

vic是什么意思?

如下:1、VIC指的是游戏软件:《VIC》是一款模拟器应用。1981年Commodore发布了家用计算机VIC-20,是Linux创始人托瓦兹第一台计算机。2、VIC指的是VIC:VIC的全称为Variable Infiltration Capacity,是由Washington大学、California大学Berkely分校以及Princeton大学的研究者基于Wood等人的思想共同研制出的大尺度分布式水文模型。介绍VIC模型具有一些显著的特点,比如对于水循环过程,同时考虑水分收支和能量收支过程;同时考虑了积雪融雪及土壤冻融过程;同时考虑了冠层蒸发、叶丛蒸腾和裸土蒸发;同时考虑了地表径流和基流两种径流成分的参数化过程;考虑了基流退水的非线性问题。对于次网格,分别考虑了地表植被类型的不均匀性,土壤蓄水容量的空间分布不均匀性和降水的空间分布不均匀性。

VIC是什么意思

词典解释vic.缩写词abbr.1.=vicar2.=vicinityVic.缩写词abbr.1.=Vicar2.=Vicarage3.=Victoria以下结果来自互联网网络释义vic1.毗翻译论坛-译网情深-打印文章-vic-毗Vic1.周渝民世界名人QQ流行英文昵称Vic周渝民2.维克拉丁胜利者,征服者男生英文名字的意义-弄潮儿的地盘-...Vic维克拉丁胜利者,征服者

帮我找一下关于英女皇victoria的英文文段

Victoria (Alexandrina Victoria; 24 May 1819 u2013 22 January 1901) was the Queen regnant of the United Kingdom of Great Britain and Ireland from 20 June 1837, and the first Empress of India of the British Raj from 1 May 1876, until her death. Her reign as the Queen lasted 63 years and 7 months, longer than that of any other British monarch before or since, and her reign is the longest of any female monarch in history. The time of her reign is known as the Victorian era, a period of industrial, cultural, political, scientific, and military progress within the United Kingdom.Victoria ascended the throne at a time when the United Kingdom was already an established constitutional monarchy, in which the king or queen held few political powers and exercised influence by the prime minister"s advice; but she still served as a very important symbolic figure of her time. Victoria"s reign was marked by a great expansion of the British Empire. During this period, it reached its zenith and became the foremost global power of the time.Victoria was of mostly German descent, the daughter of Prince Edward, Duke of Kent and Strathearn and Princess Victoria of Saxe-Coburg-Saalfeld, and granddaughter of George III and the niece of her predecessor William IV. She arranged marriages for her nine children and forty-two grandchildren across the continent, tying Europe together and earning her the nickname "the grandmother of Europe". She was the last British monarch of the House of Hanover; her son King Edward VII belonged to the House of Saxe-Coburg and Gotha.

bios里的onboard device是什么意思?

主板上的设备,这个选项里是设置一些主板设备的配置

SabrinaGrdevich人物介绍

SabrinaGrdevichSabrinaGrdevich,演员。代表作品有《爱情课业》、《蛋糕女郎》、《仅有爱是不够的》等。外文名:SabrinaGrdevich职业:演员代表作品:《爱情课业》、《蛋糕女郎》、《仅有爱是不够的》

victor6.6SHAFT和6.5SHAFT区别

最大的差别是是中杆的软硬度不同。随之带来击球感和操控性上的差别。victor6.6SHAFT比较均衡,是胜利中端拍的扛鼎之作,6.5SHAFT偏向进攻,发力的时候手上的感觉更直接。

navicat的keygen打不开是怎么回事

方法如下 鼠标右键点击那个keygen的程序,显示简介,里面有一个选项是以32为模式打开的,勾上

Can you use shuttle service ? since production XF date is coming . 帮忙翻译一下

因为XF产品马上要生产了,建议你通过短程运输货物。

shuttle service是什么意思

shuttle service接送服务双语对照词典结果:shuttle service[英][u02c8u0283u028ctl u02c8su025cu02d0vu026as][美][u02c8u0283u028ctl "su025dvu026as]n.短程运输; 例句:1.The hotel also offers complimentary airport shuttle service to Miami International Airport.

eclipse(非myEclipse)中新建Dynamic Web Project项目后,就会出现JAX-WS Web service。如何删除?

选择window,Show View,Navigator即可

建Maven Web项目,为什么我的没有JAX-WS Web Service... ...

把视图,切换为Java EE模式

jax-ws开发的webservice能通过http get方式调用吗

可以有以下两种方式第一种方式 URL wsdlURL = new URL("http://172.16.200.56:8084/seps/ABCService?wsdl"); QName serviceQName = new QName("http://www.abc.org/definitions", "ABCService"); QName portQName = new QName("http://www.abc.org/definitions", "ABCServicePort"); Service service = Service.create(wsdlURL, serviceQName); port = service.getPort(/*portQName, */ABC.class); // 另一种方式,但是这种方式在设置代理服务器的情况下经常会“Could not send Message”,而且极慢 //JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); //factory.setServiceClass(ABC.class); //factory.setAddress("http://172.16.200.56:8084/seps/ABCService"); //port = (ABC) factory.create();

jax-ws webservice 返回 hashmap 空

一般情况下尽量少返回特殊的数据类型,最好是返回原始数据类型,比如说String、int等,哪怕麻烦点儿,也不会出什么错。建议你将其转换为String类型返回试试。我最近做项目也是用到了myeclipse9中的jax-ws将javabean自动生成webservice,由于前面尝试过多次,返回String等基本的数据类型,或者不返回值时才可以正常生成,万般无奈就把Resultset转换为xml,然后将xml内容转换为字符串返回了。

VICTOR 胜利羽毛球 LARK3,LARK4 分别是代表什么

胜利的羽毛球分了好几个大的级别:最高端的是大师系列,顶级型号为大师ACE,这一系列均为鹅毛球,再往下分别为大师一、大师二......;次级系列为比赛系列,顶级型号为比赛一,这一系列均为鸭毛球,再往下还有3、5、7等不同型号。这两个系列原为胜利专业系列主打型号,数字越小的,级别越高。不同级别之间主要区别为球头和毛片类别,鹅毛比鸭毛贵,全圆毛比大方贵,大方比中方,中方再往下是小方,单边等等。毛片直接影响的是飞行和耐打性:全圆毛飞行性能最好,大方次之,再次为中方......但耐打度刚好相反,单边驼背毛最为耐打,其次是小方,中方再次之,.....球头影响的是手感和弹性。全软木球头最好,价格也最贵,碎大复合球头再次之,最差的是泡沫球头.(当然球头和毛片再细分还有很多种类,就不一一细说了)除了比赛系列之外,胜利还有做几款鸭毛球,分别就是你提到的粉胜利金胜利等等.一般说3号球,1号球,指的就是胜利的比赛3比赛1.而粉胜利就是胜利的SPECIAL,因为球筒颜色是粉色的,所以称为粉胜利,是胜利的一款练习球.级别不高.金胜利原是指胜利的黄金系列,属于飞行较好的练习球,但后来胜利展开产品线后扩展为金黄系列,现在有做的是GOLD ACE和GOLD两款型号.产品序列上比粉胜利稍高一些.和比赛系列的中高端球比起来低端一些.至于LARK3,LARK4则是系列的商超级别的羽毛球中的两款,这两款连练习级别都还没到,只供货到普通商场和超市售卖,是胜利最低端的羽毛球系列.这两款代表的只是型号差别,因为不同型号用的鸭毛种类,毛片类型都还是有一些区别的.但相信购买这两款羽毛球的消费者也不懂具体区分其中的差别了.初学羽毛球要了解的是自己希望要的是好的飞行、球感还是要耐打性能,然后根据这些来选择自己所适合的羽毛球吧。个人建议是最好偏向飞行好一些的羽毛球,虽然贵一些,但对技术提高还是有较好的帮助的。

VictorRogers主要经历

VictorRogersVictorRogers,演员,主要作品《马特·哈德森》、《Ziegfeld:TheManandHisWomen》、《朱门恩怨》。外文名:VictorRogers职业:演员代表作品:《马特·哈德森》、《Ziegfeld:TheManandHisWomen》、《朱门恩怨》合作人物:巴兹·库里克主要作品电影作品电视剧作品人物关系

用web service方法使android连接到SQL sever的具体代码

第一,web service这种重量级框架不可取,第二,要通过外部网络。要做这样的事情你要搞定这几个事:建立一个SQL数据库,然后在本地发布一个Web API项目,POST方式请求数据Web API发布,地址解析映射到外部网络Android Srudio调用Web API,从发布的地址请求数据想要完整的程序和远程操作指导,加V,我的ID去掉a,不是free哦,教会为止

victoria secrets是什么意思

名牌

navicat中整页sql语句变成nul值怎么恢复?

直接恢复固件,重新越狱。而且不建议做太多美化没,都是些表面工作。直接恢复固件,重新越狱。而且不建议做太多美化没,都是些表面工作。直接恢复固件,重新越狱。而且不建议做太多美化没,都是些表面工作。直接恢复固件,重新越狱。而且不建议做太多美化没,都是些表面工作。直接恢复固件,重新越狱。而且不建议做太多美化没,都是些表面工作。

登录PkiService失败

1、先检查网络有没有毛病。2、看看是不是最新的版本。3、是不是账号密码错误。4、检查电脑系统有没有问题。以上几点都会造成登录失败。

调用Webservice时候报org.xml.sax.SAXParseException文件过早结束,有谁知道是社么原因?

合同法回呢社热

为什么viewport的width=device-width,加上去没效果

我查了下viewport,有几个属性:width - viewport的宽度 height - viewport的高度initial-scale - 初始的缩放比例minimum-scale - 允许用户缩放到的最小比例maximum-scale - 允许用户缩放到的最大比例user-scalable - 用户是否可以手动缩放估计是本身页面尺寸就是那么大吧【本人还没开始接触手机WEB前端,请恕我见识短浅

英伟达显卡安装驱动后的nvidia streamer service服务是干什么的?

不会那个是调节显卡性能的可以关掉没有任何影响

c#调用webservice后,显示无法将类型localhost.programscene隐式转化programscene(loca

你是不是用了反序化,如果是,你序列和反序列的那个类所在空间名和类名,在客户端和webservice端最好一致。

primo victoria 歌词什么意思

Primo VictoriaMP3歌词:Through the gates of hellAs we make our way to heavenThrough the Nazi linesPrimo victoriaWe"ve been training for yearsNow we"re ready to strikeAs the great operation beginsWe"re the first wave on the shoreWe"re the first ones to fallYet soldiers have fallen beforeIn the dawn they will payWith their lives as the priceHistory"s written todayIn this burning infernoKnow that nothing remainsAs our forces advance on the beachAiming for heaven though serving in hellVictory is ours their forces will fallThrough the gates of hellAs we make our way to heavenThrough the Nazi linesPrimo victoriaOn the 6th of JuneOn the shores of western Europe 1944D-day upon usWe"ve been here beforeUsed to this kind of warCrossfire grind through the sandOur orders were easyIt"s kill or be killedBlood on both sides will be spilledIn the dawn they will payWith their lives as the priceHistory"s written todayNow that we are at warWith the axis again6th of June 1944Allies are turning the warNormandy state of anarchyOverlord

Retailer Service Executive和Executive, Retailer Service 到底什么区别

Retailer Service Executive是零售商服务执行委员 Executive, Retailer Service 是执行委员,零售商服务 其实意思上没有区别,就像楼上说的

redshift显示no devices available

找不到可以引导的驱动器redshift上出现nodevicesavailable这句话的意思是“找不到可以引导的驱动器”。原因:1、操作系统文件损坏。2、MBR表损坏。3、硬盘数据线松了

如何重写abstractexecutorservice

1、首先来看一段使用示例 ExecutorService recmdService = Executors. newFixedThreadPool(1); Future<List<Long>> recmdFuture = recmdService.submit( new Callable<List<Long>>() { @Override public List<Long> call() throws Exception { /* * do something here */ return result; } }); /* * do something here. */ List<Long> recmdPoiIds = null; try { recmdPoiIds = recmdFuture.get(10, TimeUnit. SECONDS); } catch (Exception e) { logger.error("error information " , e); recmdPoiIds = new ArrayList<Long>(); } 上面的示例代码来自于工作中出现的一段使用Executor框架的示例,当然也只能算是对Executor框架的一种非常简单的应用。大体的意思是在执行主体任务的同时重新开了一个线程去同步执行另一个任务。然后再主体任务执行完后,同时去获取在这个新开的线程中执行任务的结果。 示例虽然简单,但其中也包括了Executor的一些基本组成元素,也是了解Executor所需要的最基本的东西:任务在一个单独的线程中执行、任务提交时返回一个Future对象、通过Future对象去获取任务的执行结果、获取任务执行结果时可能会造成当前线程的阻塞。2、任务的提交在执行recmdService.submit时,任务被提交到Executor框架中,进入执行,并且返回一个Future对象。可以猜想,这里肯定是生成了一个新的线程去执行任务,那么这个任务和返回的Future对象之间有什么关系,线程又是怎么生成的。下面将通过相关代码来进行分析。ThreadPoolExecutor继承自AbstractExecutorService,AbstractExecutorService实现了ExecutorService接口,实现了submit方法,仍把execute方法留待子类实现。下面来看submit方法的实现 public <T> Future<T> submit(Callable<T> task) { if (task == null) throw new NullPointerException(); RunnableFuture<T> ftask = newTaskFor(task); execute(ftask); return ftask; }protected <T> RunnableFuture<T> newTaskFor (Callable<T> callable) { return new FutureTask<T>(callable); }submit方法所做的事情其实很简单,生成了一个FutureTask对象,调用execute方法,然后返回。execute方法的执行涉及到ThreadPoolExecutor的很多细节,这里可以理解为开启一个新线程,在新线程中执行,由于这里是开启新线程后执行任务,所以,submit方法不会阻塞调用线程。由于在调用recmdFuture.get方法时会造成当前线程的阻塞,所以这里需要来关注下FutureTask的实现,是如何实现这种效果的。首先需要明确下线程的关系:a、执行任务的线程,也就是通过ThreadPoolExecutor创建的线程,任务在这个线程中执行,但我们无法获得这个线程的Thread对象b、拥有recmdFuture的线程,也就是调用Executor框架的线程,可以理解成我们的“主线程”FutureTask实现了RunnableFuture接口,只有一个Sync的属性,Sync类和属性的定义如下 private final class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = -7828117401763700385L; /** State value representing that task is running */ private static final int RUNNING = 1; /** State value representing that task ran */ private static final int RAN = 2; /** State value representing that task was cancelled */ private static final int CANCELLED = 4; /** The underlying callable */ private final Callable<V> callable; /** The result to return from get() */ private V result; /** The exception to throw from get() */ private Throwable exception; /** * The thread running task. When nulled after set/cancel, this * indicates that the results are accessible. Must be * volatile, to ensure visibility upon completion. */ private volatile Thread runner ;注意三点:Sync继承了AbstractQueuedSynchronizer ,使用了jdk的AQS线程同步框架;有一个V result属性,是用来存储任务执行完之后的结果对象;有一个Thread runner属性,用来表示执行任务的那个线程。3、任务结果的获取 由上面的分析可知,在通过Executor提交任务时,返回的其实是一个FutureTask对象。在实际中,如果任务执行的耗时较长,在调用get方法获取结果时,可能会造成线程的阻塞,如上面示例中的recmdFuture.get(10, TimeUnit. SECONDS),指定了一个最长等待时间。那么,结果是如何传递的,阻塞又是如何实现的呢? 还是来看FutureTask的get方法,这是获取任务执行结果的入口, public V get( long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { return sync.innerGet(unit.toNanos(timeout)); }通过调用Sync的innerGet来执行,下面来看实现 V innerGet(long nanosTimeout) throws InterruptedException, ExecutionException, TimeoutException { if (!tryAcquireSharedNanos(0, nanosTimeout)) throw new TimeoutException(); if (getState() == CANCELLED) throw new CancellationException(); if (exception != null) throw new ExecutionException(exception); return result; }调用了AQS的tryAcquireSharedNanos,在这里实现了调用Future的get方法的阻塞,也就是上面说的“主线程的阻塞”。但,在AQS的解析中,我们了解,这个方法并不一定会导致调用线程的阻塞(也就是进入阻塞队列中)。需要有一个线程以排他的方式占据当前的同步对象,这样其它线程在试图获取共享对象时才会被阻塞。结合对Executor框架的使用,正常情况下,只有当任务执行完成后,获取结果的线程才不会阻塞,所以我们可以猜测,这个以排他方式占据共享对象的线程就是执行任务的线程,也就是通过ThreadPoolExecutor创建的那个线程。在任务执行之前,这个线程先以排他的方式获取了共享对象,然后再任务执行完成(Callable的call方法)后,释放共享对象。FutureTask实现了RunnableFuture接口,而RunnableFuture又继承Runnable接口,也就是说FutureTask其实本身就是一个Runnable对象,也就实现了run方法。这个方法正式一个线程被启动时要执行的任务。来看FutureTask的run方法的实现 public void run() { sync.innerRun(); }run方法的执行已经是在被启动线程中,也就是和我们“主线程”不同的那个执行任务的线程,由ThreadPoolExecutor创建的线程。 void innerRun () { if (!compareAndSetState(0, RUNNING)) return; try { runner = Thread.currentThread(); if (getState() == RUNNING) // recheck after setting thread innerSet(callable.call()); else releaseShared(0); // cancel } catch (Throwable ex) { innerSetException(ex); } }首先通过CAS框架把共享对象的状态设置为RUNNING状态,实现了以排他方式获取共享对象。然后设置runner=Thread.currentThread();把runner设置为当前线程,由于线程是通过ThreadPoolExecutor创建和启动的,所以这里就是把runner对象设置为在执行任务的那个线程。调用callable.call方法执行任务,然后innerSet设置返回结果。void innerSet(V v) { for (;;) { int s = getState(); if (s == RAN) return; if (s == CANCELLED) { // aggressively release to set runner to null, // in case we are racing with a cancel request // that will try to interrupt runner releaseShared(0); return; } if (compareAndSetState(s, RAN)) { result = v; releaseShared(0); done(); return; } } }innerSet主要做三件事情:设置result字段,也就是保存任务执行的结果;设置共享对象的状态,表明任务已经执行完毕;释放共享对象,唤醒那些等待获取结果的线程。使用releaseShared的方式唤醒,是因为那些获取结果的线程都是以共享的方式阻塞在这个共享对象上(具体可以参考"共享锁和排它锁"一章),所以释放共享对象的时候,可以一次唤醒所有的等待获取结果的线程。
 1 2 3 4 5 6  下一页  尾页