自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

原创 Mysql索引深入剖析

索引的数据结构为什么不用红黑树?在myisam存储引擎中 数据和索引是分开存储的 索引有索引文件 数据有数据文件聚集索引:索引的键值的逻辑顺序和表数据里的行的物理存储顺序是一致的在Innodb中主键索引就是聚集索引单列索引联合索引:add index `comidx_name_phone` (`name`,`phone`)name 是有序的 只有当name的值相等的时候 phone才是有序的什么是回表?扫描完辅助索引之后 再去扫描主键索引 这种方式叫做回表什么...

2021-07-18 17:38:59 128

原创 mybatis 01

1、为什么通过命名空间+id 这两个坐标就可以唯一的定位一条sql 语句 在mybatis中是怎么实现的?看源码几个核心的类:SqlSessionFactoryBuilder 通过建造者模式 实例化SqlSessionFactory 建造的过程是一个很复杂的过程 对外是透明的SqlSessionFactory sqlSessionFactory = newSqlSessionFactoryBuilder().build(inputStream);SqlSessionFac...

2020-12-19 15:39:01 159 2

原创 spring源码下载流程

1、下载源码git clone --branch v5.2.8.RELEASE https://gitee.com/Z201/spring-framework.git修改settings.gradle文件repositories {gradlePluginPortal()maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://repo.spring.io/plugi...

2020-12-15 12:45:15 237

原创 虚拟机配置文件备份

TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="dhcp"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"#UUID="537772d1-47

2020-10-21 15:55:40 254

原创 阿里巴巴的程序员是怎么成长的?

前言关于技术人如何成长的问题,一直以来都备受关注,因为程序员职业发展很快,即使是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距,所以技术人保持学习,提升自己,才能够扛得住不断上赶的后浪,也不至于被“拍死”在沙滩上。近日,经过一朋友的透露,Alibaba也首发了一份限量的“Java成长笔记”,里面记载的知识点非常齐全,看完之后才知道,差距真的不止一点点!Java成长笔记主要是将Java程序员按照年限来进行分层,清晰的标注着Java程序员应该按照怎样的路线来提升自己,需要去学习哪些技术点。

2020-09-04 13:53:52 185

原创 SpringCloud Eureka源码分析

Eureka核心功能点服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数 据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数 据信息存储在一个双层的Map中。服务续约(renew):在服务注册后,Eureka Client会维护一个心跳来持续通知Eureka Server,说明服务一直处于可 用状态,防止被剔除。Eureka Clie.

2020-08-07 14:15:32 310

原创 探究RocketMQ事务机制的实现流程,为什么它能做到发送消息零丢失?

1、解决消息丢失的第一个问题:订单系统推送消息领丢失既然我们已经明确了消息在基于MQ传输的过程中可能丢失的几个地方,那么我们接着就得一步一步考虑如何去解决各个环节丢失消息的问题,首先要解决的第一个问题,就是订单系统推送消息到MQ的过程中,可能消息就丢失了。之前我们也说过了,可能在订单系统推送消息到MQ的过程中,就因为常见的网络故障之类的问题,导致消息就丢失了,这里我们可以看一下下图中的示意。而在RocketMQ中,有一个非常强悍有力的功能,就是事务消息的功能,凭借这个事务级的消息机制,就可以

2020-08-04 10:04:32 244

原创 猪场安卓一期架构

安卓 网易感兴趣私我

2020-07-09 18:25:49 141

原创 lagou大前端课程

前端工程化实战核心框架原理与进阶Node.js全栈开发客户端开发高级技术专题大厂面试指导

2020-07-09 18:20:28 240

原创 电商平台-订单表的设计

场景分析说明:买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程。买家可以在张三家买茄子,李四家买萝卜,王五家买白菜,赵六家买猪肉等那么买家就应该有个订单主表,我们称为订单表,同时还有 上面所说的具体的订单明细表,清楚的查看自己买了什么菜,多少元一斤,买了多少斤等。1. 订单表的设计:补充说明:交易状态:存在下了单子没付款,付款了没结算等状态。 ...

2020-07-09 18:04:26 8544

