自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 资源 (1)
  • 收藏
  • 关注

翻译 中间件知识

前言现今时代,系统越来越复杂,数据来越多,系统间的交互也就变得越来越重要,同时也变得越来越困难。而消息中间件在其中起到了一个中间桥梁的重要作用。因此,面试中也经常会被问到消息中间件相关的问题。从其使用到其原理设计,都会是面试官感兴趣的一个点。Zookeeper1. ZooKeeper 是什么?2. ZooKeeper 提供了什么?(1)文件系统(2)通知机制3.Zookeeper 文件系统Zookeeper 提供一个多层级的节点命名空间(节点称为 znode)。与文件系统不同

2021-05-24 17:58:24 274

翻译 哎呀,你对高并发与多线程的解决思路了解的还挺深!

一、大规模并发带来的挑战在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法啊。1. 请求接口的合理设计一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是参与秒杀的Web后台请求接口。通常静态HTML等内容,是通过CDN的部署,一般压力不大,核心瓶颈实际上在后台请求接口上。这个后端接口,必须能够支持高并发请求,同时

2021-05-24 17:51:55 794

原创 【架构入门 - 高性能篇】数据库高性能

单机高性能与集群高性能都是针对负责计算的服务器而言的,负责存储的数据库服务器因为处理的是数据而不是计算,架构和使用方式又有所不同SQL - 读写分离基本原理是将数据库读写操作分散到不同节点上,从而分散读写压力到不同的节点上一主一从或一主多从都可以;主机负责读写操作,从机负责读操作,每个机器都需要同时工作;主机通过复制将数据同步到从机,每个节点都存储了所有的数据复制延迟MySQL的主从复制延迟可能达到1秒,如果有大量数据,1分钟也可能,那么这样很容易造成用户注册了但是无法登...

2021-05-22 17:20:38 578

转载 新版Harbor搭建(harbor-offline-installer-v1.10.1.tgz)

最新版Harbor搭建(harbor-offline-installer-v1.10.1.tgz)Harbor是一个开源镜像仓库,可通过基于角色的访问控制来保护镜像,新版本的Harbor还增加了扫描镜像中的漏洞并将镜像签名为受信任。作为CNCF孵化项目,Harbor提供合规性,性能和互操作性,以帮助你跨Kubernetes和Docker等云原生计算平台持续,安全地管理镜像。Harbor组件均以Docker容器方式启动,因此,你可以将其部署在任何支持Docker的Linux发行版上。...

2021-05-12 15:32:03 1460

翻译 Github上最热门的Java项目终于开源了!

Github上最热门的Java项目终于开源了!前言GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看吧:1、JimuReportgithub.com/zhangdaisco…Star 1388这是一款免费的数据可视化工具,报表与大屏设计!类似于excel操作风格,在线拖拽完成报表设计!功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,永久免费!2、dolphinschedulergithub.com/apache/dolp…Star 5706Apache..

2021-05-11 16:54:57 321

转载 高并发下如何保证接口的幂等性?

前言接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返...

2021-04-09 14:37:43 269 1

原创 大厂也在用的 6种 数据脱敏方案,别做泄密内鬼

而作为开发者的我们,能做的就是尽量避免经我们手的用户数据泄露,那今天就来讲讲互联网中内部防止隐私数据泄露的手段-数据脱敏。什么是数据脱敏先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如手机号、银行卡号等信息,进行转换或者修改的一种技术手段,防止敏感数据直接在不可靠的环境下使用。像政府、医疗行业、金融机构、移动运营商是比较早开始应用数据脱敏的,因为他们所掌握的都是用户最核心的私密数据,如果泄露后果是不可估量的。数据脱敏的应用在生活中是比较..

2021-03-29 15:25:40 1389

原创 一口气说出 6种 @Transactional 注解失效场景

引言昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。@Transactional注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就失效了。一、事务事务管理在系统...

2021-03-29 11:23:10 144

原创 40 多套 Java 完整实战项目,各个精品!

电商秒杀天猫整站 J2EE天猫整站 SSM天猫整站 Springbootmall-learning:mall学习教程,架构、业务、技术要点全方位解析。SpringBoot 电商商城系统 Mall4jSpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。newbee-mall:newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-adm...

2021-03-29 11:11:37 3684

原创 docker部署MySQL8.0

