自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java集合:ConcurrentHashMap

序上一篇整理过hashmap. 插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,所以HashMap是线程不安全的。而对应的安全的Hashtable是整个的加锁,所以...

2018-04-27 20:24:29 567

原创 linux命令:find 结果展示详情

通常find命令显示文件不如ls的直观。下面命令可以通过exec与ls结合。find ./ -name "*02-26.bz2" -exec ls -lh {} \;如果是按照大小查找,就得注意了。find ./ -size -50M -exec ls -lh {} \;这样对大小过滤不起作用。“{}”的含义其实是对find命令执行的结果进行替换,而"find . -size -5k"这命令的实际...

2018-04-25 18:42:24 12845

原创 java集合:hashmap

一 map上一篇整理里list,本文继续整理hashmap.先说一下map的基本接口Map将key和value封装至一个叫做Entry的对象中,Map中存储的元素实际是Entry。只有在keySet()和values()方法被调用时,Map才会将keySet和values对象实例化。所以map的遍历右三种方式:package com.daojia.collect;import java.uti...

2018-04-24 17:49:29 344

原创 java集合:stack及其应用举例

一 API栈是一种线性数据结构,遵从 LIFO(后进先出)的操作顺序,所有操作都是在顶部进行。Java 集合框架中的 Stack 继承自 Vector:跟 Vector 一样,它是 数组实现的栈。jdk1.8源码如下:publicclass Stack<E> extends Vector<E> { /** * Creates an empty Stack...

2018-04-23 12:01:04 885

原创 java集合:LinkedList

序:ArrayList基于数组来实现集合的功能,其内部维护了一个可变长的对象数组,集合内所有对象存储于这个数组中,并实现该数组长度的动态伸缩。LinkedList基于链表来实现集合的功能,其实现了静态类Node,集合中的每个对象都由一个Node保存,每个Node都拥有到自己的前一个和后一个Node的引用public class LinkedList<E> extends Abs...

2018-04-21 21:55:00 196

原创 Java集合:arraylist及java.util.ConcurrentModificationException

今天很热,30度了公司还没开空调。看看源码安静下。一 list:上一篇整理了 Java 集合框架的的主要底层接口collection,本文继续整理它的子接口list。其它子接口见下图官方文档: https://docs.oracle.com/javase/tutorial/collections/interfaces/list.html一个 List 是一个元素有序的、可以重复、可以为 null ...

2018-04-20 18:28:20 411

原创 java 集合:

一 序:集合,或者叫容器,是一个包含多个元素的对象;集合可以对数据进行存储,检索,操作。JDK提供了大量的集合实现供开发者使用,在java.util包下面。1. 接口  2. 抽象类  3. 实际使用中的类1. 最基本的是Collection接口2. 然后是Set,List,SortedSet接口,继承于Collection接口3. 两外的Map和SortedMap接口,其实准确而言是映射,而不是...

2018-04-20 13:56:07 184

原创 二叉树系列:红黑树

介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性:(1) 每个节点或者是黑色,或者是红色。...

2018-04-19 16:45:53 432

原创 二叉树系列(3 常见方法)

package com.daojia.collect;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.util.List;import java.util.Stack;public class Btree { private Node root...

2018-04-18 14:26:48 642 1

原创 二叉树操作(2删除)

上一篇主要整理了遍历。删除的时候是复杂的。因为考虑的情况比较多。网上这篇例子写的很好,我就转过了。https://blog.csdn.net/fengrunche/article/details/523057481)删除节点为叶子节点     2)删除节点只有一个子节点:只有一个左子节点和只有一个右子节点    3)删除节点有两个子节点:这种情况比较复杂,需要寻找后继节点,即比要删除的节点的关键值...

2018-04-16 19:10:41 4118

原创 二叉树常见方法整理(1 遍历)

序最近在看jdk的时候,发现一些底层还是使用了二叉树的相关知识,由此可以扩展开红黑树,或者MySQL的索引B+树。补充一些知识点。二叉树:1、深度优先:递归,非递归实现方式  1)先序遍历:先访问根节点,再依次访问左子树和右子树  2)中序遍历:先访问左子树,再访问根节点吗,最后访问右子树  3)后序遍历:先访问左子树,再访问右子树,最后访问根节点        其中后序遍历是最复杂的。:举例两种...

2018-04-16 15:33:11 237

原创 Java中类型强转:int 转byte

群里有人问了个问题: int a =234; byte b = (byte)a; System.out.println(b); 因为Java中基本类型的范围不同,强转可能会导致异常。Java中的基本类型java中所有的基本数值类型都有正负号,所以不要去寻找无符号的数值类型。基本类型大小最小值最大值包装器类型boolean----char16-bit  Characterbyte8 bit...

2018-04-11 19:59:24 5014 1

原创 内部排序:快速排序

基本思想设当前待排序的数组无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:分解:在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记为pivot)的关键字pivot.key,右边...

2018-04-11 17:29:44 300

原创 内部排序:冒泡排序

基本思路  将被排序的记录数组R[0..n-1]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其 向上”飘浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。具体过程,如下所示:初始状态:R[0..n-1]为无序区。第一趟扫描:从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻...

2018-04-11 14:05:07 201

原创 内部排序算法:直接选择排序

整理几篇基本的排序算法。基本思路:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:初始状态:无序区为R[1..n],有序区为空。第1趟排序:在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1] 交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……第i趟排序:第i趟排序开始时,当前有序区和无序...

2018-04-11 13:18:33 231

原创 dubbo学习笔记(四)-负载均衡与容错

上一篇整理了dubbo的架构分层 ,其中路由层(Cluster):封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster、Directory、Router和LoadBalance。将多个服务提供方组合为一个服务提供方,实现对服务消费方来透明,只需要与一个服务提供方进行交互。在集群负载均衡时,dubbo提供了多种负载均衡策略,默认的是random随机调用。负...

2018-04-10 19:11:19 484

原创 dubbo学习笔记(三)-dubbo组成模块

序之前的笔记学习了RPC原理,对于dubbo的模块组成还是不清楚,看了官网的用户手册,转载过来。dubbo采用分层方式来架构,用实用角度有分为服务的提供方和消费方来看。总体架构Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层。图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口, 位于...

2018-04-10 15:14:14 5022

原创 dubbo学习笔记(二)-默认依赖及支持协议

缺省依赖: jdk 1.6及以上第三方:javassist.jarspring-context.janetty.jar协议:dubbo://Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。Transporter: min...

2018-04-09 17:57:03 645

原创 几种序列化协议(fastjson,xstream,jackjson,jdk,hessian)相关数据对比

protobuf 还没看,所以暂时没有加入对比,但是已经默认是最快的序列化协议了。测试点:序列化时间反序列化时间bytes大小测试代码:项目随便找一个pojo.我自己找的常见属性,没有严格测试到每一种数据类型。所以测试数据仅供自己学习。package com.daojia.hessian;import java.io.Serializable;import java.util.Date;i...

2018-04-09 11:10:04 2053 1

原创 dubbo学习笔记(一)-简介

序:  之前整理过RPC框架原理,因为到家内部在推行dubbo换成自研的dsf框架(自研的有利于监控扩展),老系统逐步升级,所以整理下知识点(分为dubbo,跟dsf部分)。背景:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。演进的图就不贴了。贴一个服务治理的。架构节点角色说明节点角色说明Pr...

2018-04-08 11:37:51 711

原创 netty学习笔记:从jdk NIO到netty作用

之前一篇Java网络I/O  介绍了Java I/O,从NIO引出了netty.netty作用:1 封装了I/O: 底层的I/O 实现复杂,netty屏蔽了底层。更面向业务层的实现。2 对数据格式的封装NIO只是封装了I/O模型,并不关心数据格式。而netty对数据格式的封装,更专注于业务。支持常见的如pb,集成了HTTP 协议的request,response.3 修复了JDK NIO层的已知b...

2018-04-03 16:04:46 708

JS权威指南(第四版)学习笔记.doc

以前看javascript权威指南(第四版)pdf资料时写的.希望给跟自己一样初学js的人有点帮助.其实实践最重要.

2007-09-19

空空如也

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

TA关注的人

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