240 发简信
IP属地:云南
  • 置顶

    http://doraemon.tech新博客!

  • 您好,请问一下@CrossOrigin对复杂请求为什么没有用呢

    SpringMVC开启CORS支持

    前言 浏览器出于安全考虑,限制了JS发起跨站请求,使用XHR对象发起请求必须遵循同源策略(SOP:Same Origin Policy),跨站请求会被浏览器阻止,这对开发者来...

  • Oauth2(3)授权端点

    授权过程采用两种授权端点: 授权端点--客户端通过用户代理重定向从资源拥有者以获得授权 令牌端点--客户端使用授权许可交换访问令牌,通常伴有客户端认证 以及另一种客户端端点 ...

  • Oauth2(2)客户端注册

    在初始化协议之前,客户端在授权服务器注册。典型的包括终端用户与html注册表单的交互。 客户端注册并不需要客户端和授权服务器的直接交互。在授权服务器支持时,注册可以依靠其他方...

  • 120
    Oauth2(1)简介

    前言:近期自己的博客需要加上一些认证授权的功能,之前配置的摘要认证感觉不能很好的完成任务了,因此学习了解一下Oauth的授权机制。本文主要翻译摘录自RFC6749,后续会更新...

  • AQS(6):闭锁和信号量

    CountDownLatch 闭锁可以使一个或多个线程等待一组事件的发生,内部的计数器记录了事件的数量。两个主要的方法就是await和countDown。 可以看到,这两种均...

  • AQS(5):ReentrantLock

    ReentrantLock在行为和语义上与synchronized类似,但是更具可扩展性。该锁是可重入的,并且有公平和非公平两种选项。在学习了AQS之后,理解Reentran...

  • AQS(4):condition

    AQS中提供了一个实现Condition接口的内部类ConditionObject,其内部也维护了一个队列,首尾分别为firstWaiter,lastWaiter。当然,co...

  • 120
    AQS(3):release

    release系列方法用于实现解锁一个或多个线程,该方法可用于实现unlock。该方法首先会调用tryRelease方法,这个方法需要子类实现,尝试设置状态值以反映独占模式下...

  • 120
    AQS(2):acquire

    在上文讲到,AQS中需要支持阻塞与释放两类操作,那么最重要的自然是acquire和release了。 对于acquire,内部会调用tryAcquire()方法,而tryAc...

  • AQS(1):引言

    其实一开始是想接着写java锁的,不过后面发现内置锁和其他同步器基本都离不开AQS。既然AQS绕不过去,那只好就开始探究一下AQS了,AQS即AbstractQueuedSy...

  • JAVA显式锁简介

    在java中,协调对共享对象的访问时可以使用的机制包括synchronized,volatile以及java5.0之后新增的ReentrantLock机制。需要注意的是,Re...

  • 可见性,原子性,不变性

    可见性 当一个线程修改了对象状态后,其他线程能够看到发生的状态变化 如何保证? 加锁,当线程B执行由锁保护的同步代码块时,可以看到线程A在同一个同步代码块中的所有操作结果。(...

  • 120
    多线程[公平]

    在java中,进入同步块synchronized和调用对象的notifyAll()方法是没有顺序保证的,因此就存在线程饥饿的风险,即有的线程永远处于等待同步进入同步块或者等待...