Guus

梦想是要有的,万一实现了呢。

java 理解CAS

在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程...

2015-10-27 09:13:24

阅读数 1724

评论数 1

spring mvc 的Controller类是单例?

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富...

2015-10-16 14:16:34

阅读数 2568

评论数 1

防止浏览器缓存的几种方法

Cache-Control/Pragma这个HTTP Head字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,如果知道该页面是否为缓存,不仅可以控制浏览器,还可以控制和HTTP协议相关的缓存或代理服务器。 Cache-Control请求字段被各个浏览器支持得较好,而且它的优先级也比较...

2015-12-21 21:23:44

阅读数 7847

评论数 1

一个请求大体过程

当一个用户在浏览器里输入www.taobao.com这个URL时,将会发生很多操作。首先它会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地址在互联网上找到对应的服务器,向这个服务器发起一个get请求,由这个服务器决定返回默认的数据资源给访问的用户。在服务器端实际上还有很复杂的业务逻辑...

2015-12-21 20:45:01

阅读数 1219

评论数 1

Redis学习手册(Set数据类型)

一、概述:       在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是42949672...

2015-11-04 22:35:30

阅读数 486

评论数 0

Redis学习手册(Hashes数据类型)

一、概述:       我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每...

2015-11-04 22:22:17

阅读数 404

评论数 0

Redis学习手册(List数据类型)

一、概述:       在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会...

2015-11-04 22:05:31

阅读数 351

评论数 0

Redis手册(String数据类型)

一、概述:       字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。 二、相关命令列表: ...

2015-11-02 18:03:23

阅读数 381

评论数 0

Netty4.x中文教程系列 ChannelHandler

Netty4.x中文教程系列 ChannelHandler上一篇文章详细解释了Hello World示例的代码。里面涉及了一些Netty框架的基础。这篇文章用以解释ChannelHandler。笔者本身在以前写过文章 ChannelHandler改动及影响 和 ChannelInitialize...

2015-10-30 14:19:48

阅读数 1146

评论数 0

Java 悲观锁和乐观锁的实现

锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界...

2015-10-30 10:58:20

阅读数 9037

评论数 3

Netty4.x中文教程系列 Hello World

1.下载并为项目添加Netty框架  1.Netty的包大家可以从Netty官网:http://netty.io/downloads.html 下载Netty提供了四个个主要版本的框架包给大家下载。 3.9版本Final 说明这个版本是3.x版本中最新的版本。final意味着功能不再继续添加更...

2015-10-29 15:26:16

阅读数 3189

评论数 0

java多线程学习-java.util.concurrent详解(一) Latch/Barrier

Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件  1. CountDownLatch      ...

2015-10-27 16:24:15

阅读数 1442

评论数 0

Redis介绍以及安装(Linux)

redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove...

2015-09-23 13:56:36

阅读数 499

评论数 0

jdk7和8的一些新特性介绍

本文是我学习了解了jdk7和jdk8的一些新特性的一些资料,有兴趣的大家可以浏览下下面的内容。官方文档:http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html 在jdk7的新特性方面主要有下面几方面的增强: ...

2015-08-14 15:09:25

阅读数 1802

评论数 0

MyBatis -- sql映射文件详解

MyBatis 真正的力量是在映射语句中。和对等功能的jdbc来比价,映射文件节省很多的代码量。MyBatis的构建就是聚焦于sql的。 sql映射文件有如下几个顶级元素:(按顺序) cache - 配置给定命名空间的缓存。 cache-ref – 从其他命名空间引用缓存配置。 resultM...

2015-08-11 21:34:29

阅读数 4341

评论数 0

MyBatis -- configuration配置详解

1、configuration有什么作用? configuration管理MyBatis的配置,MyBatis的所有配置信息都存放的在configuration中。 下面我们看看configuration可配置的属性有哪些: 1.1  properties属性 实例: 这些都是外部...

2015-08-09 15:21:53

阅读数 9487

评论数 2

MyBatis -- 对表进行增删改查(基于注解的实现)

1、MyBatis对数据库表进行增/删/改/查 前一篇使用基于XML的方式实现对数据库的增/删/改/查 下面我们来看怎么使用注解的方式实现对数据库表的增/删/改/查 1.1  首先需要定义映射sql的接口,代码如下: package org.guus.inter; import java.uti...

2015-08-07 20:25:24

阅读数 8089

评论数 2

MyBatis -- 对表进行增删改查(基于XML的实现)

1、MyBatis对表中数据进行增/删/改/查操作 在前一篇中已经知道怎么搭建环境并且查询数据库  MyBatis -- 一步步教你使用MyBatis 接下来我们来看看怎么用MyBatis进行增/.删/改/查 1.1  定义映射sql的xml文件 文件内容如下: <!-...

2015-08-06 22:38:37

阅读数 4336

评论数 2

MyBatis -- 一步步教你使用MyBatis

1、建立开发环境 1.1  创建项目,java项目或者javaweb项目均可,如图: 1.2  添加所需要的jar包到项目lib目录下 一个MyBatis-3.2.4.jar包 一个驱动包mysql-connector-java-5.1.6.jar包 1.3  创建数据库和表 ...

2015-08-05 21:19:09

阅读数 4986

评论数 0

设计模式 --外观模式(Facade)

什么是外观模式? 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。   简单点说:外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低...

2015-08-05 00:33:15

阅读数 1548

评论数 0

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