自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码诗人的专栏

做一个快乐,纯粹,热爱生活的人!

  • 博客(44)
  • 资源 (5)
  • 收藏
  • 关注

转载 深解京东个性化推荐系统演进史

在电商领域,推荐的价值在于挖掘用户潜在购买需求,缩短用户到商品的距离,提升用户的购物体验。京东推荐的演进史是绚丽多彩的。京东的推荐起步于2012年,当时的推荐产品甚至是基于规则匹配做的。整个推荐产品线组合就像一个个松散的原始部落一样,部落与部落之前没有任何工程、算法的交集。2013年,国内大数据时代到来,一方面如果做的事情与大数据不沾边,都显得自己水平不够,另外一方面京东业务在这一年开始飞速发展,所以传统的方式已经跟不上业务的发展了,为此推荐团队专门设计了新的推荐系统。随着业务的快速发展以..

2021-04-21 17:56:37 439

转载 主流推荐引擎技术及优缺点分析

本专转自:DataFunTalk导读: 在本文中,将详细介绍多种类型的推荐系统,具体介绍基于近邻算法的推荐引擎、个性化推荐引擎、基于模型的推荐系统和混合推荐引擎等,并分析介绍每种推荐系统的优缺点。主要介绍的不同类型的推荐系统包括: 近邻算法推荐引擎:基于用户的协同过滤和基于项目的协同过滤; 个性化推荐引擎:基于内容的推荐引擎和情境感知推荐引擎; 基于模型的推荐引擎:基于机器学习的推荐引擎、分类模型-SVM/KNN、矩阵分解、奇异值分解、交替最小二乘法概述、混..

2021-03-29 17:24:40 1177

转载 eureka数据解构及配置优化

eureka作为spring cloud微服务架构里的注册中心,是非常核心的一个组件。它本身的架构避免了复杂的选主算法,比较简单,搭个demo也确实很快,但是如果要用于生产环境,还是得注意很多东西,尤其是下线延迟...一、服务获取中的缓存问题第一节的内容都是从这个issue翻译的:Documentation: changing Eureka renewal frequencyWILLbr...

2020-04-23 15:30:50 426

原创 2020年立下一个新的Flag

时间过得真快,一眨眼2019年就过去了,这一年匆匆忙忙,对于我个人而言发生了很多的大事,也是算里程碑吧。今天做一个简短的总结,同时也为自己新的一年制定新的Flag。2019,幸福,充实,选择。关于生活先总结下生活吧,2018年底和老婆顺利的举办了婚礼,感谢双方父母多年的培育,就连我们结婚,最操劳的也是他们,本来自己也不善言辞,但是真的发自内心的感谢,感恩,同时也感谢老婆对我的信任,彼此...

2020-01-12 14:36:33 1325

原创 Spring Boot,Spring Cloud,Spring Cloud Alibaba 版本选择说明以及整理归纳

本文转自:https://blog.csdn.net/qq_37143673/article/details/99292705前言本文的核心目的:方便自己以后的查找,预览,参考帮助那些不知道如何选择版本的朋友进行指引,而不是一味的跟风网上的版本,照抄Spring Boot 版本版本查询:https://mvnrepository.com/artifact/org.springfr...

2020-01-07 22:35:56 293

转载 Failed to start LSB: Bring up/down networking.

由于我的虚拟机是从别的机器拷贝过来的,导入新机器后,没有问题,第二天就网络连接不上了,就出现下面的错误[root@centos ~]# /etc/init.d/network restartRestarting network (via systemctl): Job for network.service failed because the control process exite...

2020-01-04 17:42:29 1210

转载 Java中的序列化问题及解决

写作背景最近同事在一个VO对象中增加了一个字段,然后老大说需要评估一下是否有序列化问题,我们是将对象序列化到redis缓存中,所以查看其是否会有序列化问题,只要知道这个是对象会不会存储在redis中,并且在redis中取出数据的时候需要反序列化。一、序列化、反序列化对象序列化:在Java中我们经常希望将对象存储到缓存中,或者将其写入硬盘资源中。其实这个过程就是将对象进行流化,不管是放入缓存...

2019-12-18 19:07:21 792

