自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DreamWeaver_Zhou

System.out.println("代码让生活更美好!");

  • 博客(47)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 spring boot 入门

什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(

2017-12-30 13:50:39 182

原创 超高清图片

永远相信,努力就有收获!

2017-12-28 18:01:35 829

原创 接口优化策略

对于程序优化,我一直采取保守的态度,除非万不得已。但是随着业务的不断发展,程序越来越复杂,代码越写越多,优化似乎是终有一天会到来的事情。那么对于一个典型的后台服务接口,我们可以从那些方面入手进行优化呢?接口拆分接口垂直拆分垂直拆分可以简单理解为微服务化,把一个大而复杂的服务拆分成多个相互独立,职能单一的服务,单独部署。 更细粒度拆分的好处是,能对某个具体的微服务

2017-12-27 22:43:52 472

原创 B2C电子商务系统研发——商品SKU分析和设计(二)

上文谈到5种商品SKU设计模式,本文将做些细化说明。  笔者研究过不少电子商务平台软件,关于SKU的设计各有不同,之所以有这样的区别,是因为面向不同规模的电子商务网站,存在产品分类复杂度,产品数量级的差异。一种设计方式对于百货式的网站,如京东、淘宝等,也许比较方便,但也许对于一个专卖服装的小型时尚类网站就不够方便了。我们先看一下麦包包的    女包:ht

2017-12-24 15:05:49 3091

原创 B2C电子商务系统研发——商品SKU分析和设计(一)

一、SKU及相关概念定义在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念。# 什么是SKU:     SKU=Stock Keeping Unit(库存量单位)     同一型号的商品,或者说是同一个产品项目(商品条形码是针对企业的产品项目来进行定义的),因为产品与产品之间有某些属性不同,用以区别开这些不同商品的属性即商品变异属性,

2017-12-24 15:00:03 925 1

原创 sql语句中JOIN ON 的使用

JOIN连接组合两个表中的字段记录,包括三种: INNER JOIN运算式:连接组合两个表中的字段记录。LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录。RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录。INNER JOIN设定两个表相关连的运算式,以连接组合

2017-12-24 14:44:22 43432

原创 微服务架构的分布式事务解决方案

分布式系统架构中,分布式事务问题是一个绕不过去的挑战。而微服务架构的流行,让分布式事问题日益突出!下面我们以电商购物支付流程中,在各大参与者系统中可能会遇到分布式事务问题的场景进行详细的分析!如上图所示,假设三大参与平台(电商平台、支付平台、银行)的系统都做了分布式系统架构拆分,按上数中的流程步骤进行分析:1、电商平台中创建订单:预留库存、预扣减积分、锁定优惠券,此

2017-12-24 13:39:48 391 2

转载 RabbitMQ之消息确认机制(事务+Confirm)

概述在使用RabbitMQ的时候,我们可以通过消息持久化操作来解决因为服务器的异常奔溃导致的消息丢失,除此之外我们还会遇到一个问题,当消息的发布者在将消息发送出去之后,消息到底有没有正确到达broker代理服务器呢?如果不进行特殊配置的话,默认情况下发布操作是不会返回任何信息给生产者的,也就是默认情况下我们的生产者是不知道消息有没有正确到达broker的,如果在消息到达broker之前已经

2017-12-24 13:20:32 285

原创 使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案(三)

前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除

2017-12-24 13:18:05 432

原创 SQL语句分组排序,多表关联排序

SQL语句分组排序,多表关联排序总结几种常见的方法: 案例一:在查询结果中按人数降序排列,若人数相同,则按课程号升序排列?分析:单个表内的多个字段排序,一般可以直接用逗号分割实现。select * from tableA order by col1 desc,col2 asc;-- 先按col1降序,相同则按col2 升序 案例二:

2017-12-23 11:29:41 2178

原创 redis面试题总结

1. 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,

2017-12-23 11:27:05 267

原创 dubbo分布式项目常见的异常及处理方法

1. 如果服务注册不上怎么办?(1) 检查dubbo的jar包有没有在classpath中,以及有没有重复的jar包(2) 检查有没有重复的dubbo.properties配置文件(3) 检查暴露服务的spring配置有没有加载(4) 检查beanId或beanName有没有重复(5) 查看有没有错误日志:cat ~/output/logs/webx

2017-12-21 21:46:30 1201

原创 Dubbo分布式学习

zookeeper:zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除

2017-12-21 16:25:14 194

原创 关于工厂模式的作用。为什么要用工厂模式?

【自我学习】工厂模式的实现方式和原理都不难理解和掌握。但是,在学习完之后,发现网上给的例子,根本体现不了工厂模式的作用。先不说存在有的例子本身就是错误的,主要是例子中的代码太简单,可以说没必要用工厂模式,只不过是为了说明实现方式和原理。所以,会产生一种错觉:还不如直接new 一个对象来的方便,有效。的确,设计模式本身就有其适用的场景,并不是滥用的,否则还不如不用。

2017-12-20 22:06:17 3115 1

原创 Redis做实时排行榜

设想在一个游戏中,有上百万的玩家数据,如果现在需要你根据玩家的经验值整理一个前20名的排行榜,你会怎么做呢?一般的做法是写一条类似下面这条sql语句的方式来获取:[sql] view plain copyselect * from game_socre order by score desc limit 0,20  这种方式在

2017-12-20 09:01:31 3128

原创 电商订单管理中生成不重复订单号

第一种方案:利用Redis的incr函数       由于Redis是单线程的,因此订单号生成也就不会重复,但是Redis有个非常大的缺陷,那就是不太稳定,容易故障。我们可以使用Redis集群来提高安全性,但是还是有可能集群的所有Redis都挂掉了。因此这种方案不太稳定。       第二种方案:使用uuid的hashCode来生成订单编号[html] vi

2017-12-19 20:15:25 1781 1

原创 Java 上传图片和批量上传图片

01.引入js工具 02.上传按钮 2.js异步提交from表单 1. 后台接收文件,上传到服务器

2017-12-19 19:44:21 2345

原创 Java电商项目面试题?

转载自:http://bbs.itheima.com/thread-329954-1-1.html?srxdubbo服务开发流程,运行流程?zookeeper注册中心的作用?使用流程:第一步:要在系统中使用dubbo应该先搭建一个注册中心,一般推荐使用zookeeper。第二步:有了注册中心然后是发布服务,发布服务需要使用spring容器和dubbo标签来发布服务。

2017-12-19 17:10:33 11064

转载 Java 上传文件到ftp服务器

前两篇文章我们搭建了一个ftp服务器,并对服务器进行了相应的配置,这篇文章我们来说一下我们如何上传文件。         先介绍一下项目,本项目采用的是spring mvc +spring +mybatis ,用maven 进行项目管理。看一下项目结构 。                如果单独做测试的话不用这么费劲,写一个简单的测试类就ok了!而在这个项目中,pa

2017-12-19 15:43:21 181

原创 Java上传图片到FTP服务器

第一步:web页面[html] view plain copyspan style="white-space:pre">  span>form id="add" class="form-horizontal" enctype="multipart/form-data" action="upload.shtml" method="post"> 

2017-12-19 15:29:25 988

原创 Java实现图片上传到服务器,并把上传的图片读取出来

在很多的网站都可以实现上传头像,可以选择自己喜欢的图片做头像,从本地上传,下次登录时可以直接显示出已经上传的头像,那么这个是如何实现的呢? 下面说一下我的实现过程(只是个人实现思路,实际网站怎么实现的不太清楚)实现的思路:工具:MySQL,eclipse首先,在MySQL中创建了两个表,一个t_user表,用来存放用户名,密码等个人信息,一个t_to

2017-12-19 13:28:54 1655

原创 前台登陆验证以及短信验证

前台点击获取验证,验证手机号码的合法性,发送请求到后台传值手机号码,后台生成随机四位或6位数字验证码,调用接口发送短信验证码到手机,成功组合手机号码和验证码存在session里面,然后返回信息到前台,前台请求验证码的按钮变不可用,倒计时那种,60秒后变可用,基本都是这样的吧,有的会做图片验证码,验证码正确才能提交发送短信防止用户恶意刷短信接口。

2017-12-19 08:47:23 989

原创 SpringMVC实现图片上传

1. 在工程依赖库下添加文件上传jar包commons-fileupload-1.2.2.jarcommons-io-2.4.jar2.jsp页面设置form表单属性enctype在表单中上传图片时,需要在form的属性设置中添加enctype="multipart/form-data"。[html] view plain copy

2017-12-18 22:08:06 236

原创 Java实现导出Excel表例子

1.首先下载poi-3.6-20091214.jar,下载地址如下:http://download.csdn.net/detail/evangel_z/38950512.Student.javaimport java.util.Date;public class Student{private int id;private String name;

2017-12-18 21:36:36 3713 1

原创 rabbitMQ结合spring框架使用

Rbbitmq与Spring结合使用首先建立一个maven工程,整个项目的结构如下: 下面将具体来讲讲整个过程1、jar包的引入pom.xml配置即可,如下:[java] view plain copy"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http

2017-12-15 09:57:16 209

原创 30秒让你知道悲观锁和乐观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人

2017-12-14 14:30:54 124

原创 JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )

