自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

smile4lee的博客

笨鸟快飞

转载 Kafka 相关博客文档

Kafka深度解析系列(强烈推荐) Kafka 最佳实践【译】 | Matt's Blog Kafka消费组(consumer group) - huxihx - 博 Kafka Compression Performance Tests KafkaController分析系列 ...

2019-03-10 08:48:48 315 0

转载 Hadoop 相关文档地址

Hadoop原理汇总(一)——HDFS 深入理解HDFS:Hadoop分布式文件系统 Hadoop 原理总结 (包含其他内容) Hadoop 面试相关,介绍一些基本的概念,很有用; HDFS 体系结构,对hdfs的拓展; NameNode、DataNode和Client三者之间协作关系及通信方式...

2019-02-28 22:37:58 86 0

原创 Java NIO 相关博文链接

Java NIO 相关资料 Java NIO浅析——美团点评团队 理解Java NIO——云栖社区

2017-07-20 20:30:03 612 0

转载 Git参考文档(转载地址)

git - 简明指南:简短 15分钟Git在线学习网站:try github 在线书籍,强烈推荐《Pro Git》

2016-12-27 10:55:24 527 0

转载 Linux Ubuntu 下安装JDK、Tomcat、Maven

JDK How To Install Java on Ubuntu with Apt-Get Tomcat How To Install Apache Tomcat 7 on Ubuntu 14.04 via Apt-Get Maven 安装:How to install Maven 3 on U...

2016-12-26 14:53:05 541 0

原创 Vim配置、NERDTree插件安装

Vim的配置文件目录一般为 /etc/vim/vimrc,对该文件进行修改可以对Vim编辑器进行定制,注意,修改前进行备份!!! Vim原始注释的颜色为蓝色极其不清楚,将其改为灰色: highlight Comment ctermfg=green guifg=green 语法高亮:syntax o...

2016-12-26 14:28:41 885 0

转载 Tomcat server.xml配置详解(转载地址)

Tomcat server.xml框架与基础配置详解 Tomcat server.xml配置示例 tomcat中server.xml配置详解

2016-12-26 10:26:20 650 0

转载 Top K、去重复、排序等海量数据处理之经典实例分析——博客地址

海量数据处理之经典实例分析

2016-09-24 10:39:24 801 0

转载 Cookie和Session详解——博客地址

Session机制详解

2016-09-22 09:00:52 346 0

转载 SpringMVC请求处理流程、Spring AOP原理--推荐阅读

Spring MVC请求处理流程图 Spring AOP的实现原理 Spring的AOP原理 Spring AOP的底层实现技术

2016-09-18 22:21:50 807 0

转载 MySQL锁机制与MVCC原理--推荐阅读

《高性能MySQL》 mysql锁机制总结 关于innodb中MVCC的一些理解 Mysql中的MVCC

2016-09-18 21:35:29 9776 0

转载 java.util.concurrent并发包结构、锁——博客地址

java.util.concurrent并发包诸类概览 java.util.concurrent包详细分析 关于java的线程并发和锁的总结 Java线程并发中常见的锁 java内置锁synchronized的可重入性

2016-08-29 09:15:54 865 0

转载 HTTP 协议详解

文章转自:http://kb.cnblogs.com/page/130970/ 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序...

2016-08-28 18:27:25 899 1

转载 稀疏矩阵--三元组表示法和十字链表示法

在科学与工程领域中求解线性模型时经常出现大型的稀疏矩阵。在使用计算机存储和操作稀疏矩阵时,经常需要修改标准算法以利用矩阵的稀疏结构。由于其自身的稀疏特性,通过压缩可以大大节省稀疏矩阵的内存代价。更为重要的是,由于过大的尺寸,标准的算法经常无法操作这些稀疏矩阵。三元组表示法按照压缩存储的概念,只存储...

2016-08-28 10:45:22 10097 0

转载 Java实用类库相关地址

排名Top 16的Java实用类库 一篇关于apache commons类库的详解

2016-08-25 08:55:36 933 0

原创 JDBC/InvocationHandler动态代理实现数据库连接池、数据源

