自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CrankZ的博客

希望能用自己的技术使这个世界更加美好。

  • 博客(10)
  • 收藏
  • 关注

原创 String学习笔记

阿里Java开发手册这里总结了阿里开发手册中有关String类的介绍13. 【推荐】使用索引访问用String的split方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛IndexOutOfBoundsException的风险。说明:String str = "a,b,c,,";String[] ary = str.split(",");// 预期大于3,...

2018-12-25 16:23:54 937

原创 结构型模式:代理模式,Java静态代理+动态代理实现

什么是代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:对扩展开放,对修改关闭。也就是不要随意去修改已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明...

2018-12-15 11:22:03 433

原创 基本类型与包装类型

阿里开发手册中关于基本类型的问题7. 【强制】所有的相同类型的包装类对象之间值的比较,全部使用equals方法比较。 说明:对于Integer var = ? 在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是...

2018-12-14 21:48:08 2210

原创 创建型模式:单例模式+5种写法+最佳实践。

什么是单例模式单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式特点:这个类只能有一个实例; 它必须自行创建这个实例; 它必须自行向整个系统提供这个实例。Tips:单例模式是一种对象创建型模式。单例模式分类饿汉方式 懒汉方式 双重检测法 静态内...

2018-12-11 15:04:04 972

原创 创建型模式:工厂模式

23种设计模式工厂模式的分类简单工厂(Simple Factory)模式 工厂方法(Factory Method)模式 抽象工厂(Abstract Factory)模式为什么要用工厂模式满足开闭原则:对修改关闭,对扩展开放。就是别改老代码,只需要添代码,以前所有的老代码,都是有价值的,需要尽力保留 解耦 :把对象的创建和使用的过程分开 降低代码重复: 如果创建某个对象的过...

2018-12-10 15:52:13 506

原创 哈希 学习笔记

Tips:Hash=哈希=散列Tips:哈希经常与哈希函数指一个意思。本文中哈希与哈希函数不做特殊区分,默认就是一个意思。什么是哈希在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。哈希函数就是一种映射,是从关键字到存储地址的映射。通常,包含哈希函数的算法的算法复杂度都假设为O(1),这就是为什么在哈希表中搜索数据的时间复杂度会被认为是”平均为O(1)的复杂度...

2018-12-09 18:30:13 2146

原创 布隆过滤器,原理+案例+代码实现

概述什么是布隆过滤器        布隆过滤器(Bloom Filter)是1970年由布隆提出的,它实际上是由一个很长的二进制向量和一系列随意映射函数组成。        它是一种基于概率的数据结构,主要用来判断某个元素是否在集合内,它具有运行速度快(时间效率),占用内存小的优点(空间效率),但是有一定的误识别率和删除困难的问题。它能够告诉你某个元素一定不在集合内或可能在集合内。...

2018-12-09 15:49:10 9919 5

原创 分布式锁,学习笔记

什么是分布式锁?当在分布式模型下,数据只有一份(或有限制),此时需要利用锁的技术控制某一时刻修改数据的进程数。与单机模式下的锁不仅需要保证进程可见,还需要考虑进程与锁之间的网络问题。(我觉得分布式情况下之所以问题变得复杂,主要就是需要考虑到网络的延时和不可靠。。。一个大坑)分布式锁还是可以将标记存在内存,只是该内存不是某个进程分配的内存而是公共内存如 Redis、Memcache。至于...

2018-12-06 17:55:17 363

原创 时间复杂度+常见复杂度解释

前言算法的效率虽然计算机能快速的完成运算处理,但实际上,它也需要根据输入数据的大小和算法效率来消耗一定的处理器资源。要想编写出能高效运行的程序,我们就需要考虑到算法的效率。算法的效率主要由以下两个复杂度来评估:时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。设计算法时,一般是要先考虑系...

2018-12-02 19:07:15 20832 4

原创 分库分表

名词解释库:database;表:table;分库分表:sharding为什么要分库分表移动互联网时代,海量的用户每天产生海量的数量,比如:用户表 订单表 交易流水表以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级...

2018-12-01 23:11:31 8722 2

空空如也

空空如也

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

TA关注的人

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