这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助。废话不想讲了.入主题:先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只

2017-12-12 14:29:29 364

原创 Mysql索引总结

文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细。直接搬过来了关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓

2017-12-11 19:12:09 154

原创 如何调用支付宝接口

之前做web项目接入支付宝,网上看了很多文档和案列,不是不讲重点就是过时不适用了,导致走了很多弯路,经过冷静分析总算跑通了,这里分享下接入流程。1.准备工作 1)支付宝服务商账号,现在叫蚂蚁金服,可以到open.alipay.com 申请入驻为服务商,入驻成功之后蚂蚁金服会开放可申请的权限,web项目申请开通 即时到账。 2)申请该权限需要你的收款网站、营业执照,某些行业可能还需要

2017-12-11 15:51:30 4457

原创 使用Spring实现读写分离( MySQL实现主从复制)

1.  背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库; 那么,对我们的要求是:1、读库和写库的数据一致;2、写数据必须写到写库;3、读数据必须到读库;2.  方

2017-12-09 10:56:30 153

原创 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。一、MyBatis的框架设计        注:上图很大程度上参考了iteye 上的chenjc_it   所写的博文原理分析之二:框架整

2017-12-08 23:24:17 227

原创 rabbitMQ消息应答和持久化

Message acknowledgment(消息应答)       执行一个任务可能需要花费几秒钟,你可能会担心如果一个消费者在执行任务过程中挂掉了。基于现在的代码,一旦RabbitMQ将消息分发给了消费者,就会从内存中删除。在这种情况下,如果杀死正在执行任务的消费者,会丢失正在处理的消息,也会丢失已经分发给这个消费者但尚未处理的消息。       但是,我们不想丢失任何任务

