vol

阅读 / 问答 / 标签

Le Petit Mouton de Mouton Rothschild 2005年红酒,Alc.13%vol.,75cl 请问是啥酒?市价约是多少?为谢!

武当王的副牌酒,3、4千的样子。

白酒商标上的VOL是什么意思

酒精含量

急求一篇题为《how to be a volunteer》 的英语作文

Title: How to Be a VolunteerIntroduction:Volunteering is a noble and fulfilling way to contribute to society and make a positive impact on the lives of others. Becoming a volunteer requires dedication, compassion, and a willingness to serve. In this essay, we will explore the steps to becoming a volunteer.Body:1. Identify Your Passion and Interests:The first step in becoming a volunteer is to identify your passion and interests. Reflect on the causes or issues that you deeply care about. It could be working with children, animals, the elderly, the environment, or any other area where you feel a strong connection. Choose a cause that resonates with you and where you can contribute your skills and talents effectively.2. Research Volunteer Opportunities:Once you have identified your passion, research different volunteer organizations or projects that align with your interests. Explore local charities, non-profit organizations, community centers, or international volunteer programs. Consider the time commitment, location, and specific tasks involved in each opportunity. Look for reputable organizations that have a positive track record in their work.3. Contact and Connect with Organizations:Reach out to the organizations you are interested in and inquire about their volunteer programs. Attend information sessions, orientations, or volunteer fairs to learn more about their mission, projects, and requirements. Building a connection with the organization will help you understand their expectations and how your skills can be utilized effectively.4. Acquire Necessary Skills or Training:Some volunteer positions may require specific skills or training. If you find a cause that requires specialized knowledge, consider acquiring the necessary skills or certifications. For example, if you want to work as a tutor, you may need to improve your teaching skills or obtain a specific qualification. Take advantage of online courses, workshops, or training programs to enhance your abilities.5. Dedicate Your Time and Effort:Being a volunteer requires a commitment of time and effort. Once you have selected an organization or project, allocate dedicated time in your schedule to fulfill your responsibilities. Be punctual and reliable in your commitments. Communicate effectively with the organization and inform them in advance if you are unable to fulfill your duties.6. Embrace the Experience and Learn:As a volunteer, embrace the experience and be open to learning. Engage with the community you are serving, listen to their stories, and understand their needs. Embrace diversity and respect cultural differences. Learn from the people you are helping and the fellow volunteers you are working with. Volunteering is a two-way exchange of knowledge, compassion, and understanding.Conclusion:Becoming a volunteer is a rewarding journey that allows you to make a positive difference in the lives of others. By identifying your passion, researching opportunities, connecting with organizations, acquiring necessary skills, dedicating your time and effort, and embracing the experience, you can embark on a fulfilling volunteer journey. Remember, every act of kindness, no matter how small, can have a significant impact on the world around us.

System Volume Information是什么啊?还有autorun.inf是什么文件啊?

说得好,顶一下

RHJ-200 Red Hot Jam Vol.200 天野しおりShiori-AVI多少部

抱歉,我无法提供此类信息。这种类型的信息可能会违反法律法规,并对用户造成严重的心理和社交伤害。建议您遵守相关的法律法规和社会道德规范,并寻找其他有益和健康的娱乐方式。

volume怎么读

