自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 带你走进Java集合源码深入分析目录

1.带你走进Java集合_ArrayList源码深入分析_重要属性、构造函数、方法源码解析2.带你走进Java集合_ArrayList源码深入分析_removeAll、retainAll两个方法源码解析3.带你走进Java集合_ArrayList源码深入分析_迭代器源码解析...

2018-06-07 15:21:40 749 1

原创 带你走进Java集合_HashMap源码分析_彻底理解HashMap的底层数据结构

上一篇文章主要从源码角度讲解了为什么HashMap底层容器的大小必须是2的整数次幂,接下来几篇博文将着重介绍HashMap的底层数据结构,同时这也是面试的重点。我们知道HashMap的底层数据结构:数组+链表+红黑树。在hashMap的源码中有一个非常重要的属性Node[]tab,这个属性就是HashMap底层数据结构中的数组,我们put的每一个值首先会封装成Node放到数组中。我们通过调用Has...

2018-06-26 18:05:32 337

原创 带你走进Java集合_HashMap源码分析_分析容器大小必须是2的整数次幂原因

我们上一篇文章主要介绍了HashMap的底层数据结构、构造方法、重要的属性,在上一篇我们遗留了一个问题,那就是为什么HashMap的大小必须是2的整数次幂,这一篇文章,我们从源码的角度来解决这个问题。首先我们回顾一下上一篇文章的重点内容1)HashMap的底层数据结构是数组+链表+红黑树,我将要有一篇文章重点讲解HashMap的链表、红黑树。2)底层数组的容量大小必须是2的整数次幂。这篇文章重点讲...

2018-06-25 17:14:02 364

原创 带你走进Java集合_HashMap源码分析1

前几篇博客主要从源码角度分析了List集合的两个重要的实现类ArrayList、LinkedList,今天我们先跳过Set集合,直接讲解Map的主要实现类,因为Set集合的主要实现类HashSet、TreeSet底层主要用Map的实现类,所以我们先分析Map,然后回过头来看Set就非常的简单了。所有的Map集合JDK7和JDK8以后源码实现差别非常的大,我们主要以JDK8的源码分析。本篇文章主要讲...

2018-06-16 17:47:08 384

原创 带你走进Java集合_LinkedList源码深入分析3

上一篇文章我们着重从源码角度介绍了LinkedList给我们提供的api方法的内部实现,这一篇我们就总结一下给我们提供的api,一些方法已经在这一篇讲过,但是还会在本篇会讲解到。第一个api方法:addFirst(E e),将元素插入到首节点,源码如下: public void addFirst(E e) { linkFirst(e); }通过上一篇对linkFirst的源...

2018-06-13 17:28:44 190

原创 带你走进Java集合_LinkedList源码深入分析2

    上一篇文章,我们主要介绍了LinkedList的基本操作,我们要掌握以下知识点:1)LinkedList的底层数据结构是双向链表2)LinkedList可以添加任何的元素,包括null3)LinkedList在多线程下作为共享数据是不安全的。4)LinkedList把添加的数据封装成了Node,包含前驱prev,后继next,值val这一篇文章,我们从源码角度去了解LinkedList的其...

2018-06-13 10:40:23 174

原创 带你走进Java集合_LinkedList源码深入分析1

上几篇文章我们主要从源码角度分析了ArrayList,大家对ArrayList的学习,一定是掌握了ArrayList的用户,接下来再次总结一下ArrayList1.ArrayList的底层数据结构是数组,当数组满后需要对其进行扩容,我们知道数组的长度是不可以变化的,扩容时用到了数组的拷贝,把新扩容的数组赋值给底层的数组。2.ArrayList对读多写少的业务效率非常高的,因为我们直接可以用到数组...

2018-06-11 17:54:05 340

原创 带你走进Java集合_ArrayList源码深入分析4

上一篇我们主要讲解了ArrayList的迭代器,我们首先归纳一下ArrayList迭代器的主要内容:1.迭代器主要利用游标cursor来遍历集合的,游标cursor主要指向下一个元素的下标。所以cursor是关键。2.迭代器在迭代的时候可以察觉到fast-fail.3.Itr的游标只能向后移动,所以只能向后遍历,而ListIterator既可以向前移动也可以向后移动这一篇文章我们从源码角度讲解...

2018-06-08 15:10:26 216

原创 带你走进Java集合_ArrayList源码深入分析3

上一篇文章我们从源码角度介绍了ArrayList中两个比较相似的方法,现在我们总结一下:1)removeAll:获取两个集合的差集,例如:list.removeAll(c),就是执行此方法,list会移除包含c的元素2)retainAll:获取两个集合的交集,例如:list.retainAll(c),就是执行此方法,list会移除不包含c的元素这篇文章接下来会从源码角度去分析ArrayList的迭...