原创 lagou高薪训练营

感兴趣私我

2020-07-09 18:02:15 230

原创 子路老师的springCloudAlibaba课程

链接:https://pan.baidu.com/s/19VSN3Le-Q_qfu6zmXJFo2Q提取码:9qm2

2020-07-01 15:16:34 1153 2

原创 动脑学院安卓移动互联网架构

目录结构:一、移动架构二、性能优化三、数据结构与算法四、混合开发五、高级UI六、NDK七、Flutter链接:https://pan.baidu.com/s/11CS1Wl4fpduUMKjRVTWyhw提取码:06lq

2020-06-20 16:48:01 541 2

原创 ThreadLocal常见面试

1、java 中的引用类型有哪几种? 强引用、弱引用、软引用、虚引用2、每种引用类型的特点是什么? 强引用:所引用的实例对象不会被回收,宁可内存OOM 也不会被回收 软引用:内存空间不足时 就会回收 弱引用:GC遇到就会回收 虚引用:是专门管理对外内存的 get不到 GC回收的时候 会给GC一个信号 放入队列中3、每种引用类型的应用场景是什么? 强引用就是普通用法 软引用用在缓存中 ...

2020-05-30 14:50:40 150

转载 电商平台-系统架构与技术选型

 1.  硬件环境公司服务器2.   软件环境2.1  操作系统Linux CentOS 6.8系列     2.2 反向代理/web服务器        Nginx     2.3 应用服务器        Jdk7+ Tomcat 7     2.4 数据库        Mysql 5.6.x2.5 消息队列(可选)          Rabbitmq/rocketmq     2.6 缓存...

2018-07-06 16:25:52 2915

转载 电商平台-异常模块的设计与架构

说明:任何一个软件系统都会出现各式各样的异常与错误,我们需要根据异常的情况进行捕获与分析,改善自己的代码,让其更加的稳定的,快速的运行,那么作为一个B2B的Java开源生鲜电商平台,我们的异常需要思考以下几个维度。1. 运行的代码异常    说明:代码在运行的过程中,难免出现各种异常与错误,我们采用Log4j进行日志的记录。              在分层代码解耦过程中,我们统一在Control...

2018-07-06 16:24:44 601

转载 电商平台-优惠券设计与架构

说明:现在电商白热化的程度,无论是生鲜电商还是其他的电商等等,都会有促销的这个体系,目的就是增加订单量与知名度等等           那么对于Java开源生鲜电商平台而言,我们采用优惠券的这种方式进行促销。(补贴价格战对烧钱而言非常的恐怖的,太烧钱了)1. 优惠券基础信息表说明:任何一个优惠券或者说代金券都是有一个基础的说明,比如:优惠券名称,类型,价格,有效期,状态,说明等等基础信息。CREA...

2018-07-06 16:20:01 11482 5

转载 电商平台-团购模块设计与架构

说明:任何一个电商系统中,对于促销这块是必不可少的,毕竟这块是最吸引用户的,用户也是最爱的模块之一,理由很简单,便宜。           我的经验是无论是大的餐饮点还是小的餐饮店,优惠与折扣永远是说福他们进入平台的最好的手段之一。(大企业叫做节约成本,小企业叫做贪便宜.)1.Java开源生鲜电商平台中,团购模块,我们采用以下几种维度思考。     1.1  针对的是生鲜中的标品。(米面粮油,我们...

2018-07-06 16:17:23 7822 2

转载 电商平台-搜索模块的设计与架构

说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面。目前也是快速的检索商品。           对于移动端的APP买家用户而言,要求的速度在3秒内完成。支持模糊查询,由于业务实战表面,整个搜索频率不到18%-25%之间          同时业务也不算很大,所以并没采用java全文检索技术.(lucene等)。这里采用的就是基本的模糊查询。 1. 搜索维度的是思考。       ...

2018-07-06 16:13:24 3782

转载 电商平台-订单抽成模块的设计与架构

说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率)           由于生鲜电商的垂直领域的特殊性质,总额抽成不切合实际,所以按照订单的明细抽成。1. 订单抽成,是按照一个区的维度,以及菜品的二级分类类抽点的。 举例说明:比如武汉光谷区,佛祖岭区,虽然都是属于东湖高新,但是光谷区的物价以及消费水平肯定是高于佛...

