Java鐭ヨ瘑鍒嗕韩缃?- 杞绘澗瀛︿範浠庢寮€濮嬶紒聽聽聽聽

SVN瑙嗛鏁欑▼(缁撳悎eclipse,idea)鍏嶈垂棰嗗彇

姣曡浠e仛锛屽寘鏌ラ噸锛?a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1982956321&site=qq&menu=yes">鑱旂郴浜篞Q锛?982956321锛? 姣曡澶х

棰嗗彇鍥藉唴浼樼灏变笟锛屽姞钖紝璺虫Ы椤圭洰璇剧▼婧愮爜-vue2+jwt+springboot+mybaits鍓嶅悗绔垎绂婚€氳褰曠郴缁熻绋?/h2>

SpringBoot鎵撻€犱紒涓氱骇杩涢攢瀛?/h2>

Java1234 VIP璇剧▼

棰嗗彇寰俊鎵爜鐧诲綍Java瀹炵幇瑙嗛鏁欑▼

Java1234鑷冲皧VIP锛堢壒浠锋椿鍔級
褰撳墠浣嶇疆: 涓婚〉 > Java鏂囨。 > Java鍩虹鐩稿叧 >

JML Level 0鎵嬪唽 PDF 涓嬭浇


鍒嗕韩鍒帮細
鏃堕棿:2020-05-23 08:57鏉ユ簮:http://vitrailad.com 浣滆€?灏忛攱  渚垫潈涓炬姤
JML Level 0鎵嬪唽 PDF 涓嬭浇
澶辨晥閾炬帴澶勭悊
JML Level 0鎵嬪唽 PDF 涓嬭浇

涓嬭浇鍦板潃锛?/strong>

閾炬帴锛?a href="https://pan.baidu.com/s/17B0KNTXt5V4HV976OCj37Q" target="_blank">https://pan.baidu.com/s/17B0KNTXt5V4HV976OCj37Q 
鎻愬彇鐮侊細hq3x

鐩稿叧鎴浘锛?br />

涓昏鍐呭锛?/strong>

JML(Java Modeling Language)鏄敤浜庡Java绋嬪簭杩涜瑙勬牸鍖栬璁$殑涓€绉嶈〃绀鸿瑷€銆侸ML鏄竴绉嶈涓烘帴鍙?/div>
瑙勬牸璇█锛圔ehavior Interface Specification Language锛孊ISL锛夛紝鍩轰簬Larch鏂规硶鏋勫缓銆侭ISL鎻愪緵浜嗗
鏂规硶鍜岀被鍨嬬殑瑙勬牸瀹氫箟鎵嬫銆傛墍璋撴帴鍙e嵆涓€涓柟娉曟垨绫诲瀷澶栭儴鍙鐨勫唴瀹广€侸ML涓昏鐢盠eavens鏁欐巿鍦?/div>
Larch涓婄殑宸ヤ綔锛屽苟铻嶅叆浜咮etrand Meyer锛?John Guttag绛変汉鍏充簬Design by Contract鐨勭爺绌舵垚鏋溿€傝繎
骞存潵锛孞ML鎸佺画鍙楀埌鍏虫敞锛屼负涓ユ牸鐨勭▼搴忚璁℃彁渚涗簡涓€濂楄涔嬫湁鏁堢殑鏂规硶銆傞€氳繃JML鍙婂叾鏀寔宸ュ叿锛屼笉
浠呭彲浠ュ熀浜庤鏍艰嚜鍔ㄦ瀯閫犳祴璇曠敤渚嬶紝骞舵暣鍚堜簡SMT Solver绛夊伐鍏蜂互闈欐€佹柟寮忔潵妫€鏌ヤ唬鐮佸疄鐜板瑙勬牸鐨勬弧
瓒虫儏鍐点€?/div>
涓€鑸€岃█锛孞ML鏈変袱绉嶄富瑕佺殑鐢ㄦ硶锛?/div>
锛?锛夊紑灞曡鏍煎寲璁捐銆傝繖鏍蜂氦缁欎唬鐮佸疄鐜颁汉鍛樼殑灏嗕笉鏄彲鑳藉甫鏈夊唴鍦ㄦā绯婃€х殑鑷劧璇█鎻忚堪锛岃€屾槸閫?/div>
杈戜弗鏍肩殑瑙勬牸銆?/div>
锛?锛夐拡瀵瑰凡鏈夌殑浠g爜瀹炵幇锛屼功鍐欏叾瀵瑰簲鐨勮鏍硷紝浠庤€屾彁楂樹唬鐮佺殑鍙淮鎶ゆ€с€傝繖鍦ㄩ仐鐣欎唬鐮佺殑缁存姢鏂归潰
鍏锋湁鐗瑰埆閲嶈鐨勬剰涔夈€?/div>
JML鐨勮璁¤€冭檻鍒颁簡鏈潵鎵╁睍闇€瑕侊紝鎶婅瑷€鍒嗘垚浜嗗嚑涓眰娆°€傚叾涓璴evel 0鏄渶鏍稿績鐨勮瑷€鐗瑰緛锛岃姹傛墍
鏈夌殑JML宸ュ叿閮借鏀寔銆備粠璇剧▼鏁欏瑙掑害锛屾垜浠粎閽堝level 0璇█鐗瑰緛锛岄€夋嫨鍏朵腑鏈€鏍稿績鍜屾渶甯哥敤鐨勪竴
浜涜绱犺繘琛屼粙缁嶅拰璁粌銆傚缓璁悓瀛︿滑閫氳繃http://www.jmlspecs.org/鏉ヤ簡瑙f洿澶氱粏鑺傘€?/div>
1. 娉ㄩ噴缁撴瀯
JML浠avadoc娉ㄩ噴鐨勬柟寮忔潵琛ㄧず瑙勬牸锛屾瘡琛岄兘浠璧峰ご銆傛湁涓ょ娉ㄩ噴鏂瑰紡锛岃娉ㄩ噴鍜屽潡娉ㄩ噴銆傚叾涓娉?/div>
閲婄殑琛ㄧず鏂瑰紡涓?//@annotation 锛屽潡娉ㄩ噴鐨勬柟寮忎负 /* @ annotation @*/ 銆傛寜鐓avadoc涔犳儻锛孞ML
娉ㄩ噴涓€鑸斁鍦ㄨ娉ㄩ噴鎴愬垎鐨勭揣閭讳笂閮紝濡備笅闈㈢殑渚嬪瓙鎵€绀恒€傚叾涓湁鏁堢殑Java浠g爜涓簂ine1, line 3, line
15锛宭ine18鍜宭ine19銆?package org.jmlspecs.samples.jmlrefman; // line 1 // line 2 public abstract class IntHeap { // line 3 // line 4 //@ public model non_null int [] elements; // line 5 // line 6 /*@ public normal_behavior // line 7 @ requires elements.length >= 1; // line 8 @ assignable \nothing; // line 9 @ ensures \result // line 10 @ == (\max int j; // line 11 @ 0 <= j && j < elements.length; // line 12 @ elements[j]); // line 13 @*/ // line 14 public abstract /*@ pure @*/ int largest(); // line 15 // line 16 //@ ensures \result == elements.length; // line 17 public abstract /*@ pure @*/ int size(); // line 18 }; /
 
------鍒嗛殧绾?---------------------------
鍏虫敞Java1234寰俊鍏紬鍙?/strong>
鎺ㄨ崘璧勬枡