java.util.Vector瀵艰嚧鍐呭瓨娉勬紡锛屾渶缁堝紩鍙戞湇鍔″櫒闆嗙兢瀹曟満8灏忔椂銆傗€?strong>鈥嬭繖浜涜鏍囨" />
  1. 主页 > 大智慧

Java废弃API使用风险解析及最新替代方案推荐

浣犵殑浠g爜鏄惁姝e湪浣跨敤"瀹氭椂鐐稿脊"锛熶笁骞村墠鏌愰摱琛岀郴缁熷洜璋冪敤搴熷純鐨?code>java.util.Vector瀵艰嚧鍐呭瓨娉勬紡锛屾渶缁堝紩鍙戞湇鍔″櫒闆嗙兢瀹曟満8灏忔椂銆傗€?strong>鈥嬭繖浜涜鏍囨敞涓篅Deprecated鐨凙PI锛屽氨鍍忚棌鍦ㄤ唬鐮侀噷鐨勮繃鏈熼鍝侊紝琛ㄩ潰鏃犲瀹炲垯鍗遍櫓閲嶉噸鈥?/strong>鈥嬨€?/p>


涓€銆佸簾寮傾PI绌剁珶浼氬紩鍙戝摢浜涚伨闅撅紵

鈥?strong>鈥嬫牳蹇冮棶棰樷€?/strong>鈥嬶細涓轰粈涔圝ava瀹樻柟瑕佹妸鏌愪簺API鏍囪涓哄簾寮冿紵
绛旀寰堢畝鍗曪細瀹冧滑瑕佷箞瀛樺湪璁捐缂洪櫡锛岃涔堟湁鏇翠紭瑙c€備妇涓湡瀹炴渚嬧€斺€旀煇鐢靛晢骞冲彴浣跨敤StringBuffer澶勭悊楂橀瀛楃涓叉嫾鎺ワ紝鍦ㄤ績閿€鏈熼棿鍑虹幇鎬ц兘闆穿锛屽垏鎹负StringBuilder鍚庡悶鍚愰噺鎻愬崌210%銆?/p>

鈥?strong>鈥嬩笁澶ч闄╂竻鍗曗€?/strong>鈥嬶細

  1. 鈥?strong>鈥嬪吋瀹规€ч櫡闃扁€?/strong>鈥嬶細鏂扮増JDK鍙兘鐩存帴鍒犻櫎鏃PI
  2. 鈥?strong>鈥嬫€ц兘榛戞礊鈥?/strong>鈥嬶細杩囨椂鐨勫悓姝ユ満鍒舵嫋鎱㈡暣浣撻€熷害
  3. 鈥?strong>鈥嬪畨鍏ㄩ殣鎮b€?/strong>鈥嬶細宸茶鍙戠幇婕忔礊鐨勬柟娉曟寔缁毚闇叉敾鍑婚潰

浜屻€侀珮鍗盇PI榛戝悕鍗曚笌鏇夸唬鏂规瀵圭収琛?/h3>

1. 绾跨▼瀹夊叏绫伙細Vector鐨勭幇浠e寲鏀归€?/h4>
java澶嶅埗
// 鏃ф椂浠f柟妗堬紙宸插簾寮冪壒寰侊級  
Vector vec = new Vector<>();  

// 鏂版椂浠f柟妗堜簩閫変竴  
List list1 = Collections.synchronizedList(new ArrayList<>());  // 杞诲害骞跺彂  
List list2 = new CopyOnWriteArrayList<>();                     // 鍐欏皯璇诲

馃搵 鍔熻兘瀵规瘮琛ㄦ牸锛?/p>

鐗规€?/th>VectorCopyOnWriteArrayList
閿佺矑搴?/td>鏂规硶绾у悓姝?/td>鍐欐搷浣滃鍒舵暣涓暟缁?/td>
杩唬鍣ㄥ畨鍏ㄦ€?/td>鍙兘鎶涘嚭寮傚父蹇収杩唬
鍐呭瓨鍗犵敤鍩虹鍊?/td>2-3鍊?/td>

