自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(10)
  • 收藏
  • 关注

转载 Java锁的升级策略 偏向锁 轻量级锁 重量级锁

这三种锁是指锁的状态,并且是专门针对Synchronized关键字。JDK 1.6 为了减少"重量级锁"的性能消耗,引入了“偏向锁”和“轻量级锁”,锁一共拥有4种状态:无锁状态、偏向锁、轻量级锁、重量级锁。锁状态是通过对象头的Mark Word来进行标记的: 锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁,这种锁升级却不能降级的策略,是为了提高获得锁和释放锁的效率 ...

2019-06-03 00:16:00 230

转载 Java AQS 概述

AQS 概述 AQS(队列同步器,AbstractQueuedSynchronizer),是用来构建锁或其他同步组件的核心基础框架(比如 ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLatch) AQS的底层结构是:一个整型变量state表示同步状态,一个内置的FIFO队列(同步队列)来实现资源获取线程的同步等待排队,若...

2019-04-21 04:57:00 171

转载 Java线程池 Executor框架概述

线程池的意义 循环利用线程资源,避免重复创建和销毁线程 线程池的任务是异步执行的,只要提交完成就能快速返回,可以提高应用响应性 Java线程池还有一个很重要的意义:Java线程池就是JDK 5 推出的Executor框架,在此之前Java线程既是工作任务又是执行机制,而Executor框架把工作任务与执行机制分离开来:工作任务包括Runnable接口和Callable接口,而执行机制由...

2019-04-06 16:16:00 146

转载 netty-socketio 概述

netty-socketio 概述 netty-socketio是一个开源的Socket.io服务器端的一个java的实现,它基于Netty框架,可用于服务端推送消息给客户端。 说到服务端推送技术,一般会涉及WebSocket,WebSocket是HTML5最新提出的规范,虽然主流浏览器都已经支持,但仍然可能有不兼容的情况,为了兼容所有浏览器,给程序员提供一致的编程体验,SocketIO...

2019-03-28 11:08:00 498

转载 同步异步、阻塞非阻塞 总结

同步/异步(描述网络通信模式,适用于请求-响应模型) 同步:发送方发送请求后,需要等待接收响应,否则将一直等待 异步:发送方发送请求后,不需要等待响应,可以继续发送下一个请求,或者主动挂起线程并释放CPU 阻塞/非阻塞(描述进程的函数调用方式) 阻塞:IO 调用会一直阻塞,直至结果返回才能继续执行 非阻塞:IO 调用会立即返回,不需要等待结果,并可以执行下一个 IO 调用 总结,...

2018-12-02 22:36:00 82

转载 Spring Security Oauth2 示例

所有示例的依赖如下(均是SpringBoot项目) pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web<...

2018-11-13 22:22:00 249

转载 SpringBoot 配置 Servlet、Filter、Listener

SpringBoot 配置 Servlet、Filter、Listener 在SpringBoot应用中,嵌入式的 Servlet 3.0+ 容器不会直接使用 ServletContainerInitializer 和 WebApplicationInitializer,即通过以上两个接口实现的 Servlet、Filter、Listener 配置都是无效的,这是为了防止第三方代码的设计...

2018-09-13 11:09:00 146

转载 SpringBoot 配置静态资源映射

SpringBoot 配置静态资源映射 (嵌入式servlet容器)先决知识 request.getSession().getServletContext().getRealPath("/"),这个很重要,将其称为 docBase,即 “文档基目录” 在单模块项目中,如果不存在 src/main/webapp 目录,则 docBase 被设置为C盘下临时的随机目录,例如 C:\User...

2018-09-12 16:31:00 158

转载 缓存与数据库的一致性

参考文章 https://blog.csdn.net/simba_1986/article/details/77823309 缓存与数据库的一致性 缓存适用于读多写少的场景,并且能极大地提升性能和效率;但是让缓存的数据与数据库保持一致是一个难题 保持一致的策略 当数据更新时,先更新缓存,如果缓存更新成功,再更新数据库 适用场景有限,且实现起来较为复杂(如果数据库操作失败,要进行补偿措...

2018-05-06 16:30:00 65

转载 四种会话跟踪技术的对比

会话跟踪是一种灵活的机制,虽然HTTP是一种无状态协议,但会话跟踪技术使Web上的状态编程成为可能,目前普遍存在四种会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。 1 隐藏表单域 <input type="hidden" id="xxx" value="xxx"> 特点 (参数存放)参数是存放在请求实体里的,因此没有长度限制,但是不支持 GET 请求...

2018-04-29 21:47:00 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除