docker部署MySQL8.01.获取镜像docker pull mysql:8.02.先运行一个没有挂载数据映射的容器docker run -p 3306:3306 --name=mymysql MYSQL_ROOT_PASSWORD=123456 -d mysql:8.03.复制配容器MySQL的配置文件docker cp 容器id:/etc/mysql/conf.d /volumn/mysql/conf/conf.ddocker cp 容器id:/etc/mysql/.

2020-06-15 14:29:04 944

转载 Spring Boot 快速集成第三方登录功能

Spring Boot 快速集成第三方登录功能前言此 demo 主要演示 Spring Boot 项目如何使用史上最全的第三方登录工具 - JustAuth实现第三方登录,包括 QQ 登录、GitHub 登录、微信登录、谷歌登录、微软登录、小米登录、企业微信登录。通过justauth-spring-boot-starter快速集成,好嗨哟~JustAuth,如你所见...

2019-08-22 10:02:13 5221

原创 MySQL数据库中库、表名、字段的大小写问题

MySQL数据库中库、表名、字段的大小写问题原文出处: https://blog.csdn.net/andyliulin/article/details/83020934 在使用MySQL建库的过程中发现了一个问题,无论怎么创建库,创建出来的库名都是小写的。然后上网查了一下资料。 在MySQL中,数据库和表都是对应目录下的一个或多个文件。因此,操作系统的大小写是否敏感决定了数据...

2018-10-12 00:14:43 17925 1

原创 npm的镜像替换成淘宝

 1.得到原本的镜像地址npm get registry > https://registry.npmjs.org/设成淘宝的npm config set registry http://registry.npm.taobao.org/  2.换成原来的npm config set registry https://registry.npmjs.org/...

2018-08-29 22:57:18 774

原创 Java (Date)如何存取MySQL datetime类型

   1 在java中只有Date类型,这样数据存储到MySQL会出现问题,前台提交的数据,比如2018-03-20 17:30:59,后台用Date接受的时候,由于Date只精确到天,所以默认接收时间为2016-10-10 00:00:00,保存到mysql数据库之后,重新取出数据的时候又会发现,数据为2018-03-20 00:00:00.0,无缘无故在后面多了一个.0。 2 ...

2018-08-25 21:40:32 26295

原创 Swagger2 非全局、无需重复输入的Head参数(Token)配置

Swagger2 非全局、无需重复输入的Head参数(Token)配置 网络上关于Swagger2的教程多如牛毛,作为关于Swagger加入全局head参数(如token)的文章也很多。例如:Swagger2 添加HTTP head参数Swagger2 添加HTTP head参数,解决用户是token信息保留但上述方案存在2个不足之处:需要在每个接口下单独输入参数 全局配...

2018-08-25 11:21:09 1952

翻译 RESTful API 设计指南

 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTful架构》,探讨如何理解这个概念...

2018-08-20 20:54:02 266

翻译 Restful API开发利器——RestPack项目教程(统一api返回json格式)

Restful API开发利器——RestPack项目教程 目录项目背景 RestPack 简介 引入 RestPack 依赖 启用 RestPack @RestPackController 注解 RestPack 异常处理 日志输出 资源分享与技术交流项目背景在互联网、移动互联网、车联网、物联网繁荣的今天, 各种客户端设备层出不穷,为了能用同一套服务端程序处理各种客户...

2018-08-20 15:52:48 1353 1

原创 Spring 依赖注入:自动注入properties文件中的配置

Spring 依赖注入:自动注入properties文件中的配置在很多情况下我们需要在配置文件中配置一些属性,然后注入到bean中,Spring提供了org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer类,可以方便我们使用注解直接注入properties文件中的配置。下面我们看下具体如何操作:...

2018-08-09 11:56:05 15767

原创 Java中对List集合的常用操作

Java中对List集合的常用操作目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成一个新的list(截取集合);对比两个list中的所有元素;判断list是否为空;返回Iterator集合对象;将集合转换为字符串;将集合转换为数组;集合类型转换;去...

2018-07-13 16:31:25 4530

原创 Disconf实践指南:使用篇

Disconf实践指南:使用篇在上一篇文章Disconf实践指南:安装篇介绍了如何在本地搭建Disconf环境,下面我们介绍如何在项目中使用Disconf。由于某些功能特性对源码做了修改,所以在官方文档并没有提及。环境基于macOS Sirerra。Windows建议安装Linux虚拟机首先打开disconf控制台:http://localhost:8091,第一步:创建应用,awesome-pr...