volume的读音是:英["v?lju?m]。volume的详尽释义是n.(名词)卷,册,本体积,容积,容量额,数量音量,响度大量,许多书籍,书卷,书【史】书卷,卷轴大块量,分量。volume的意思是n.卷;体积;册;音量;容量。一、详尽释义n.(名词)卷,册,本体积,容积,容量额,数量音量,响度大量,许多书籍,书卷,书【史】书卷,卷轴大块量,分量v.(动词)把…收集成卷二、双解释义n.(名词)[C]卷,册,书卷anyofasetofbooksofthesamekindortogetherformingawhole[U]体积;容积,容量thesizeofasolidthingorofaspace,measuredbymultiplyingthelengthbythewidthbythedepth[U]音量,响度degreeofloudnessofsound三、词典解释1.量;数额Thevolumeofsomethingistheamountofitthatthereis.e.g.Seniorofficialswillbediscussinghowthevolumeofsalesmightbereduced.高层领导将要讨论销售量如何削减。e.g....thesheervolumeoftrafficandaccidents.交通流量之大、事故之多2.体积;容积;容量Thevolumeofanobjectistheamountofspacethatitcontainsoroccupies.e.g.Itis2,300metresabovesealevel,soagivenvolumeofaircontainsonlyaboutone-thirdasmuchoxygenasitwouldatsealevel...这是在海拔2,300米的高空,因此一定体积空气的含氧量只有海平面处的约1/3。e.g.Wheneggwhitesarebeatentheycanrisetosevenoreighttimestheiroriginalvolume.蛋清打散后,体积可增至原来的七八倍。3.书;书籍Avolumeisabook.e.g....a125-pagevolume.一本125页的书4.(书籍的)卷,册Avolumeisonebookinaseriesofbooks.volume的解释e.g....thefirstvolumeofhisautobiography.他自传的第一卷5.(杂志的)合集,合订本Avolumeisacollectionofseveralissuesofamagazine,forexamplealltheissuesforoneyear.e.g....boundvolumesofthemagazine.杂志的合订本6.(广播、电视或音响系统的)音量,声量,响度Thevolumeofaradio,television,orsoundsystemistheloudnessofthesounditproduces.e.g.Heturneddownthevolume...他调低了音量。e.g.Hecametocomplainaboutthevolumeofthemusic.他过来抱怨音乐的音量太高了。7.清楚表明;详尽说明;充分说明Ifsomethingsuchasanactionspeaksvolumesaboutapersonorthing,itgivesyoualotofinformationaboutthem.e.g.Whatyouwearspeaksvolumesaboutyou...你的衣着能传递很多关于你的信息。e.g.Theirabsencespokevolumes.他们的缺席已经充分说明了问题。四、例句Thisvolumecontainsselectionsfromhisearlyworks.该卷包含了他的早期作品文选。Thisvolumeisfoxedontheflyleaf.这卷书的空白页发黄了。Agashasneitherdefinitevolumenordefiniteshape.气体既无一定体积,又无一定形状。Isthatvolumestillinprint?那册书还能买到吗?Heboundupthetwobookintoonevolume.他将两本书装订成一册。Thisbuttonisforadjustingthevolume.这个按钮是调节音量的。Sheturneddownthevolumeontheradio.她关小了收音机的音量。Gastricsecretionisreducedinvolumeandtotalacidcontent.胃分泌的容量和总酸度降低。五、常见句型用作名词(n.)Forthatarticlehehasworkedoversome30volumesofChinesehistory.为了写那篇论文,他仔细查阅了大约30册中国历史书。Pressurevariesdirectlywithtemperatureandinverselywithvolume.压力随温度成正比例变化,与容积成反比例变化。Heturnedupthevolumeonthetelevision.他开大了电视音量。六、经典引文Thecodex,orhingedbook..tooktheplaceofthevolumeorroll.出自:Times七、词义辨析n.(名词)volume,book,pamphlet这三个词的共同意思是“书”,其区别是:book是“书”的通称;volume是一套书中的“卷”或“册”,有时也指较大的书。例如:Anovelinfourvolumes一部4卷本的小说;avolumeofhispoetry他的一本诗集;pamphlet指“小书”“小册子”,但并不见得不重要。例如:scholarlymonographspublishedaspamphlet以小册子形式出版的学术专著。volume,size这两个词都有“大小”“尺寸”或“体积”的意思。其区别是:1.size主要指“尺寸”“规模”或“身材”等的大小或“数量”等的多少;volume指某物所占空间的体积或某容器的容积,还可约定俗成地来表达其他任何东西的度量。例如:Thesheetsaremadeinseveralsizestofitdifferentsizesofbed.这些床单有几种尺寸,以便与大小不同的床配套。Thevolumeofthiscontaineris1000cubicmetres.这个集装箱的容量是1000立方米。2.size强调真实准确性;volume强调精确性。例如:Theydecreasedthesizeofthegroupfrom25to15.他们把小组的人数从25人减少到15人。Thatisaroomwithavolumeof30cubicfeet.那是一个30立方英尺的房间。3.volume还可表示声音的高低,而size无此义。例如:Turningtheknobofaradioonecanfadethevolumeofsoundinorout.旋转收音机的旋钮,你就能使音量渐渐增大或减弱。volume的相关近义词quantity、amount、capacity、book、work、dimensions、edition、bulk、content、proportion、extent、writing、measure、publication、mass、degree、size、level、measurements、tome、part、section、mountain、much、breadth、weight、plenty、measurement、magnitude、width、storage、extension、dimension、loudness、intensityvolume的相关临近词voluminous、voluble、volumed、Volumex、volumes、volumen、VolumeI、volumette、volumetry、volumeter、volumeset、volumetron

Gross Merchandise Volume (GMV)总商品价值量, 那总商品成交笔数英文怎么说

总商品成交笔数英文怎么说Gross Transactions Concluded on Merchandise

vol.是什么缩写?

vol是英文单词volume缩写。VOL是由英文字母组成的字母组合,代表多种意思,既是表示容量、音量的简写,又表示计算机命令,还表示飞鱼座的星座等。volume解释:1、体积;容积;容量;量;额;音量;响度;(成套书籍中的)一卷,一册;书;卷,合订本。2、股市中的VOL是成交量指标:成交量是指个股或大盘的成交总手,在形态上用一根立式的柱子来表示。左面的坐标值与柱子的横向对应处,就是当日当时的成交总手。如当天收盘价高于当天开盘价,成交柱呈红色;反之,成交柱呈绿色。3、作品编号:“vol.”的全写形式是“volume.”,第几卷(册)的意思如单行本Vol.6就是第6卷的意思。4、酒精单位:表示酒精的度数剂量酒精度(Alcohol)体积百分比,就是100毫升酒中,含有多少毫升的酒精。以前是质量百分比,用M/M%表示。例如:“25% Vol.”代表着酒精度为25%,也就是4毫升酒中有1毫升酒精。

耳机上chs,set,tun,vol的意思

一、chs是英文channels的缩写,频道,波段的意思,就是按下后调节广播台的。二、set这个是设置键,set就是设置的意思,通过按下这个按键,就可以调节耳机的音效设置。三、tun是英文tune的缩写,给收音机、电视等调谐用的按键。四、volvolume的缩写,这个按键是用来调节耳机的音量大小,volume就是音量的意思。扩展资料使用耳机的注意事项:1、在使用耳机的时候不要硬拉硬拽,要轻戴轻放。2、尽量不要在雨中使用耳机,这样雨中的酸性物质可能会使耳机线过早地老化,甚至损坏。3、对于活动量不大的走路、骑车等运动,用户可以戴普通的入耳式耳机。记得耳塞上要弄个耳塞套,防止耳机橡皮老化。对耳朵也有好处,耳机也可以做到清洁。

耳机上chs,vol,set,tun的意思是什么

请问实况10(Pro Evolution Soccer 6)和Winning Eleven: Pro Evolution Soccer 2007 有什么区别?

实况足球主要分两个平台:ps2平台和pc平台 主要分两个系列:we系列和pes系列,we全称是World Soccer Winning Eleven (如we8),wei的全称是World Soccer Winning Eleven International(如we8i),pes全称是Pro Evolution Soccer (如pes5) 无论是ps2还是pc平台,都有we系列和pes系列,通常we和pes对应的版本都可以用此公式换算,即:wex=pes(x-4),举例说就是we9=pes5。注意,这里的“=”并不是真正意义的相等,只是表明类似。 主要区别在于 ps2: we是日版的实况足球,ps2上原版的we文字和解说都是日文,对应的市场是日本本土和亚洲市场,特点是we9有“通往世界杯”模式,手感上比较软,节奏相对较慢。一般在we发售后半年左右,konami会推出一款国际版,称为wei,这个wei和we比,手感和系统都有所改进,数据资料也适当的更新,针对的市场是日本本土和全世界(又以北美为主)。这里有个特例,在we8后推出了一款we8le,是we8的升级版,数据资料得到更新,游戏的系统也有小的调整。ps2上面同样存在pes系列,这是针对欧洲发售的一作,手感和we不同,更接近于pc上的pes5,语言也不是日文的,ps2平台上的pes系列在市面上较少,网上下载也少,所以很多玩家不知道,以为pes只有pc上有。 pc: pc上的第一款实况足球是pes3。pc上的pes系列同样是针对欧洲市场,原版语言是英语,西班牙语,意大利语,德语,法语。数据资料和对应的ps2上的we略有区别(数据pes5和we9是相同的,之前的pes3和we7,pes4和we8不同),手感和ps2上对应的we也不同,相对更为硬朗,节奏相对较快,并且pc上的pes5和we9无“通向世界杯模式”。由于pc上的pes5对应的ps2版本是we9,很多玩家也习惯称之为实况9,严格说这是不正确的,pes5并不等同于we9,正确叫法就叫pes5。按惯例,konami在pc上推出pes后三个月左右也会推出一款国际版wei,这是最容易混淆的地方,pc上的wei和ps2上的wei无论是手感还是数据资料都不相同,对应的市场是北美。同是pc,国际版wei和对应的pes数据资料相同,手感和系统只有极小的差别,因此说它“换汤不换药”也是正常。今年又有个例外,konami没有按惯例在pes5后推出we9i,而是推出的we9(少了一个“i”,从道理上讲,名字就不能称为“实况足球9国际版”),这个we9目前并没有被破解,市面上和网上存在的都是“yy版”,所谓“yy版”是以pes5的exe程序经过修改而得到的we9.exe,数据资料和pes5完全相同,理论上手感和游戏系统也应该相同,唯一的区别在于logo和界面不同。估计也没人会来破解此版本了,所以,从道理上说,目前所有的we9或者所谓的we9国际版都是yy版。详情请参考游侠网友titny的帖子:http://game1.ali213.net/showthread.php?s=&threadid=824771 关于we9不得不多说两句,有些玩家认为目前下载到的we9(或者所谓的we9国际版)手感跟pes5有差别,这个我不发表意见,只是从理论上分析,不可能有差别。如果破解了,这里会第一时间得到消息。另外,如果你真正想感受we9和pes5的差别,也不是不可能,今年年初出了一个we9的demo(we9试玩版),跟pes5确实有手感上的差别,很细微,但能感觉到。目前这个demo已经很少有下载了了,有兴趣的可以下来试试,但要小心你下载的可能是pes5的demo,毕竟很多人习惯把pes5称为we9。 we9le是最近konami针对韩国市场推广的一个版本(konami官方网站上有此版本介绍),手感上面基于pes5做了细微的调整,相对于pes5跟接近ps2上面的we9,但并不象很多朋友说的跟we10 接近。此版本数据资料和pes5完全一样。这个版本目前必须虚拟cd1才能玩,wecn6.0就是基于we9le做的,因此也必须虚拟cd1,这个做法与wecn小组无关。 另外需要纠正一些错误,在ps平台上,有人说最后两作是实况5代和实况6代,这是错误的叫法,正确的是we2000(实况足球2000)和we2002(实况足球2002),产生错误的原因是,这两作正好是在we4后面发售的,很多玩家误认为他们为we5和we6,真正的we5和we6都是ps2上的。 补充说明,平时所说的wecn6.0,ept7.9,物语3.0这些版本,都是不同的修改小组(本论坛是wecn小组)对konami推出的实况足球游戏原版经过修改后的版本,修改内容通常是:球衣名字,外貌,球衣球鞋,球场名字,草皮材质,广告牌,球队相关资料,阵型,解说等等,对于游戏本身的内核并没有修改,目前也无法修改,从理论上说,补丁基于哪个版本制作,手感就与原版本相同,不会产生变化。

fifa13出现pro evolution soccer2013 has not been installed 我是64为操作系统的 下的补丁出现这个情况

NET需要3.5版本以上的吧

求一首平野绫的和T. M. Revolution的歌的罗马拼音歌词

  晴天好心情  Hare Hare Yukai  Nazonazo mitai ni chikyuugi wo tokiakashitara  Minna de doko made mo ikeru ne  Wakuwaku shitai to negainagara sugoshiteta yo  Kanaetekureta no wa dare nano?  Jikan no hate made boooon!!  Wa-pu de ru-pu na kono omoi wa  Nani mo kamo wo makikonda souzou de asobou  Aru hareta hi no koto  Mahou ijou no yukai ga  Kagirinaku furisosogu fukanou janai wa  Ashita mata au toki warai nagara hamingu  Ureshisa wo atsumeyou  Kantan nanda yo konna no  Oikakete ne tsukamaete mite  Ooki na yume yume suki deshou?  Iroiro yosou ga dekisou de dekinai mirai  Sore demo hitotsu dake wakaru yo  Kirakira hikatte atsui kumo no ue wo kazaru  Hoshitachi ga kibou wo kureru to  Jikan ni norou yo byuuuuun!  Chi-pu de ku-ru na toshigoro da mon  Samishigaccha hazukashii yo nante ne iwasete  Te to te wo tsunaidara  Mukau toko muteki desho  Kagayaita hitomi ni wa fukanou ga nai no  Ue dake miteiruto namida mo kawaichau  "Kawaritai!" Kokoro kara  Tsuyoku omou hodo tsutawaru  Hashiridasu yo ushiro no hitomo oide yo  Dokidoki suru deshou?  Boooon!!  Wa-pu de ru-pu na kono omoi wa  Nani mo kamo wo makikonda souzou de asobou  Aru hareta hi no koto  Mahou ijou no yukai ga  Kagirinaku furisosogu fukanou janai wa  Ashita mata au toki warai nagara hamingu  Ureshisa wo atsumeyou  Kantan nanda yo konna no  Oikakete ne tsukamaete mite  Ooki na yume yume suki deshou?  ======================================================  T. M. Revolution的Naked Arms  罗马音  Naked arms  *okoshita yume wo tsuranukeru  kasunda sekai ni noboru taiyou  shakunetsu koko ni kiwamareri  hageshi ima made nagare wo kaete  hikari to kage no kizuna wo terasu*  kienai tsuki ga shiroku yakete kizu no youna yoake  kurete yattemo kamawanu asu kyou mata kakaete  yurari yurameku mune no fuchi no kagerou wa  owari kaketemo onore wo kogasu kirameki  noru ka soru ka kono te no moto ni  *repeat  issun saki wa yami ga ii ne doko demo ikarete  korogari ochite miageru sora toosa ni mikareru  hara hara chirinu omoi utsusu mizukagami  deai wakarete kisou mono no yukusue wa  hana mo arashi ten no mizo shiru  mihatenu yume no sono saki he  inochi wa jidai ni sakasu hibana yo  unmei koko ni kiwamareri  jibun wo toosu kotae wo erabu  hikari to kage ga majiwari togeru  mihatenu yume no sono saki he  inochi wa jidai ni sakasu hibana yo  kagayaki koko ni kiwamareri  tsuki yuku toki no hazama de kizamu  nozomi wo kakete itadaki wo miru  英文版  Naked arms  All those dreams, all of my hope, all life come undone  In a world beaten and broken I can see a rising sun  Burning down, scorching the earth, nowhere left to hide  Try to stop all this destruction, find a way, turn the tide  Reveal the bond that"s made  Between the light and the shade  Shining white and hot is a moon so unforgiving  The break of day will leave a scar  Nothing we belleve can project us from tomorrow  Enjoy today from where we are  I will believe to the end  Even with my face pressed to the fire  I won"t be shaken or moved  By the heat getting closer and higher  Sink or swim  Lose or win  Hold on with my naked arms  All those dreams, all of my hope, all life come undone  In a world beaten and broken I can see a rising sun  Burning down, scorching the earth, nowhere left to hide  Try to stop all this destruction, find a way, turn the tide  Reveal the bond that"s made  Between the light and the shade  Everywhere I go there is dark and there is sorrow  It"s always just a step away  Always so amazing the sky above me  It always seems so far away  Look in the water and see  Mirrored memories scatter and sink inside  Friendship are broken and made  Now the curtain has fallen on those who tried  Flower rise  Stormy skies  Feel heaven"s power on earth  I see my infinite dreams coming to an end  Sparks are flying, but my spirit will not break or even bend  Now I see my destiny only brings me pain  Now the sunshine and the shade are forced together again  I choose to follow the light  Flowing through me here tonight  I see my infinite dreams coming to an end  Sparks are flying, but my spirit will not break or even bend  Now I see all of my fire only brings me pain  From inside me or around me I will burn just the same  Moving up, I"ll never stop  Until I come out on top

okhttp,retrofit,android-async-http,volley应该选择哪一个

个人认为okhttp是android平台最好的网络库。volley是一个简单的异步http库,仅此而已。缺点是不支持同步,这点会限制开发模式;不能post大数据,所以不适合用来上传文件。android-async-http,与volley一样是异步网络库。但volley是封装的httpUrlConnection,它是封装的httpClient,而android平台不推荐用HttpClient了,所以这个库已经不适合android平台了。okhttp是高性能的http库,支持同步、异步,而且实现了spdy、http2、websocket协议,api很简洁易用,和volley一样实现了http协议的缓存。picasso就是利用okhttp的缓存机制实现其文件缓存,实现的很优雅,很正确,反例就是UIL(universal image loader),自己做的文件缓存,而且不遵守http缓存机制。retrofit与picasso一样都是在okhttp基础之上做的封装,项目中可以直接用了。另外AndroidAsync这个网络库使用了nio的方式实现的。okhttp没有提供nio的方式,不过nio更适合大量连接的情况,对于移动平台有点杀鸡用牛刀的味道。picasso、uil都不支持inbitmap,项目中有用到picasso的富图片应用需要注意这点。

okhttp,retrofit,android-async-http,volley应该选择哪一个

个人认为okhttp是android平台最好的网络库。volley是一个简单的异步http库,仅此而已。缺点是不支持同步,这点会限制开发模式;不能post大数据,所以不适合用来上传文件。android-async-http,与volley一样是异步网络库。但volley是封装的httpUrlConnection,它是封装的httpClient,而android平台不推荐用HttpClient了,所以这个库已经不适合android平台了。okhttp是高性能的http库,支持同步、异步,而且实现了spdy、http2、websocket协议,api很简洁易用,和volley一样实现了http协议的缓存。picasso就是利用okhttp的缓存机制实现其文件缓存,实现的很优雅,很正确,反例就是UIL(universal image loader),自己做的文件缓存,而且不遵守http缓存机制。retrofit与picasso一样都是在okhttp基础之上做的封装,项目中可以直接用了。另外AndroidAsync这个网络库使用了nio的方式实现的。okhttp没有提供nio的方式,不过nio更适合大量连接的情况,对于移动平台有点杀鸡用牛刀的味道。picasso、uil都不支持inbitmap,项目中有用到picasso的富图片应用需要注意这点。

GHOST出错误:Encounfered an NTFS volumr with a Logfilr fhae has not been flushrd (536)

你的ghost版本可能过低了,和你的系统不匹配

开机时出现;checking file system on c the type of the file system is ntfs. volumr label is winxp.

1)这是系统在扫描你的硬盘,可能是你自己操作的问题,如果你非法关机,直接断电或者直接按电源关电,电脑开机的时候会对你的硬件做检查,包括你的硬盘。 还有就是你的电脑真的硬盘有问题了,建议你使用电脑自己带的磁盘扫描工具进行扫描修复,如果比较严重用下面软件进行修复(如果这次扫描后下次不在扫描就是正常扫描,如果开机总是扫描硬盘请看下面,由其按下面方法修复一下磁盘试试)。2)如果也没有非法关机,硬盘也没有问题,开机还是扫描,可以用下面的方法去掉系统扫描硬盘: 单击“开始/运行”,输入“regedit”回车打开注册表编辑器,依次选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager”子键,然后在右侧窗口中找到“BootExecute”键值项并将其数值数据清空,重启即可(清空前选文件导出进行备份,这样如果需要在恢复备份)。3)系统自带的磁盘修复方法(如果磁盘真有问题,用这个方法修复一下):具体步骤如下(以Windows XP为例),在我的电脑中选中盘符后单击鼠标右键,在弹出的驱动器属性窗口中依次选择 “工具→开始检查”并选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始,扫描时间会因磁盘容量及扫描选项的不同而有所差异。硬盘坏道将导致电脑系统文件损坏或丢失,电脑无法启动或死机。硬盘坏道可以采用NDD磁盘工具或Scandisk来修复。4)还解决不了问题,还原一下系统或重装系统,如果在不行,格式化硬盘重新分区重装操作系统,在不行换硬盘。

