自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 java集合类总结(非线程安全)

首先是一张Java集合类的大图,基本勾勒出Java集合类之间的关系(转自百度图片)Java集合类主要分为两类:collection:ArrayList:数组实现,维护 table[],get时间复杂度O(1),插入、修改、删除 需要遍历数组,O(N)LinkedList:链表实现。get时间复杂度O(N),插入、修改、删除只需要修改指针,时间复杂度O(1)HashSet:  HashMap 实现,...

2018-06-18 12:03:06 717

原创 深入理解计算机系统学习笔记(一)概述

计算机系统由硬件和系统软件构成,一个程序的运行离不开软硬件的协作。先来简要的介绍一下计算机系统的硬件组成。虽然一些高级编程语言编写的程序与硬件无关,但程序终究是要控制硬件来执行,所有的高级语言源程序都会被编译为机器指令而后由硬件来执行,。一、计算机系统的硬件组成    一个典型的计算机系统主要由CPU、总线、主存储器和I/O设备构成,如下图所示(图片来自深入理解计算机系统):

2016-04-22 21:39:07 1118

原创 关于Spring配置文件xml文档的schema约束

最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意。最近想着寻根问底的探究一下。以下是本文主要内容:1、配置文件示例。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/m

2015-11-10 10:51:46 24712 5

原创 关于String的intern方法的讨论

引子今天,同学发来一个关于String的程序段,让我判断,先给出代码,大家可先想想执行结果。public class InternTest { public static void main(String[] args) { String s = new String("1"); s.intern(); String s2 = "1"; Syst

2015-08-08 21:44:49 732

转载 文件与内存的桥梁:页缓存

作者:Gustavo Duarte翻译:fleurer原文:page-cache-the-affair-between-memory-and-files前面我们观察了内核为用户进程管理虚拟内存的方法,简单起见,一时忽略了文件和IO。本文则着重讨论下这块,说说文件和内存之间的暧昧关系,及其对性能的影响。关于文件,有两个严肃的问题需要考虑。首先是与内存相比,硬件设备往往是发指的

2015-05-24 14:45:16 742

原创 java锁的语义及ReentrantLock源码剖析

ReetrantLock是一个可重入的互斥锁。只能够被单个线程拥有,但是这个线程可多次获取它。

2015-05-16 20:04:58 524

原创 java Final关键字语义剖析

常用用法java中final关键字大家经常使用。final可以用于声明字段、方法和类。final声明字段时,若为基本类型,表示该变量值初始化后不再改变;若为引用类型,则表示引用不可变,但引用所指向的对象是可以改变的。final声明方法时表示方法不可覆写(常用来限制子类不可以改写父类中方法)。final声明类时,表示类不可继承,如String类就是final的,你不能继承它。final字段的

2015-05-13 16:19:48 2267

原创 <<深入理解java内存模型>>学习总结

硬件内存模型我们知道计算机处理器的运算速度远远高于它的存储和通信子系统的速度,大量的时间都花费在磁盘I/O,网络通信和数据库访问上。处理器运算时候,读取和存取数据必定需要与内存进行I/O交互。而对主存的访问是一项昂贵的操作,内存成了CPU的性能限制,这称为Memory Wall。所以不得不在处理器和内存之间引入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)。简单来说就是在缓存中保

2015-05-10 10:58:24 559

翻译 进程内存分布剖析

内存管理是操作系统的核心功能之一,这对于编程以及系统管理都至关重要。在接下来的叙述中我将着眼于实用方面但兼顾内部原理。这些概念都是通用的,例子大都来源于Linux以及Windows操作系统。首先来描述一下内存中进程的分布。多任务操作系统中进程都运行在各自的地址空间中。在32位系统中进程的地址空间范围是0~2^32 (也即0---4G)。虚拟地址空间通过页表映射到物理内存,页表由操作系统内核维护

2015-05-08 09:39:44 3285

原创 Spring环境下Mybatis的配置以及工作机制

MyBatis 是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis 能够使用简单的XML 格式或者注解进行来配置,能够映射基本数据元素、Map 接口和POJO(普通java 对象)到数据库中的记录。所有的MyBatis 应用都以SqlSessionFactory 实例为中心。SqlSessionFactory 实例通过SqlSessionFactoryBuilder 来获

2015-05-07 15:43:01 1686

转载 Mybatis中几个重要类

本文基于Mybatis3.2.0版本的代码。1.org.apache.ibatis.mapping.MappedStatementMappedStatement类在Mybatis框架中用于表示XML文件中一个sql语句节点,即一个、或者标签。Mybatis框架在初始化阶段会对XML配置文件进行读取,将其中的sql语句节点对象化为一个个MappedStatement对象。比如下面这个

2015-05-05 15:55:33 940

翻译 JDK8 ConcurrentHashMap学习

此哈希表的主要设计目标是保证并发可读性(主要是通过get()方法,当然也可以通过迭代器及相关方法)的同时最小化更新时竞争。第二个目标是与HashMap相比保持或减少的空间消耗,并且支持多线程下对于一个空表的高初始化插入比率。    此Map通常当作一个bin哈希表。每一个Key-Value映射都保存在Node节点中。大多数的节点是最基本的Node类的实例,主要包含hash,key,value,

2015-04-30 16:52:49 1104 1

原创 java8 HashMap学习

java.util.HashMap 是JDK里散列的一个实现,主要用来提供对象与对象之间的映射。JDK6里采用位桶+链表的形式实现,Java8里采用的是位桶+链表/红黑树的方式,非线程安全。关于jdk1.6的实现,这篇博文 Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例给出了很详细的分析。本篇主要说说java8中java.util.HashMap的不同实现。首先介绍

2015-04-29 10:23:10 663

Mysql技术内幕Innodb存储引擎

《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计和管理高性能、高可用的数据库系统提供绝佳的指导。

2015-04-25

空空如也

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

TA关注的人

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