自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

茅坤宝骏氹的博客

Learning and Review。转载文章来源网络,转载链接不一定是原文,如有侵权请联系删除

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

原创 博客文章列表(二)——算法、数据结构、数据库、ABCD

七、编程基础数据结构详情列表算法 详情列表算法.排序 详情列表算法.加密 ...

2018-09-22 11:10:26 727

原创 博客文章列表(一)——JAVA

一、成长系列面试 详情列表编程难题 详情列表java总结 详情列表java技能 ...

2018-09-22 11:06:30 1027 6

转载 Java中“/”,“.”所代表的文件路径

转载自  Java中“/”,“.”所代表的文件路径 我们在开发的过程中,经常会去读、写文件。在读写文件的时候,就不得不写文件的路径,使用相对路径的方式有两种:”/”和 “.” 。在写文件的路径的时候,需要了解一下几点东西:  在java应用程序中,“.”代表的是运行class文件时的目录,而“/”代表的是磁盘分区的根目录:例如,在eclipse项目中,运行class文件的路径为项目的根目录,...

2018-09-30 20:19:05 5177

原创 mongdb总结

#清屏cls   --windows#操作数据库show dbs     --查看所有数据库use dbName    --使用已有的dbName数据库,或者创建新的数据库dbName,如果一个数据库没有表就不存在db            --显示数据库名称#操作集合show collections                        --查询数据库所拥...

2018-09-30 20:14:25 203

转载 Java 多文件上传