丝绒左轮乐队 velvet revolver 的好歌

  他们的《Contraband》这张专集里的歌都不错。。  尤其是Slither,刚刚打榜就排在了当时ROCK类歌曲的第一名  还有 Set Me Free 的SOLO十分精彩(SLASH的当然精彩了)  还有Fall to Pieces 。。。很像枪花DONT CRY的感觉。。。  给你看下对这张专集乐评吧:  专辑名:《Contraband》  演唱者:Velvet Revolver  发行时间:2004年6月8日  发行公司:RCA  音乐风格:Hard Rock(硬摇滚)  乐队成员:Scott Weiland(主唱),Slash(主音吉他手),Dave Kushner(节奏吉他手),Duff "Rose" McKagan(贝司手),Matt Sorum(鼓手)[曲目介绍]  1. Sucker Train Blues - 4:27(重点推荐)点评:一张伟大的专辑必须拥有一首伟大的开篇单曲,就像《毁灭的欲望》中的《Welcome to the Jungle》,这首快速而硬朗的单曲是这张专辑的一个重要部分,从Duff McKagan的贝司到Slash的吉他,他们宣告了这些前枪炮玫瑰乐队的艺术家们的回归!  2. Do It for the Kids - 3:55  3. Big Machine - 4:25  4. Illegal I Song - 4:17  5. Spectacle - 3:41  6. Fall to Pieces - 4:30(重点推荐)点评:这是一首明显的反映解体的枪炮玫瑰乐队的单曲,歌词并不很长,但是句句都是肺腑之言,加上如同《Don"t Cry》似的曲式,更体现了破碎的痛苦。歌曲开始的“It"s been a long year,Since you"ve been gone,I"ve been alone here,I"ve grown old,I fall to pieces”表现了成员们破碎之后的孤独,此时Slash清晰的吉他独奏已经不像是纯粹的演奏,而更像是在一直落单的鸟儿在哀号。最后的高潮部分的“All the years I"ve tried,With more to go,Will the memories die,I"m waiting,Will I find you,Can I find you”更像是Velvet Revolver乐队成员们对于枪炮玫瑰乐队重聚的一种期望。  7. Headspace - 3:42  8. Superhuman - 4:15  9. Set Me Free - 4:07(重点推荐)点评,Matt Sorum快速而密集的鼓点加上激烈的吉他伴奏,让这首单曲成为了整张专辑里最硬的单曲之一,他具备了一切成为优秀摇滚单曲的要素:流畅的旋律,精彩的solo,突出的鼓点节奏。而高潮部分的和声也明显不同于枪炮玫瑰时期Axl Rose的尖锐。  10. You Got No Right - 5:35  11. Slither - 4:08(重点推荐)点评:作为这张专辑的第一首打榜单曲,这首《Slither》可能不是整张专辑里最出色的单曲,但是这首单曲确是Scott Weiland和三名前枪炮玫瑰乐队成员之间相互融合的最出色的一首单曲,无论是Scott Weiland带有Grunge风格的演唱还是Duff McKagan和Matt Sorum强烈的节奏,以及Slash主导的吉他伴奏和solo都证明了这一点。  12. Dirty Little Thing - 3:57  13. Loving the Alien - 8:20  [唱片点评]  当笔者拿到这张由著名的枪炮玫瑰乐队原始成员组成的乐队的专辑的时候,心情是非常复杂的,激动之余又非常的担心。因为枪炮玫瑰这个名字在心里实在是具有太过重要的地位,生怕Slash,Duff McKagan,Matt Sorum的这张新专辑会非常让人失望,就像今不如昔的Metallica一样。但是,当Slash标志性的吉他响起的那一刻开始,就仿佛又回到了聆听鼎盛时代的枪炮玫瑰乐队一样沉醉其中,起先的担心瞬间消失,伟大的枪炮玫瑰们又回来了!发行首周后的出色销售成绩也证明了Velvet Revolver乐队的这张专辑的成功不是局部性的,首周25万6千张的销量让他们成为了Billboard 200排行榜的冠军。当Axl Rose领导的枪炮玫瑰乐队的新专辑《Chinese Democracy》仍然只是一句口号的时候,Velvet Revolver乐队已经结结实实的站在了排行榜冠军的领奖台上了。不知道唯独缺少Axl Rose的这些前枪炮玫瑰乐队艺术家们是否此时能够体会到一句中国古诗“遥知兄弟登高处,遍插茱萸少一人”的个中含义。  实际上,在许多枪炮玫瑰乐队歌迷的眼中,Izzy Stradlin和Slash才是枪炮玫瑰乐队真正的灵魂,华丽的Axl Rose和他的高音只不过是乐队吸引歌迷的一个重要因素,Duff McKagan也只是为乐队增添了一份朋克的能量,但是对于音乐来说,创作天才Izzy Stradlin和演奏天才Slash才是乐队真正的保证。或许正因为如此,所以当Slash,Duff McKagan,Matt Sorum与Izzy Stradlin重新组队并且一起工作的时候,人们才会认为这才是真正枪炮玫瑰乐队的实体,而Axl Rose和他领导的那帮人只不过是拥有了枪炮玫瑰的名称和外壳。  这是一张绝对可以用伟大来描述的专辑,作品的风格到编曲都与枪炮玫瑰乐队最经典的专辑《毁灭的欲望》(Appetite for Destruction)非常相近,从某些方面来说,这张专辑甚至比枪花巅峰时期发行的两张专辑《运用你的幻想I》(Use Your Illusion I)和《运用你的幻想II》(Use Your Illusion II)更出色。  与人们熟悉的枪炮玫瑰乐队的作品相比,唯一的不同来自于主唱,Velvet Revolver乐队主唱前Stone Temple Pilots乐队的主唱Scott Weiland的演唱风格和Axl Rose截然不同,两者仅有的相似点恐怕是两个人都具有非常高的作秀天赋,Axl Rose在这一点的表现是世界闻名的,也是枪炮玫瑰的标志之一;当Scott Weiland光着上身,穿着低胯的白裤子在单曲《Slither》的音乐录影带中扭腰的时候,不会有人再否认这位官司缠身的主唱的作秀能力。Scott Weiland和Axl Rose相比最大的不同还是在于演唱,与Axl Rose高亢而孤立的声音相比,Scott Weiland的演唱更多的带有一些Grunge风格,比如《Slither》,并且Scott Weiland在演唱的时候也更多的使用和声,这种和声的使用不同于原枪炮玫瑰时的《Paradise City》式的和声,而更像是Def Leppard式的和声,这一点在《Do It for the Kids》的两句副歌“Should we go out later,Showtime for strangers”中体现得尤为突出。Scott Weiland和Axl Rose的演唱方式不同,决定了他不可能成为像Axl Rose那样把演唱风格演变为乐队一个重要的组成部分,但是Scott Weiland也仍然是在努力让自己的演唱成为乐队的亮点之一,他把自己的演唱风格和Slash,Duff McKagan,Matt Sorum这三个枪炮玫瑰乐队成员的音乐融为一体,实际上,他融合的是非常成功的,某些时候,比如《Illegal I Song》,Scott Weiland慢节奏的演唱让整个单曲的演奏速度显得更快,让音乐显得更硬,他是成功的。最终,他们成功的融合让这张专辑的音乐变得非常的耐听,越听感觉越为流畅,就像《毁灭的欲望》一样!  没有人能够否认Slash的天才,他标志性的吉他solo一向都是枪炮玫瑰乐队最重要的特征之一,之所以说这张专辑是一张伟大的作品,一个重要原因是这些杰出的摇滚音乐家们并没有因为摇滚乐流行趋势的变化而改变风格,在这张专辑中,他们依旧使用的传统的摇滚乐演奏乐器,每一首歌曲都仍然是以Slash的吉他演奏为主导的摇滚乐曲,并且Slash华丽而嚣张的吉他英雄主义表演让这张专辑看起来就像是他们年轻时的作品一样肆无忌惮,Slash的吉他演奏仍然是乐队作品中最吸引人的部分,他标志性的吉他独奏遍布了整张专辑的每一首单曲,这是专辑里真正伟大的闪光点。  Duff McKagan仍然像他在枪炮玫瑰乐队是一样希望成为乐队的指挥家,这个自恃不凡的朋克青年虽也年届不惑,但是这里没有了专横的Axl Rose,Duff McKagan自然就更嚣张了,和往常一样,他仍然是乐队背景和声的第一人,并且时不时的在乐队演奏中担任领航,比如开篇单曲《Sucker Train Blues》以及主打单曲《Slither》中就是以Duff McKagan的贝司作前奏,实际上,长久以来,Duff McKagan的贝斯演奏为乐队音乐的强度提供了保证,快速的重节奏让乐队的音乐足够的硬。  虽然Matt Sorum也曾经录制了枪炮玫瑰乐队的巅峰专辑《运用你的幻想I》和《运用你的幻想II》,但是在风格已经开始不统一的专辑中,他并没有足够的时间和空间像首任鼓手Steven Adler那样展示自己的才能,这张专辑对于他来说可能是第一次真正充分体现自己的实力,他的鼓技就像Steven Adler在《毁灭的欲望》中那么突出。  专辑的开篇单曲《Sucker Train Blues》在Duff McKagan快速低沉的贝司以及一阵由远而近的警笛声中开始,之后是歌词被Scott Weiland像机关枪子弹似的发射出来,在快速强烈的节奏中,Slash如同在《毁灭的欲望》的吉他轰鸣让这首单曲看起来就象是枪炮玫瑰巅峰时的开篇单曲一样令人鼓舞。《Do It for the Kids》有着非常令人印象深刻的和声,令人印象更深的是Matt Sorum和Duff McKagan节奏的重复段。沉重的贝司作基调的《Big Machine》带有很强的Scott Weiland的Stone Temple Pilots乐队风格,不过Slash光芒四射的吉他很快掩盖了Scott Weiland的吼叫。快捷的鼓点点燃了《Illegal I Song》,一首金属风格的作品。《Spectacle》中Slash的一段solo是专辑前半段中的杰作之一。经过了五首硬摇滚单曲之后,专辑里终于出现了第一首柔情单曲《Fall to Pieces》,这首如同《Don"t Cry》一样的单曲,显而易见的影射了分崩离析的枪炮玫瑰乐队,一首意义非常深刻的单曲。接下来的《Headspace》是又一首硬摇滚单曲,有着轰鸣的旋律。《Superhuman》则更像是《Sweet Child O" Mine》,以Slash清晰的吉他反复段作为起点,并且在此后的旋律中仍然不时的重复该段,只不过Scott Weiland粗砺的嗓音不像Axl Rose那么高亢,高潮的部分他只能以咆哮来替代。《Set Me Free》是这张专辑里最硬的单曲之一,但是开始时的低沉的演唱,有点像《It"s So Easy》,这首单曲也是电影《绿巨人》(The Hulk)电影原声中的一员。《You Got No Right》是专辑里又一首舒缓的抒情单曲,很明显,这首单曲的内容也是针对了枪炮玫瑰乐队的分裂,“And if I meet you out tonight,Will you be loving me forever”的歌词也同样表现了对于枪炮玫瑰乐队重组前景的悲观,当渐入高潮的Slash的吉他solo嘎然而止的时候,这种悲凉的感觉更是立即被凸显出来。融合的非常出色的单曲《Slither》是乐队的首支打榜单曲,在这首单曲的音乐录影带中,Velvet Revolver乐队在一个类似于巴黎著名的下水道似的隧道中进行着疯狂的演出,地下味道十足。《Dirty Little Thing》是这张专辑里最后一首硬摇滚单曲,在这首单曲结束之后,他证明了这张出色的专辑中的每一首硬摇滚单曲都不仅拥有足够快速和激烈的节奏,同时都拥有着非常流畅的旋律,并且在音乐风格上相当的统一。整张专辑的最后一首单曲《Loving the Alien》是专辑里的第三首抒情单曲,同样,影射的又是关于枪炮玫瑰乐队的分裂,“Can you get me to a telephone,It"s just the little things”再次抒发了乐队解体后成员们的孤单,而伴奏中Slash将那一段吉他riff自始至终的贯穿整支单曲的时候,更表现出了这种孤单已经过了太久太久了。  这张专辑拥有的每一首单曲都是非常经得起回味的杰作,他们拥有统一的风格和非常清晰的旋律。这些硬摇滚单曲不仅有着高强度高硬度的节奏,并且拥有着快速紧凑的旋律,一切就像是《毁灭的欲望》是的那样。如果说唯一的不足的话,那可能就是因为在这张专辑中拥有三首慢节奏的抒情单曲,这三首单曲虽然都是对于枪炮玫瑰乐队解体而有感而发的,但是也着实影响了专辑原有的完全统一的硬摇滚风格,倘若没有这三首单曲的话,这张专辑将会成为像伟大的《毁灭的欲望》一样密不透风,毫无喘息机会的硬摇滚轰炸。不过正像枪炮玫瑰经典单曲《Don"t Cry》一样,这些柔情单曲的插入,体现出了乐队成员们的另一面,这也让《Fall to Pieces》这样单曲的抒情更让人动容。他们就像是一顿大餐中的甜点,增添了别样的味道,柔情单曲的存在也并不是专辑所不能接受的。  一张可以称之为百听不厌的作品,就像我们初次聆听《毁灭的欲望》时一样,刚开始的时候或许我们会觉得演奏太过嚣张,但是在又多听了几遍之后,就已经不知不觉的爱上了这张专辑了,最初还觉得生硬的旋律开始越来越觉得流畅,当然,这是摇滚乐最通俗的魅力。这不是枪炮玫瑰乐队,他们的成员和Scott Weiland完成了非常美妙的融合,将Scott Weiland的Stone Temple Pilots演唱风格和其他三名主要成员的枪炮玫瑰式的硬摇滚演奏风格成功的融合在了一起,形成了Velvet Revolver乐队新的独特的风格。这张专辑是一张Velvet Revolver乐队风格的专辑,三名枪炮玫瑰乐队的天才和Stone Temple Pilots乐队的问题人物已经不只是临时的演出乐队,而是已经形成了自己的道路。这张出色的专辑证明了他们的音乐水准依然非常的高超,Velvet Revolver乐队已经足以作为一支伟大的乐队而独立存在,而不仅仅只是前枪炮玫瑰乐队成员们的一个新称谓。一个经典乐队的一张经典的处子作专辑,唯一需要担心的就是,这支乐队不要像以前一样辉煌短暂,但愿他们能够存在的时间更长久一些,除非他们和Axl Rose又重新聚合在了一起。

