自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枫秀天涯的博客

java 分布式 后台

  • 博客(45)
  • 资源 (3)
  • 收藏
  • 关注

原创 类加载器

类加载器概述 前面一直在介绍类加载的过程,都是一些概念性的东西,但这些概念很重要。接下来我们来进行一些实战,研究一下类加载器。看清楚这是类加载器,不是类加载过程。 什么是类加载器 类加载器特点 1. 什么是类加载器 简单的说类加载器就是将.class文件加载进虚拟机并生成对应的Class对象。 下面这段话是摘自深入理解Java虚拟...

2018-08-08 15:49:53 209

原创 类加载 之01 类的加载时机

类加载 之01 类的加载时机概要 概述:什么是类加载 类的生命周期 类的初始化 1. 概述 我们知道class文件存储描述java文件中的对应的信息,(这是相对Java来说的,class不只可以描述java代码)但是现在只是存储了必要的信息,如果要运行,最终都是要加载到虚拟机之后才能运行和使用。 什么是类加载? 虚拟机把描述类的数据从cla...

2018-08-06 20:38:58 168

原创 类加载之 02 类加载的过程

类加载之 02 类加载的过程概述 下面按照类加载的顺序来进行说明整个这类加载过程。 加载 连接(验证、准备和解析) 初始化 1. 加载 加载:查找并加载类的二进制数据的过程。 加载的过程描述: 通过类的全限定名定位 .class文件,并获取其二进制字节流。 把字节流所代表的静态存储结构转换为方法区的运行时数据结...

2018-08-06 20:29:36 201

原创 class 文件结构

class 文件结构概要 首先我明确一点,如果你希望明白class文件中每个字段的具体内容是什么,最好就别看这篇博客,我主要关注的是整体格式,没有具体研究每个字段中具体的定义和表示。 什么是class文件,为什么需要class文件 class文件基本结构 class 文件之魔数与class文件的版本 常量池 访问标志 类索引、父类索引与接口索引集...

2018-08-06 18:00:03 177

原创 springMVC整合mybatis

springMVC整合mybatis概要 本篇主要记录使用注解来整合springMVC和mybatis 项目整体结构 需要导入的依赖 SpringMVC配置 整合Mybatis 1. 项目整体结构 2.需要导入的依赖 <properties> <project...

2018-08-02 22:27:39 484

原创 java多线程系列-JUC线程池之 01 线程池架构

java多线程系列-JUC线程池之 01 线程池架构概要 线程池整体架构介绍 简单示例 1. 线程池整体架构介绍 1. Executor Executor将任务的执行和任务的创建分离开来。他提供了执行的接口,是来执行任务的。只要提交的任务实现了Runnable接口,就可以将此任务交给Executor来执行,这个接口只包含一个函数,...

2018-07-24 16:09:46 255 1

原创 java多线程系列之 08 ThreadLocal

java多线程系列之 08 ThreadLocal概要 ThreadLocal介绍 基本用法 ThreadLocal引起的内存泄漏 ThreadLocal 介绍 ThreadLocal提供了线程本地变量,它可以保证访问到的变量属于当前线程,每个线程都保存有一个变量副本,每个线程的变量都不同,而同一个线程在任何时候访问这个本地变量的结果都是一致的。...

2018-07-13 17:51:03 111

原创 java多线程系列 07 ThreadGroup

java多线程系列之07 ThreadGroup概要 ThreadGroup 介绍 基本API的使用与介绍 1. ThreadGroup 介绍 在java的多线程处理中有线程组ThreadGroup的概念,ThreadGroup是为了方便线程管理出现了,可以统一设定线程组的一些属性,比如setDaemon,设置未处理异常的处理方法,设置统一的安全策略...

2018-07-13 17:50:46 389

原创 java多线程系列 06 线程优先级和守护线程

java多线程系列 06 线程优先级和守护线程概要 线程优先级的介绍 线程优先级的示例 守护线程的示例 1. 线程优先级的介绍 java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低优先级线程”执行。 java 中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别它们:如果返回fa...

2018-07-13 17:50:23 113

转载 java多线程系列 05 interrupt()和线程终止方式

Java多线程系列 05 interrupt()和线程终止方式概要 interrupt()说明 终止线程的方式 终止线程的示例 1. interrupt()说明 在介绍终止线程的方式之前,有必要先对interrupt()进行了解。 关于interrupt(),java的djk文档描述如下:http://docs.oracle.com/jav...

