自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

生活充满热情

代码可以改变世界,而我们可以改变代码

原创 【最详细】dubbo启动消费者报错:No provider available for the service

java.lang.IllegalStateException: Failed to check the status of the service com.pinyougou.sellergoods.service.SellerService. No provider available for the service com.pinyougou.sellergoods.service.Sell...

2018-08-05 10:36:25 36803 13

原创 redis实现分布式锁详解

解决问题:应对高并发业务场景为什么可以实现?首先redis是单线程的,这里的单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。实现原理:服务器一的请求会先获取到锁,接下来如果来相同的请求,此时会返回获取锁失败的状态。直至本次请求结束后释放锁。问题:问题还是有的,可能会有死锁的问题发生,比如服务器1设置完之后...

2020-04-07 17:46:13 69

原创 Spring Boot实战:Restful API的构建

在现在的开发流程中,为了最大程度实现前后端的分离,通常后端接口只提供数据接口,由前端通过Ajax请求从后端获取数据并进行渲染再展示给用户。我们用的最多的方式就是后端会返回给前端一个JSON字符串,前端解析JSON字符串生成JavaScript的对象,然后再做处理。本文就来演示一下Spring boot如何实现这种模式,本文重点会讲解如何设计一个Restful的API,并通过Spring boot来...

2020-04-02 16:29:48 40

转载 springBoot使用pageHelper报空指针异常

项目中使用Mybatis+pagehelper正常运行没有问题,应需求要求需要配置多数据源,可是当我配置完后,新的数据源正常运行,原来查询的都出空指针异常了、错误如下:2017-09-20 19:59:40.256 ERROR 17836 --- [nio-1010-exec-1] .p.s.c.m.e.GlobalDefaultExceptionHandler : -----------...

2019-12-12 20:57:23 175

原创 缓存击穿以及缓存雪崩问题解决方案

缓存击穿:大量恶意用户模拟请求缓存中没有的数据,导致请求落到了数据库上,造成数据库异常,在限时抢购,秒杀经常遇到解决办法:加锁,在从redis获取数据即根据key获取value值时,如果为空,就加锁,从数据库中获取到数据load到redis中再释放锁,这里我们用的是分布式锁。还有一个办法就是通过布隆过滤器实现缓存雪崩:同时有大量的redis key失效导致从缓存中获取数据获...

2019-09-24 17:31:13 86

原创 消息中间件MQ如何保证消息完全发送成功

先以rabitMQ为例

2019-09-24 17:20:49 252

原创 面试之查漏补缺

俗话说不面不知道,一面全不懂^ _ ^下面是在下面试一周之后的一些心得:1.日常开发过程中,不要一味盲目的写代码,多想想为什么?比如:字符串拼接的时候为什么要用StringBuffer,为什么不用String + 的这种方式等等,总而言之,就是让自己能够更深入地理解。2.项目中一些配置文件之间的关系,为什么要这么配置,需要了解些框架的原理,这些都是以后想深入技术领域所必须掌握的。...

2019-09-24 10:37:01 45

原创 0918面试

1.mybatis的缓存机制?2.jvm的内存结构等等?3.限时抢购有20件商品,21个人同时发起请求怎么处理?4.oracle基本知识点,如何实现主键自增?5.redis几种数据类型的区别?...

2019-09-19 10:42:58 39

原创 面试记录2019/09/16

1.主要负责的模块,用什么技术实现的?商品中心+运营中心模块(后面会涉及到分布式框架问题)2.项目在拆分过程中有涉及到分布式事务没有?3.项目中有用到消息队列吗,即MQ?哪些场景?具体怎么实现的?4.做的电商秒杀,具体用MQ是怎么实现的?怎么处理大流量的访问?怎么削锋下单?异步处理:下单后会异步发消息,给用户发送订单支付成功的短信以及返回优惠券(降低接口的响应时间)业务解耦...

2019-09-16 16:34:31 51

原创 电商限时抢购活动实现思路

最近,应公司要求做了个限时优惠抢购的活动:下面分享一下自己的实现思路(大家有好的想法欢迎指出~~)首先进行中的限时优惠活动只能有一个,将参加限时优惠活动的商品通过后台管理系统添加到当前进行中的限时优惠活动中。其次,既然是限时抢购就要保证用户下订单数据的实时性,这里通过一个定时任务来实现(具体定时任务实现需结合实际业务来设置,我这里搞了3S执行一次),获取活动开始时间和当前时间段这个时间区间...

2019-04-02 00:00:46 1930

原创 jQuery获取radio的值并回显

html页面:js页面:获取radio的值:radio的值回显:

2018-11-07 18:45:49 2028

原创 java 性能优化:35 个小细节,让你提升 java 代码的运行效率

前言代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考...

2018-09-30 11:53:42 112