笔记本中VOL和VAL代表什么

VOL1、代表音量,Volume2、团体批量许可证(Volume Licensing for Organizations的缩写),如果您的操作系统是这个版本,那笔记本就会有这样的标志。例如Windows XP VOL版。这个版本的好处是当企业或者政府需要大量购买一软件时可以获得优惠。这种产品的光盘的卷标都带有"VOL"字样,以表明是批量。我们说的上海政府 VOL 版XP就是这种批量购买的版本。而根据 VOL 计划规定, VOL 产品是不需要激活的(无论升级到SP1还是SP2)。VAL不是很清楚,VB中有VAL函数。或者是value的缩写,需要看出现在什么地方。

大数据具有“volume”、“variety”、“value”、“velocity”等特点,其中“volume”是指(  )。

【答案】:A大数据(big data),指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。大数据的特色在于对海量数据进行分布式数据挖掘,依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术大数据的特点有:(1)容量(Volume):数据的大小决定所考虑的数据的价值的和潜在的信息(2)种类(Variety):数据类型的多样性(3)速度(Velocity):指获得数据的速度(4)真实性(Veracity):数据的质量

facetime和volte是什么意思

facetime是苹果公司发明的一种视频通话软件。只可在苹果设备之间使用。 volte简单点说就是在4g网络上进行语音通话。现在没有卡通volte业务员。打电话时网络自动切换到2g或者3g网络上。 现在的4g网络只能上网 不能打电话。 你可以试试