2018-07-13 17:50:03 124

原创 java 多线系列之 04 线程让步和join

java 多线系列之 04 线程让步和join概要 yield()介绍以及示例 yield() 与 wait()的比较 join() 介绍及示例 1. yield介绍以及示例 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,...

2018-07-13 17:49:43 220

原创 java多线程系列 02 synchronized 关键字

java多线程系列 02 sychronized关键字概要 Sychronized 基本用法 sychronized基本规则 对象锁和类索 1. sychronized基本用法 sychronized主要由俩种用法,一种是用来修饰方法,另外一种是用来修饰代码块。 synchronized方法示例 public synchron...

2018-07-13 17:45:45 120

原创 java多线程系列 01基本概念以及实现方式

java 多线程的基本概念以及实现方式概要 线程的基本概念 常用的实现多线程的方式 Thread中start()和run()的区别 1. 线程的基本概念 线程状态图 说明: 线程共包括以下5种状态。 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thre...

2018-07-13 17:36:17 98

原创 Java 集合系列07之 Stack详细介绍

概要 本篇博客将主要学习Stack。Stack很简单,就是一些简单的栈操作,他继承Vector。 主要内容如下: Stack 介绍 Stack 源码解析 1. Stack介绍 Stack简介 Stack是栈。它的特性是:先进后出(FILO)。 Stack是继承Vector,因此Stack的数据结构和Vector很相似。...

2018-03-07 21:29:18 211

原创 Java集合系列06之 Vector详细介绍

概要 学完ArrayList和LinkedList,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。 Vector介绍 Vector数据结构 Vector源码解析 Vector遍历方式 1. Vector 介绍 Vector 简介 Vector 是矢量...

2018-03-07 20:51:12 286

原创 java 枚举

Java 枚举概要 本篇博客的内容如下 使用背景 枚举定义和使用 枚举的总结 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题 1. 使用背景 在java语言还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组int常量。之前通常利用public final static 方法定义。下面是一个小案例,分别用1 表示春...

2018-03-07 10:58:53 107

原创 Java集合系列05 之LinkedList详细介绍

概要 本篇博客我们将继续学习集合框架。这一篇我们接着学习Lis的实现类—LinkedList。 主要内容 LinkedList介绍 Queue 介绍 Deque介绍 LinkedList数据结构 LinkedList源码分析 LinkedList遍历方式 LinkedList使用示例 1. LinkedList介绍 L

2018-02-01 15:06:04 295 1

原创 Java 集合系列04之 fail-fast总结

概要 前面已经讲解了Arraylist,但是留下了一个知识点没有说明,Iterator的fail-fast机制。本篇博客主要讲解一下这个机制。 主要内容: Fail-fast简介 fail-fast示例 fail-fast解决办法 fail-fast原理 解决fail-fast的原理 1. Fail-fast简介 下面是Jav

2018-02-01 15:05:14 202

原创 Java 集合系列03 之ArrayList

概要 本篇博客主要的内容是介绍ArrayList的使用和对其源码进行分析,并比ArrayList不同迭代器之间的性能 内容包括: ArrayList 简介 ArrayList数据结构 ArrayList源码分析 ArrayList遍历方式分析 toArray 异常 ArrayList 基本使用示例 1. ArrayList 简介

2018-02-01 15:03:55 140

原创 java集合系列 02 Collection

java集合系列 02 Collection概要 首先,对Collection进行说明。下面是Collection的继承关系的主要类图,(这里只列举了抽象类和接口,来说明Collection的整体结构) Collection是一个接口,它主要的俩个分支是:List 和Set。 List和Set都是接口,他们继承于Collection。 Li

2018-01-31 15:44:55 139

原创 泛型中extends和super的区别

泛型中 extends 和 super 的区别这俩个主要用于对参数的保护,如果你看过Java api 源码的话,你经常看到方法参数类似上面的写法。概要 类型擦除 逆变与协变 ? 的用法 extends 的用法 super的用法 PECS原则 类型擦除 import java.util.*;public class main{ p...

2018-01-23 21:09:42 661

原创 java 8 系列之 03 流介绍

主要内容 本篇主要是初步了解一下Stream是什么,有哪些种类,初步接触一下。 流是什么 流与集合 流操作种类 流是什么 流简介 流(Stream)是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个,有点像sql语句已经定义好了一部分可以使用函数,然后组合使用即可)。此外还可以透