2. 鏃ユ湡澶勭悊锛欳alendar鐨勬湯璺笌鏂扮敓

鍘诲勾鏌愯埅绌鸿绁ㄧ郴缁熷洜Calendar.add()鐨勬椂鍖鸿绠楅敊璇紝瀵艰嚧浠峰€?60涓囩殑鏈虹エ閿欒瀹氫环銆傗€?strong>鈥嬫棩鏈熷鐞嗙被鍫О搴熷純API鐨勯噸鐏惧尯鈥?/strong>鈥嬶細

  • 鐢?code>LocalDate鏇夸唬Date锛氳В鍐崇嚎绋嬪畨鍏ㄩ棶棰?/li>
  • 鐢?code>DateTimeFormatter鏇夸唬SimpleDateFormat锛氶伩鍏嶉潪绾跨▼瀹夊叏闄烽槺

涓夈€佸疄鎴樺崌绾ц矾绾垮浘

鈥?strong>鈥嬭嚜闂嚜绛斺€?/strong>鈥嬶細濡備綍绯荤粺鎬у湴娓呯悊搴熷純API锛熷垎涓夋璧帮細

  1. 鈥?strong>鈥嬬簿鍑嗘壂鎻忊€?/strong>鈥嬶細鍦↖DE涓紑鍚?Deprecated API usage"妫€娴?/li>
  2. 鈥?strong>鈥嬪奖鍝嶈瘎浼扳€?/strong>鈥嬶細浣跨敤JDeprScan宸ュ叿鐢熸垚褰卞搷鎶ュ憡
  3. 鈥?strong>鈥嬫笎杩涙浛鎹⑩€?/strong>鈥嬶細鎸夐闄╃瓑绾у垎鎵规澶勭悊

鏌愮墿娴佺郴缁熷崌绾ф渚嬶細

  1. 浼樺厛鏇挎崲Hashtable涓?code>ConcurrentHashMap
  2. 灏?code>StringBuffer鎵归噺鏇挎崲涓?code>StringBuilder
  3. 鏈€鍚庡鐞?code>Thread.stop()绛夊嵄闄╂柟娉?/li>

鍥涖€侀偅浜涗綘鎰忔兂涓嶅埌鐨勫崌绾ф敹鐩?/h3>

閲戣瀺琛屼笟鐪熷疄鏁版嵁锛氭煇璇佸埜浜ゆ槗骞冲彴鏇挎崲瀹屾墍鏈夊簾寮傾PI鍚庯細

  • 骞冲潎璇锋眰寤惰繜浠?3ms闄嶈嚦49ms
  • GC鏆傚仠鏃堕棿鍑忓皯40%
  • 瀹夊叏婕忔礊鎶ュ憡鏁伴噺褰掗浂

鈥?strong>鈥嬩釜浜鸿瑙b€?/strong>鈥嬶細
寰堝寮€鍙戣€呰寰?鑳界敤灏变笉鏀?锛屼絾鎶€鏈€哄氨鍍忔粴闆悆鈥斺€旀棭鏈熷拷鐣ヤ竴涓?code>@Deprecated璀﹀憡锛屽悗鏈熷彲鑳借鑺?00浜烘棩淇杩為攣闂銆備笅娆$湅鍒板垝妯嚎鐨凙PI鏂囨。鏃讹紝涓嶅Θ鎶婂畠褰撲綔鎶€鏈崌绾х殑鎻愮ず鍗★紝姣曠珶鈥?strong>鈥嬩唬鐮佸仴搴峰害鐩存帴鍐冲畾绯荤粺鐢熷懡鍔涒€?/strong>鈥嬨€?/p>

本文由嘻道妙招独家原创,未经允许,严禁转载