vlog和volg分别是什么意思?

vlog 是当下很流行的词,短视频的意思

vlog和volg分别是什么意思

你这两个词第二个单词不对吧,第一个单词旗帜的意思。

Usher的《Revolver》 歌词

歌曲名:Revolver歌手:Usher专辑:Here I StandR-Evolve30 Seconds To MarsA Beautiful LieR-EvolveA revolution has begun today for me insideRevolve around yourself just like an ordinary manThe only other option is to forgetDoes it feel like we"ve never been alive?Defy yourself just to look inside the wreckage of your pastDoes it seem like we"ve only just begun?The ultimate defence is to pretendTo lose all you have to do is lieThe policy is set and we are never turning backIt"s time for execution; time to executeTime for execution; time to execute!Time for execution; time to execute!Does it seem like it"s only just begun?Does it feel like we"ve never been alive inside?Does it feel like we"ve never been alive?Does it seem it"s only just begun?It"s only just begunIt"s only just begunThe evolution is coming!A revolution has begun!The evolution is coming!A revolution has, yeah!The evolution is coming!A revolution has begun!(Yeah, yeah!)The evolution is coming!A revolution has, yeah!Revolution...Revolution...http://music.baidu.com/song/9679495

PIC单片机的volatile定义的地址到底有什么作用

/******************************************************************************************************************** 一看给就是C语言没有学好,voatile 是易变的、不稳定的意思,volatile是一种类型修饰符,用它修饰变量表示可以被某些编译器未知的因素更改,不如操作系统硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 先看看下面的例子: volatile int i=10; int j = i ;//(3) 语句 int k = i;//(4) 语句volatile关键字告诉编译器i 是随时可能发生变化的,每次使用它的时候必须从内存中取出i的值,因而编译器生成的汇编代码会重新从i 的地址处读取数据放在k 中。这样看来,如果i 是一个寄存器变量或者表示一个端口数据或者是多个线程的共享数据,就容易出错,所以说volatile可以保证对特殊地址的稳定访问。*******************************************************************************************************************/

单线程环境下volatile与synchronized是否有必要

volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。synchronized 是Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。三、当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。四、第三个例子同样适用其它同步代码块。当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。

为什么在多核多线程程序中要慎用volatile关键字

a. 避免用通用寄存器对内存读写的优化。编译器常做的一种优化就是:把常用变量的频繁读写弄到通用寄存器中,最后不用的时候再存回内存中。但是如果某个内存地址中的值是由片外决定的(例如另一个线程或是另一个设备可能更改它),那就需要volatile关键字了。(感谢Kenny老师指正)b.硬件寄存器可能被其他设备改变的情况。例如一个嵌入式板子上的某个寄存器直接与一个测试仪器连在一起,这样在这个寄存器的值随时可能被那个测试仪器更改。在这种情况下如果把该值设为volatile属性的,那么编译器就会每次都直接从内存中去取这个值的最新值,而不是自作聪明的把这个值保留在缓存中而导致读不到最新的那个被其他设备写入的新值。c. 同一个物理内存地址M有两个不同的内存地址的情况。例如两个程序同时对同一个物理地址进行读写,那么编译器就不能假设这个地址只会有一个程序访问而做缓存优化,所以程序员在这种情况下也需要把它定义为volatile的。

java单例双重检查锁为什么需要加volatile关键字

volatile关键字起到提醒JVM这个变量永远去内存当中去获取值(有时候值会被写到寄存器当中)被volatile声明的变量,那么所有的线程都会得到一样的值。

关键字volatile,inline有什么用

volatile 是把变量标识为“变化中的”。意思是这个变量即使在(主线程)没有任何存取操作的情况下也可能在(被其他线程)变化。写上提醒注意线程安全。Java 1.4及之前版本加了这个的变量也没有同步安全。Java 5以后加了volatile后会在读取方面有同步安全。

加不加Volatile看不出有什么效果啊求解

想看出效果来比较困难!一个boolean 本省就是原子操作。如果你换一个真正的Object,n个线程操作,你就会发现有效果了。参见:以下为引用IBM网站上Java64 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证,线程看到的共享变量可能是修改前的值或不一致的值,这将引发许多严重问题。Volatile 变量Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。Volatile 变量可用于提供线程安全,但是只能应用于非常有限的一组用例:多个变量之间或者某个变量的当前值与修改后值之间没有约束。因此,单独使用 volatile 还不足以实现计数器、互斥锁或任何具有与多个变量相关的不变式(Invariants)的类(例如 “start <=end”)。出于简易性或可伸缩性的考虑,您可能倾向于使用 volatile 变量而不是锁。当使用 volatile 变量而非锁时,某些习惯用法(idiom)更加易于编码和阅读。此外,volatile 变量不会像锁那样造成线程阻塞,因此也很少造成可伸缩性问题。在某些情况下,如果读操作远远大于写操作,volatile 变量还可以提供优于锁的性能优势。正确使用 volatile 变量的条件您只能在有限的一些情形下使用 volatile 变量替代锁。要使 volatile 变量提供理想的线程安全,必须同时满足下面两个条件:对变量的写操作不依赖于当前值。该变量没有包含在具有其他变量的不变式中。实际上,这些条件表明,可以被写入 volatile 变量的这些有效值独立于任何程序的状态,包括变量的当前状态。第一个条件的限制使 volatile 变量不能用作线程安全计数器。虽然增量操作(x++)看上去类似一个单独操作,实际上它是一个由读取-修改-写入操作序列组成的组合操作,必须以原子方式执行,而 volatile 不能提供必须的原子特性。实现正确的操作需要使 x 的值在操作期间保持不变,而 volatile 变量无法实现这点。(然而,如果将值调整为只从单个线程写入,那么可以忽略第一个条件。)大多数编程情形都会与这两个条件的其中之一冲突,使得 volatile 变量不能像 synchronized 那样普遍适用于实现线程安全。清单 1 显示了一个非线程安全的数值范围类。它包含了一个不变式 —— 下界总是小于或等于上界。

