自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一切都是最好的安排

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

原创 【bug】 -- List.subList()未序列化导致Redis报错

别人遇到的bug,收集起来以防自己同样犯错。bug产生的场景:项目中对文章的详情内容通过Redis做了缓存,详情中以List形式关联了一些其他内容。在Redis中存储数据也将会是从业务中获取的List集合。存储数据要求3条即可,但是查询接口返回的数据不一定为3条,当多于3条是,就需要截取,在截取的过程中使用了list.subList(0,3),来获取其中3条数据。之后就报错了。。。 (由于...

2019-07-03 16:16:54 1535 2

原创 【坑】-- 传入参数使用包装类时为空报错

两次踩坑,问题虽小,值此一记。分析:报以上问题,单看日志定位不到具体的实现方法,判断controller中的96行,发现传入的movieId为null,虽然使用注解@RequestParam标志该入参为 @RequestParam(value = "movieId", required = true) Integer movieId。api请求也传入了该参数,但是由于该参数设置为包装类...

2019-07-03 10:34:34 1078 1

原创 【坑】-- URL中含特殊字符导致后端无法正常传入参数

问题:前端URL中由于jsApis这个参数拼接了#,导致后端无法识别获得第一个#之后的所有字符,进而导致debug这个参数也没办法被识别。所以后端接收参数错误,无法正确返回数据,显示400异常。解决:进行符号转义。查询百度解决方案:url参数中出现+、空格、=、%、&、#等字符的解决办法需要前端将#转移为%23即可。为避免以上问题的出现,还是建议在拼接参数的时候尽量不用...

2019-06-27 15:37:11 4482

原创 【坑】-- postman请求无返回结果

前端post或者get请求我后端失败,但是我本地测试是成功的。前端不知道怎么回事,但是感觉也不是后端的问题。以下无论是get还是post,我本地请求均正常,而且我通过域名在浏览器中访问也是可以的。但是通过postman使用域名访问确定是不行的。如下。于是开始怀疑自己。展开一系列纠错,排查原因:1.会不会是Nginx配置 指定域名错误,产看Nginx日志,能够看到ge...

2019-06-27 15:22:51 50877 14

原创 【项目实战-测试环境】-- api返回XML格式数据而不是json

问题描述:如图正常格式:原因:分支合并过程中导致jar包冲突解决:依赖中排除冲突的包

2019-06-21 17:02:57 2167

原创 【项目实战】-- 分布式事务的应用(一)

处理方式最多的大概就是保证数据的最终一致性吧。在我们的业务系统中,缓存(Redis或者Memcached)通常被用在数据库之前,作为数据读取的缓冲,使得I/O操作不至于直接落在数据库上,造成很大的压力。在我们的系统中相当于做了两层缓存。首先通过创建任务,将服务端提供的一些可静态化的基础数据静态化到MongoDB中,此操作分为定时任务和手动执行任务。而后设置了浏览器缓存(这块待确认。看看代码...

2019-06-14 16:39:54 1312

原创 【Git】-- ssh和https

ssh使用突然出现了问题,但是自己又忘了当时怎么配置的ssh的了,只能不停的找 解决方案,看能不能瞎猫碰上死耗子 哎。https://blog.csdn.net/yym836659673/article/details/77504430,这篇博主给了三种方案https://jingyan.baidu.com/article/335530daf521ce19cb41c33e.html,这...

2019-05-10 16:09:00 153 1

原创 【项目实战】-- redis的使用(一)

1.批量获取缓存stringList = redisClient.invoke(t -> t.hmget(CACHE_KEY_DOMAIN_ITEM, Converter.toStringArray(keys)));2.加入缓存JsonDetailInfo jsonDetailInfo = getJsonDetailInfoByRespItem(rcmdKey, item +...

2019-05-07 15:21:06 404

原创 【项目实战】-- 报警处理

以上报警邮件的检查方式:1.http://10.10.10.218:4171/ 在nsq的topic中心搜索主题名称2.点进去查看,Depth即为目前未处理的消息,现在为0,说明堆积是临时性现象,随着推送的消息处理器消化即可解决。3.为了减少报警邮件,将对消息报警条数加以调整,将原来的5000增加到50万。4.阈值调整为50万的原因是:推送常有大批量用户推送(十万/...

2019-05-05 15:05:26 440

原创 【项目实战】-- 线上问题1

1.问题 : APP正常运行,PC端无法访问 排查: 发现swirl下的频道页相关内容中有一个标红,标红项目为给频道页前端Node.js提供api接口的站点。可能因为某些特殊原因导致掉线,但没有重启成功。 解决方案:Max attempts,是原值为3,意思是累计意外宕机3次后,该服务就不在重启了,将其设置为空时,代表意外宕机后,将会限次重启。...

2019-05-05 14:41:41 178

原创 【JAVA基础】 -- Map常见问题(二)

项目中见到同事使用Map的一个方法,之前没用过,便一探究竟。通常我们使用较多的为map.put()方法。还有另一个putIfAbsent. absent 在英文中解释为不存在的。put与putIfAbsent区别:put在放入数据时,如果放入数据的key已经存在于Map中,最后放入的数据会覆盖之前存在的数据,而putIfAbsent在放入数据时,如果存在重复的key,那么putIf...

2019-04-16 14:54:31 383

原创 【JAVA基础】 -- Map常见问题(一)

问题:返回的HashMap中key有对应的value值,但取值时结果却为null。解析-返回结果为何为null?1. HashMap的key和value均可为null。2.key所对应的value本身为空或null,则value返回null3.无法找到key,则value返回null4.key的类型与Map定义的类型不一致(同3,即找不到这个key),则value返回nul...

2019-02-21 22:07:32 986

原创 2018

大家都在问,是否完成了2018年定下的2017年没完成的2016年计划的2015年承诺呢?大部分人,恩,没有。我呢,属小部分人,压根就没有过承诺和计划。但18年是值得纪念的一年,收获了很多,也感恩很多。《别》世界上最远的距离不是生与死的距离,而是明知道不可以,却还要在一起。年初那段时间不想去回忆,难言的经历,该体验的也都体验了,希望与失望交错中,选择了失望。放弃与继续之间选...

2019-02-14 15:44:34 395 6

原创 【JAVA基础】-- List

java81.按顺序排列List<Entity> list =new ArrayList();//按时间顺序list.stream().sorted(Comparator.comparing(Entity::getCreateTime)).collect(Collectors.toList());//按时间逆序list.stream().sorted(Compara...

2019-01-23 16:27:33 587

原创 【mysql】-- 获取排列序号

转载:https://blog.csdn.net/gao763024185/article/details/79638052 在进入正题之前先来了解一个mysql中的小知识点:①   := 与 = 的区别:=   赋值的意思。在set update select 中表示赋值的意思,用的比较少一般都用=,但是在用变量实现行号时(比如本文标题获取排列序号),一定要用:=。 =   ...

2018-12-24 17:03:14 580 1

原创 【mysql】-- 基础 不等于

mysql中 != 和 &lt;&gt; 都是可以用的但是在sqlserver中 != 是不识别的。为了不混淆,最好直接用&lt;&gt;更方便一点。参考链接:https://www.jb51.net/article/40264.htm...

2018-12-18 15:25:08 1538 1

原创 【JAVA基础】-- 数据类型的转换

mysql bigint 本应对应java类型为Java.lang.BigInteger,应用该类型时是 因为:https://blog.csdn.net/u014450159/article/details/79435923但是由于 其数据长度与Java.lang.Long取值范围是一致的,故而在Java Bean中取long作为该字段数据类型。在项目中遇到mysql的SUM()转换数据...

2018-12-17 10:03:31 188 2

原创 IDEA 启动-- Error:(1, 1) java: 非法字符: '\ufeff'

问题: 用idea编译项目中java文件时候,提示 Error:(1, 1) java: 非法字符: ‘\ufeff’ Error:(1, 10) java: 需要class, interface或enum 原因: 编码不一致导致 解决方法:方案一(推荐):IDEA右下角,直接修改编码格式 方案二:将这些报错的文件拷贝到一个目录中,然后用notpad++打开,点击工具类...

2018-11-29 11:02:18 8428 4

原创 比较获取最小

int minSize = ((minSize = (commentsSize &gt; imagesSize) ? imagesSize : commentsSize) &gt; 2 ? 2 : minSize); for (int i = 0; i &lt; minSize; i++) { commentTitle = hotMovieCommentList.ge...

2018-11-07 13:59:03 250 1

原创 向MongoDB中存储文件

方式一:以文档形式存储方式二:借助GridFS https://www.cnblogs.com/lipan/archive/2011/03/21/1989409.html

2018-11-06 09:46:44 13588 1

转载 [转]jackson json字符串、map、java对象的转换例子

ackson框架 json字符串、map、java对象的转换例子先下载框架jar包:下面是一些例子:package jackson;import java.io.File;import java.io.FileInputStream;import java.util.Arrays;import java.util.HashMap;import java.util.Itera...

2018-11-06 09:43:37 11159 1

转载 Java 数组如何转成List集合

问题描述:对于给定的如下数组,如何转换成List集合?String[] array = {"a","b","c"};参考stackoverflow总结如下几种写法:1.使用原生方式,拆分数组,添加到ListList&lt;String&gt; resultList = new ArrayList&lt;&gt;(array.length);for (String s : ar...

2018-10-26 17:32:46 2515

原创 获取resource下的文件路径

配置文件中的定义方式一:(推荐,解决中英文乱码)URL url = Thread.currentThread().getContextClassLoader().getResource(ConfigProperties.getProperty("img.url"));String path = URLDecoder.decode(url.getPath(), "utf-8");Fil...

2018-10-26 17:15:14 15332 2

原创 2018,刚刚好

2017.8.15-2018.8.25 这一年经历的真的是太多,来不及回忆,也不太想回忆。但一切都是刚刚好。回忆剩不多也不少,还是能忘掉。现在的我,最多的就是对未来的期待和憧憬。工作、生活 该来的都在路上。愿在最美的年纪,不负时光,做最好的 自己。...

2018-08-24 09:27:03 337 2

原创 【分布式专题】-- zookeeper

【什么是zookeeper?】   zookeeper的数据模型:   像数据结构中的树,又像文件系统的目录。   树由节点组成,zookeeper的数据结构也基于节点,称为Znode。但是不同于树的节点,Znode的引用方式为路径引用。类似于文件路径。这种层级结构保证每个节点只拥有唯一路径。其分为以下几部分:   data: Znode存储的数据信息。   ACL:记录Zno...

2018-08-19 20:36:32 261

转载 【数据库】 -- MySQL索引原理

转自:http://blog.csdn.net/u013235478/article/details/50625677B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B...

2018-08-15 16:47:13 274

原创 【redis】-- 集群

集群 复制(master、slave)配置过程 修改11.140和11.141的redis.conf文件,增加slaveof masterip masterport slaveof 192.168.11.138 6379 实现原理 1. slave第一次或者重连到master上以后,会向master发送一个SYNC的命令 2. master收到SYNC的时候,会做两件事 a)...

2018-08-12 21:23:35 234

原创 java基础篇整理

1、List 和 Set 的区别 我们为什么要使用List和Set(List,Set详解)2、HashSet 是如何保证不重复的 HashSet 是借助 HashMap来实现的,利用的HashMap中Key的唯一性,来 保证HashSet中不存在重复值。 HashSet类是如何实现添加元素保证不重复的—哈希码的原理3、HashMap 是线程安全的吗,为什么不是...

2018-08-05 21:18:13 273

原创 【Redis】 -- 分布式锁的实现

【Redis】 – 分布式锁的实现

2018-07-22 21:22:08 188 4

原创 【Redis】-- 事务处理

【Redis】– 事务处理

2018-07-22 21:21:42 183 4

原创 【Redis】 -- 优势与应用

【Redis】 – 优势与应用

2018-07-22 21:20:56 177 5

原创 【Redis】-- 安装与配置

【Redis】– 安装与配置

2018-07-22 21:20:04 236 6

转载 【权限管理】-- shiro简介

什么是shiroshiro是Apache的一个开源安全框架,相对于Spring Security来说,虽然功能不如其强大,但是如果项目要求并不复杂,那么shiro作为一个小而简单的安全框架来使用就完全足够了,在简单性和灵活性方面拥有巨大优势。 shiro可以将系统中安全认证相关的功能抽离出来,实现身份认证,权限授权,加密,会话管理等功能。 主要实现功能包括:验证用户对用户执行访问控...

2018-07-17 16:25:24 632 4

原创 【设计模式】-- 单例模式

单例模式:    指的就是单实例,有且仅有一个类实例。在整个系统需要一个全局对象时使用,利于协调系统整体的行为。常见于计数器之类的,一般需要使用一个实例来记录,否则多了就会造成不准确而。实现单例模式思路:    一个类返回对象的一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常用getInstance()表示)。当我们调用该方法时,如果类持有的引用不为空,就返回这个引用。如果类持...

2018-07-15 19:28:09 146

原创 【java8】 -- 新特性

    java8发布很长时间了,作为一次重大的版本升级,有一些新的特性值得一记。特性一:Lambda表达式,简化代码,增强代码可读性。    lambda表达式三大组成部分:     参数列表——这里它采用了Comparator中compare方法的参数,两个Apple。     箭头——箭头-&gt;把参数列表与Lambda主体分隔开。     Lambda主体——比较两个Apple的重...

2018-07-08 20:28:34 461 2

原创 主机ping不通虚拟机,但是虚拟机能ping通主机

一、虚拟机网络连接方式选择Nat二、    关闭Linux防火墙命令:service iptables stop / service firewalld stop    查看Linux防火墙状态命令:service iptables status / service firewalld status三、    关闭windows防火墙四、    查看Linux虚拟机ip,命令:ifconfig将对...

2018-06-30 11:07:58 99443 98

转载 【mysql】-- 主从复制与主主复制

转载自:MySQL主从复制与主主复制。有部分修改和补充。回到顶部1、简介      MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一。但不可忽略的是它本身的功能的确很强大。随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器(这篇博客暂时不涉及)。...

2018-06-27 09:53:24 590 9

转载 【mysql】-- Linux Centos7虚拟机安装并配置mysql5.5教程+问题

Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。好了,话不多说,上教程:在接下来的mysql安装过程中,请...

2018-06-23 15:42:32 468 5

转载 SOA和微服务架构的区别?

SOA和微服务架构的区别?留着平时看。

2018-06-16 21:05:15 485 1

转载 【面向服务的架构】-- SOA

百度百科:SOA SOA面向服务架构 深入浅出SOA

2018-06-16 21:04:07 567

空空如也

空空如也

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

TA关注的人

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