自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 集合整理

1. map接口的实现   这两个类最大的不同在于:(1)Hashtable是线程安全的,它的方法是同步了的,可以直接用在多线程环境中。(2)而HashMap则不是线程安全的。在多线程环境中,需要手动实现同步机制。1.1 hashmap 基本属性:  /** 默认初始化大小 * The default initial capacity - MUST be...

2017-12-05 14:08:45 138

AQS同步工具类对比

工具类工具类作用工具类加锁方法工具类释放锁方法Sync覆盖的方法Sync非覆盖的重要方法state的作用锁类型锁维护Semaphore控制同时访问某个特定资源的操作数量acquire:每次请求一个许可都会导致计数器减少1,,一旦达到了0,新的许可请求线程将被挂起release:每调用 添加一个许可,释放一个正在阻塞的获取者tryAcqui...

2016-09-05 11:16:37 201

原创 markdown-hexo使用

What is Hexo?Hexo is a fast, simple and powerful blog framework. You write posts in Markdown (or other languages) and Hexo generates static files with a beautiful theme in seconds.Installation...

2016-05-05 10:57:07 237

原创 mysql学习整理

1.mysql架构      InnoDB存储引擎的逻辑存储结构和Oracle几乎一样,从大到小分别为:表空间、段、区、页,它们的关系如下图所示:  2.mysql运行流程 3.schema设计规则   4.索引设计优化4.1 索引匹配原则            1.等值匹配 2.组合索引最左前缀匹...

2016-05-04 17:08:17 169

原创 Nginx配置文件详细说明

Nginx配置文件详细说明在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等worker_processes  1;#全局错误日志及PID文件error_log  /var/log/nginx/error.log;pid        /var/run/ng...

2016-05-04 14:20:19 131

原创 Nginx SSI 设置

什么是SSIServer Side Include,通常称为服务器端嵌入,是一种类似于ASP的基于服务器的网页制作技术。大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令。为什么要用SSI用个例子来说明,一个静态化的页面中,需要嵌入一小块实时变化的内容,。例如首页,大部分的页面内容需要缓存但是用户登录后的个人信息是...

2016-05-04 14:16:43 166

原创 JAVA虚拟机-JVM性能调优(五)

系统故障排查方法 1.操作系统层面: 1.1.cpu使用率过高 1). us高(用户程序忙,死循环等), 2).sy高(内核忙,线程多,写入繁忙等) 3).wio高(写入量过大等) 像redis,es,memcache,mq之类中间件 读写频繁,wio值相对较大1.2. 内存,主要看内存剩余量,是否发生swap1.3. io繁忙,iostat, ...

2016-04-03 16:16:32 381

原创 JAVA虚拟机-JMM内存模型(六)

1.JMM (Java Memory Model)内存模型相关概念模型图:可以对应下面这张图:   这张图告诉我们在线程运行的时候有一个内存专用的一小块内存,当Java程序会将变量同步到线程所在的内存,这时候会操作工作内存中的变量,而线程 中变量的值何时同步回主内存是不可预期的。但同时Java内存模型又告诉我们通过使用关键词“synchronized”或“vol...

2016-04-03 15:51:51 189

原创 单例模式几种写法

所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。类似Spring中的IOC 配置,bean实例化默认都是单例模式的。 单例的四种写法:1.饿汉式单例//饿汉式public class Singleton{ //1.私有的唯一的静态实例变量,在类加载的时候就创建好单例对象 private static final Singletion insta...

2016-03-27 12:19:25 132

原创 JAVA虚拟机-G1 Heap Structure(四)

1.The G1 Garbage Collector(G1垃圾回收器定义)The Garbage-First (G1) collector is a server-style garbage collector, targeted for multi-processor machines with large memories. It meets garbage collection (G...

2016-03-14 11:55:39 486

原创 JAVA虚拟机-CMS Heap Structure(三)

  1.Reviewing Generational GC and CMSThe Concurrent Mark Sweep (CMS) collector (also referred to as the concurrent low pause collector) collects the tenured generation. It attempts to minimize the...

2016-03-14 10:40:27 176

原创 JAVA虚拟机-GC介绍和垃圾算法理解(二)

1.GC介绍垃圾回收器(Garbage Collection,GC),顾名思义,垃圾回收就是释放垃圾占用的空间, Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。我们需要考虑一下JVM处理垃圾回收三个问题:1).哪些内存需要回收?2).GC什么时候开始回收?3).如何回收 2.垃圾收集方式2.1 引用计数2.2...

2016-03-11 16:25:01 277

原创 JAVA虚拟机-Java体系结构及hotspot介绍(一)

 1、HotSpot JVM标准结构 最上层:javac编译器将编译好的字节码class文件,通过java 类装载器 执行机制,把对象或class文件 存放在 jvm划分内存区域中间层:从左至右  方法区(持久代也叫非堆)、堆(共享,GC回收对象区域)、栈、程序计数器和寄存器、本地栈(私有)最下层:jvm最核心两块 JIT(just in time)即时编译器 和 GC...

2016-03-11 15:38:33 233

原创 新技术文章收集

1.ELK 日志收集分析监控 运维工具elasticsearch + logstatsh + kinbana携程ELK日志分析平台深耕之路elasticSearch官网 

2016-03-01 23:24:34 138

git文件存储原理解析(八)

1.git的目录结构  1.1 新建一个git-test空文件夹,使用git init 初始化,交由git管理    1.2 .git 目录下 文件夹结构如下:    2.git如何保存数据?  2.1.对象类型  从内部来看,Git 是简单的 key-value 数据存储。它允许插入任意类型的内容,并会返回一个键值,通过该键值可以在任何时候再取出该内容。可...

2016-02-02 10:45:30 468 1

原创 hibernate体系结构整理

1.ORM介绍      1.1 什么是ORM,为什么要用ORM框架?       ORM的全称是Object/Relation Mapping,对象/关系数据库映射。ORM可以理解成一种规范,它概述了这类框架的基本特征:完成面向对象编程语言和关系型数据库的映射。当ORM框架完成映射后,它既可利用面向对象程序设计语言的简单易用性,又可以利用关系型数据库的技术优势。因此,我们可以把O...

2016-01-26 15:54:03 231

原创 git 分支管理(七)

1.什么是分支,分支能解决什么问题?1.1 分支简介几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的默认分支名字是 master,Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大...

2016-01-22 15:33:10 153

Git版本冲突解决(六)

1.协作开发过程提交冲突例子:develop A和develop B同时修改同一个项目的文件,并且都向远程仓库提交,会有一个开发人冲突。如下图:(注:模拟2个开发者修改,在这之前代码和远程仓库都是一样的) developB修改代码:package com.sohu.train;public class AddFile { public static vo...

2016-01-20 17:49:04 145

原创 Git 版本回退(五)

1 相关命令      2 版本回退方式     版本回退 可以使用reset命令 ,通过移动HEAD指针 移动到我们历史版本。      两种方式:     git reset --hard  指定版本  (HEAD ^ 或commitId表示回退指定版本)     注:方式1 HEAD~:HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就...

2016-01-20 17:00:12 129

Git 常用命令(四)

  1.初始化仓库如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入:$ git init该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。目录机构如下: 2.克隆仓库克隆仓库的命令格式是 git clone [url] $ git clone ...

2016-01-19 18:24:25 83

Github的使用(三)

1.什么是github?github是一个免费的远程仓库,还是一个开源协作社区,通过github,既可以让别人参与你的开源项目,也可以参与别人的开源项目。github地址:https://github.com/ 2.github相关命令2.1 Set Up Git 配置全局信息:gitconfig  --global user.name “YOUR NAME...

2016-01-19 17:59:06 89

原创 Git 工作流程介绍(二)

1.流程图及概念工作区:用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。暂存区:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域版本库:也叫本地版本库,之所以说git 快,大部分提交都是对本地仓库而言的,不依赖网络,最后一次会推送的到远程仓库...

2016-01-19 17:35:23 178

原创 Git 版本控制工具介绍(一)

1.什么是版本控制系统?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 2.版本控制系统的发展?2.1 本地版本控制系统许多人习惯用复制整...

2016-01-19 16:54:14 206

maven使用与理解目录

目录列表:  1).maven的安装及常用命令(一)  2).maven的生命周期,插件介绍(二)  3).maven的坐标,仓库介绍及配置(三)  4).maven的pom介绍及配置(四)  5).maven的依赖特性,冲突解决(五)  6).maven的聚合模块和pom继承使用(六)  7).maven的版本规范(七)  8).maven和jenkins持续...

2016-01-15 18:35:57 87

原创 maven的版本管理(七)

转载请注明出处哈:http://yanan0628.iteye.com/blog/2271264 1.什么是maven版本管理及好处?1.1 版本管理maven版本管理 是针对构件而言的(也可以简单的说jar包),我们日常开发项目的过程就是在不断迭代开发,大到系统重构,小到bug修复,maven通过版本管理,能帮助我们记录每一次对项目的变更及构件的稳定性。  2...

2016-01-15 15:24:03 264

原创 maven的聚合模块和pom继承使用(六)

转载请注明出处哈:http://yanan0628.iteye.com/blog/2270411 1.什么是maven的聚合模块?聚合模块为项目目录的最顶层,其他模块作为聚合模块子目录而存在。目的是为一次构建多个项目模块。 1.1 项目结构  我自己化了一个关于项目的关系: 1.2 pom标签配置-module    maven-aggregat...

2016-01-15 14:56:50 624

原创 maven的pom介绍及配置(四)

1.什么是pom?pom(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目是如何构建,声明项目依赖,插件配置,仓库配置等等。2.pom配置 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/...

2016-01-14 10:49:10 141

原创 maven的依赖特性,冲突解决(五)

转载请注明出处哈:http://yanan0628.iteye.com/blog/2270409 1.maven依赖的几个特性    1.1 依赖范围 -scope标签    maven在构建过程有3套classpath,我们会根据配置依赖的范围 依赖不同的classpath,如下图:    compile:默认是compile,对 编译 测试 运行 都有效prov...

2016-01-14 10:44:21 163

原创 maven的坐标,仓库介绍及配置(三)

1.什么是maven仓库?  1.1 仓库和构件   仓库指的是在某个位置统一存储所有maven项目共享构件。  构件可以是一个插件 可以是一个jar包也可以是我们自己输出的构建(或者说对项目打的包)    1.2 仓库分类     1.3 仓库中寻找构件的过程?     2.什么是maven坐标(依赖)?  2.1 坐标(依赖)定义   坐标是...

2016-01-13 17:18:10 156

原创 【文章汇总】-目录列表

简介:工作快五载,不久前,突然和一位关系较好同事的想法不谋而合,平常工作学习看些文章都是过眼烟云太过匆忙,茫无目的,偶尔一天在微信公众号发现学习金字塔学习路线(我们介于讨论 实践 传授),于是我们一起开始 写博客 讨论的旅程.....转瞬3个月了,若干年,再回首,即使曾经作为ITEYE的一个过客,也不枉此行.....积累,收获,展望,回味....  1.项目管...

2016-01-13 16:20:35 180

maven的生命周期,插件介绍(二)

1.maven生命周期一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件,如针对编译的插件:maven-compiler-plugin。用户也可自行配置或编写插件。maven的三套生命周期Ma...

2016-01-13 16:14:30 120

maven介绍及常用命令(一)

转载请注明出处哈: http://yanan0628.iteye.com/blog/2270344 1.maven简介及优势     maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用maven自身...

2016-01-13 15:38:18 148

原创 JAVA几种IO工作机制及特点(二)

1.什么是IO?1.1 什么是流? IO在本质上是单个字节的移动,而流可以说是字节移动的载体和方式,它不停的向目标处移动数据,我们要做的就是根据流的方向从流中读取数据或者向流中写入数据。最简单的Java流的例子就是下载电影,肯定不是等电影全部下载在内存中再保存到磁盘上,本质上是下载一个字节就保存一个字节。  一个流,必有源和目标,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚...

2016-01-13 15:12:23 349

原创 Jetty如何实现NIO分析(三)

需要了解知识:    1.IO模型:参考  IO与操作系统关系(一)   JAVA几种IO工作机制及特点(二)     2.jetty容器: 参考 JETTY基本架构 1.jetty 模块分析详细参考官网:http://wiki.eclipse.org/Jetty/Reference/Dependencies  (jetty模块依赖)1.1 jetty依赖树: ...

2016-01-07 17:30:54 557

IO与操作系统关系(一)

1.liunx的内核态和用户态         1.1).用户空间与内核空间          liunx操心系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核,保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC...

2016-01-06 15:15:41 636

原创 项目管理文章及书籍收藏

项目管理1. 阿里、腾讯以及一些创业公司是如何进行研发管理和绩效考核的? 2. 如何能很好地安排好自己的时间? 3.不是领导时该如何管理员工? 4.如何让自己变得更加优秀? 5.能力成长模型 (阿里 梁飞) 6.技术人员在大公司能学到什么? (Juven Xu-许晓斌 网站) 7.技术领导之路  微盘下载 8.从技术细节看美团的架构...

2016-01-05 23:32:12 179

原创 技术文章收藏

文章收藏列表: paxos算法  分布式事务绝对干货:解密阿里巴巴“异地多活”技术分布式系统经典论文 1. 架构设计     美拍架构实战    从技术细节看美团的架构 1.集合相关  2.多线程相关  3.IO相关   网络IO之阻塞、非阻塞、同步、异步总结IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)...

2016-01-05 23:14:01 104

缓存学习整理(一)

 1.缓存基本知识     参考博客:http://carlosfu.iteye.com/blog/2241010       1.1 基本概念     1).什么是缓存(cache)?    Cache(缓存): 从cpu的一级和二级缓存、Internet的DNS、到浏览器缓存都可以看做是一种缓存。     维基百科: 写道a store of things ...

2016-01-05 11:39:29 176

原创 JAVA虚拟机-JVM深入分析整理-程序问题分析(十)

1.字符串存在哪里?如下代码,aaa,bbb,ccc内容到底存储在哪里呢: public class JvmString { public static void main(String[] args) throws InterruptedException { String s1 = "aaa"; String s2 = "bbb"; String s3...

2015-12-31 10:44:39 140

原创 JVM虚拟机-常量池(十一)

转载:http://www.cnblogs.com/iyangyuan/p/4631696.html小菜先拙劣的表达一下jvm虚拟内存分布:      程序计数器是jvm执行程序的流水线,存放一些跳转指令,这个太高深,小菜不懂。     本地方法栈是jvm调用操作系统方法所使用的栈。     虚拟机栈是jvm执行java代码所使用的栈。     方法区存放了一些常量...

2015-12-28 12:03:22 178

空空如也

空空如也

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

TA关注的人

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