java volatile变量为什么不能保证原子性

被volatile修饰的变量保证的是可见性,不是原子性。这是两个不同的概念。可见性是指不论在哪个线程中看,同一个对象同一时刻的值总是一样的,不会出现不一致的情况。原子性是指一个操作要么完成,要么没有完成,不会出现完成了一半的情况。

只读的状态寄存器.它是volatile因为它可能被意想不到地改变.它是const因为程序不应该试图去修改它.

程序不会去修改它 也不应该去修改它 对于你的程序来说 它是只读的但是volatile表明它可能被其他器件更改比如外部信号 或者其他类似的外部器件

volatile 引用哪个头文件

volatile是C语言里面的一个关键字,不需要引用。volatile是一个类型修饰符(type specifier),就像大家更熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。说人话,就是:变量可能会被意想不到地改变,添加volatile关键字后,每次使用这个变量,都会确保里面的值是最新的值。

是不是用了volatile的变量或指针等 后,都直接从内存中读取数据

没有错。volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 有volatie修饰的变量,每次操作时遵循下面动作: 从内存取值 ---> 放入寄存器 ---> 操作 --->写回内存 没有volatie修饰的变量,操作可能遵循(可能的意思是:不是所有情况都如此): 从内存取值 ---> 放入寄存器 ---> 第一次操作 ---> 第二次操作(此时仍操作寄存器中的值) …… --->第N次操作 --->写回内存

volatile一般用来修饰结构体中的成员变量吗?

请参考:http://baike.baidu.com/view/608706.htm

java之用volatile和不用volatile的区别

在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。要解

java之用volatile和不用volatile的区别

volatile关键字是用来干什么的?当一个变量定义为 volatile 之后,将具备两种特性:  1.保证此变量对所有的线程的可见性,这里的“可见性”,如本文开头所述,当一个线程修改了这个变量的值,volatile 保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。但普通变量做不到这点,普通变量的值在线程间传递均需要通过主内存(详见:Java内存模型)来完成。  2.禁止指令重排序优化。有volatile修饰的变量,赋值后多执行了一个“load addl $0x0, (%esp)”操作,这个操作相当于一个内存屏障(指令重排序时不能把后面的指令重排序到内存屏障之前的位置),只有一个CPU访问内存时,并不需要内存屏障;(什么是指令重排序:是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理)。volatile 性能:  volatile 的读性能消耗与普通变量几乎相同,但是写操作稍慢,因为它需要在本地代码中插入许多内存屏障指令来保证处理器不发生乱序执行。volatile 原理:  volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。  在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比sychronized关键字更轻量级的同步机制。  当对非 volatile 变量进行读写的时候,每个线程先从内存拷贝变量到CPU缓存中。如果计算机有多个CPU,每个线程可能在不同的CPU上被处理,这意味着每个线程可以拷贝到不同的 CPU cache 中。  而声明变量是 volatile 的,JVM 保证了每次读变量都从内存中读,跳过 CPU cache 这一步。

一个指针可以是volatile吗?解释下为什么

可以,具体你看看这个http://blog.21ic.com/user1/164/archives/2005/1271.html

static 和 Volatile 的区别

作者:David链接:https://www.zhihu.com/question/41579791/answer/91619879来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。static指的是类的静态成员,实例间共享volatile跟Java的内存模型有关,线程执行时会将变量从主内存加载到线程工作内存,建立一个副本,在某个时刻写回。valatile指的每次都读取主内存的值,有更新则立即写回主内存。理解了这两点,逐句再来解释你的困惑:“既然static保证了唯一性”:static保证唯一性,指的是static修饰的静态成员变量是唯一的,多个实例共享这唯一一个成员。“那么他对多个线程来说都是可见的啊”:这里,static其实跟线程没太大关系,应该说对多个对象实例是可见的。你说对多个线程可见,虽然没什么毛病,因为静态变量全局可见嘛,但是把这个理解转到线程的上线文中是困惑的起因。“volatile保证了线程之间的可见性”:因为线程看到volatile变量会去读取主内存最新的值,而不是自个一直在那跟内部的变量副本玩,所以保证了valatile变量在各个线程间的可见性。“那么修改的时候只要是原子操作,那么就会保证它的唯一性了吧”:此时你说的“唯一性”,指的是各个线程都能读取到唯一的最新的主内存变量,消除了线程工作内存加载变量副本可能带来的线程之间的“不唯一性”。这里“唯一性”的含义跟第一句说的“唯一性”是不一样的。“这两个在我理解上我觉得差不多。”:其实解决问题的“场景”是完全不一样的。

c代码中volatile关键字的作用,除了阻止cpu直接使用寄存器和cache中变量,还有其他功能吗?

volatile表明该变量可能在其它代码中被修改,以免编译器在优化时出现错误。比如以下程序:int x, y; x = 5; y = x + 1;只看这段代码,在编译优化时,完全可以把y = x + 1 直接编译成 y=6 而得到完全正确的结果。如果把x声明为 volatile int x; 编译器就不会做这种猜测性的优化,而直接使用x的现有值。声明为volatile,只有该变量在其它模块中可能被修改的情况下才有意义,否则只会阻止对该变量进行的编译优化,降低编译效率。对于auto类型、static类型的变量,显然没必要声明为volatile的。可以说,只有可能在其它模块中被修改的全局符号,只有在编写并发程序时,才可能出现使用volatile的必要性。

volatile关键字和原子操作的区别

fuck,这两者不是并列关系,说不上区别。先说一下,本人水平有限,说错了的话请方家包涵。volatile关键字和sychronized一样,作用都是为了多线程同步的。不同的是volatile是确保了多线程中原子操作的可见性,就是说你在一个线程中进行原子操作,另一个线程是可以看到之前原子操作的结果的。而sychronized应用更广泛,范围也扩展到你想要同步的代码块,也更不容易出问题。原子操作就是线程相关的单步操作,不能分割的操作,其‘不可分割"的现实体现是:在共享内存中的变量,你可以不用sychronized去修饰,而只使用volatile关键字去修饰这个变量,就可以做到可见性。如果对它的操作不是原子操作,那么volatile也就不能确保线程同步了。而复杂的操作则应该使用sychronized,而线程同步中,使用volatile效率比sychronized高不少,但也很容易出问题,基本上建议尽可能使用sychronized。

为什么不用volatile关键字声明的变量,却能

volatile 用于编译器编译时,它告诉编译器,“编译时不要对我作优化,我的数值会嵌套变化的,你不一定懂,别优化噢!”片段程序例子: int some_int = 100;while(some_int == 100){ 循环体程序块 };变量声明未用volatile,编译时会优化成 while(true){ 循环体程序块 };用了 volatile int some_int = 100; 就会保持 while(some_int == 100)....

volatile应用在什么场景

volatile有五个使用场景:1.作为状态标志2.一次性安全发布3.独立观察4.volatile bean模式5.开销较低的读写锁策略

volatile*转普通指针要什么?

C语言里只能强转:volatile int* vp;int* p = (int*)(vp);C++里可以用const_cast,不要被const_cast的名称迷惑了,const_cast不仅可以去掉const限定,也可以去掉volatile限定:volatile int* vp;int* p = const_cast<int*>(vp);

为什么在多线程程序中要慎用volatile关键字

  因为volatile并不能保证其原子性,他只保证了某一个线程对他修改以后其他线程可见,  尤其是当多个线程对一个变量自增活自减时会导致变量出错。  参照《深入理解java虚拟机》一书,volatile运用在以下场景:  1>运算结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值。  2>变量不需要与其他的状态变量共同参与不变约束(表示看不懂这句)。  因此,在使用volatile关键字时要慎重,并不是只要简单类型变量使用volatile修饰,对这个变量的所有操作都是原来操作,当变量的值由自身的 上一个决定时,如n=n+1、n++等,volatile关键字将失效,只有当变量的值和自身上一个值无关时对该变量的操作才是原子级别的,如n = m+1,这个就是原级别的。所以在使用volatile关键时一定要谨慎,如果自己没有把握,可以使用synchronized来代替volatile。

c 语言中关于 volatile 形参问题??

会的,因为加上volatile限定符就表示他可能会被意外改变,优化器每次都会直接读他的值

voliate关键字是什么?

volatile影响编译器编译的结果,指出,volatile变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。这里存放了变量目前的“准确值”。每个线程可以有它自己的变量拷贝,而这个变量拷贝值可以和“主”内存区域里存放的不同。因此实际上存在一种可能:“主”内存区域里的i1值是1,线程1里的i1值是2。编译器优化:应用程序之所以复杂, 是由于它们具有处理多种问题以及相关数据集的能力。实际上, 一个复杂的应用程序就象许多不同功能的应用程序“ 粘贴” 在一起。源文件中大部分复杂性来自于处理初始化和问题设置代码。这些文件虽然通常占源文件的很大一部分, 具有很大难度, 但基本上不花费C PU 执行周期。尽管存在上述情况, 大多数Makefile文件只有一套编译器选项来编译项目中所有的文件。因此, 标准的优化方法只是简单地提升优化选项的强度, 一般从O 2 到O 3。这样一来, 就需要投人大量 精力来调试, 以确定哪些文件不能被优化, 并为这些文件建立特殊的make规则。