2018-07-09 20:59:31 1646

原创 Disconf实践指南:安装篇

Disconf实践指南:安装篇Disconf是百度开源出来的一款基于Zookeeper的分布式配置管理软件。目前很多公司都在使用,包括滴滴、百度、网易、顺丰等公司。通过简单的界面操作就可以动态修改配置属性,还是很方便的。使用Disconf后发现的一大好处是省却应用很多配置,而且配置可以自动load,实时生效。Disconf优点总结如下:部署简单:同一个上线包,无须改动配置,即可在多个环境中上线 部...

2018-07-09 20:57:54 549

转载 分布式配置管理平台 - Disconf web管理端安装

1.环境配置配置java、maven环境,并安装mysql,reids,zookeeeper,Nginx2.下载disconf下载https://codeload.github.com/knightliao/disconf/zip/master解压:unzip disconf-master.zip3.编译打包创建目录mkdir /home/disconf/online-resourcesmkdir...

2018-07-04 22:31:13 201

转载 Spring boot Mybatis 整合(完整版) Intellij IDEA 中使用MyBatis-generator 自动生成MyBatis代码

Spring boot Mybatis 整合(完整版)Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码2017年08月16日 15:59:47阅读数:211979对Mybatis注解方式有兴趣的,可以查看我的另一篇:Spring boot Mybatis 整合(注解版) 注解方式更加简洁简单,极大程度的提高了开发速度。如果大家需要使用更高的版本比...

2018-07-03 11:51:37 6651

翻译 SpringBoot非官方教程 | 终章:文章汇总

springboot非官方教程,可能最接近于官方的一个教程,大多数案例都来自于官方文档,为了更好的理解,加入了个人的改造。码云下载:https://git.oschina.net/forezp/SpringBootLearning源码下载:https://github.com/forezp/SpringBootLearning,谢谢支持,记得star哦。欢迎关注:SpringCloud 系列教程入...

2018-07-02 22:57:08 373

转载 史上最简单的 Spring Cloud 教程(2018)

史上最简单的 SpringCloud 教程 | 终章转载请标明出处: http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客 错过了这一篇,你可能再也学不会 Sprin...2017-04-12 23:14 841955Spring Cloud Sleuth进阶实战为什么需要Spring Cloud Sleuth?微服务架构是...

2018-07-02 22:18:03 1002

转载 天天低头写代码,可你知道什么是代码级性能优化吗?(上)

服务器配置:4核CPU 8G内存 共4台MQ:RabbitMQ数据库:DB2SOA框架:公司内部封装的Dubbo缓存框架:Redis,Memcached统一配置管理系统:公司内部开发的系统单台40TPS,加到4台服务器能到60TPS,扩展性几乎没有。在实际生产环境中,经常出现数据库死锁导致整个服务中断不可用。数据库事务乱用,导致事务占用时间太长。在实际生产环境中,服务器经常出现内存溢出和CPU时间...

2018-07-02 22:11:15 748

原创 常见性能优化策略的总结

之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视。很多技术人员拿到一个性能优化的需求以后,言必称缓存、异步、JVM等。实际上,第一步就应该是分析相关的代码,找出相应的瓶颈,再来考虑具体的优化策略。有一些性能问题,完全是由于代码写的不合理,通过直接修改一下代码就能解决问题的,比如for循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等。数据库的调优,总的来说分为以下三部分:1.2....

2018-07-02 22:06:26 439

转载 支付平台架构设计评审核心要点与最佳实践

揭秘支付系统中数据库锁的应用实践。如何科学的设置线程池。缓存使用的最佳实践。数据库设计要点。一行代码引起的“血案”。幂等和防重。实现分布式任务调度的多种方法。揭秘支付系统中数据库锁的应用实践锁通常应用在多个线程对一个共享资源进行同时操作,用来保证操作的有序性和正确性的同步设施。在笔者看来,锁的本质其实是排队,不同的锁排队的空间和时间不同而已,例如,Java 的 Synchronized的锁是在应用...

2018-07-02 22:03:06 336

转载 Jersey框架一:Jersey RESTful WebService框架简介

Jersey框架一:Jersey RESTful WebService框架简介Jersey系列文章:Jersey框架一:Jersey RESTful WebService框架简介Jersey框架二:Jersey对JSON的支持Jersey框架三:Jersey对HTTPS的支持 开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具...