原创 实现redis高可用机制的一些方法

实现redis高可用机制的一些方法:保证redis高可用机制需要redis主从复制、redis持久化机制、哨兵机制、keepalived等的支持。主从复制的作用:数据备份、读写分离、分布式集群、实现高可用、宕机容错机制等。redis主从复制原理首先主从复制需要分为两个角色:master(主) 和 slave(从) ,注意:redis里面只支持一个主,不像Mysql、Nginx主从复...

2018-09-30 10:29:13 1478 3

原创 Java设计模式_单例设计模式详解

/** * 单例设计模式:饿汉式,不适用于多线程,效率低 */public class SingleTest { //定义一个私有的构造方法 private SingleTest() {} //将自身的实例对象设置成静态 final private static final SingleTest instance = new SingleTest()...

2018-09-08 09:30:59 97

转载 B树和B+树原理及在索引中的应用

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大...

2018-09-04 10:15:45 8256 3

转载 SVN实际应用中需要注意的问题

一、提交之前先更新 1.SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。 2.如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需...

2018-08-29 22:00:25 86

原创 快速排序(通俗易懂)

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6  1  2 7  9  3  4  5 10  8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比...

2018-08-18 16:55:08 796

转载 汇总:1. Java基本功

23种设计模式 http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 提升Java代码性能和安全性 https://blog.csdn.net/Amen_Wu/article/details/81164273Java基本功:Java中(? extends T)和(? super T)的理解 https://bl...

2018-08-17 22:00:04 131

转载 浏览器输入url后经历的过程(详细)

一般会经历以下几个过程:1、首先,在浏览器地址栏中输入url2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。5、握手成功后,浏览器向服务器发送http请求,请求数据包。...

2018-08-17 13:34:35 2974

原创 电商项目中实现销量,评价排序的思路

在做电商项目的过程中,搜索商品的页面都会有一个排序功能,以便于为用户提供更好的购物体验:其中因为销量,评价这些是实时的,像一些大型的电商平台每秒都会产生很多的销量和评价,这就导致我们需要不断的通过solr搜索来实时的实现,同时这样会为solr带了很大的压力。这里我想到的解决方案是:在程序中设置一个solr的更新时间,这样就不需要实时的查询,减缓solr的压力,这里为了实现这样的功能,用到了Sp...

2018-08-12 22:13:16 4080 1

转载 checkbox多选 ,单选删除详解

批量删除的功能呢,首先前台页面可以想到使用checkbox来做,这里后台数据库其实有两种删除的方式,如下:但是不管数据库以哪种形式的sql删除,想要批量删除,那么前台传到后台的id肯定是多个哟!!!1、下面就正式开如吧,下面是前台代码片段,迭代的时候取得它的索引号:这个索引是从0开始的,如果想要1,那么就+1就好啦—-${st.index+1}(如下图:)当然啦,上面图片的情况...

2018-07-28 17:26:12 967

原创 Linux下redis集群的搭建(详解版)

1、在本地local 文件下新建个建群文件redis-cluster2、将redis文件下的东西复制6份到redis-cluster文件中3、执行命令:vi redis-conf 修改每个redis下的端口号为7001--7006,并把cluster-enabled yes前的注释去掉。4、启动每个redis实例。5、集群搭建环境使用ruby脚本搭建集群。需要r...

2018-07-26 16:50:23 5223

原创 redis学习总结

1、redis属于非关系型数据库,而我们经常用的mysql oracle数据库都是属于关系型数据库,它们本质上的区别是:mysql oracle数据库对于数据规范要求严格,还有对事务的支持;而redis则没有明确的数据规范要求,redis在操作事务是单线程的,不会出现线程安全性问题,例(incr  生成一个id)2、Redis默认支持16个数据库,对外都是以一个从0开始的递增数字命名,可以通过...

2018-07-25 18:19:37 2697

原创 Mybatis经验总结

再执行添加的sql语句中,显示主键需要用到主键返回:再添加操作中加入以下属性:<insert id="addList" parameterType="com.baidu.pojo.Teacher" useGeneratedKeys="true" keyProperty="id">mapper开发规范:要想让mybatis自动创建dao接口实现类的代理对象,必须遵循一些规则:...

2018-07-17 21:40:43 94

原创 JDK更改版本导致项目不能在服务器下部署

解决办法:如果项目是1.8版本的。而开发工具要求的是在1.7版本环境下,那么这时就需要更改以下设置:将图中红框内的设置都改为1.7即可

2018-07-14 09:26:53 517

原创 配置 Spring JdbcTemplate

最近在配置 Spring JdbcTemplate中会发现下面这个错误Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class(/这里除了class还有其它类型):网上查过一些外文帖子,了解到是...

2018-07-13 10:45:31 88

原创 Spring bean的生命周期

Bean的生命周期的11个步骤:1.instantiate bean对象实例化2.populate properties 封装属性3.如果Bean实现BeanNameAware 执行 setBeanName4.如果Bean实现BeanFactoryAware 或者 ApplicationContextAware 设置工厂 setBeanFactory 或者上下文对象 setApplicationC...

2018-07-12 09:38:17 67

原创 javaWeb的session实现购物车案例

- 1、先建立商品列表的jsp页面:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org

2018-07-09 08:34:32 3064

原创 DBUtils工具类的使用

package com.baidu.test;import java.sql.SQLException;import java.util.List;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.ArrayHandler;import org.apache.common...

2018-07-07 16:46:00 162

原创 Easyui datagrid实现前后台数据交互

前台:后台:后台传过去的数据,一定要是json类型的这里说明个问题:之前我们用过的ajax 异步获取后台的数据在前台显示,其中ajax中传的url地址即为我们datagrid中url所连接后台的地址...

2018-06-17 08:58:48 3395

原创 mysql出现Can't connect to MySQL server on 'localhost' (10061)的解决方法

 今天数据库出了一点错误之后决定重装一下,结果卡在了一个问题上,连装了5遍,加上网上各种配置教程都没能结局,错误如下图所示:  最后忽然想到会不会是因为每一次卸载的时候没有彻底卸载干净,然后就彻彻底底卸载干净了再重装,然后就成功了!因为上一次安装的数据库在C盘的配置文件还存在,对后面安装时的配置文件产生了冲突,所有导致了这个问题。话不多说,直接上干货!  1)删除程序。进入控制面板->在程序...