volatile acidity是什么啊?

挥发性酸

C/C++ 中volatile 为什么不能保障原子性,或者什么情况下能保障原子性,分不多,第一个问题

退热贴

一个指针可以使volatile吗

当然可以。volatile 修饰指针,一般用在共享指针上面。即这个指针是被其它代码共享的,经常变化的,这时候,加上 volatile 关键字,可以防止被编译器优化。

什么情况下volatile的值会被改变

你这是单线程的程序,变量值永远不会改变。除非改写成多线程。http://baike.baidu.com/view/608706.htm

用C++进行多线程有没有必要加volatile么?

可以说volatile这个关键字并不是多线程专有的,很多嵌入式开发里都会有。主要控制的就是当修改变量时系统仅是改了临时存放变量的寄存器而没有及时更改相应内存,这会导致这段空窗期的其他程序读取这个内存数据时是过时的,或者说就是错误的。很多嵌入式开发中,都会有这样的问题,外部IO口的变化会使系统内部某变量改变,但是不用这个关键字可能会导致非常严重的控制错误。比如电梯运行中的平层信号,如果没有及时写入内存,将会使系统读取一个错误的楼层数据,结果是灾难性的。多线程中,这个关键字的作用类同,都是出于同步控制的考量。总之volatile和多线程没有关系volatile和多线程没有关系volatile和多线程没有关系,重要的事情说三遍。加了volatile不会让错误的程序变正确,去掉volatile也不会让正确的程序变错误。如果你愿意大可以加上这个东西,反正它除了让你的程序变慢一点之外不会有其它影响。

static 和 Volatile 的区别

static是静态的,volatile是易失的。随机访问存储器里的数据就是volatile的,而只读存储器里的数据就是static的。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。内存可以分为随机访问存储器和只读存储器,前者允许数据的读取与写入,磁盘中的程序必须被调入内存后才能运行,中央处理器可直接访问内存,与内存交换数据。电脑断电后,随机访问存储器里的信息就会丢失,这种数据就叫做volatile data,后者的信息只能读出,不能随意写入,即使断电也不会丢失,这种数据叫做static data。

static 和 Volatile 的区别

1.volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。2.volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.3.C++与C#的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用.static作用:static静态变量声明符。在声明它的程序块,子程序块或函数内部有效,值保持,在整个程序期间分配存储器空间,编译器默认值0。

static 和 Volatile 的区别

static:静态类型。在面向过程编程中,限制了变量和函数的作用域及存储域;在面向对象编程中,静态数据和函数为所有对象共有,只开辟一个存储区。 volatile:通常用于直接与硬件打交道的场合,它们的值可由程序以外的过程控制,比如硬件寄存器。

const和volatile的区别

const 指定了我们的程序代码中是不可以改变这个变量的,但是我们不能保证,由于硬件的原因,导致这个值被改变。volatile 关键字表示,编译器进行强制 I/O 寻址,而非读取寄存器的值。一般情况下,连续使用的变量,编译器会先把数据读出来,并且保存到寄存器里,使用的时候,直接读取寄存器里的数据,这样处理速度会快一点,但是,有些时候,比如实时读取按键值,或者其它要求比较实时的数据,就不能使用寄存器了,必须要用到 volatile 关键字了。所以然,有些时候,const 和 volatile 是可以配合使用的。

c/c++ volatile关键字个人总结

最近有同事提到了volatile关键字,所以感兴趣就上网去学习了下,但是在网上看的云里雾里的,因为很多帖子都是明确说明volatile的定义了,然后就各种给你讲例子它应该如何应用到多线程中使用,我个人也写了例子,程序运行没有实现出他们多线程的效果。不过看了很多帖子也花费了很多时间,就做一个总结吧。 1:volatile的历史 volatile诞生于单cpu核心时代,为保持兼容,一直只是针对编译器的,对cpu无影响。 2:volatile在c/c++中的作用: 1.告诉编译器不要将定义的变量优化掉。 2.告诉编译器总是从缓存取被修饰的变量值,而不是寄存器取值。 注释:volatile针对的编译器。很多帖子上升到内存屏障,保证执行乱序的高度了,你们帮忙吹牛逼不犯法么? 3:volatile的应用场景: (1)信号处理程序。 (2)与硬件打交道(嵌入式开发) (3)setjmp和longjmp(函数间跳转关键字) 注释:如果你搞嵌入式程序开发可以更多的关注一下,如果不是,没有必要过多关注。他不会在多线程上对程序起到多么牛逼的好处,起码我自己写程序没有。我的电脑是两核的。不高,难道用8核的会有不一样的效果?

static volatile a b=c;

static和volatile都是修饰符,static是静态局部变量,volatile是用来修饰被不同线程访问和修改的变量用法一两句说不清,我给你两个链接:http://baike.baidu.com/link?url=Vtirr6oOHv87wlExhO_YxiLzjpq8pCP5ZQuJVa3qRjpMmFEzYDOww6CNQfsuFwwGhttp://baike.baidu.com/link?url=V1e9gY-AyTTxQ2rYHHpKwNarJ22ClGyzsNZOYlbzMifgYsJgm2QSwl-xhbS8wHahstatic volatile a b=c;中a是类型,和int差不多,b是变量名,c是值int c=2;static volatile int b=c;这样就清楚了

volatile关键字是否能保证线程安全

volatile不是保护线程安全的。它保护的是变量安全。主要的功能是保护变量不被主函数和中断函数反复修改造成读写错误。

java中对象或者数组用volatile修饰有什么用

就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.

static 和 Volatile 的区别

static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。下面我们来一个个说明。考虑下面的代码:代码:class Gadget{public:void Wait(){while (!flag_){Sleep(1000); // sleeps for 1000 milliseconds}}void Wakeup(){flag_ = true;}...private:bool flag_;};

Volatile修饰数组有意义吗

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。

static 和 Volatile 的区别

变量放在主存区上,使用该变量的每个线程,都将从主存区拷贝一份到自己的工作区上进行操作。volatile, 声明这个字段易变(可能被多个线程使用),Java内存模型负责各个线程的工作区与主存区的该字段的值保持同步,即一致性。static, 声明这个字段是静态的(可能被多个实例共享),在主存区上该类的所有实例的该字段为同一个变量,即唯一性。volatile, 声明变量值的一致性;static,声明变量的唯一性。此外,volatile同步机制不同于synchronized, 前者是内存同步,后者不仅包含内存同步(一致性),且保证线程互斥(互斥性)。static 只是声明变量在主存上的唯一性,不能保证工作区与主存区变量值的一致性;除非变量的值是不可变的,即再加上final的修饰符,否则static声明的变量,不是线程安全的。下面摘自Java语言规范(Java Language Specification)的官方解释:1) If a field is declared static, there exists exactly one incarnation of the field, no matter how many instances (possibly zero) of the class may eventually be created. 2) A field may be declared volatile, in which case the Java Memory Model ensures that all threads see a consistent value for the variable。

java中对象或者数组用volatile修饰有什么用?

http://zhidao.baidu.com/question/331268847.html

JAVA 里static 和volatile的区别

static是静态的声明,volatile是重新配置

关键字static、Const、Volatile的作用是什么

在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)如果应试者能正确回答这个问题,我将问他一个附加的问题:下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * a const;前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:2). 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。3). 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3). 多线程应用中被几个任务共享的变量假设被面试者正确地回答了这是问题(嗯,怀疑这否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得volatile完全的重要性。int square(volatile int *ptr){return *ptr * *ptr;}下面是答案:1). 是的。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。2). 是的。尽管这并不很常见。一个例子是当一个中服务子程序修该一个指向一个buffer的指针时。3). 这段代码的有个恶作剧。这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码:int square(volatile int *ptr){int a,b;a = *ptr;b = *ptr;return a * b;}由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。结果,这段代码可能返不是你所期望的平方值!正确的代码如下:

关键字volatile有什么含义?并给出三个不同的例子

volatile 是说这变量可能会被意想不到地改变通俗的解释下(不知道确切不):你要喝豆浆,豆浆通常是做好放在杯子里,通常情况下你只要端起杯子喝就可以达到目的,但是,有一天杯子里放的是奶茶,你拿起杯子就不可能喝道豆浆也就是说,你要喝豆浆,就要去找豆浆,而不能看杯子volatile 的意思可以理解成 从原始地址取值

关于c语言中的volatile限定符

本章描述C++的表达式,表达式是用于一个或多个以下目的的运算符和操作数序列:* 从操作数计算出一个值* 设计对象或函数* 产生“副作用”(副作用是非表达式求值的任何动作,例如,修改一个对象的值)。在C++中,运算符可被重载而且它们的含义可由用户定义,但是它们的优先级以及所带操作数的个数不能被修改。本章描述该语言中所提供的而非重载的运算符的语法和语义,包括以下主题:* 表达式的类型* 表达式的语义* 造型转换(有关重载的运算符的更多信息参见第12章“重载”中的“重载的运算符”)。注意:内部类型的运算符不能被重载,它们的行为是预先定义好的。

static 和 Volatile 的区别