2018-07-02 22:00:21 376

原创 数据库分库分表思路

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

2018-07-02 21:56:44 280

原创 JAVA多线程实现异步调用

    在JAVA平台,实现异步调用的角色有如下三个角色:调用者、 提货单 、真实数据,一个调用者在调用耗时操作,不能立即返回数据时,先返回一个提货单,.然后在过一断时间后凭提货单来获取真正的数据.去蛋糕店买蛋糕,不需要等蛋糕做出来(假设现做要很长时间),只需要领个提货单就可以了(去干别的事情),等到蛋糕做好了,再拿提货单取蛋糕就可以了。package com.somnus.async; /***...

2018-07-02 18:09:07 673

原创 SpringMVC重要注解(四)@ModelAttribute

在 SpringMVC 的 Controller 中使用 @ModelAttribute 时,应用位置包括下面几种:应用在方法上。应用在方法的参数上。应用在方法上,并且方法也使用了@RequestMapping首先说明一下,被 @ModelAttribute 注解的方法会在Controller每个方法执行之前都执行,因此对于一个Controller中包含多个URL的时候,要谨慎使用。1) 使用 @...

2018-07-02 18:03:42 431

原创 java的单元测试和集成spring单元测试

java的单元测试和集成spring单元测试在我们编写项目过程中,经常会需要进行代码测试,那是不是在编写一个main方法之后,然后编写各种的测试代码。这样做,显然是不合适的也是很不专业的。那怎么办呢?今天我们来聊下junit(单元测试)。       为了后期测试基于spring的单元测试,我们直接新建spring工程。新建之后,我们先讲一般在java项目中怎么去做单元测试。我们先定义一个实体Us...

2018-06-29 17:05:59 30808 2

原创 使用idea搭建SSM框架

使用idea2017搭建SSM框架需要准备的环境:idea 2017.1jdk1.8Maven 3.3.9请提前将idea与Maven、jdk配置好,本次项目用的都是比较新的注:配置完ide红线报错没关系!可以run!步骤:一、首先使用idea新建一个Maven webapp项目点击Finish,第一次搭建可能会很慢,甚至可能需要VPN才能搭建成功二、搭建目录结构我这里列出的是搭建完了之后所有的目...

2018-06-28 23:26:40 289

原创 Java高并发解决方案

Java高并发解决方案对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值...

2018-06-28 23:23:22 581

原创 11 个简单的 Java 性能调优技巧

大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但是,这并不意味着如果你不具备这些知识,就不能做任何事情。这里有11个易于遵循的建议和最佳实践可以帮助你创建一个性能良好的应用程序。大部分建议是针对Java的。但也有若干建议是与语言无关的,可以应用于所有应用程序和编程语言。在讨论专门针对Java的性能调优技巧...

2018-06-28 23:20:24 164

原创 Spring Session 实现分布式会话管理

Spring Session 实现分布式会话管理 1、分布式会话管理是什么?在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据。通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效。因此打造一个高可用性的系统,必须将session管理从容器中独立出来。 2、分布式会话管理的解决方案选用实现方案有很多种,下面简单介绍下:  第一种是使用容器...

2018-06-28 23:17:56 3384

原创 使用idea2017搭建SSM框架

需要准备的环境:idea 2017.1jdk1.8Maven 3.3.9请提前将idea与Maven、jdk配置好,本次项目用的都是比较新的注:配置完ide红线报错没关系!可以run!步骤:一、首先使用idea新建一个Maven webapp项目点击Finish,第一次搭建可能会很慢,甚至可能需要VPN才能搭建成功二、搭建目录结构我这里列出的是搭建完了之后所有的目录和文件,诸位先把目录文件建起来,...

2018-06-28 22:14:44 252

原创 深入学习Redis(3):主从复制

前言在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化。在Redis的持久化中曾提到,Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份);而主从复制则侧重解决数据的多机热备。此外,主从复制还可以实现负载均衡和故障恢复。这篇文章中,将详细介绍Redis主从复制的方方面面,包括:如何使用主从...

2018-06-28 22:00:23 459

原创 深入学习Redis(2):持久化

前言在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案;在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时介绍持久化实现的一些原理细节及需要注意的问题。最后,介绍在实...

2018-06-28 21:55:22 192

easyui1.3整站Demo示例文件

easyui1.3 整站 Demo 示例文件 破解 免费

2012-10-23

空空如也

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

TA关注的人

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