2018-01-22 15:53:11 141

原创 java 8 系列之02 Lambda表达式

在刚开始学习使用Lambda表达式的时候,你就把Lambda表达式类比成匿名类,把你写的每一个Lambda表达式相对应的匿名内部类都写出来。然后你把其中方法里面的语句和参数列表提取出来,按照Lambda表达式的格式写出来,就是Lambda表达式。主要内容 初步使用及Lambda表达式的格式 函数式接口 类型检查以及类型推断 方法引用 复合Lambda表达式

2018-01-22 10:39:06 245

原创 java 8 系列之 01 行为参数化

本篇博客的主要内容 明白什么是行为参数化,介绍几种行为参数化的方式,为下一节学习Lambda打下基础。什么事行为参数化 在软件工程中,一个众所周知的问题就是,不管你做什么,用户的需求肯定会变。比方说, 有个应用程序是帮助农民了解自己的库存的。这位农民可能想有一个查找库存中所有绿色苹果的 功能。但到了第二天,他可能会告诉你:“其实我还想找出所有重量超过150克的苹果。”又过

2018-01-19 14:50:39 443

原创 Java 8 学习笔记

本系列是我学习java8所做的笔记。 1. 行为参数化

2018-01-19 14:03:43 225

原创 java 中Comparable 和 Comparator 比较

首先你不要觉得俩个接口很神秘的样子,其实只是你还不会用而已。这俩个接口是Java源代码中定义的俩个接口来方便进行排序。你只要在类中实现了这俩个接口,就可以调用java中提供的一些工具类来进行排序,类如Collections.sort() ,Arrays.sort()方法。这些方法中已经默认只要你实现了这俩个接口,该类就可以调用这俩个接口中定义的方法来进行排序。Comparable 简介Co

2018-01-19 13:20:58 144

原创 泛型中 ? super T 和 ? extends T 的区别