Java的JDBC编程中,数据库的连接和关闭是十分耗费资源的。当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用完之后关闭。但是,对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大的减低系统性能,造成瓶颈。所以可以使用数据库连接池来达到连接资源的共享,使得对于数据库的连接可以...

2016-08-24 18:22:33 1874 0

转载 Redis/Memcached K-V缓存数据库转载地址

Redis - redis 数据类型详解以及redis适用场景场合, http://my.oschina.net/ydsakyclguozi/blog/404625Memcached - 应用 memcached 提升站点性能, http://www.ibm.com/developerwo...

2016-08-16 17:17:08 1010 0

原创 本机访问VMWare Ubuntu 14.04 Tomcat站点配置

目标:在VMWare Ubuntu 14.04中的Tomcat中发布站点,本机利用ip访问该站点。安装JDK首先需要在虚拟机中安装JDK,详细过程可以参照文章雲端之风的博客:http://www.cnblogs.com/cloudwind/archive/2012/10/19/2731263.ht...

2016-06-30 20:00:38 2149 0

原创 【设计模式】:推荐阅读

图说设计模式 IBM developerWorks, Java 设计模式与建模专题

2016-05-21 10:34:01 551 0

原创 【JDK】:Fork-Join框架

概述前面的文章【JDK】:Executor框架提到Executor框架,而Fork-Join框架也与Executor框架相关的多线程并行运算的框架。Fork-Join框架有自己的适用范围。如果一个应用能被分解成多个子任务,并且组合多个子任务的结果就能够获得最终的答案,那么这个应用就适合用 Fork...

2016-05-16 20:20:35 874 0

原创 【JDK】:Executor框架

在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Execut...

2016-05-16 11:16:57 1239 0

转载 【JDK】:CopyOnWriteArrayList、CopyOnWriteArraySet 源码解析

CopyOnWriteArrayList

2016-05-15 21:02:35 1315 0

转载 【JDK】:Java容器框架——同步容器与并发容器

前面的文章中详细介绍了Java的容器框架,在此基础上,本文对Java中的同步容器与并发容器做一些介绍。fail-fast机制快速报错机制(fail-fast)能够防止多个进程同时修改同一个容器的内容。如果在你迭代遍历某个容器的过程中,另一个进程接入其中,并且插入、删除或者修改此容器内的某个对象,就...

2016-05-15 21:00:58 4294 1

原创 【JDK】:java.lang.Integer源码解析