原创 linux sed 替换、删除文件中的某个字符串

1、将当前目录下包含hello串的文件中,hello字符串替换为hised -i "s/hello/hi/g" `grep "hello" -rl ./`2、将某个文件中的hello字符串替换为hised -i "s/hello/hi/g" test.txt3、删除行首空格sed -i 's/^ //g' test4、删除行尾空格sed -i 's/ $/...

2019-12-13 17:11:43 1689

转载 CentOS7 下iptables安装与iptables使用

一、iptables安装[root@localhost~]# yum install iptables -y[root@localhost~]# yum install iptables-services查看安装情况[root@localhost~]# rpm -qa|grep iptablesiptables-1.4.21-24.1.el7_5.x86_64iptable...

2019-12-10 11:35:37 490

原创 Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress

最近有些同学问我 NodePort,LoadBalancer 和 Ingress 之间的区别。它们都是将集群外部流量导入到集群内的方式,只是实现方式不同。让我们看一下它们分别是如何工作的,以及你该如何选择它们。注意:这里说的每一点都基于Google Kubernetes Engine。如果你用 minikube 或其它工具,以预置型模式(om prem)运行在其它云上,对应的操作可能有点区别。...

2019-12-09 20:59:07 401

转载 centos7 docker升级到最新稳定版本

一、前言  docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件,当然docker的版本更新比较快,截止2018.12最新版本是18.09,如果你的机器上安装了老版本的docker,那么就需要卸载,本文介绍如何完全的卸载老版本以及安装新版本docker。...

2019-12-06 23:28:31 267

转载 分布式ID增强篇--优化时钟回拨问题

原生实现本文承接sharding-jdbc源码之分布式ID,在这篇文章中详细介绍了sharding-jdbc的分布式ID是如何实现的;很遗憾的是sharding-jdbc只是基于snowflake算法实现了如何生成分布式ID,并没有解决snowflake算法的缺点:时钟回拨问题; 趋势递增,而不是绝对递增; 不能在一台服务器上部署多个分布式ID服务;第2点算不上缺点,毕竟如果绝对递...

2019-11-06 20:26:48 1486