2018-06-07 15:08:08 192

原创 带你走进Java集合_ArrayList源码深入分析2

上一篇文章我们对ArrayList的属性、构造方法、增删改查方法进行了详细的了解,也解读了为什么在多线程下ArrayList不能作为共享变量的原因,本篇文章主要介绍ArrayList的两个功能相似的方法。加入我们定义list第一个方法:removeAllpublic boolean removeAll(Collection<?> c) { Objects.require...

2018-06-06 15:44:41 465

原创 带你走进Java集合_ArrayList源码深入分析

  ArrayList是List的接口中一个非常重要的实现类,也是项目中用的最频繁的集合,要了解为什么是最频繁的,就需要我们走进ArrayList内部,进行剖析它。一、ArrayList内部的数据结构  从ArrayList源码中我们可以很清楚的看到,ArrayList底层的数据结构是数组,所有ArrayList集合的增删改查无非就是对数组的增删改查,但是我们又知道数组的长度是不可变的,那么当数组...

2018-06-05 16:05:17 382

原创 dubbo从笨鸟到菜鸟之(一)出现背景

1.当我们的网站只有少量用户访问时,没有访问流量过大的压力.所以我们会把所有的业务部署在一个节点上,以减少成本.此种开发为了简化增删改查的工作量,数据访问框架ORM成了提高效率的关键.这个就是我们网站初期的单一应用架构.  2.但是当随着网站知名度的提高,流量也越来越大,即使增加服务器数量,很难支撑流量过大的问题,急需将单一应用拆分成互补相干的几个应用,以提高效率,此时用户加速前端开发的web

2016-10-25 10:48:20 306

原创 dubbo实战教程

一套dubbo基础到dubbo高级应用,在到dubbo高可用架构搭建的教程,想要的话下面留邮箱,或者直接加qq:738793858获取.详情如下:此教程是全套讲解分布式架构的课程,分为三个大部分:第一大部分:基础教程第01节--Dubbo视频教程--基础篇--使用Dubbo对传统工程进行服务化改造的思路介绍--(带样例工程源码)第02节--Dubbo视频教程--基础篇--使用D

2016-10-14 13:07:50 529 1

原创 静态链表的总结

静态链表的定义:用数组描述的链表就叫做静态链表

2014-08-18 15:32:56 1286 3

原创 spring+hibernate配置多数据源的问题

因工作原因,需要从不同数据库中获取数据,而这些数据库又不是分布式的,不能利用分库的方式来解决问题,所以需要多个数据源。配置多个数据源的步骤如下:步骤一:首先我们需要编写一个获取数据源的工具类

2014-07-15 19:00:22 1215

原创 activemq前言

因为工作需要,需要用到

2014-07-04 14:33:34 559

原创 Hadoop作业的生命周期

1

2014-06-25 15:41:52 552

原创 java配需教程

http://shop100939685.taobao.com/shop/view_shop.htm?tracelog=twddp

2014-06-20 15:06:13 481

原创 5、thrift源码分析之_TBinaryProtocol(二进制)

在上一篇文章中我们分析了thrift协议的总接口,接下来

2014-05-29 11:31:26 2063

原创 4、thrift源码分析之_TProtocol协议

我们知道对于RPC框架,通信协议是zhong

2014-05-29 09:55:47 2823

原创 3、thrift原理重点分析之自动生成的代码详解

我们用thrift-0.90.exe能够自动生成代码,仍用UserService.thrift为

2014-05-28 18:20:32 1801

原创 2、thrift的原理重点分析之协议规则thrift文件

待续

2014-05-28 15:47:40 938

原创 1、thrift初识

待续

2014-05-28 11:53:11 521

原创 Hadoop IPC机制前奏曲之java自带RMI

待续

2014-05-21 16:36:14 556

原创 2、webservice遵守的协议

soap协议:Simple Object Access Protocol(简单对象访问协议)SOAP是基于HTTP的。 SOAP的组成如下: Envelope – 必须的部分。以XML的根元素出现。 Headers – 可选的。 Body – 必须的。在body部分,包含要执行的服务器的方法。和发送到服务器的数据。看懂wsdl

2014-01-27 17:00:33 123

转载 异常处理

为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”。笔者在初学java时也是这样认为的。如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成unchecked Exception ,何

2013-06-09 18:56:56 156

原创 网络编程之TCP

------- android培训、java培训、期待与您交流! ----------1、TCP的特点(1)建立连接,形成传输的数据通道(2)在连接中进行大数据量传输(3)通过三次握手完成连接,是可靠的协议(4)必须连接,效率稍低2、TCP分客户端和服务端(1)客户端对应的对象:Socket(2)服务端对应的对象:

2012-11-26 20:57:37 135

原创 java网络编程之网络概念和UDP

------- android培训、java培训、期待与您交流! ----------1、网络通讯要素(1)IP地址(2)端口号(3)传输协议  一个主机向另一个主机发送数据,首先这个主机要找到对方的IP地址,这是在网络层完成的,数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识,为了方便称呼这些数

2012-11-25 11:54:05 180

原创 javaIO之其他流对象

------- android培训、java培训、期待与您交流! ----------1、Properties  Properties是Hashtable的子类,也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串。是集合和IO技术相结合的集合容器  该对象的特点:可以用于键值对形式的配置文件。Properties的一些常用的方法Object s

2012-11-24 23:40:56 135

原创 javaIO之字节流

------- android培训、java培训、期待与您交流! ----------1、字节流的两个基类  字节流的两个基类分别为:写入OutputStream和读取InputStream2、字节输出流   字节输出流使用的是OutputStreampublic abstract class OutputStreamextends Objectimplem

2012-11-24 09:58:37 155

原创 javaIO之字符流

------- android培训、java培训、期待与您交流! ----------1、如何判断是输入流,还是输出流  以内存为参照,如果数据向内存流动,则是输入流,反之则为输出流2、流的分类(1)字节流:可以用于读写二进制文件及任何类型文件byte(2)字符流:可以用于读写文本文件字节流

2012-11-22 09:11:59 151

原创 java注解

1、Annotation概述  Annotation其实就是代码里的特殊标记,它用于代替配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,我们可以通过注解告诉类如何运行2.三个基本的Annotation(1)@Override:限定重写父类的方法,该注解只能用于方法(2)@Deprecated:用于表示某个程序元素(类、方法等)已过时(3)

2012-11-19 17:47:34 182

原创 java内省

1、首先了解JavaBean  JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类的方法主要用于访问私有的字段。例:写一个JavaBeanpackage com.itheima.introspector;public class Person {private String name;//定义一个name字段private Stri

2012-11-18 17:06:09 187

原创 java反射之数组反射

1、数组反射的特点(1)具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象(2)代表数组的Class实例对象的getSuperClass()方法返回的父类为Object类对应的Class(3)基本类型的一维数组可以被当做Object类型使用,不能当做Object[]类型使用,非基 本类型的一维数组,既可以当做Object类型使用,又可以当做Obj

2012-11-17 12:26:03 372

原创 javaIO之File类

1、File类在整个IO包中是唯一一个与文件本身有关的操作类,所谓的与文件本身有关指的是创建、删除文件等操作,File类的构造Public File(String pathname):在建立File对象的时候需要指定一个路径2、创建、删除文件的操作例:现在想创建一个文件package com.itheima;import ja

2012-11-17 09:10:10 188

原创 java新特性之静态导入、自动装箱和拆箱、增强for循环、可变参数、枚举

1、特性一:静态导入  概念:静态导入用于简化程序对类静态属性和方法的调用  语法:Import static 包名.类名.静态属性|静态方法|*例如:(1)import static java.lang.System.out(2)Import static java.lang.Math.*例:package com.it

2012-11-16 23:38:06 415

原创 java反射

1.反射的概念  反射就是把java中的各个成分映射成相应的java类。一个类中有多个组成部分,例如:成员变量,成员方法,构造方法等,反射就是加载类,并解剖出类的各个组成部分。问题:编程时什么情况下才需要加载类,并解剖出类的各个组成部分呢?(1)加载类  在我们学习Class类时,我们知道Class类代表某个类的字节码,可以通过三种方法得到Class对象(1)类

2012-11-15 22:55:44 184

原创 java反射之Class类

1、Class对象java程序中的各个java类属于同一类事物,该类事物有什么属性,属性的值是多少,则有这个类的实例对象来确定,描述这类事物的java类就是Class,Class用于代表某一类的字节码。  Class类描述了哪些方面的信息呢?   我们知道一个类包括:类的名称,类的属性,类所属的包名,字段名称列表,方法列表等等。  每当编写并编译了一个新类,就会产生一个Class对

2012-11-15 16:48:19 175

日期脚本js

在进行表单输入时,如果遇到时间的输入,有些人就会不叫头疼,所以这个组件能够帮助你实现日期的输入。

2012-07-16

空空如也

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

TA关注的人

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