自定义博客皮肤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

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

原创 Spring Boot 配置Druid监控以及基本特征监测使用

Spring Boot 配置Druid监控以及基本特征监测使用Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。1.引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifac

2017-11-23 15:18:18 5260

转载 spring中如何自定义标签

http://www.cnblogs.com/lizo/p/6683606.html

2017-08-01 16:35:23 383

转载 zookeeper解析系列文档

http://www.cnblogs.com/wuxl360/category/874409.html

2017-07-27 16:43:35 389

转载 spring4.X注解总结

http://www.cnblogs.com/davidwang456/p/4432410.html

2017-07-18 20:22:39 348

转载 OO的五大原则

http://blog.chinaunix.net/uid-174325-id-3026114.html

2017-06-27 17:55:33 307

转载 内部类解析

http://www.cnblogs.com/dolphin0520/p/3811445.html

2017-06-27 17:51:41 246

转载 Java中的逆变与协变

http://www.cnblogs.com/en-heng/p/5041124.html

2017-06-27 17:50:00 279

原创 膜拜大神

http://www.cnblogs.com/loveis715/category/690824.htmlWS(1) C++ 基本功(4) ExtJS(1) HTTP(2) Java基本功(4) Web Service(19) WPF(18) Writing Patterns Line By Line(3) 安全(4) 数据库设计(5)

2017-06-04 23:20:46 824

原创 spring 源码分析博主

http://www.iteye.com/blogs/subjects/Spring_jiwenke

2017-05-22 09:46:36 262

原创 java并发-阻塞队列

Java并发编程-阻塞队列(BlockingQueue)的实现原理标签: java并发阻塞队列线程安全Concurrent2016-06-13 19:37 7387人阅读 评论(0)收藏举报本文章已收录于:分类: Java并发编程(24) 作者同类文章X版权声明:本文为博主原创文

2017-05-08 10:11:32 273

转载 ThreadLocal源码分析(JDK8)

ThreadLocal源码分析(JDK8)分类: Java(20) 作者同类文章XJDK源码分析(7) 作者同类文章X版权声明:【分享也是一种提高】个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的。ThreadLocal特性及使

2017-05-04 11:17:08 1225

转载 java中四种引用类型

对象的强、软、弱和虚引用  在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。  强引用(StrongReference)

2017-05-04 10:40:05 397

原创 Spring MVCzh中常用的注解

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

2017-04-29 21:00:44 333

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

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

2017-04-28 11:24:33 413

转载 Cookie/Session机制详解

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

2017-04-27 18:51:39 308

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

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

2017-04-27 18:42:36 1288

原创 mybatis常见面试题

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

2017-04-27 17:57:20 570

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

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

2017-04-17 11:17:02 515

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

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

2017-04-17 11:16:07 440

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

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

2017-04-17 11:14:45 324

转载 java集合类面试题40

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

2017-04-10 17:03:14 718

转载 JDK8中的ConcurrentHashmap底层实现

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

2017-04-10 13:48:06 2129

转载 集合——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 252

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

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

2017-04-08 19:08:20 448

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

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

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

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

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

2017-04-08 11:48:10 932

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

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

2017-04-05 21:04:32 860

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

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

2017-04-02 13:53:45 3439

原创 直通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 648

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

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

2017-04-02 11:11:30 659

原创 直通BAT算法面试——链表

题一:链表分化 /** * 题干: * 对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。 * 给定一个链表的头结点head,同时给定阈值val,请返回一个链表,使小于等于它的结点在前,大于等于它的在后,保证结点值不重复。 * 测试样例: * {1,4,2,5},3 * {1,2,4,5} *

2017-03-29 15:58:33 505

原创 直通BAT面试算法总结——栈和队列

题一:栈的逆序 /** * 题干: * 实现一个栈的逆序,但是只能用递归函数和这个栈本身的pop操作来实现,而不能自己申请另外的数据结构。 * 给定一个整数数组A即为给定的栈,同时给定它的大小n,请返回逆序后的栈。 * 测试样例: * [4,3,2,1],4 * 返回:[1,2,3,4] * * * 解析:首先要实现两种操作(两种递归) * 第一是要能递归的弹出返回栈底get

2017-03-24 21:29:12 684

原创 直通BAT算法面试题总结

题1:/** * 题干:对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同。 * 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树 * * 解析:其实就是将树序列化为字符串来解决就行。然后在判断一下是否包含。 * */class Solution{ public boolean so

2017-03-24 16:41:59 2436

原创 jvm面试题-堆内存设置

原理: JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Youn

2017-03-22 19:38:14 354

原创 Java并发编程的艺术-Java中的锁

Java中可以通过实现Lock接口的方式来创建自定义的同步部件,同步的部件核心其实就是同步队列(AbstractQueuedSynchronizer一般是通过一个内部类来实现它,然后实现他之中的几个方法);可以这样理解锁与同步队列的关系:锁时面对使用者的,定义了使用者与锁之间的交互接口;而同步队列AQS是面向锁的,它简化了锁的实现方式,对用户来说,AQS屏蔽了同步管理,线程的排队,等待与唤醒等底层操

2017-03-22 19:37:02 462

原创 并发编程-Java内存模型

JMM:Java内存模型 指令重排序分为: 编译器重排序-》指令并行重排序-》内存系统重排序(后两者都属于处理器重排序)JMM通过禁止特定类型的重排序实现一致的内存可见性。重排序其实就是为了实现对程序的优化对指令的执行顺序进行重新排序。重排序时应该遵守as-if-serial语义和happens-before规则。对于多处理器的主机,每一个处理器多会有一个读写缓冲区,而且每一个处理器的缓

2017-03-15 11:08:38 335

转载 在浏览器中输入www.baidu.com后执行的全部过程

这个问题经常可以看到,今天我好好总结了下,是从网络模型的角度来分析问题的,主要涉及应用层:DNS,HTTP,传输层:TCP,网络层:IP和路由选择协议:RIP,OSPF(内部网关协议),BGP(外部网关协议)和数据链路层:ARP。下面来具体分析:1.应用层:客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览

2017-03-13 18:06:37 1162

原创 java集合类设计中的几个问题

(一)是否是线程安全的 java的集合框架中有很多类都是非线程安全的,但是有设计了对应的功能相似的线程安全的类来解决多线程的问题。当然多线程就意味着效率低,具体的实现一般都是用了同步方法(sychronized)比如HashMap和HashTable(CurrentHashMap也是线程安全的而且扩展的更好) 其中HashMap就是非线程安全的,而HashTable就是线程安全的;ArrayLi

2017-03-09 19:21:52 418

原创 HashMap底层实现原理

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。简单说下HashMap的实现原理:首先有一个每个元素

2017-03-09 18:41:41 36225 4

原创 java集合类概略

接口:CollectionCollection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。所有实现Collec

2017-03-09 15:13:49 244

空空如也

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

TA关注的人

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