07 2016 档案

摘要:1. 依赖包安装 pom.xml 加入: <!-- redis cache related.....start --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</ar 阅读全文
posted @ 2016-07-22 10:12 wade&luffy 阅读(278) 评论(0) 推荐(0) 编辑
摘要:简介 Shiro是强大、精简的Java安全框架。 在认证、授权、加密和会话管理等方面提供直观而又全面的解决方案。 解释一下图中词汇: Authentication:认证,简单理解为登录,证明自己是谁。 Authorization:授权,即谁是否有进行某操作的权限。 Session Managemen 阅读全文
posted @ 2016-07-21 17:10 wade&luffy 阅读(602) 评论(0) 推荐(0) 编辑
摘要:IO的理解 IO操作的两个阶段: 第一个阶段: 查看数据是否就绪; 第二个阶段: 进行数据拷贝(内核将数据拷贝到用户线程)。 同步IO:当用户线程发出IO请求操作之后,如果数据没有就绪,需要通过用户线程或者内核不断地去轮询数据是否就绪,当数据就绪时,再将数据从内核拷贝到用户线程; 异步IO:只有IO 阅读全文
posted @ 2016-07-18 10:37 wade&luffy 阅读(615) 评论(0) 推荐(0) 编辑
摘要:wait()、notify()和notifyAll()是基于synchronized Condition是基于Lock的。 Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify 阅读全文
posted @ 2016-07-15 17:11 wade&luffy 阅读(660) 评论(0) 推荐(0) 编辑
摘要:锁的相关概念 1.可重入锁 如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说meth 阅读全文
posted @ 2016-07-15 14:14 wade&luffy 阅读(375) 评论(0) 推荐(1) 编辑
摘要:来源:一颗卤蛋 链接:http://www.cnblogs.com/lyroge/p/3837886.html 背景: 自己的一个网站,由于单表的数据记录高达了一百万条,造成数据访问很慢,Google分析的后台经常报告超时,尤其是页码大的页面更是慢的不行。 测试环境: 先让我们熟悉下基本的sql语句 阅读全文
posted @ 2016-07-15 12:18 wade&luffy 阅读(506) 评论(0) 推荐(0) 编辑
摘要:一、类加载器 类加载器(ClassLoader),顾名思义,即加载类的东西。在我们使用一个类之前,JVM需要先将该类的字节码文件(.class文件)从磁盘、网络或其他来源加载到内存中,并对字节码进行解析生成对应的Class对象,这就是类加载器的功能。我们可以利用类加载器,实现类的动态加载。 二、类的 阅读全文
posted @ 2016-07-15 11:21 wade&luffy 阅读(327) 评论(0) 推荐(0) 编辑
摘要:字符串不属于基本类型,但是可以像基本类型一样,直接通过字面量赋值,当然也可以通过new来生成一个字符串对象。不过通过字面量赋值的方式和new的方式生成字符串有本质的区别: 通过字面量赋值创建字符串时,会优先在常量池中查找是否已经存在相同的字符串,倘若已经存在,栈中的引用直接指向该字符串;倘若不存在, 阅读全文
posted @ 2016-07-15 10:54 wade&luffy 阅读(221) 评论(0) 推荐(0) 编辑
摘要:并发编程中的三个概念 在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念: 1.原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 反映到并发编程中会出现什么结果呢? 举个最简单的例子,大家想 阅读全文
posted @ 2016-07-15 10:12 wade&luffy 阅读(247) 评论(0) 推荐(0) 编辑
摘要:存在背景 缓存不一致性问题:在多核CPU中,每条线程可能运行于不同的CPU中,因此每个线程运行时有自己的高速缓存(对单核CPU来说,其实也会出现这种问题,只不过是以线程调度的形式来分别执行的)。 解决方法: 通过在总线加LOCK#锁的方式 通过缓存一致性协议 CPU和其他部件进行通信都是通过总线来进 阅读全文
posted @ 2016-07-14 20:08 wade&luffy 阅读(431) 评论(0) 推荐(1) 编辑
摘要:用法解释 1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。 2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接 阅读全文
posted @ 2016-07-14 19:56 wade&luffy 阅读(356) 评论(0) 推荐(0) 编辑
摘要:用法解释 synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对 阅读全文
posted @ 2016-07-14 19:37 wade&luffy 阅读(250) 评论(0) 推荐(0) 编辑
摘要:原理 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 模式分类 工厂模式可以分为三类: 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 工厂方法模式:一个 阅读全文
posted @ 2016-07-14 14:01 wade&luffy 阅读(221) 评论(0) 推荐(0) 编辑
摘要:定义 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 结构 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 在代理模式中的角色: 抽 阅读全文
posted @ 2016-07-14 12:56 wade&luffy 阅读(405) 评论(0) 推荐(0) 编辑
摘要:定义 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰器模式: 动态地给一个对象添加一些额外的职责或者行为。就增加功能来说, Decorator模式相比生成子类更为灵活。 装饰器模式提供了改变子类的灵活方案。装饰器模式在不必改变原类 阅读全文
posted @ 2016-07-14 12:41 wade&luffy 阅读(305) 评论(0) 推荐(0) 编辑
摘要:ps: Protocol Buffers简称PB PB 安装配置 下载 PB: 在 PB 官网,下载最新版(或者其他版本)PB,这里为了与 Java 项目中的 PB Maven 依赖版本一致,使用 PB 2.5.0 版本。 安装 PB: 解压:tar zxvf protobuf-2.5.0.tar. 阅读全文
posted @ 2016-07-12 16:23 wade&luffy 阅读(1135) 评论(0) 推荐(0) 编辑
摘要:下载安装地址:http://kafka.apache.org/downloads.html 原文链接:http://www.jasongj.com/2015/01/02/Kafka深度解析 Kafka主要术语直观解释 BrokerKafka集群包含一个或多个服务器,这种服务器被称为broker To 阅读全文
posted @ 2016-07-12 13:19 wade&luffy 阅读(2366) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示