- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 红黑树详解
我们知道,二叉搜索树是个很好的数据结构,可以快速地找到一个给定关键字的数据项,并且可以快速地插入和删除数据项。但是二叉搜索树有个很麻烦的问题,如果树中插入的是随机数据,则执行效果很好,但如果插入的是有序或者逆序的数据,那么二叉搜索树的执行速度就变得很慢。因为当插入数值有序时,二叉树就是非平衡的了,排在一条线上,其实就变成了一个链表……它的快速查找、插入和删除指定数据项的能力就丧失了。为...
2018-10-25 21:54:54
262
原创 spring源码博客整理
https://www.cnblogs.com/ITtangtang/p/3978349.html 源码解读Spring IOC原理
2018-09-15 17:53:24
362
转载 分布式session共享
前言在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会...
2018-08-01 11:10:26
306
转载 分库分表实战
订单系统分库分表实践 背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了...
2018-07-27 17:00:44
448
1
原创 牛人博客
https://www.jianshu.com/u/9fe0904bd4c6 https://javadoop.com/ : 关于java领域相关技术 https://coderbee.net/ http://www.dengshenyu.com/category/ : kafka https://www.jianshu.com/u/86c17b4ba...
2018-07-23 20:43:53
327
转载 MySQL数据库MyISAM和InnoDB存储引擎的比较
MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。InnoDB是事务型引...
2018-07-22 17:00:34
178
原创 Github Pages 搭建网站
Github Pages 搭建网站个人站点访问https://用户名.github.io 搭建步骤创建个人站点 -> 新建仓库(注:仓库名必须是【用户名.github.io】) 在仓库下新建index.html的文件即可脚下留心github pages 仅支持静态网页 仓库里面是.html文件3、个人主页也可以设置主题 Pro...
2018-07-21 17:55:45
394
1
原创 git指南
目录 创建新仓库检出仓库工作流添加和提交推送改动分支更新与合并标签log替换本地改动实用小贴士创建新仓库创建新文件夹,打开,然后执行git init以创建新的 git 仓库。检出仓库设置用户名git config --global user.name 'itcastphpgit1' 设置用户名邮箱git config...
2018-07-20 19:59:04
177
转载 重量级锁、轻量级锁、偏向锁、自旋锁
理解锁的基础知识如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。基础知识之一:锁的类型锁从宏观上分类,分为悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,...
2018-07-19 16:56:40
303
转载 23种设计模式
创建型模式创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式...
2018-07-17 14:52:36
1450
原创 看懂UML类图和时序图
看懂UML类图和时序图这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了;本章所有图形使用Enterprise Architect 9.2来画,所有示例详见根目录下的desi...
2018-07-17 14:33:24
586
转载 java后台面试题整理
java后台面试题整理java基础Arrays.sort实现原理和Collection实现原理foreach和while的区别(编译之后)线程池的种类,区别和使用场景分析线程池的实现原理和线程的调度过程线程池如何调优线程池的最大线程数目根据什么确定动态代理的几种方式HashMap的并发问题了解LinkedHashMap的应用吗反射的原理,反射创建类实例的三种方式是什么?cloneable接口实现原...
2018-07-15 09:20:57
324
原创 springboot基础
一、SpringBoot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一...
2018-07-10 09:48:02
677
原创 数据库隔离级别
下面简单地介绍一下四种隔离级别。 READ UNCOMMITTED (未提交读) 在READ UNCOMMITED级别,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也被称为脏读(Dirty Read)。这个级别会导致很多问题,从性能上来说,READ UNCOMMITTED 不会比其他的级别好太多,但却缺乏其他级别的很多好处,除非真的有非常必要的理由,在实...
2018-04-22 11:26:02
201
原创 java的io总结
1. File类1.1. File类说明存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.这些文件可以移动,传送,亦可以被其他程序使用.由于数据存储在文件中,所以我们需要学习一个和文件有密切关系的类,叫做File类,将要掌握获取文件的属性以及删除和重命名文件.最终如何向文件中写入数据和从文件中读取数据...
2018-04-17 09:31:28
193
原创 集合总结
1. 集合1.1. 什么是集合存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对象的话, 长度不好定义, 而集合解决了这样的问题。1.2. 集合和数组的区别数组和集合类都是容器数组...
2018-04-17 09:29:29
180
转载 static关键字
在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。static关键字1.修饰成员变量在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或...
2018-03-22 11:25:28
153
转载 final关键字
在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。final关键字在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。下面,我们来讲final的四种主要用法。1.修饰数据在编写程序时,我们...
2018-03-22 11:01:18
153
转载 java垃圾回收机制
深入理解java垃圾回收机制----一、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。 ps:内存泄露是指该内存空间使用...
2018-03-19 23:09:32
188
原创 hadoop在windows本地运行到yarn集群配置
需要重写package org.apache.hadoop下的两个类:1.package org.apache.hadoop.io.nativeio;下的NativeIO2.package org.apache.hadoop.mapred;下的YARNRunner1.NativeIO/** * Licensed to the Apache Software Foundation (ASF) un...
2018-03-13 22:52:09
968
原创 hadoop中wordcount编写
1.继承mapperpackage com.dylan.bigdata.mr.wcdemo;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce....
2018-03-12 23:23:59
326
转载 hadoop在windows下远程调试时用户权限问题
1.修改用户权限 观察hadoop hdfs中的文件发现了这样的现象,所有的文件都是由一个叫做supergroup的用户组上传的,于是如果将windows的用户也放到这个组里面 或许就能够搞定了2.创建名为supergroup的用户组sudo groupadd supergroup3.将windows用户名加入supergroup中,因为我windows的用户名为Dylan所以就就这么...
2018-03-11 21:26:50
694
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人