泛型中 ? super T 和 ? extends T 的区别概要 类型擦除 ? 的用法 extends 的用法 super的用法 类型擦除 import java.util.*;public class main{ public static void main(String[] args){ Class c1 = new Ar

2018-01-17 10:46:11 239

原创 深入理解java虚拟机之 01 java 内存结构

java 内存结构 最近在看深入理解java虚拟机这本书,所以想写写自己看这本书的总结。 首先引用这本书里面的一句话:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的想出来。感觉很诗意,有点像《围城》里面的一句话:城里的人想出来,城外的人想进去。 废话不多说了,我本篇博客的主要内容如下: java内存结构(运

2017-12-29 13:23:00 233

原创 java集合系列 02 Collection

java集合系列 02 Collection概要 首先,对Collection进行说明。下面是Collection的继承关系的主要类图,(这里只列举了抽象类和接口,来说明Collection的整体结构) Collection是一个接口,它主要的俩个分支是:List 和Set。 List和Set都是接口,他们继承于Collection。 List是有序队列

2017-12-28 17:18:09 184

转载 HTTP 协议中的 Transfer-Encoding

HTTP 协议中的 Transfer-Encoding本文作为我的博客「HTTP 相关」专题新的一篇,主要讨论 HTTP 协议中的 Transfer-Encoding。这个专题我会根据自己的理解,以尽量通俗的讲述,结合代码示例和实际场景来说明问题,欢迎大家关注和留言交流。Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」。实际上,HTTP 协议中还有另外一个头部与

2017-12-27 15:09:52 30757 2

转载 HTTP 协议中的Content-Encoding

HTTP 协议中的Content-Encoding 主要内容 Content-Encoding 是什么 内容编码格式gzip 和 deflate Content-Encoding 是什么 Accept-Encoding 和Content-Encoding是HTTP中用来对采用哪种编码格式传输正文进行协定的一对头部字段。 工作原理如下: 首先

2017-12-27 15:08:09 53829 1

原创 JWT(JSON WEB TOKEN)是什么

JWT(JSON WEB TOKEN)是什么 JSON Web Token(JWT)是一种开放标准RFC 7519 ,他定义了一种压缩、独立的JSON对象,可以安全地将信息以JSON对象的形式传递给各方。这个信息可以被验证和信任,因为他是通过数字签名的。JWTs签名可以通过一个私钥(使用HMAC算法)或者使用RSA的公钥/私钥对签名。 首先解释一些概念: Compact:由于

2017-12-26 15:48:31 702

原创 java 中 Iterator 和 Iterable 区别

java 中 Iterator 和 Iterable 区别Iterator(迭代器) 作为一种设计模式,迭代器可以用于遍历一个对象,而开发人员不用去了解这个对象的底层结构。 这里就不仔细说迭代器这种设计模式,因为我们主要的目的是探索java中Iterator和 Iterable之间的区别用法 首先来说一下他们各自是怎么使用,不会用谈什么都是瞎搞。 Iterator用法

2017-12-23 20:19:01 815

原创 lab1

简介 这个实验主要是帮助理解MapReduce,并带我们走进分布式的大门,是一个很好的实验。 首先你需要整体阅读MapReduce这篇文章,并理解主要思想。虽然现在MapReduce已经不是那么流行,但是作为分布式的入门文章和实验,我觉得是很不错的。基本上把分布式的主要思想都涉猎了。 主要机制如图  Map worker读入1个文件,处理后生成n(re

2017-12-21 10:24:32 909

转载 从对象创建和引用小议解耦

应用场景 为方便后续介绍,本文假设一个计算器的应用。 初始设计由以下几部分组成: 计算器界面类 CalculatorUI该类接受用户输入的表达式,执行一些输入校 验工作,并将合法的表达式传递到具体的分析器,最终将计算结果返回给用户。 语法分析器接口,ExpressionEvaluator及其实现类ExpressionEvaluatorImpl,其承担实际的计算工

2017-12-20 14:46:44 143

原创 Lab 1:MapReuce

这个实验主要是帮助理解MapReduce,并带我们走进分布式的大门,是一个很好的实验。首先你需要整体阅读MapReduce这篇文章,并理解主要思想。虽然现在MapReduce已经不是那么流行,但是作为分布式的入门文章和实验,我觉得是很不错的。起码把分布式的主要思想都涉猎了。

2017-12-02 21:49:39 168

原创 简介

本系列博客是我在学习MIT 6.824课程课程所做的笔记。 课程是一个非常好的分布式入门课程,每堂课都讲一个新的分布式系统模型,没有教材,每堂课都是直接讲论文。老师是MIT PDOS的神牛Robert Morris (这人就是当年因为发明蠕虫病毒而蹲监然后回MIT当教授的神人)和Frans Kaashoek。这些分布式系统都是实际用在各个大公司里的系统,比如说Spark, GFS,PNUTS。

2017-12-02 10:19:21 253

翻译 Linearizability 与 Serializability 对比

本文是我在学习mit6.824课程时,看到的一篇英文博客。由于本人的英语只能算是个菜鸟,如果你的英语水平还行的话,最好去看原文:原文地址 在数据库和分布式系统的交替操作中,Linearizability 和 Serializability 是俩个比较重要的属性,并且也是比较容易弄混的。本文希望能给出一个简单容易理解的俩者之间实际的差异。Linearizability: single-oper

2017-11-21 17:08:06 1353

转载 为什么volatile不能保证原子性

预备知识原子操作 简单来说,原子操作(atomic)就是不可分割的操作,在计算机中,就是指不会因为新城调度被打断的操作。 比如,简单的赋值就是一个原子操作: m = 6 //这是个原子操作 假如m原先的值为0,那么对于这个操作,要么执行成功m编程了6,要么没执行m还是0,而不会出现诸如m=3,这种中间状态。 但是声明并赋值就不是一个原子操作: i

2017-11-07 14:05:58 618

原创 bootstrap-datepicker 位置错误问题

bootstrap-datepicker 是个不错的时间插件,最近在用的时候却出现了点问题:日历框的位置不对。1. 问题描述2.解决方案修改js文件

2017-05-31 15:34:51 1995

数据库系统概念 大学数据库

数据库系统概念使用过的大学数据库,DDL可能导入会出却,你打开文件对应着你使用的数据进行更改

2015-05-11

ajaxAjax构建工具箱指南

Ajax构建工具箱指南.Michael.Morrison.扫描版.pdf

2014-09-12

C语言库函数查询

C语言同学能用到的函数几乎都包含,所以你们尽量都下载把

2014-04-06

空空如也

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

TA关注的人

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