- 博客(10)
- 收藏
- 关注
原创 【并发编程】--AQS实现原理
AQSlock之所以能实现线程安全的锁,主要的核心是AQS(AbstractQueuedSynchronizer),AQS提供了一个FIFO队列,可以用来实现锁以及需要同步功能的框架。称为AQS。AQS使用依靠继承来完成,子类通过继承自AQS并实现所需的方法来管理同步状态。ReentrantLock、CountDownLatch。AQS分为两种:独占和共享。独占锁模式下,每次只能有...
2019-06-30 21:19:22 179
原创 【并发编程】synchronized底层实现原理
synchronized原子性、可见性、有序性应用加锁的三种方式:1、普通同步方法,锁的是实例对象2、静态同步方法,锁的是当前类的对象。3、同步方法块,锁的是synchronized括号里的对象synchronized的字节码指令:对于同步块的实现使用了monitorenter和monitorexit指令,前面我 们在讲JMM的时候,提到过这两个指令,他们隐式的执行...
2019-06-23 23:09:14 167
原创 【并发编程】--volatile底层实现原理
1、volatile解决可见性使用缓存一致性。防止指令重排序使用内存屏障,保证有序性。有volatile变量修饰的共享变量,编译时会有lock前缀。volatile实现原则:·Lock前缀指令会引起处理器缓存回写到内存。(总线锁、缓存锁)·一个处理器的缓存回写到内存会导致其他处理器的缓存无效。(MESI、嗅探)缓存一致性协议:处理器上有一套完整的协议,来保证 Cac...
2019-06-09 19:35:40 293
原创 继承中黑狗与狗的关系
所有的黑狗都是狗,在new黑狗的时候首先走狗的构造方法,在走狗的构造方法时,用this依旧是黑狗,如果在狗中写方法时,要用狗做形参,是为了让所有的黑狗,白狗,黄狗都用这个方法。...
2019-06-15 16:39:02 191
原创 rmi运行机制
【RMI】远程方法调用,纯java的RPC框架,在RMI中最核心的为远程对象。A发布了服务,生成stub对象,B拿到stub对象,调用对象的方法进行传输。【远程对象发布】 远程对象必须实现 UnicastRemoteObject,这样才能保证客户端访问获得远程对象时,该远程对象会把自身的一个拷贝以 Socket 形式传输给客户端,客户端获得的拷贝称为“stub”,而服务器端...
2019-06-15 11:51:50 467
原创 深入理解设计模式
【前言】 做了几个可大可小的项目,或多或少的接触了代码复用,代码解耦,代码高扩展等一系列优秀的代码的实用性,提高了代码的可读性,可扩展性,维护成本,复杂的业务问题。而我们生活上也是如此,如果一件事情,总要不断重复去做,虽然我们可以把事情做好,但是总是杂乱无章,这不免会浪费我们的时间成本,对生活深度分析,并且用代码实现这种思想,不断思考,思想与代码并驾齐驱,灵活运用设计模式,理清应...
2019-06-08 14:55:27 603
原创 Java秒杀实战(十二) 优化秒杀业务流程
优化后的秒杀业务流程【总结】 秒杀实现的优化思路,能缓存就去redis缓存起来,然后放到队列中,让队列去处理。
2019-06-02 15:32:52 1048 1
原创 Java秒杀实战(十一) RabbitMQ四种常见应用模式
先把数据放到路由上。【Direct 模式】添加配置类package com.wings.seckill.config; import org.springframework.amqp.core.Queue;import org.springframework.context.annotation.Bean;import org.springframework.context....
2019-06-02 11:29:26 647 1
原创 Java秒杀实战(十) SpringBoot框架集成RabbitMQ
【安装RabbitMQ及其相关依赖】下载erlanghttps://www.erlang.org/downloads下载rabbitMQhttp://www.rabbitmq.com/download.html安装相关依赖yum install ncurses-develtar xf otp_src_21.0.tar.gzcd otp_src_21.0...
2019-06-02 10:29:23 355 1
原创 Java秒杀实战(九)页面优化技术(Redis缓存页面,url,对象)
【页面缓存】把页面的数据放到reids里面,然后从redis取出后直接返回html @RequestMapping(value = "/to_list", produces = "text/html") @ResponseBody public String toList(HttpServletRequest request, HttpServletResponse response...
2019-06-02 09:43:15 449 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人