- 博客(9)
- 资源 (12)
- 收藏
- 关注
转载 基于redis分布式锁实现“秒杀”
最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。一些可能的实现
2017-03-25 10:17:02 1431
转载 Redis实现Mybatis的二级缓存
一、Mybatis的缓存通大多数ORM层框架一样,Mybatis自然也提供了对一级缓存和二级缓存的支持。一下是一级缓存和二级缓存的作用于和定义。 1、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)
2017-03-24 23:59:32 2592
原创 对Java BIO、NIO、AIO 学习
一、Java对BIO、NIO、AIO的支持:Java BIO(Block I/O) : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。Java NIO(NOT Block I/O) : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端
2017-03-22 11:01:25 720
转载 abstract class和interface的区别
在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很
2017-03-19 19:47:24 381
原创 Method的invoke()方法的使用
一、为什么要用invoke方法主要是为了类反射,这样你可以在不知道具体的类的情况下,根据配置的字符串去调用一个类的方法。在灵活编程的时候非常有用。二、实现方法public Object invoke(Object obj,Object... args)throws IllegalAccessException,IllegalArgumentException,InvocationTar
2017-03-17 20:23:29 14770
转载 通过ApplicationContextAware加载Spring上下文环境
项目用到了ApplicationContextAware,通过它spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。我们在ApplicationContextAware的实现类中,就可以通过这个上下文环境对象得到Spring容器中的Bean。使用方法如下:1.实现Applicatio
2017-03-17 17:12:37 896
原创 匿名内部类及如何访问外部变量
一、java中匿名内部类1、匿名内部类也就是没有名字的内部类2、正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写3、但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口二、实现抽象方法不使用匿名内部类与使用匿名内部类比较不使用匿名内部类:abstract class Person { public abstra
2017-03-08 16:50:48 4972
原创 一致性哈希与普通哈希对比
普通哈希算法 假如有cache主机5台分别为cacheA、cacheB、cacheC、cacheD、cacheE 当程序进行hash时,首先每个节点要根据自己的唯一参数哈希出一个值来(如根据ip进行哈希) 主机哈希完成后形成的哈希值如下 cacheA 0 cacheB 1 cacheC
2017-03-07 10:54:04 2224
原创 线程池的原理及java实现
一、线程简介 创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。 一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运行过程
2017-03-05 19:03:12 1689
elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz
2019-12-31
智能家居会展策划书.docx
2019-12-19
Spring实现AOP的四种方式
2016-09-25
ASP成绩查询系统源码.rar
2010-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人