2018-06-06 09:31:37 3300

原创 js jQuery解决checkbox数据回显问题

一、问题  在用复选框的时候,最常用的无非就是全选,全不选,数据回显等问题!要做的比较灵活!最近做项目的时候,就遇到这些问题,下面从js和JQueyr两方面解决一下全选,全不选,数据回显的问题。 二、HTML页面1 <input type="checkbox" id="checkAll"/>全选<br>2 <input type="checkbox"...

2018-05-27 11:34:11 2449

原创 servlet MVC模式实现基本功能增删查改

思路: 以上用jQuery Ajax进行实现    查询:通过JDBC连接数据库,将数据库表内需要获取的内容显示在浏览器页面上    增加:点击添加用户按钮,弹出一个添加个人信息的form表单,将信息填写完后,点击提交按钮,新增的用户信息出现在表中。    更新:点击更新按钮,弹出一个更新个人信息的form表单,同时表单上显示个人的所有信息。。所以第一步,应该是先根据主键:ID将个人的所有信息查询...

2018-05-27 11:18:32 1878

原创 Windows.onload和jQuery就绪函数的区别

Windows.onload函数如果在元素DOM全部加载完毕后,输出多个语句,只输出最后一个。jQuery就绪函数在元素DOM加载全部加载完毕后,输出多个语句,会逐个输出。且就绪函数要先于Windows.onload函数。...

2018-05-27 10:03:24 258

原创 jQuery ajax: success回调函数不能执行原因

这个错误当时出现找了很长时间原因,服务器不报错,从浏览器管理工具中找到了出错的地方未捕获的ReferenceError: $未定义。

2018-05-27 09:09:51 2544

原创 jQuery的easyUI导入

其中href="";中的js/jquery-easyui-1.4/为文件名

2018-05-26 21:39:15 257

原创 从Myeclipse 导入到eclipse中无法识别为 web项目 的问题

经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就 是一个java项目,有过很多次经历,今天也有同事遇到类似问题,就把这个解决方法记下来吧,免得以后再到处去搜索。解决步骤:1、进入项目目录,可看到.project文件,打开。2、找到<natures>...</natures>代码段。3、在第2步的代码段中加入如下标签内容并保存:<nature&...

2018-05-26 10:47:39 52

原创 servlet中MVC模式最通俗的理解

M(model):数据模型进行处理。V(view):数据展示层。C(controller):控制器,接收请求下面列出模式中的一些包:controller,dao,pojo,service,utils

2018-05-24 21:13:07 2139

原创 文件的上传和下载实现常见问题

上传文件重名的问题:使用uuid的方式解决重名问题:String name = fileItem.getName();//获取上传文件的名称                          name=UUID.randomUUID().toString();获取时间戳-随机数的方式:上传文件的大小、类型限制:大小:ServletFileUpload.setSizeMax(sizeMax);/...

2018-05-23 20:49:51 967

原创 Java中堆和栈的区别

1、概述在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。2、堆内存1.什么是堆内存?12堆内存是是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。2.堆内存的特点是什么?12第一点:堆其实可以类似的看做是管道,或者说是平时去排队买票的的情况差不多,所以堆内存的特点就是:先进先出,后...

2018-05-23 19:37:12 198

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