本文对JDK8中的java.lang.Integer包装类的部分数值缓存技术、valueOf()、stringSize()、toString()、getChars()、parseInt()等进行简要分析。Integer缓存先来看一段代码:Integer a1 = Integer.valueOf(1...

2016-05-14 18:45:50 1415 0

原创 【JDK】:ConcurrentHashMap高并发机制——【转载】

在学习ConcurrentHashMap的高并发时,找到了一些高质量的博客,就没有重复转载了。推荐文章的博客地址如下: 程晓明,探索 ConcurrentHashMap 高并发性的实现机制 方腾飞,聊聊并发(四)——深入分析ConcurrentHashMap

2016-05-13 09:47:39 1093 0

原创 【JDK】:ArrayList和LinkedList源码解析

ArrayListArrayList也叫数组列表,底层使用的数组实现的,严格来说是动态数组。ArrayList工作原理ArrayList工作原理其实很简单,底层是动态数组,每次创建一个ArrayList实例时会分配一个初始容量(如果指定了初始容量的话),以add方法为例,如果没有指定初始容量,当执...

2016-05-12 21:50:08 562 0

原创 【JDK】:java.lang.String、StringBuilder、StringBuffer 源码解析

String接口和属性String类是final不可继承的,用来存放字符数组的value[]也是final修饰的,这意味着String类是不可变的,一旦new出来就不能发生改变。因此对一个String类的对象进行任何修改(增加、删除、替换)之后,都会生成一个新的对象返回。public final ...

2016-05-12 21:13:46 726 0

原创 【深入理解JVM】:推荐阅读

王晨纯, 面向GC的Java编程

2016-05-12 16:58:08 651 0

原创 【JDK】:HashMap详解

Hash散列基本思想哈希表使用数组和链表共同实现散列存储,每一个数组元素可以认为是散列表中的桶位(buket),每个桶位存放一个链表,该链表由散列码(hashCode)相同的节点构成。Hash表的查找就是根据需要查找的对象(key, value)中的key,利用散列函数计算key对应的hashCo...

2016-05-12 16:45:55 500 0

原创 【JDK】:Java容器框架

容器框架概述在JDK8中rt.jar文件中,java.util.*;包中的容器主要包括List、Set、Queue和Map四个大类,其中List、Set、Queue是和Collection接口相关的容器,而Map是单独列出来的容器。使用astah community版绘制了容器框架的类图。Coll...

2016-05-12 09:16:43 3278 3

原创 【深入理解JVM】:Java内存模型JMM

多任务和高并发的内存交互多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系...

2016-05-07 14:00:13 19765 7

原创 【深入理解JVM】:解析与分派

解析Java中方法调用的目标方法在Class文件里面都是常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化为直接引用。(关于符号引用与直接引用,详见【深入理解JVM】:Class类文件结构)这种解析的前提是:方法在程序真正运行之前就有一个可以确定的调用版本,并且这个方法的调用版本...

2016-05-06 20:56:50 4622 0

原创 【深入理解JVM】:类加载器与双亲委派模型

类加载器 加载类的开放性 类加载器(ClassLoader)是Java语言的一项创新,也是Java流行的一个重要原因。在类加载的第一阶段“加载”过程中,需要通过一个类的全限定名来获取定义此类的二进制字节流,完成这个动作的代码块就是类加载器。这一动作是放在Java虚拟机外部去实现的,以便让应用程序自...

2016-05-06 19:09:25 50358 15

原创 【深入理解JVM】:Java类继承关系中的初始化顺序

Java类初始化的顺序经常让人犯迷糊,现在本文尝试着从JVM的角度,对Java非继承和继承关系中类的初始化顺序进行试验,尝试给出JVM角度的解释。非继承关系中的初始化顺序对于非继承关系,主类InitialOrderWithoutExtend中包含了静态成员变量(类变量)SampleClass 类的...

2016-05-06 11:19:38 11354 6

原创 【深入理解JVM】:类加载机制

概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。与那些在编译时需要进行链接工作的语言不同,在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,例如import java...

2016-05-06 10:13:25 5537 3

原创 【深入理解JVM】:Class类文件结构

概述我们平时在DOS界面中往往需要运行先运行javac命令,这个命令的直接结果就是产生相应的class文件,然后基于这个class文件才可以真正运行程序得到结果。自然。这是Java虚拟机的功劳,那么是不是Java虚拟机只能编译.java的源文件呢?答案是否定的。时至今日,Java虚拟机已经实现了语...

2016-05-05 21:08:35 2949 0

原创 【深入理解JVM】:内存分配与回收策略

Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的...

2016-05-05 20:27:40 3938 2

原创 【深入理解JVM】:HotSpot垃圾收集器

相关概念并发和并行这两个名词都是并发编程中的概念,在谈论垃圾收集器的上下文语境中,它们可以解释如下。 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发(Concurrent):指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序...

2016-05-05 16:58:55 3881 0

原创 【深入理解JVM】:垃圾收集算法

垃圾收集算法主要有以下几种:标记-清除算法(mark-sweep)、复制算法(copying)和标记-整理算法(mark-compact)。标记-清除算法算法的执行过程与名字一样,先标记所有需要回收的对象,在标记完成后统一回收所有被标记的对象。该算法有两个问题: 标记和清除过程效率不高。主要由于垃...

2016-05-05 16:31:21 3693 1

原创 【深入理解JVM】:垃圾收集(GC)概述

为什么要垃圾回收我们知道电脑的内存是有限的,如果一段程序申请了一块内存空间并执行完计算之后,没有释放内存,会导致这块内存被占用,那么可用内存就变少了,如果一个系统很庞大,程序中迟早会把电脑内存耗尽的。为了提高内存的使用效率,内存在使用完必须释放,这样其他程序才可能重新申请这块内存。C语言中有mal...

2016-05-05 14:43:02 598 0

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