自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

他叫Mr.J

他真的叫Mr.J

  • 博客(18)
  • 问答 (4)
  • 收藏
  • 关注

原创 Spring MVCzh中常用的注解

引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用; 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A、处理requet uri 部分(这里指uri templa

2017-04-29 21:00:44 344

转载 spring transaction源码分析--事务架构

引言 事务特性 事务是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束。Commint表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常

2017-04-28 11:24:33 430

转载 Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。 1.1  Cookie机制 在程序中,会话

2017-04-27 18:51:39 318

原创 一个开源中国牛人的博客(对于Mybatis)

https://my.oschina.net/zudajun?sort=hot&temp=1493287128681

2017-04-27 18:42:36 1304

原创 mybatis常见面试题

1.xml的常见标签:<mapper namespace=""> 常用的一些不同标签: resultMap被解析为ResulMap对象,子元素被解析为ResutMapping对象 <resultMap type="" id=""> <id column="" property="" /> <result column="" property=

2017-04-27 17:57:20 581

原创 Java设计模式——行为型模式

行为型模式共有十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 一、策略模式(strategy): 策略模式就是将具体实体中变化的行为抽离出来,封装成一个个的算法,然后再在具体实体的基类中,对每一个具体的行为的算法进行聚合。另外在基类中我们还可以每一个子类的不变的行为进行定义,而且我们在父类中在定义具体的行为

2017-04-17 11:17:02 534

原创 Java设计模式——结构型

结构型设计模式包括:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。一、装饰者模式(Decorator): 动态的将责任附加到对象上,如果想要扩展功能,装饰者提供了比继承更有弹性的方案。下面是装饰者模式下的类图:从类图中我们可以发现装饰者(Decorator)与被装饰者(或者在图中叫构件ConcreteComponent)他们之间都拥有一个公共的父类,继承与Compone

2017-04-17 11:16:07 449

原创 Java设计模式——创建型

创建型模式共有五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

2017-04-17 11:14:45 338

转载 java集合类面试题40

http://www.cnblogs.com/xuexue-bit/p/5256094.html

2017-04-10 17:03:14 732

转载 JDK8中的ConcurrentHashmap底层实现

注:本文源码是JDK8的版本,与之前的版本有较大差异 ConcurrentHashMap是conccurrent家族中的一个类,由于它可以高效地支持并发操作,以及被广泛使用,经典的开源框架spring的底层数据结构就是使用ConcurrentHashMap实现的。与同是线程安全的老大哥HashTable相比,它已经更胜一筹,因此它的锁更加细化,而不是像HashTable一样为几乎每个方法都添

2017-04-10 13:48:06 2153

转载 集合——HashMap底层分析

jdk8中hashmap实现和jdk8之前hashmap实现分析 https://my.oschina.net/hosee/blog/618953jdk7及以前的hashmap实现分析: http://blog.csdn.net/abcd1430/article/details/52745155

2017-04-10 11:41:52 262

原创 Java并发编程——Condition接口

concureent包下的并发在实现线程间的通信时可以通过Condition接口去实现,Condition的功能主要就是实现线程的等待和唤醒(await、signal)。以下是通过Condition接口实现的通知等待、和synchronized实现的通知等待一些特性的比较。 可以看出使用Condition实现的等待通知模型的优点更明显,更好使用。而且通过之前的Lock的学习可以知道一个Lock

2017-04-08 19:08:20 456

原创 Java并发编程艺术——ReentrantReadWriteLock(读写锁)

ReadWriteLock仅定义了获取读锁和写锁的两个方法,即readLock()方法和writeLock()方法,而其实现——ReentrantReadWriteLock,除了接口方法之外,还提供了一些便于外界监控其内部工作状态的方法,这些方法以及描述如表5-9所示。 public class Cache { static Map<String, Object> map = new HashMa

2017-04-08 17:21:39 1059 1

转载 Java中的锁——队列同步器(AQS)

Java中的锁——队列同步器 2015-12-20 13:27 1144人阅读 评论(3) 收藏 举报 本文章已收录于: 分类: Java核心技术(18) 作者同类文章X Java源码(11) 作者同类文章X 并发技术(8) 作者同类文章X 版

2017-04-08 11:48:10 945

原创 Java并发编程读书笔记——线程安全与锁优化

Java并发实现的三个特征:原子性、可见性、顺序性。原子性操作的实现原理 (1)总线锁实现原子性:所谓的总线锁定就是使用处理器提供的一个LOCK#信号,当处理器在总线上输出此信号的时候,其他处理器的请求将会被阻塞住,那么该处理器就独占总线,其他的所有处理器都将被阻塞。显然总线锁定的代价是比较大的不管是不是指定共享变量相关的总线操作都会被阻塞等待。 (2)缓存行锁定实现原子性:缓存锁定是指,在内存

2017-04-05 21:04:32 878

原创 直通BAT面试算法——大数据

一、哈希函数 又称散列函数,哈希函数的输入域可以使非常大的范围,但输出域是固定的范围,假设为s。 哈希函数的性质: 1.典型的哈希函数拥有无限的输入值域; 2.输入值相同时返回值一样,但是输入值不同时返回值也有可能一样,也可能不一样; 3.不同的输入得到的哈希值会均匀的分布在s域上。(重要特性)1.2都是属于哈希函数的性质,而3则属于哈希函数的性能关键的评价,一个号的哈希函数实现就应该做到

2017-04-02 13:53:45 3460

原创 直通BAT算法面试——排列组合、概率

题一:已经有一个能够利用概率p产生0(1-p)概率产生1的随机函数f,请你用f函数设计一个函数m使得m能够等概论产生0、1思路:连续调用两次f,会产生四种情况,只要你规定其中两种情况返回1另外两种情况返回0就行。题二: 已经有一个能够能够随机产生1-5的随机函数f,利用f设计一个能够随机产生1-7的函数 (1)已经有了能够随机产生1-5的函数f。 (2)利用(1)中结果减一,得到0-4; (

2017-04-02 11:30:48 679

原创 直通BAT算法面试——二叉树、位运算

题一:二叉树的序列化 假设有一颗二叉树,节点值为int值,用先旭遍历的方式序列化他,并且反序列化。 假设序列化后的结果为string,开始时string为“”; 先序遍历在遇到节点为null时就在string后面添加“#!”; 如果遇到非空节点假设节点值为val,那么就在后面添加“val!”。反序列化的时候直接翻过来就行。但是先序遍历序列化就要用先序遍历反序列

2017-04-02 11:11:30 668

空空如也

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

TA关注的人

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