2018-07-06 16:10:45 2028

转载 电商平台-通知模块设计与架构

说明:对于一个生鲜的B2B平台而言,通知对于我们实际的运营而言来讲分为三种方式:          1. 消息推送:(采用极光推送)          2. 主页弹窗通知。(比如:现在有什么新的活动,有什么新的优惠等等)          3. 短信通知.(对于短信通知,这个大家很熟悉,我们就说下我们如何从代码层面对短信进行分层的分析与架构)1. 消息推送   说明:目前市场上的推送很多,什么极光...

2018-07-06 16:06:51 1230

转载 电商平台-推荐系统模块的设计与架构

业务需求:         对于一个B2B的生鲜电商平台,对于买家而言,他需要更加快速的购买到自己的产品,跟自己的餐饮店不相关的东西,他是不关心的,而且过多无用的东西掺杂在一起,反而不便于买家下单,用户体验也很差,严重的会因此丢了客户。(客户觉得太难用了。一般都就会放弃使用.)        对于卖家而言,他自己就调整下自己的商品的上架与下架,然后就是调整下自己商品的价格。(蔬菜类的商品会随着市场...

2018-07-06 16:02:30 4238

转载 电商平台-技术方案与文档下载(源码可下载)

说明:任何一个好的项目,都应该有好的文档与设计方案,包括需求文档,概要设计,详细设计,测试用例,验收报告等等,类似下面这个图:           有以下几个管理域:          1. 开发域。          2. 管理域          3. 基线域          4. 产品域 1.  开发域包括以下几个维度:     例如:需求开发中,应该包括以下几个文档:  2,系统设计中又...

2018-07-06 15:56:11 1242

转载 电商平台-支付模块的设计与架构

1。 数据库表设计。 说明:无论是支付宝还是微信支付,都会有一个服务端的回调,业务根据回调的结果处理相应的业务逻辑。           pay_logs这个表主要是记录相关的用户支付信息。是一个日志记录。            比如:谁付款的,什么时候付款的,订单号多少,是支付宝还是微信,支付状态是支付成功还是支付失败,还是未支付。特别注意:订单主表也有类似的回调信息。这样用多张表记录相应的信息...

2018-07-06 15:54:59 3218 1

原创 彻底卸载Oracle数据库

用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1、 开始->设置->控制面板->管理工具->服务     停止所有Oracle服务。 2、 开始->程序->Oracle - OraDb11g_home1->Oracle安装产品-> Universal Inst

2016-10-13 00:15:14 405

原创 java微信二次开发01

微信请求校验接口的验证://获取微信加密签名String signature = request.getParameter("signature");//获取时间戳String timestamp = request.getParameter("timestamp");//随机数String nonce = request.getParameter("nonce");

2016-01-28 14:53:31 490

原创 浅谈MySQL数据库(一)

数据库管理: 1   查询所有数据库:show databases; 2  指定默认字符集创建数据库: create database  hotel default character set utf8; 3 查看数据库的默认字符集:show create database hotel ; 4 删除数据库:drop database hote

2016-01-15 22:40:27 444

原创 java中的会话管理

什么是会话管理?管理浏览器和服务器之间的会话过程产生的会话数据称之为会话管理。cookie技术和session技术cookie:会话数据保存在客户浏览器端cookie的核心api :1,在服务器端创建cookie创建cookie对象Cookie cookie = new Cookie("name","value");2,把cookie通过响应头set-c

2015-12-23 00:22:06 567

服务器版本控制

2016-10-13

nginx压缩包

2016-10-13

vsftpd安装手册

分布式服务器

2016-10-13

nginx安装手册

Nginx安装手册Nginx安装手册nginx安装环境nginx是C语言开发建议在linux上运行本教程使用Centos65作为安装环境。gcc安装nginx需要先将官网下载的源码进行编译编译依赖gc

2016-10-13

空空如也

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

TA关注的人

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