自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiongyouqiang的博客

好好学习,天天向上

  • 博客(184)
  • 资源 (8)
  • 收藏
  • 关注

转载 dependencie与dependencyManagement的区别

在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。1、DepencyManagement应用场景当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等...

2018-04-03 11:20:42 495

原创 Java编程思想思维导图

之前看过《Think in Java 》 这边书籍,为了便于自己的理解和记忆,我把一些通用的概念整理出了一份思维导图,转换的图片效果如下图由于图片看起来并不直观,所以我把导图上传到CSDN服务器,大家有需要的话可以下载https://download.csdn.net/download/xiongyouqiang/10317263...

2018-03-30 10:24:39 1159 3

原创 缓存击穿、失效及热点key问题

前言主要后端缓存:cache memcache redis分布式缓存是网站服务端经常用到的一种技术,在读多写少的业务场景中,通过使用缓存可以有效地支撑高并发的访问量,对后端的数据库等数据源做到很好地保护。现在市面上有很多分布式缓存,比如Redis、Memcached以及阿里的Tair等,不管我们使用的哪种缓存产品,基本上都会遇到缓存击穿、缓存失效以及热点key的问题。如何有效地防止这...

2018-03-29 09:47:12 359

转载 pom.xml配置文件详解

总述在 eclipse 中实现 Maven 的多模块聚合,maven module 聚合 实例,子项目之间的调用实现,demo-top 是父项目,demo-one 是子项目,jar类型,提供接口,demo-two 调用demo-one,实现接口,是web类型大概的过程如下1、新建Maven工程1,指定为pom类型2、在工程1中...

2018-03-28 15:50:06 323

转载 JVM学习之jstat使用方法

Jstat是JDK自带的一个轻量级工具,主要用JVM内建的指令对java应用程序的资源和性能进行实时的监控。基本语法  jstat <option> [-t] [-h] <pid>  <interval> <count>  参数解释:option   可以从下面参数中选择-class &nbs...

2018-03-28 15:00:18 293

原创 Eclipse创建Maven Web项目

前言最近在学习通过 spring+springmvc+mybatis+mysql方式搭建一个demo项目,在搭建项目钱,首先需要通过eclipse搭建一个maven的web项目。环境准备eclipse maven 3.4 | 以上tomcat 6.0 | 以上jdk1.6| 以上步骤1、在eclipse中选择菜单 File–》New–》Other–》Mave...

2018-03-28 10:49:13 492

