草庐IT

block-cipher

全部标签

java - 预期异常时避免空 catch block

我正在尝试使用SimpleDateFormat解析日期。由于我的服务采用多种日期格式,因此我采用了this方法:String[]formats={"yyyy-MM-dd'T'HH:mm:ss.SSSZ","yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","yyyy-MM-dd'T'HH:mm:ss.SSS-HH:mm","EEEMMMddHH:mm:ssZyyyy"};for(Stringformat:formats){try{returnnewSimpleDateFormat(format).parse(dateString);}catch(ParseExceptione

java - 与 Java 中的同步块(synchronized block)相比,新的 Lock 接口(interface)有什么优势?

与Java中的同步块(synchronizedblock)相比,新的Lock接口(interface)有何优势?您需要实现一个高性能缓存,允许多个读取器但单个写入器保持完整性,您将如何实现它? 最佳答案 锁的优点是让他们公平是可能的可以让线程在等待Lock对象时响应中断。可以尝试获取锁,但如果无法获取锁,则立即或超时后返回可以在不同的范围内以不同的顺序获取和释放锁请注意,这在javadocofLock中有解释。及其子类。可以使用ConcurrentMap实现高性能缓存。 关于java-与

java - 如何在 finally block 中调用 System.exit(0) 后运行代码

我有三个类,比如alpha、beta、gamma,这三个类中的每一个都有一个main方法。alpha和beta类在它们的main方法中都有一个try...catch...finallyblock,如下所示:publicclassalpha{publicstaticvoidmain(String[]args){try{Dosomething;}catch(Exceptionex){ex.printStackTrace();}finally{System.exit(0);}}}publicclassbeta{publicstaticvoidmain(String[]args){try{Do

java - SSL 握手异常 : no cipher suites in common

按照说明进行操作here并重新创建了我之前错误创建的证书。正如我现在看到的,有些东西已经改变了javax.net.ssl.SSLHandshakeException:nociphersuitesincommon在服务器上和javax.net.ssl.SSLHandshakeException:Receivedfatalalert:handshake_failure在客户端上。而不是错误thisquestion服务器是ClassFileServer.java和各自的客户SSLSocketClientWithClientAuth.java关于让两端很好地发挥作用的任何提示,请注意,我使用的

Java: block 中的LinkedList反转

如果给你一个链表的头,并要求你反转每k个节点序列,这在Java中如何完成?例如,k=3的a->b->c->d->e->f->g->h将是c->b->a->f->e->d->h->g->f任何一般帮助甚至伪代码都将不胜感激!谢谢! 最佳答案 如果k预计会相当小,我会做最简单的事情:完全忽略它是一个链表的事实,并将每个子序列视为只是要反转的数组类型的事物。因此,如果您的链表的节点类是Node,创建一个Node[]尺寸k.对于每个段,加载kNodes进入数组列表,然后用简单的for反转它们的元素环形。在伪代码中://reversethee

java - 如何检索 'try' block 中被抑制的异常?

从Java7开始,我们可以使用try-with-resources语句:staticStringreadFirstLineFromFile(Stringpath)throwsIOException{try(BufferedReaderbr=newBufferedReader(newFileReader(path))){returnbr.readLine();}}如果br.readLine()和br.close()都抛出异常,readFirstLineFromFile将throwtryblock的异常(br.readLine()的异常),以及隐式finallyblock的try-with

java - 嵌套同步块(synchronized block)

假设我有下一节课:publicclassService{publicvoidtransferMoney(AccountfromAcct,AccounttoAcct,intamount){synchronized(fromAcct){synchronized(toAccount){//couldweusehereonlyonesynchronizedblock?fromAcct.credit(amount);toAccount.debit(amount);}}}}classAccount{privateintamount=0;publicvoidcredit(intsum){amount

java - 为什么遵循控制结构条件的声明需要在 block 中?

尝试编译以下内容时publicclassTest{publicvoidmethod(Stringfoo){//Thiscompilesifthecurlybracesareuncommentedif(fooinstanceofObject)//{Objectbar=(Object)foo;//}}}我得到以下错误javac-Xlint:allTest.javaTest.java:5:error:notastatementObjectbar=foo;^Test.java:5:error:';'expectedObjectbar=foo;^2errors为什么Objectbar=(Obje

java - 这种 AES 加密是否足够安全?

我从http://www.ravenblast.com/index.php/blog/android-password-text-encryption/得到了这段代码而且,虽然它有效,但我越来越怀疑它不够安全。根据其他来源,似乎没有任何必要的初始化vector。publicstaticStringencrypt(StringtoEncrypt,byte[]key)throwsException{SecretKeySpecskeySpec=newSecretKeySpec(key,"AES");Ciphercipher=Cipher.getInstance("AES");cipher.i

java - 如何从外部 block 开始在 lambda block 中重新抛出异常?

使用以下代码,voidkey(Key)throwsSomeCheckedException{}voidsupplier(Suppliers)throwsSomeCheckedException{ofNullable(s).ifPresent(s->{//|try{//|key(s.get());//|}catch(finalSomeCheckedExceptionsce){//|//sceiscomingfromkey()method//|//HowcanIthrowsceforoutermethod?//--/}});}我如何抛出sce就像method(supplier)方法抛出它一