???????????????????????????????encrypt??decryption????????????????
?????????????????????????????CountDownLatch?????static??
??????main?????У???????????С???????200??????????????????????е???????????????payload?????secureKey??Start??????????????????System.currentTimeMillis()-start?????ó?????????????for????У??????????count??10W????payload???????????????????????????????????latch.countDown()????????????????????latch.await()??????????????н?????????????????????????????????
??????????????????????????????????????????????????????????????
??????????????У???????encrypt??????decrypt???????????????
????Cipher cipher = CliperInstance.getInstance();//??????????
????//Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
??????????????????μ???????????Cipher.getInstance?????????????????????????Cipher???????????????????????Ciper.getInstance???????????????
???????Ciphercipher = CliperInstance.getInstance(); ??????100W?μ??????????????11.2s???????Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); ??????39.6s?????????м?????????????????????????????????????????????????????????Щ??????????????乲???????????????????init??doFinal????????????????????????????????????A????init??B???????init????A????doFinal???????????????????????A????????????????
??????????£?????????????????????????????£?????????????????????????????ThreadLocal???????ThreadLocal?????д?????initialValue ????????ε???ThreadLocal??get???????ThreadLocal???????????Map?????????е?????????Instance????????????Instance???????????????????initialValue????????Instance????????Instance???Map?к??????????ο?JDK?????
??????????????CliperInstance ???????д?????????????????????????????