转载自  Java 多文件上传前台代码很简单:<input type="file" accept=".zip" class="file-load" multiple="multiple" name="files"/>后台代码:public boolean uploadFlow(@RequestParam MultipartFile[] files){ //

2018-09-30 20:13:14 175

转载 漫画:什么是快速排序?(完整版)

转载自   漫画:什么是快速排序?(完整版)       同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。不同的是,冒泡排序在每一轮只把一个元素冒泡到数列的一端,而快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。...

2018-09-30 20:10:31 215

转载 支付渠道参数如何设计成路由化配置

转载自  支付渠道参数如何设计成路由化配置今天我们来探讨在搭建支付系统时一个比较关键的问题:渠道参数路由化配置如何设计?在开发支付系统的时候,我们经常会涉及到对接多个支付渠道,除常见的支付宝、微信外可能还会根据不同的业务场景对接很多其他的支付渠道,如apple pay、银联甚至一些海外支付渠道如Adyen、Stripe等。此外,根据公司业务类型的扩展,以及业务范围不断向不同国家、区...

2018-09-30 19:30:35 2678

转载 写给工程师的10条精进原则

转载自  写给工程师的10条精进原则引言时间回到8年前,我人生中的第一份实习工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个CaseStudy。由于对部署环境的不了解,把SVN库里的配置文件错误地发到线上,并且上完线就去吃晚饭了,等吃饭回来发现师傅在焦头烂额地回滚配置。那次故障造成了一个核心服务20分钟不可用,影响了...

2018-09-30 19:26:18 246

转载 java实现多文件上传至本地服务器

转载自  java实现多文件上传至本地服务器博主最近在做一个内网项目,内部可以访问外部数据,但是外部访问不了内部数据,这也就造成了可能文件无法上传,所以博主另辟蹊径,在本地服务器上建立一个文件夹专门用来存储上传数据。环境:jdk,tomcat一、前台上传文件(ajax上传) <input type="file" name="annexUrl" id="annexUrl" mu...

2018-09-29 20:00:08 913

转载 ACID中C与CAP定理中C的区别

转载自  ACID中C与CAP定理中C的区别ACID和CAP定理中都有C,代表Consistent一致性,很多人容易将这两个C混为一谈,其实这两个一致性是有区别的。事务的定义是一系列操作要么全部成功,要么全部不成功,数据库的事务机制是通过ACID实现的,数据库ACID的具体定义见这里,ACID中的一致性的定义是:一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状...

2018-09-29 19:56:23 1873

转载 分布式系统的Raft算法

转载自分布式系统的Raft算法过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑。  来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。  在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个...

2018-09-29 19:53:17 188

转载 分布式系统Paxos算法

转载自分布式系统Paxos算法 这是一个有关Paxos算法非常形象的讲解与示范。Paxos是能够基于一大堆完全不可靠的网络条件下却能可靠确定地实现共识一致性的算法。也就是说:它允许一组不一定可靠的处理器(服务器)在某些条件得到满足情况下就能达成确定的安全的共识,如果条件不能满足也确保这组处理器(服务器)保持一致。什么是共识?  具体来说是这样:分布式系统中由于网络之间通讯可能会中断...

2018-09-29 19:35:28 201

转载 jdbc事务和事务的隔离级别

转载自   jdbc事务和事务的隔离级别在jdbc的使用中以最简单的jdbc的使用为例,说明了jdbc的具体用法。然而在通常项目中,需要考虑更多内容,例如事务。事务,在单个数据处理单元中,存在若干个数据处理,要么整体成功,要么整体失败。事务需要满足ACID属性(原子性、一致性、隔离性和持久性)。原子性:所谓原子性是指本次数据处理要么都提交、要么都不提交,即不能先提交一部分,然后处理其...

2018-09-29 19:28:29 256

转载 关于分布式事务、两阶段提交协议、三阶提交协议

转载自  关于分布式事务、两阶段提交协议、三阶提交协议随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致...

2018-09-29 19:22:04 136

转载 自己动手写一个能操作redis的客户端

转载自  自己动手写一个能操作redis的客户端引言redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redis,如下图所示但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说只要按照redis的协议,发送指定数据给redis,监听返回值即可。确实,本质原理就是如上面那句话所说。博主也是以这种思路,去看了一下JAVA端的开源...

2018-09-29 19:19:35 205

转载 谈谈服务限流算法的几种实现

转载自  谈谈服务限流算法的几种实现保障服务稳定的三大利器:熔断降级、服务限流和故障模拟。今天和大家谈谈限流算法的几种实现方式,本文所说的限流并非是Nginx层面的限流,而是业务代码中的逻辑限流。为什么需要限流按照服务的调用方,可以分为以下几种类型服务1、与用户打交道的服务比如web服务、对外API,这种类型的服务有以下几种可能导致机器被拖垮: 用户增长过快(这是好事)...

2018-09-29 19:19:26 200

转载 什么是加密算法

转载自  什么是加密算法Java的加密知识也是Java常见的领域之一,加密技术的底层确实很复杂,运用了大量的数学知识,要弄明白非常复杂。但是Java语言中运用密码加密工具却是非常简单。我们在Java里面运用这些加密技术,只需要把原理和使用场景等搞明白就可以了,具体底层实现不用研究。常用的加密算法有对称加密算法,非对称加密算法,哈希算法,数字签名等几类。    对称加密顾名思义就是加密和...

2018-09-29 19:19:18 2375

转载 谈谈系统稳定性设计

转载自  谈谈系统稳定性设计一、差旅随想 因为base在分公司,需要经常去总部出差,所以搭乘飞机成了家常便饭,很多时候坐在飞机上会不由的感叹,设计制造这样精密复杂的机器的那帮人真的是了不起,他们是怎样保证这样一台由无数零件组成的设备能够稳定运转的?于是去简单查阅了一些资料,了解到无论任何情况下,我们所乘坐的客机从生产到投入运营,任何细节都是将可靠性放在第一位的,简单来说,体现在...

2018-09-29 19:19:08 4072

转载 什么是缓存击穿

转载自   什么是缓存击穿缓存击穿、缓存并发和缓存雪崩是常见的由于并发量大而导致的缓存问题,本节讲解其产生原因和解决方案。缓存击穿通常是由恶意攻击或者无意造成的;缓存并发是由设计不足造成的;缓存雪崩是由缓存同时失效造成的,三种问题都比较典型,也是难以防范和解决的。本节给出通用的解决方案,以供在缓存设计的过程中参考和使用。缓存击穿缓存击穿指的是使用不存在的key进行大量的高并发查询,...

2018-09-28 19:19:48 226

转载 企业级负载均衡如何实现

转载自  企业级负载均衡如何实现负载均衡简介首先,我们来了解一下什么是负载均衡:在一个大型网站中,在线用户有时可能有几千个甚至上万个之多。如果一个用户的请求需要服务使用0.02秒来处理,那么该服务实例每秒钟将只能处理50个这样的请求,每分钟也只能处理3000个。如果该服务是一个用户非常常用的功能,如浏览网站的产品列表,那么很显然单个服务实例已经无法支持该网站的运营。在这种情况下,我们就...

2018-09-28 19:16:38 495 1

转载 Redis进阶之持久化

转载自  Redis进阶之持久化一、Redis高可用概述在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999% 等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还...

2018-09-28 19:14:32 202

转载 Redis进阶之内存模型

转载自   Redis进阶之内存模型前言Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解Redis的5种对象类型的用法和特点的基础上,进一步了解R...

2018-09-28 19:14:19 193

转载 想要玩转实现负载均衡,你知道这些吗?

转载自  想要玩转实现负载均衡,你知道这些吗?一、前言 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服务器上面呢?早期的方法是使用DNS做负载,通过给...

2018-09-28 19:14:07 229

转载 Spring-SpringMVC父子容器

转载自  Spring-SpringMVC父子容器前言Spring&SpringMVC作为bean管理容器和MVC默认框架,是大多数web应用都会选择的方案。在其使用过程中,尽管基于xml的配置bean管理的方式依然存在,但在很多情况下已经采用的强大的注解功能将其替代。实际项目中,Spring和SpringMVC同时配置,以及xml配置bean和注解的混合使用,会造成诸如bean重...

2018-09-28 19:13:55 235

转载 Elasticsearch面试题

转载自  Elasticsearch面试题问题一:什么是ElasticSearch? Elasticsearch是一个基于Lucene的搜索引擎。它提供了具有HTTP Web界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。Elasticsearch是用Java开发的,根据Apache许可条款作为开源发布。 问题二:您可以在文档上执行哪些基本操作? 可以在文档...

2018-09-28 19:13:46 22927

转载 这些保护Spring Boot 应用的方法,你都用了吗?

转载自   这些保护Spring Boot 应用的方法,你都用了吗?Spring Boot大大简化了Spring应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量,如果你已经习惯了Spring和大量XML配置,Spring Boot无疑是一股清新的空气。Spring Boot于2014年首次发布,自那以后发生了很多变化。安全性问题与代码质量和测试非常相似,已经日...

2018-09-28 19:13:15 988

转载 成为更优秀的程序员:退后一步看问题

转载自   成为更优秀的程序员:退后一步看问题一天,在工作中…Bug #3890 来自客户:有个程序出现了错误,程序提示说“SpeedCalculator::compute()里出现了除零情况”。请尽快修复!你打开SpeedCalculator.php,发现: 修复bug简单!是谁写的这段代码,他怎么不用一点脑子! 你就这样修改完了,这个bug只...

2018-09-28 19:13:02 200

转载 你还在Java8中使用循环语句吗?

转载自   你还在Java8中使用循环语句吗?Java 8中的新功能特性改变了游戏规则。对Java开发者来说这是一个全新的世界,并且是时候去适应它了。在这篇文章里,我们将会去了解传统循环的一些替代方案。在Java 8的新功能特性中,最棒的特性就是允许我们去表达我们想要完成什么,而不是要怎样做。这正是循环的不足之处。要确保循环的灵活性是需要付出代价的。return、break 或者 cont...

2018-09-28 19:12:54 320

转载 面试中的这些坑,你踩过几个?

转载自  面试中的这些坑,你踩过几个?01、请你做一个自我介绍误区:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。要点:简历上有的可以一两句话带过,重点回答面试官关心的问题,那就是求职者能否胜任工作。包括:最强的技能、最深入研究的技术领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,重点突出...

2018-09-27 19:11:10 198

转载 谷歌工程师文化中的几个核心原则

转载自  谷歌工程师文化中的几个核心原则每周,一组谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“Testing on the Toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的一些新的东西,这也被突出为Google文化中的核...

2018-09-27 19:11:01 909

转载 Struts2面试问题

转载自   Struts2面试问题1.什么是Struts2?Apache Struts2是一个用Java构建Web应用程序的开源框架。Struts2基于OpenSymphony WebWork框架。它从Struts1中得到了很大的改进,使其更加灵活,易于使用和扩展。Struts2的核心组件是Action,Interceptors和Result页面。Struts2提供了许多方法来创建Ac...

2018-09-27 19:10:52 9909

转载 互联网账户系统如何设计

转载自  互联网账户系统如何设计在很多互联网公司业务发展的早期,业务模式比较单一的情况下,涉及用户账户资金交易相关的逻辑也比较简单,但是随着公司业务模式的不断创新及类型的多元化发展,会渐渐发现现有系统账户逻辑越来越雍肿,不仅难以支持新业务的扩张,对现有业务的支持也适配困难,最终导致新业务系统不得不重新搭建自己的业务账户逻辑,造成重复建设不说,也往往给后续的财务资金核算造成混乱。 以某互...

2018-09-27 19:10:45 749

转载 为什么大公司一定要使用DevOps

转载自   为什么大公司一定要使用DevOps0 DevOps的意图究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁?即开发团队和IT运维团队!那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件!事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件...

2018-09-27 19:10:29 656

转载 这些Spring面试题,你都会了吗?

转载自   这些Spring面试题,你都会了吗?问题一:什么是Spring?Spring是Enterprise Java的开源开发框架。Spring Framework的核心功能可用于开发任何Java应用程序,但有一些扩展用于在Java EE平台之上构建Web应用程序。Spring框架的目标是通过启用基于POJO的编程模型,使Java EE开发更易于使用并促进良好的编程实践。问题二...

2018-09-27 19:10:20 282

转载 DevOps通用及版本控制面试题

转载自   DevOps通用及版本控制面试题通用DevOps面试问题此类别将包含与任何特定DevOps阶段无关的问题。这里的问题旨在测试您对DevOps的理解,而不是关注特定工具或阶段。 问题一:DevOps和Agile之间的根本区别是什么?两者之间的差异列于下表中。 问题二:为什么需要DevOps?据我所知,这个答案应该从解释一般市场趋势开始。公司不是发布大量...

2018-09-27 19:10:13 1336

转载 漫画:什么是时间复杂度

转载自    漫画:什么是时间复杂度时间复杂度的意义究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司...... 一天过后,小灰和大黄各自交付了代码,两端代码实现的功能都差不多。大黄的代码运行一次要花100毫秒,内存占用5MB。小灰的代码运行一次要花100秒,内存占用500MB。于是......  由此可见,...

2018-09-27 19:10:04 283

转载 数据库的这些性能优化,你做了吗

转载自   数据库的这些性能优化,你做了吗在互联网项目中,当业务规模越来越大,数据也越来越多,随之而来的就是数据库压力会越来越大。我们可能会采取各种方式去优化,比如之前文章提到的缓存方案,SQL优化等等,除了这些方式以外,这里再分享几个针对数据库优化的常规手段:「数据读写分离」与「数据库Sharding」。这两点基本上是大中型互联网项目中应用的非常普遍的方案了。下面我们来详细看一看,...

2018-09-27 19:09:55 123

转载 漫画:什么是鸡尾酒排序

转载自   漫画:什么是鸡尾酒排序那么,鸡尾酒排序又是何方神圣呢?我们这一期将会详细讲述。让我们首先来回顾一下冒泡排序的思想:冒泡排序的每一个元素都可以像小气泡一样,根据自身大小,一点一点向着数组的一侧移动。算法的每一轮从都是从左到右比较元素,进行单向的位置交换。那么鸡尾酒排序做了怎样的优化呢?鸡尾酒排序的元素比较和交换过程是双向的。让我们来举一个栗子:有8...

2018-09-27 19:09:46 279

转载 JDBC面试问题

转载自   JDBC面试问题1.什么是JDBC API,何时使用它?Java DataBase Connectivity API允许我们使用关系数据库。JDBC API接口和类是 java.sql和javax.sql包的一部分。我们可以使用JDBC API来获取数据库连接,在数据库服务器中运行SQL查询和存储过程并处理结果。JDBC API的编写方式允许我们的Java程序和实际的JDB...

2018-09-26 09:21:27 1437

转载 面试进阶之字符串常量池

转载自  面试进阶之字符串常量池作为最基础的引用数据类型,Java 设计者为 String 提供了字符串常量池以提高其性能,那么字符串常量池的具体原理是什么,我们带着以下三个问题,去理解字符串常量池: 字符串常量池的设计意图是什么? 字符串常量池在哪里? 如何操作字符串常量池?  字符串常量池的设计思想a.字符串的分配,和其他的对象分配一样,耗费高昂的时间...

2018-09-26 09:21:19 194

空空如也

空空如也

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

TA关注的人

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