转载 分布式事务一些总结与思考

       对于程序员,事务等价于Transaction,是指一组连续的操作,这些操作组合成一个逻辑的、完整的操作。即这组操作执行前后,系统需要处于一个可预知的、一致的状态。因此,这一组操作要么都成功执行,要么都不能执行;如果部分成功,部分失败,成功的部分需要回滚(rollb...

2018-03-26 11:32:44 378

原创 memcached可视化客户端工具

简介TreeNMS是一款redis,Memcache可视化客户端工具,采用JAVA开发,实现基于WEB方式对Redis, Memcached数据库进行管理、维护。 功能包括:NoSQL数据库的展示,库表的展示,key,value的展示,新增,修改,删除等数据的在线编辑维护,数据库备份还原,SQL语法帮助,在线数据源选择配置等。系统内置14套UI皮肤,使用中可以依个人喜好选择配色方案。系统不...

2018-03-21 12:00:42 6670 2

转载 VIM编辑器常用命令详解

最近又重温了一下VIM编辑器的教程,结合自己这一段时间使用VIM的经验和体会,总结了一些在VIM使用过程中常用而且实用的命令。主要分为快速移动光标、快速进入合适的编辑位置、编辑过程中的删除和撤销操作、编辑过程中的剪切复制和粘贴操作、常用的查找替换命令和文件的保存及编辑器的退出。由于我喜欢清晰简明的格式,所以这些命令都以表格的形式整理如下...

2018-03-20 09:36:59 709

转载 Eclipse中.setting目录下文件介绍

Eclipse项目中系统文件介绍一. 写在前面文章较长,可以直接到感兴趣的段落,或者直接关键字搜索;请原谅作者掌握的编程语言少,这里只研究Java相关的项目;每一个文件仅仅做一个常见内容的简单介绍,这些知识多数来自于实践理解和网络搜索,可能会不全面,更详细的可以看相关的参考资料。二. 概述Eclipse在新建项目的时候会自动生成一些文件。这些文件比如.project、....

2018-03-19 11:38:09 9847 1

转载 Maven 核心原理

Maven 核心原理标签 : Java基础Maven 是每一位Java工程师每天都会接触的工具, 但据我所知其实很多人对Maven理解的并不深, 只把它当做一个依赖管理工具(下载依赖、打包), Maven很多核心的功能反而没用上. 最近重读 Maven实战, 虽然这本书年岁较老...

2018-03-19 11:17:14 304

转载 电商系统内部结构

在看如下这样的图,我们是否有一种探究系统的冲动?这样一个花花绿绿的界面,背后隐藏着什么样的奥秘!用户输入某个域名的时候,比如www.taobao.com的时候,页面是如何展示的,用户在搜索框搜宝贝的时候,系统又是如何处理的,用户在参加秒杀活动的时候,系统又是如何处理的。经过两年多的互联网从业经验,以及自己的思考,在这里我就抛砖引玉对电商系统架构进行探究,探究系统是如何设计的,以及设计这个系统的各种...

2018-03-19 10:00:45 1231

转载 jstack简单使用,定位死循环、线程阻塞、死锁等问题

阅读目录死循环 Object.wait()情况 死锁 等待IO 其它 当我们运行java程序时,发现程序不动,但又不知道是哪里出问题时,可以使用JDK自带的jstack工具去定位;废话不说,直接上例子吧,在window平台上的;死循环写个死循环的程序如下:package concurrency;public class Test { pub...

2018-03-13 17:43:30 411

转载 几种Java线程池的实现算法分析

1. 前言在阅读研究线程池的源码之前,一直感觉线程池是一个框架中最高深的技术。研究后才发现,线程池的实现是如此精巧。本文从技术角度分析了线程池的本质原理和组成,同时分析了JDK、Jetty6、Jetty8、Tomcat的源码实现,对于想了解线程池本质、更好的使用线程池或者定制实现自己的线程池的业务场景具有一定指导意义。2. 使用线程池的意义...

2018-03-13 09:31:19 383

原创 两个线程分别打印0-100的之间的奇偶数(两种方式对比)

业务描述前段时间遇到一个题目,关于两个线程分别打印0-100的之间的奇偶数,当时自己的写法是通过synchronized同步锁结合wait 和notify 的方式进行编写。主要逻辑的代码如下所示:package com.xyq.maventest.alibaba;import java.util.concurrent.CountDownLatch;/**** * 两个线程分别...

2018-03-11 15:56:16 10068 5

转载 Oscache缓存总结

基本概述OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache的特点:缓存任意对象:可以不受限制的缓存JSP的一部分或是Http请求,任何的Java对象都可以被缓存。...

2018-03-09 11:23:42 593

转载 Dubbo解析及原理浅析

一、Duboo基本概念解释Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。因此,dubbo除了可以提供服务之外,还可以实现软负载均衡。它还提供了两个功能Monitor 监控中心和调用中心。...

2018-03-07 17:51:45 229

转载 大型电商网站系统架构演变过程

一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随着业务的扩展而逐步完善的,并不是...

2018-03-07 10:02:46 2119 2

原创 电商平台的系统组织架构

参与电商系统开发已有两年,我一直负责的工作就是跟电商平台对接,起初对接的平台只有淘宝、天猫、京东这几个主流大平台,后来随着各品牌的业务拓展,后续逐渐对接其他比较有规格的电商平台(目前已对接:唯品会,苏宁易购,小红书,寺库,网易考拉,当当,后续还会继续对接其他渠道)。一开始我对于对接这么多平台并不是很理解,因为在做对接之前,这些平台我很多都是没有用过的,虽然大部分都是听过的,甚至有的平台我都没有听过...

2018-03-06 18:17:43 28351

原创 电商平台对接系统设计

电商平台体系介绍商品同步库存、订单状态回传订单流程库存同步订单状态回传退款流程总结

2018-03-06 18:16:47 5626 1

转载 理解线程池的原理

读完本文你将了解:什么是线程池线程池的处理流程保存待执行任务的阻塞队列创建自己的线程池JDK 提供的线程池及使用场景1.newFixedThreadPool2.newSingleThreadExecutor3.newCachedThreadPool4.newScheduledThreadP...

2018-03-06 11:33:56 3226 2

转载 java.nio.Buffer 中的 flip()方法

在Java NIO编程中,对缓冲区操作常常需要使用  java.nio.Buffer中的 flip()方法。  Buffer 中的 flip() 方法涉及到 Buffer 中的capacity、position、limit三个概念。       capacity:在读/写模...

2018-03-05 18:12:01 245

转载 什么时候使用 CountDownLatch

正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:目录CountDownLatch是什么? ...

2018-03-05 18:05:13 357

原创 阿里面试经历回顾(两个线程分别打印0-100之间的奇偶数)

第一轮电话面试年前在朋友的内推下,成功获得了阿里的面试机会,第一轮电话面试记得是约在某一工作日的晚上进行,由于白天一直在忙于工作,确实不方便进行面试,我跟面试官说明了情况,面试官这才答应了在当天晚上8点进行面试(还是感谢阿里面试官的谅解)。当天挂完电话是无比的激动,因为之前压根没有想过能有面试机会,原本以为阿里对简历的要求比较高,不会给我机会进行面试的。当时接完电话那是一个开心的呀,心想一定要...

2018-03-03 22:14:36 6632 16

转载 Eclipse Decompiler在线安装方法

Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试。同时还提供了在线自动查找源代码,查看Class二进制字节码的功能。 Eclipse Class Decompiler对JDK的最低要求为JDK1.6, 能反编译和debug各版本的...

2018-03-02 22:27:08 744

原创 jvmwi3260sr7-20091125_47905 (IBM Corporation)

问题描述在整理公司工具jar包时,无意间发现其中有一个jar包的manifest.mf 配置文件中的配置信息Created-By: jvmwi3260sr7-20091125_47905 (IBM Corporation)而其他的jar中的Created-By配置基本上是类似这种格式Created-By: 1.6.0_43-b01 (Sun Microsystems Inc....

2018-03-02 10:14:31 254

原创 微信拼手气红包背后的算法逻辑

业务介绍相信大家都用过微信发红包功能,如下图所示: 两个输入元素:1、总金额 单位(元) 2、红包个数假设输入总金额: 10,红包个数 6 ,大家可以试着发一个这样的红包看看,我相信每个人发出去的红包,分配的结果都会不一样,以A,B,C三人的分配结果做一个示范A的分配结果是: 1 ,1, 1, 1, 1, 5B的分配结果是: 2,1, 1, ...

2018-03-01 22:36:24 32213 22

转载 Java程序内存分析Java VisualVM(Visual GC)

VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。在内存分析上,...

2018-03-01 18:23:57 2180

原创 linux查找日志技巧

最基本的命令tail -n 10 test.log 查询日志尾部最后10行的日志;tail -n +10 test.log 查询10行之后的所有日志;head -n 10 test.log 查询日志文件中的头10行日志;head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;场景1:按行号查看—过滤出关键字附近的日志...

2018-03-01 16:30:16 935

转载 LoadRunner简明教程

LoadRunner是什么LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,后背HP收购。LoadRunner常用来做什么l 验证某系统在某环境下是否满足性能需求。l 通过测试,规划如何达到要求的性能指标。l 调整系统环境,进行性能测试,最终使性能达到最优。为什么要使...

2018-03-01 10:41:08 1138

转载 vim退出快捷键

退出vim的快捷键,不需要进入命令编辑模式按住shiftzz    保存退出zq    不保存退出,q表示放弃之所以按住shift,其实是切换大小写 在命令编辑模式下::q 不保存退出:q! 不保存强制退出:wq 保存退出,w表示写入...

2018-02-27 22:24:55 5352 1

原创 Eclipse给Class添加注释模板

设置注释模板的入口以Eclipse为例作介绍Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素。本文现就每一个元素逐一给大家介绍一下。类型(Types)注释标签(类的注释):以下是我的注释模板,大家根据自己的实际情况配置/*** @ClassNa...

2018-02-27 20:58:17 2679

转载 浅谈库存扣减相关问题

问题场景物品W现在库存剩余1个, 用户P1,P2同时购买.则只有1人能购买成功.(前提是不允许超卖)秒杀也是类似的情况, 只有1件商品,N个用户同时抢购,只有1人能抢到..这里不谈秒杀设计,不谈使用队列等使请求串行化,就谈下怎么用锁来保证数据正确.常见的实现方案有以下几种:1.代码同步, 例如使用 synchronized ,lock 等同步方法2.不查询,直接更新 ...

2018-02-27 14:40:13 1990

原创 利用redis实现分布式事务锁,解决高并发环境下库存扣减

问题描述:某电商平台,首发一款新品手机,每人限购2台,预计会有10W的并发,在该情况下,如果扣减库存,保证不会超卖解决方案一利用数据库锁机制,对记录进行锁定,再进行操作 SELECT * from goods where ID =1 for update;UPDATE goods set stock = stock - 1;利用排它锁将并行转化为串行操作,但该方案的性...

2018-02-27 14:22:14 31805 11

转载 电商业务中多平台订单与全局库存管理

前言随着电商行业增速的回落,野蛮生长的阶段已经过去,电商开始进入精细化运作阶段,商家之间竞争从比拼营销和低价,转移到后台的供应链,供应链效率和成本的高低决定了商家的生死。在电商的供应链管理中,有两块业务是核心内容,即订单处理和库存管理。订单是所有后台业务的源头,在多平台开店已经成为普遍采用的操作手法之后,如何高效、协调地管理来源于不...

2018-02-27 11:48:14 9431 1

转载 eclipse 添加.gitignore

eclipse 创建的git工程,默认在根目录下就有.gitignore文件有的eclipse没有显示.gitignore,可以通过设置过滤来显示隐藏文件。 倒三角—->filters—>不要勾选.*resources .gitignore的作用.giti...

2018-02-27 11:38:52 1464

原创 git忽略已经被提交的文件

问题描述现在项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 target文件夹。 由于每次新增、修改、删除Java源码时,target编译目录下的class文件就会做相应的改动,但我并不想提交target文件夹里面的内容,所以要在.gitignore写了忽略target目录下所有的变动的规则。 我尝试过添加以下规则/target*/targe...

2018-02-27 11:29:54 558

原创 Java爬虫实战代码

业务背景大家在平时的生活或工作种多少都会遇到类似下面的情况吧非技术人员:我身边有同学在一家装修设计公司上班,她每天的工作就是去其他各大装修平台,去“借鉴”别人家设计师的创意,找到合适的图片,就会一张张点击图片另存到自己电脑中。其实这些工作都是重复性且毫无技术含量,完全可以用工具自动化实现。技术人员:比如我喜欢看一些技术帖子(微信公总号,技术博客等),有时候会觉得文章中的一些...

2018-02-26 17:57:32 14975 13

原创 Java 9 新特性简介

摘要1.目录结构 2.repl工具 jShell命令 3.模块化 4.多版本兼容jar包 5.接口方法的改进(在接口中 jdk7 只能声明全名常量和抽象方法 jdk8 添加了静态方法和默认方法 jdk9添加了私有方法) 6.钻石操作符升级 可以有{} 7.异常处理try升级 8.下划线标识符命名的限制 _ 不允许了 9.String底层存储结构的变更(char数组...

2018-02-26 15:58:17 427

转载 HttpClient详解

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的...

2018-02-26 14:50:39 912

Java编程思想思维导图

Java编程思想这本书,本身是学习Java非常好的入门书籍,为了方便记忆和理解,我把它总结成了一个思维导图格式

2018-03-30

电商渠道对接系统设计

TPP 第3方平台对接设计,包括系统挂你、模板管理、各渠道的同步设计

2018-03-29

网易卡拉对接手册

网易考拉商品同步、库存、订单对接说明手册。提供详细的对接说明

2018-03-29

常用工具类jar包

包含日常所用的工具包 1. 字符串处理封装 2. json转换处理封装 3. 订单封装实体类 4. 商品库客服端调用封装 等等

2018-03-02

Java开发手册

阿里Java开发手册,文档中根据类型不同讲述了如何写规划和有效率的代码。

2018-02-24

电商常用流程(订单、商品、库存流程)

此文档中包含了电商渠道(官网、淘宝、京东、等)常用的流程关系图(下单、退货、退款等)并且包括库存同步流程

2017-10-14

java常用工具类的封装jar

每个公司都有自己一套比较完善的系统架构,并且在平时开发中会遇到各种各样通用的一些功能,比如对json的处理,对String对象的处理,对Excel文件的处理,MD5加密处理,Bean对象处理等等,这些常用并通用的方法可以被封装成一个个工具类如StringUtil,JsonUtil等等,这样的好处是代码可以统一管理,并且代码简介,容易维护,节省开发人员没必要的时间,提升开发人员的效率。

2017-09-06

vue从入门到懵逼

主要介绍vue.js起源,特点,和其他前端框架的对比,以及如何与真实项目集成

2017-08-29

空空如也

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

TA关注的人

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