2017-12-08 23:15:19 259

原创 Freemarker、JSP、velocity比较到底用哪个好

在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不

2017-12-08 08:46:22 1291

原创 JVM四种垃圾回收机制

Sun JVM提供有4垃圾回收器:Serial Collector(序列垃圾回收器):垃圾回收器对Young Gen和Tenured Gen都是使用单线的垃圾回收方式,对Young Gen,会使用拷贝策略避免内存碎片,对Old Gen,会使用压缩策略避免内存碎片。在JVM启动参数中使用-XX:+UseSerialGC启用Serial Collector。串行收集器只适用于小数据量的情况,默

2017-12-07 22:27:16 363

原创 redis保存数据的几种类型

原创 redis保存数据时都有key和value,key和value要么是String类型的,要么是byte[]类型的。在此都是讲的String类型的,所用的jar主要有:commons-pool-1.6.jarjedis-2.1.0.jar1.保存数据之String要把一个String保存到redis中,用set(key,value),获取值用get(ke

2017-12-07 21:14:35 1053

原创 JVM垃圾回收机制

全面分析Java的垃圾回收机制【简 介】Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。引言   Java的堆是一个运行时数据区,类的实例(对象)从中分

2017-12-07 20:46:45 105

原创 Tomcat 优化提高性能

Tomcat性能优化方案整理考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点。但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝。客户总是期望它们的应用应该有更好的性能。如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能。感谢ITWorld article给本文提供资源。经过沉思我已经知道

2017-12-07 19:58:52 416

原创 JVM 垃圾回收机制主要原理

对于垃圾JVM的垃圾回收机制这里我们称为GC,众所周知,java语言不需要像c++那样需要自己申请内存,自己释放内存,这些都是JVM帮我们做好了的,但是对于一名java程序员,想要更近自己的水平更上一层楼,就要去了解GC的工作原理,根据原理才能写出更好的更优的程序,这里我们先初步讲解一下GC的工作原理首先我们在讲解之前我们需要了解一下JVM内存运行时数据区的三个重要的地方堆

2017-12-07 18:10:04 73

原创 购物车的原理及实现.(仿京东实现原理)

购物车的原理及实现.(仿京东实现原理)原创 2017年01月16日 13:38:2193382016年12月20日更新: 有很多小伙伴想要项目资料和源码, 我重新整理了一份传了上来: 链接:http://pan.baidu.com/s/1c1O5Vkk 密码:ojeb今天来开始写一下关于购物车的东西, 这里首先抛出四个问题:

2017-12-07 11:40:39 653 1

原创 java中存在i+1<i这种情况。

java中int是32,范围是-2147483648--2147483647,所以是存在i+1看下面代码:[java] view plain copyclass A  {      private int i=2147483647;       public void test()      {          

2017-12-06 21:02:15 1275

sweetAlert弹窗文件 JS和CSS

alert弹窗插件所需要的JS和CSS文件, 本人已经对代码进行了少许更改,但是完全不影响使用. 欢迎需要者下载!

2018-06-08

DreamWeaver_Zhou的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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