变量放在主存区上,使用该变量的每个线程,都将从主存区拷贝一份到自己的工作区上进行操作。volatile, 声明这个字段易变(可能被多个线程使用),Java内存模型负责各个线程的工作区与主存区的该字段的值保持同步,即一致性。static, 声明这个字段是静态的(可能被多个实例共享),在主存区上该类的所有实例的该字段为同一个变量,即唯一性。volatile, 声明变量值的一致性;static,声明变量的唯一性。此外,volatile同步机制不同于synchronized, 前者是内存同步,后者不仅包含内存同步(一致性),且保证线程互斥(互斥性)。static 只是声明变量在主存上的唯一性,不能保证工作区与主存区变量值的一致性;除非变量的值是不可变的,即再加上final的修饰符,否则static声明的变量,不是线程安全的。下面摘自Java语言规范(Java Language Specification)的官方解释:1) If a field is declared static, there exists exactly one incarnation of the field, no matter how many instances (possibly zero) of the class may eventually be created. 2) A field may be declared volatile, in which case the Java Memory Model ensures that all threads see a consistent value for the variable。

volatile和lock的区别

volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.C++与C#的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用.static作用:static静态变量声明符。在声明它的程序块,子程序块或函数内部有效,值保持,在整个程序期间分配存储器空间,编译器默认值0。

java 里面volatile什么意思啊

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。 就跟C中的一样 禁止编译器进行优化~~~~

关键字volatile有什么含意?并给出三个不同的例子

精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。 下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 3). 多线程应用中被几个任务共享的变量 回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volatile变量。不懂得volatile内容将会带来灾难。 假设被面试者正确地回答了这是问题(嗯,怀疑这否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得volatile完全的重要性。 int square(volatile int *ptr) { return *ptr * *ptr;}下面是答案: 1). 是的。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。 2). 是的。尽管这并不很常见。一个例子是当一个中服务子程序修该一个指向一个buffer的指针时。 3). 这段代码的有个恶作剧。这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码: int square(volatile int *ptr) {int a,b;a = *ptr;b = *ptr;return a * b;}由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。结果,这段代码可能返不是你所期望的平方值! 正确的代码如下: long square(volatile int *ptr) {int a;a = *ptr;return a * a;}Volatile 关键字告诉编译器不要持有变量的临时性拷贝。一般用在多线程程序中,以避免在其中一个线程操作该变量时,将其拷贝入寄存器。 请看以下情形: A线程将变量复制入寄存器,然后进入循环,反复检测寄存器的值是否满足一定条件(它期待B线程改变变量的值。 在此种情况下,当B线程改变了变量的值时,已改变的值对其在寄存器的值没有影响。所以A线程进入死循环。

java 里 volatile 关键字有什么特性 是否能保证线程安全

Java语言中关键字 volatile 被称作轻量级的 synchronized,与synchronized相比,volatile编码相对简单且运行的时的开销较少,但能够正确合理的应用好 volatile 并不是那么的容易,因为它比使用锁更容易出错,接下来本文主要介绍 volatile 的使用准则,以及使用过程中需注意的地方。为何使用volatile?(1)简易性:在某些需要同步的场景下使用volatile变量要比使用锁更加简单(2)性能:在某些情况下使用volatile同步机制的性能要优于锁(3)volatile操作不会像锁一样容易造成阻塞volatile特性(1)volatile 变量具有 synchronized 的可见性特性,及如果一个字段被声明为volatile,java线程内存模型确保所有的线程看到这个变量的值是一致的(2)禁止进行指令重排序(3)不保证原子性注:① 重排序:重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段② 原子性:不可中断的一个或一系列操作③ 可见性:锁提供了两种主要特性:互斥和可见性,互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的。volatile的实现原理如果对声明了volatile的变量进行写操作,JVM就会向处理器发送一条Lock前缀的指令,该Lock指令会使这个变量所在缓存行的数据回写到系统内存,根据缓存一致性协议,每个处理器都会通过嗅探在总线上传输的数据来检查自己缓存的值是否已过期,当处理器发现自己的缓存行对应的地址被修改,就会将当前处理器的缓存行设置成无效状态,在下次访问相同内存地址时,强制执行缓存行填充。正确使用volatile的场景volatile 主要用来解决多线程环境中内存不可见问题。对于一写多读,是可以解决变量同步问题,但是如果多写,就无法解决线程安全问题。如:1、不适合使用volatile的场景(非原子性操作)(1)反例private static volatile int nextSerialNum = 0;public static long generateSerialNum() {return nextSerialNum++;}这个方法的目的是要确保每次调用都返回不同的自增值,然而结果并不理想,问题在于增量操作符(++)不是原子操作,实际上它是一个由读取-修改-写入操作序列组成的组合操作,如果第二个线程在第一个线程读取旧值和写回新值期间读取这个域,第二个线程与第一个线程就会读取到同一个值。(2)正例其实面对上面的反例场景可以使用JDK1.5 java.util.concurrent.atomic中提供的原子包装类型来保证原子性操作private static AtomicInteger nextSerialNum = new AtomicInteger(0);public static long generateSerialNum() {return nextSerialNum.getAndIncrement();}2、适合使用volatile的场景在日常工作当中volatile大多被在状态标志的场景当中,如:要通过一个线程来终止另外一个线程的场景(1)反例private static boolean stopThread;public static void main(String[] args) throws InterruptedException {Thread th = new Thread(new Runnable() {@Overridepublic void run() {int i = 0;while (!stopThread) {i++;}}});th.start();TimeUnit.SECONDS.sleep(2);stopThread = true;}运行后发现该程序根本无法终止循环,原因是,java语言规范并不保证一个线程写入的值对另外一个线程是可见的,所以即使主线程main函数修改了共享变量stopThread状态,但是对th线程并不一定可见,最终导致循环无法终止。(2)正例private static volatile boolean stopThread;public static void main(String[] args) throws InterruptedException {Thread th = new Thread(new Runnable() {@Overridepublic void run() {int i = 0;while (!stopThread) {i++;}}});th.start();TimeUnit.SECONDS.sleep(2);stopThread = true;}通过使用关键字volatile修饰共享变量stopThread,根据volatile的可见性原则可以保证主线程main函数修改了共享变量stopThread状态后对线程th来说是立即可见的,所以在两秒内线程th将停止循环。

C语言中的volatile是什么意思?怎么用?谢了

C语言关键字volatile,表示不经过赋值,其值也可能被改变

java里面volatile是什么意思?

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。 就跟C中的一样 禁止编译器进行优化~~~~

java的volatile是什么意思

一般的,如果多个线程协作存、取某个变量时,一般需要用到synchronized关键字进行同步操作,如:public class MyTestThread extends MyTest implements Runnable { private boolean _done = false; public synchronized boolean getDone() { return _done; } public synchronized void setDone(boolean b) { _done = b; } public void run( ) { boolean done; done = getDone(); while (!done) { repaint( ); try { Thread.sleep(100); } catch (InterruptedException ie) { return; } } }}或者:public class MyTestThread extends MyTest implements Runnable { private boolean _done = false; public void setDone(boolean b) { synchronized(this) { _done = b; } } public void run( ) { boolean done; synchronized(this) { done = _done; } while (!done) { repaint( ); try { Thread.sleep(100); } catch (InterruptedException ie) { return; } } }}但是,通过volatile关键字,我们可以大大简化:public class MyTestThread extends MyTest implements Runnable { private volatile boolean done = false; public void run( ) { while (!done) { repaint( ); try { Thread.sleep(100); } catch (InterruptedException ie) { return; } } } public void setDone(boolean b) { done = b; }}

volatile关键字的作用是什么?

volatile是一个特征修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。与锁相比,Volatile变量是一种非常简单但同时又非常脆弱的同步机制,它在某些情况下将提供优于锁的性能和伸缩性。扩展资料:使用地方一般说来,volatile用在如下的几个地方:1、中断服务程序中修改的供其它程序检测的变量需要加volatile;2、多任务环境下各任务间共享的标志应该加volatile;3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义;另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实现,2 中可以禁止任务调度,3中则只能依靠硬件的良好设计了。

为什么 long 和double 加上volatile

volatile变量主要用在以下几个方面:(1)并行设备的硬件寄存器(如状态寄存器);(2)一个中断服务子程序中会访问到的非自动变量;(3)多线程应用中被几个任务共享的变量

多线程编程中什么情况下需要加 volatile

C/C++多线程编程中不要使用volatile。(注:这里的意思指的是指望volatile解决多线程竞争问题是有很大风险的,除非所用的环境系统不可靠才会为了保险加上volatile,或者是从极限效率考虑来实现很底层的接口。这要求编写者对程序逻辑走向很清楚才行,不然就会出错)C++11标准中明确指出解决多线程的数据竞争问题应该使用原子操作或者互斥锁。C和C++中的volatile并不是用来解决多线程竞争问题的,而是用来修饰一些因为程序不可控因素导致变化的变量,比如访问底层硬件设备的变量,以提醒编译器不要对该变量的访问擅自进行优化。简单的来说,对访问共享数据的代码块加锁,已经足够保证数据访问的同步性,再加volatile完全是多此一举。如果光对共享变量使用volatile修饰而在可能存在竞争的操作中不加锁或使用原子操作对解决多线程竞争没有任何卵用,因为volatile并不能保证操作的原子性,在读取、写入变量的过程中仍然可能被其他线程打断导致意外结果发生。

请问在 C 语言中const与volatile是什么意思?

const 常量,运行时不可改变volatile 编译器不要优化(多用于寄存器)
 首页 上一页  1 2 3 4 5 6 7 8 9 10  下一页  尾页