转载 JVM系列 :Java类加载器classLoader(一)了解加载过程

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。(对于加载时机不清楚的可以看这篇文章:https:...

2019-09-14 14:41:57 207

转载 JVM调优(下)

GC日志格式本文是JVM层GC调优(上)的后续,在上一篇文章中,我们介绍了JVM的内存结构、常见的垃圾回收算法以及垃圾收集器和不同收集器中的一些GC调优参数。所以通过上文,我们也对GC相关的内容有了一定的了解。但是光知道一些调优参数是没用的,我们需要能够从GC的日志中去分析可以调优的地方,这样才能使用这些参数去进行相应的调整,所以本小节将介绍一下不同收集器的GC日志格式。我们这里以...

2019-08-10 11:30:20 561

转载 JVM调优(上)

JVM内存结构简介(jdk1.8)JVM层的GC调优是生产环境上必不可少的一个环节,因为我们需要确定这个进程可以占用多少内存,以及设定一些参数的阀值。以此来优化项目的性能和提高可用性,而且这也是在面试中经常会被问到的问题。想要进行GC调优,我们首先需要简单了解下JVM的内存结构,Java虚拟机的规范文档如下:https://docs.oracle.com/javase/specs/j...

2019-08-10 11:29:13 506

原创 RabbitMQ最佳实践

在使用消息机制时,我们通常需要考虑以下几个问题:消息不能丢失 保证消息一定能投递到目的地 保证业务处理和消息发送/消费的一致性本文以RabbitMQ为例,讨论如何解决以上问题。消息持久化如果希望RabbitMQ重启之后消息不丢失,那么需要对以下3种实体均配置持久化:exchange queue message声明exchange时设置持久化(durable = t...

2019-07-16 16:14:17 284

转载 Metaspace 之一:Metaspace整体介绍(永久代被替换原因、元空间特点、元空间内存查看分析方法)

本文转自:https://www.cnblogs.com/williamjie/p/9558094.html一、元空间替换持久代1.1、持久代  PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen spac...

2019-07-15 14:38:48 403

转载 Metaspace泄漏排查

本文转自:云溪社区https://yq.aliyun.com/articles/603830?utm_content=m_1000003891一、案件背景近日,一个线上应用开始频繁报警:异常日志、接口rt超时、load高、tcp重传率高等等。现场监控如下:从基础监控来看,cpu使用率不算特别异常,而load高说明等待cpu资源的线程队列长,配合rt上涨来看,推测是线程出现了堆积,而线...

2019-07-15 14:36:37 1360

转载 SpringBoot Web接口@RequestBody接受多种类型参数实现

一、背景SpringBoot版本2.1.1-RELEASE。在工作中遇到了这样一个特殊的需求:需要接收前台传入的参数,接收参数并封装对象之后进行后续的处理。根据现有逻辑,前台请求http接口的Content-Type有两种,application/json和application/x-www-form-urlencoded。现要求两种请求方式都能够进行参数绑定。想到通过自定义一个HandlerM...

2019-06-14 14:04:30 10118 1

转载 在Spring Boot中多个模块使用对应的配置文件

我们使用Spring Boot编写多个模块开发时,我们希望各个模块使用各自的配置文件,避免将整个项目的配置文件都写在一起,从而降低各个模块之间的耦合度。这里有两种方法让各个模块读取自己的配置文件:先看看以下项目的目录结构:有一个清晰的了解。我们让各个模块读取自己的配置文件信息:redis模块读取redis的配置文件。第一种方法:(使用属性配置文件,即properties结尾的配置文...

2019-05-30 16:29:13 3504 1

原创 Git基本命令和GitFlow工作流

公司最近在推Gitflow工作流,经过一段时间的探索后,最终总结了一个比较合适的方案,本来想写一篇文章记录,但是发现网上已经有一些写的比价好的文档总结过了,因此转载过来进行备忘:本文转自:https://www.cnblogs.com/myqianlan/p/4195994.html本篇博客讲解了git的一些基本的团队协作命令,和GitFlow工作流指南git 团队协作的一些命令1...

2019-04-23 14:15:51 214

转载 Innodb锁机制:Next-Key Lock 浅谈

本文转自: https://www.cnblogs.com/zhoujinyi/p/3435982.html数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过...

2019-04-10 20:26:49 198

转载 Redisson 分布式锁实现分析

Why 分布式锁java.util.concurrent.locks中包含了 JDK 提供的在多线程情况下对共享资源的访问控制的一系列工具,它们可以帮助我们解决进程内多线程并发时的数据一致性问题。但是在分布式系统中,JDK 原生的并发锁工具在一些场景就无法满足我们的要求了,这就是为什么要使用分布式锁。我总结了一句话,分布式锁是用于解决分布式系统中操作共享资源时的数据一致性问题。设计分...

2019-04-02 06:43:12 219

转载 QPS从0到4000请求每秒,谈达达后台架构演化之路

达达是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Uber很相似,以众包的方式利用社会闲散人力资源,解决O2O最后三公里即时性配送难题(目前达达已经与京东到家合并)。 达达业务主要包含两部分:商家发单,配送员接单配送,如下图所示。达达的业务规模增长极大,在1年左右的时间从零增长到每天近百万单,给后端带来极大的访问压力。压力主要分为两类:读压力、写压力。读压力来源于配送员在A...

2019-03-31 13:34:24 215

转载 千万级推荐系统架构设计

本文转载自公众号:高效运维作者简介冯丙见一下科技大数据部门资深架构师一直播现在大家都能看到它的影子,技术上面来讲很多东西都是通用的,可以在这里面借鉴一下,看看是不是有一些在你工作当中可以适用的东西。从三个方面介绍一下我们的系统,一个是面向我们架构设计,一个是用户画像系统,还有一个是评估推荐系统。1、推荐系统架构设计我们先来看一下推荐系统产生的背景,...

2019-03-30 22:46:46 2939

原创 MySql数据库规范整理

mysql设计规范》数据结构设计:逻辑设计 –> 物理设计实际工作中:逻辑设计 + 物理设计物理设计:表名,字段名,字段类型磁盘IO和操作系统类型,对mysql的性能是非常大的一. 数据库命名规范所有的数据库对象名称必须使用小写字母并用下划线表示,因为默认情况下,mysql对大小写敏感,mysql数据库本质上是linux系统下的一个文件,而linux系统是大小写敏感的所有数...

2019-03-30 22:20:39 194

转载 支付系统对账设计

前言对账系统作为支付系统中的基石系统,处于整个支付环节中的最后一层,主要用来保证我方支付数据与第三方支付渠道或银行的数据一致性。在没有对账系统之前,财务在第二日手工核对前一日的应收与实收。倘若不一致,这就需要一一核对数据,找出不一致的数据。对账系统出现之后,就可减少以这种繁琐手工操作,财务只需要每天关注系统的对账记录,释放了生产力。本文主要结合实际的项目经验,聊聊对账系统的设计方案。...

2019-03-28 22:26:16 1527

转载 最全支付系统设计包含:账户,对账,风控...

本文转载自:https://xueqiu.com/1694220181/87140351账户体系是支付系统的基础,它的设计直接影响整个系统的特性。这里探讨如何针对电子商务系统的支付账户体系设计。我们从一些基本概念开始入手,了解怎么建模。支付账户和登录账号账户体系设计首先要区分两个概念,支付账户和登录账号。这是两个不同业务领域的概念:支付账户指用户在支付系统中用于交易的资金...

2019-03-26 09:27:47 3896 1

转载 IO模式和IO多路复用

阅读目录1 基础知识回顾 2 I/O模式 3 事件驱动编程模型 4 select/poll/epoll的区别及其Python示例  网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。回到顶部1 基础知识回顾注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~...

2019-03-25 09:36:58 266

转载 Redis性能问题排查解决手册

本文转载自:https://www.cnblogs.com/mushroom/p/4738170.html阅读目录:性能相关的数据指标 内存使用率used_memory 命令处理总数total_commands_processed 延迟时间 内存碎片率 回收key 总结性能相关的数据指标通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有...

2019-03-25 09:36:10 178

转载 数据库分库分表思路

数据库分库分表思路一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分...

2019-01-15 14:20:37 151

原创 Tomcat 服务状态监测自动重启脚本

#/bin/bash#脚本可写入到自动任务中,执行周期可根据tomcat起停时间长短来定,如下,每天0点到20点之间每隔10分钟检查一次  #echo "*/10 0-20 * * * root /usr/local/tomcat/admin-server/script/tomcat_check.sh  >> /usr/local/tomcat/admin-server/scrip...

2018-10-11 09:53:02 808

转载 UI 设计常用尺寸规格

先来看看各种iPhone的尺寸和分辨率,这张图写的很清楚。设备名称屏幕尺寸PPIAsset竖屏点(point)竖屏分辨率(px)iPhone X5.8 in458@3x375 x 8121125 x 2436iPhone 8+, 7+, 6s+, 6+5.5 in401@3x414 x 7361242 x 2208iPhone 8, 7, 6s, 64.7 in326@2x375 x 667750...

2018-05-04 17:23:37 16221

原创 详解Java文件下载的几种实现方式

很多的新手Java程序员对文件的上传下载存在一些疑问,本文对常见的几种下载方式进行汇总:public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); ...

2018-03-23 09:59:21 2731

原创 SpringMVC并发请求线程安全问题案例分析

背景:一个人的成长在于你经历了多少,正如古语有云“读万卷书,不如行万里路。”做技术尤其如此,要想快速成长,必须先多写代码,多思考,多总结,当然还可以通过帮助别人解决问题来验证或者激励自己的成长。今天这篇文章主要是基于一个朋友在实际开发中出现的一个并发案例,在帮助其解决的过程中,发现自己也有很多的知识误区,遂写此篇以作记录,同时也分享给大家。一,案例描述①,业务需求用户通过系统生成邀请二

2018-01-12 09:28:47 1259

原创 Linux 操作系统名词科普贴

在整个操作系统领域,现在主要有四个知名的系统体系被人们所熟知:PC桌面系-----微软的Windows(据说传承于古老的vms),苹果的MacOS (也是基于Unix的BSD系),开荒鼻祖系-----贝尔实验室的Unix ,服务器阵营系芬兰IT大佬Linus的Linux(同时也是Git的作者。。。膜拜三秒钟),本文主要从专业名词的角度帮助入门的同学进行科普,备好粮,磨好枪好在操作系统领域自由翱翔。

2017-12-27 19:37:22 484

原创 Java 强引用、软引用、弱引用、虚引用 和垃圾回收器的关系以及调优原理

一、背景大家知道Java是运行在虚拟机上的高级语言,而对于虚拟机,其中有一个特别重要的功能就是垃圾回收器(GC),通过GC机制Java程序可以非常智能的对垃圾进行回收,从而实现非常智能的内存管理,而不用向C或C++一样需要十分谨慎的自己去处理内存问题,从而避免了很多不必要的麻烦。那么GC机制是如何实现的呢?作为GC工作的主战场JVM 的堆内存,是如何去处理那些过期或者在资源紧缺的情况下对对象的

2017-12-27 17:34:35 3468 2

原创 JVM内存结构和Java数据类型

Java是一门面向对象编程语言,由Sun公司于20世纪90年代开发,后来被Oracle公司收购,此语言不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性

2017-12-24 11:17:21 483

转载 Tomcat生成https+ssl双向证书认证(jdk)

http://jingyan.baidu.com/article/0f5fb099f1f9566d8334ea38.html

2015-11-16 14:47:58 669

原创 服务器的瞬时 Diffie-Hellman 公共密钥过弱 问题解决

最近由于开发了一个电子商城项目,其中涉及银行的支付接口开发,所以把项目进行了https的部署,证书和秘钥都是用keytool生成的,但是当我用最近版本的Google浏览器进行访问的时候报错:“服务器的瞬时 Diffie-Hellman 公共密钥过弱”,上网找了一篇比较好的帖子于是乎转载了下来,以作备用。最新版本的chrome(45.0.2454.85 m)在访问证书时,会报“服务器的瞬

2015-11-16 14:36:11 20303 1

ES6标准入门(第二版)带书签

阮一峰老师 ES6标准入门(第二版)带书签

2017-08-18

《Maven实战》完整高清版.pdf

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

2017-03-10

myPagination6.0 分页插件

myPagination是一个灵活的web分页组件,压缩后只有几KB。 优雅灵活的接口 myPagination很用心的设计了她的接口,她拥有丰富的配置参数控制初始化状态,并且每次调用后还会返回一些实用的内部控制接口,你可以先用变量把它保存起来,需要的时候在其他地方自由控制对话框。 精心设计的UI机制 myPagination提供24款CSS样式供选择,还可以按照格式编写自己的的皮肤样式。她的皮肤绝大部分都使用纯CSS编写,几乎不需图片加载延时。 细致的用户体验 跳转框内容她将支持Enter提交;Panel中可配置自己所需的界面,支持面板某项可独立隐藏或者显示,还可以自己写CSS皮肤,静态调用体验,动态调用实用。 跨浏览器兼容 兼容:IE6+、Firefox、Chrome、Safari、Opera,浏览器版本越高体验越好。 与jQuery协作 myPagination 是一款Jquery插件,方便扩展与实用,利用它增强自身功能。

2015-05-12

myPagination 6.0 分页差劲

myPagination是一个灵活的web分页组件,压缩后只有几KB。 优雅灵活的接口 myPagination很用心的设计了她的接口,她拥有丰富的配置参数控制初始化状态,并且每次调用后还会返回一些实用的内部控制接口,你可以先用变量把它保存起来,需要的时候在其他地方自由控制对话框。 精心设计的UI机制 myPagination提供24款CSS样式供选择,还可以按照格式编写自己的的皮肤样式。她的皮肤绝大部分都使用纯CSS编写,几乎不需图片加载延时。 细致的用户体验 跳转框内容她将支持Enter提交;Panel中可配置自己所需的界面,支持面板某项可独立隐藏或者显示,还可以自己写CSS皮肤,静态调用体验,动态调用实用。 跨浏览器兼容 兼容:IE6+、Firefox、Chrome、Safari、Opera,浏览器版本越高体验越好。 与jQuery协作 myPagination 是一款Jquery插件,方便扩展与实用,利用它增强自身功能。

2015-05-12

空空如也

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

TA关注的人

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