java基础
santao4job
这个作者很懒,什么都没留下…
展开
-
为什么 wait() 方法需要写在while里,而不是if
问:为什么是 while 而不是 if ? 大多数人都知道常见的使用 synchronized 代码: synchronized(obj){ while(checkpass){ wait(); } //doyourbusiness } 那么问题是为啥这里是 while 而不是 if 呢?这个问题我最开始也想了很久,按理来说已经在 synchronized 块里面了嘛,就不需要了。这个也是我前面一直是这么认为的,直到最近看了一个 ...原创 2020-07-01 22:09:17 · 423 阅读 · 0 评论 -
SSL / TLS 协议运行机制详解
互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 (1)窃听风险(eavesdropping):第三方可以获知通信内容。 (2)篡改风险(tampering):第三方可以修改通信内容。 (3)冒充风险(pretending):第三方可...原创 2020-06-25 22:53:05 · 279 阅读 · 0 评论 -
理解Java反射的正确姿势
反射简介 反射是Java的高级特性之一,但是在实际的开发中,使用Java反射的案例却非常的少,但是反射确实在底层框架中被频繁的使用。 比如:JDBC中的加载数据库驱动程序,Spring框架中加载bean对象,以及态代理,这些都使用到反射,因为我们要想理解一些框架的底层原理,反射是我们必须要掌握的。 理解反射我们先从他的概念入手,那么什么是反射呢? 反射就是在运行状态能够动态的获取该类的属性和方法,并且能够任意的使用该类的属性和方法,这种动态获取类信息以及动态的调用对象的方法的功能就是反射。 实现上原创 2020-06-24 23:50:27 · 183 阅读 · 0 评论