- 博客(322)
- 资源 (12)
- 收藏
- 关注
转载 城市级别分布式系统架构设计演进(同城灾备、同城双活、两地三中心、异地双活、异地多活)
城市级别分布式系统架构设计演进(同城灾备、同城双活、两地三中心、异地双活、异地多活)
2024-07-10 16:42:37
2061
原创 Spring的Controller是单例还是多例,如何保证线程安全的。
答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。
2024-06-07 10:04:57
4200
1
原创 限流算法及接口实现
限流是一种通过控制请求的速率或数量来保护系统免受过载的技术。流控的精髓是限制单位时间内的请求量,最大程度保障系统的可靠性及可用性。固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是一种最简单的限流算法,其原理是在固定时间窗口(单位时间)内限制请求的数量。为了解决临界突变问题,可以引入滑动窗口。即:把大的时间窗口拆分成若干粒度更细的子窗口,每个子窗口独立统计,按子窗口时间滑动,统一限流。
2024-02-01 16:48:32
7708
1
原创 java.nio.channels.FileChannel.map读取超过2G文件的解决方案
MappedByteBuffer、FileChannel读取超大文件
2023-04-28 15:52:46
11574
2
原创 springboot配置ssl访问https
https = http + ssl,SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议分为两层,SSL记录协议建立在TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持。SSL握手协议建立在SSL记录协议之上,用户实际数据传输开始前进行身份验证、协商加密算法、交换加密秘钥。
2023-02-15 16:00:51
10452
原创 Redisson的分布式锁
在分布式系统中,我们会用到各种锁,之前我们接触过的本地锁比如:synchronized、JUC里的Lock、ReadWriteLock、ReentrantLock、闭锁(CountDownLatch)、信号量(Semaphore)等,这些锁都只能锁本地服务,在分布式系统场景下是锁不住所有服务的。如有要使用本地锁实现锁住所有服务,需要自己来实现分布式锁的逻辑(结合Redis);本篇文章介绍Redisson,一个现成的分布式锁框架。首先我们在引入Redis依赖的需要排除Redis默认的底层lettuce-cor
2022-07-10 16:21:23
10542
原创 JAVA线程池:ScheduledThreadPoolExecutor
前言自JDK1.5开始,JDK提供了ScheduledThreadPoolExecutor类来支持周期性任务的调度。在这之前的实现需要依靠Timer和TimerTask或者其它第三方工具来完成。但Timer有不少的缺陷:Timer是单线程模式; 如果在执行任务期间某个TimerTask耗时较久,那么就会影响其它任务的调度; Timer的任务调度是基于绝对时间的,对系统时间敏感; Timer不会捕获执行TimerTask时所抛出的异常,由于Timer是单线程,所以一旦出现异常,则线程就会终止,其
2021-08-05 11:18:07
11385
转载 JAVA线程池ThreadPoolExecutor类使用详解
在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()等创建线程池
2021-08-03 11:17:30
10311
原创 CentOS7安装docker及基本配置
CentOS7安装docker一、前提条件:1、CentOS7安装好;2、网络配置保证可以上外网;二、安装docker步骤:1、卸载之前的docker版本,命令为:sudo yum remove docker \ docker-client \ docker-client-latest \ ...
2020-04-06 18:20:33
13594
转载 阿里撤退百度放弃,应用商店十年神话终落幕
来源:中国企业家杂志应用商店曾经被BAT认为是移动互联网时代“命运的喉咙”, 但在小程序和品牌手机大厂的夹击之下,全线溃败。5G时代,它们还有机会吗?“百度到今天为止,完成移动互联网转型了么”?2月底,当百度宣布下线91和安卓市场后,一位机构投资人在采访临近尾声时反问《中国企业家》。应用商店曾经寄托着百度、阿里和腾讯在移动互联网时代的宏大野心,也是BAT三巨头在移动转型期的首次正面...
2020-03-19 10:31:31
11469
转载 DNS配置区域与转发器
https://jingyan.baidu.com/article/90895e0f0025c864ed6b0b45.html
2020-01-15 12:02:30
11188
转载 中台方法论及案例收集
这两年可以讲基本翻遍互联网上各种主流的中台资料,有很多好的文章或书籍,我略作整理归纳,便于查阅,未来会持续更新。阿里巴巴中台缘起阿里,也是落地最好的案例,阿里系出品相关的文章必须首推,尤其是阿里的这本中台战略思想和架构实战这本书,系统的总结了中台核心理念。《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》阿里研究员玄难:如何做电商业务中台Thoughtworks...
2019-11-28 14:33:16
540
转载 研发经理职责总结
研发经理做为开发团队与项目经理或产品经理之间的桥梁,对于项目的管理有着非常重要的作用。一个好的研发经理,能够让开发任务有序进行,为开发团队屏蔽外界干扰,同时也能有效提高团队的战斗力。下面我总结一些研发经理的工作职责,供大家参考:一、沟通1、沟通项目需求、产品需求,评审需求的合理性、可行性等,制定相关开发准入规则。2、及时沟通处理团队负面情绪,不要让负面情绪...
2019-10-31 14:46:42
11722
转载 《Spring设计思想-事务篇》-数据库隔离级别
0. 前言数据库的事务隔离级别是关系型数据库事务的理论基础,本文将从资源互斥的角度从上到下依次进行阐释。1.数据库的事务隔离级别1.1 事务的隔离级别,隔离的是什么?在阐述数据库事务的隔离级别时,我们首先应当明确一下,这个隔离,到底隔离的是什么。什么是事务?从数据库的事务定义来看,其具备ACID特性(即Atomic,原子性,Consistency一致性,Isolatio...
2019-09-23 15:33:19
10170
原创 SpringBoot+druid同时连接不同类型数据库及PageHelper支持多类型库查询分页功能
SpringBoot+druid同时连接不同类型数据库及PageHelper支持多类型库查询分页功能例子及场景:最近使用SpringBoot+durid需要连接多个数据源:同时支持MySQL、Oracle,遇到问题及处理方法总结如下:一、SpringBoot+druid支持同时连接MySQL和Oraclepom.xml配置:<?xml version="1.0" en...
2019-08-21 16:39:43
16890
2
原创 SpringBoot+aop实现多数据源动态切换
SpringBoot+aop实现多数据源动态切换一、多数据源动态切换原理项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此;又例如:读写分离数据库配置的系统。1、多数据源设置:1)静态数据源切换:一般情况下,我们可以配置多个数据源,然后为每个数据源写一套对应的sessionFactory和dao层代码(以hibernate为例,...
2019-08-10 19:05:07
13176
3
原创 exp/imp报错:ORA-12154: TNS: 无法解析指定的连接标识符
客户端可以登录,应用服务也可以访问数据库,但导入导出报如下错误:dos下面执行 exp/imp 导入导出数据库 报错:ORA-12154: TNS: 无法解析指定的连接标识符解决方式:1、先查看实例名称和ORACLE_SID,注册表里ORACLE_SID是否与数据库实例名一致。2、当用sqlplus user/password@sid 登录,一样提示: 无法解析指定...
2019-07-11 16:40:44
12348
原创 pagehelper分页中pageSize等于total的问题【结合源码分析】
pagehelper分页中pageSize等于total的问题【结合源码分析】在使用MyBatis分页插件PageHelper时,在编码时不注意就会调入这个坑;在使用PageHelper进行数据分页时,PageHelper.startPage()必须放在数据集查询的前面,这样查询出来的分页参数信息才能正确被赋值,如果该初始化参数方法放在查询数据集后面,将会导致如下结果:pageS...
2019-07-04 15:55:10
18131
1
转载 最受欢迎的14款渗透测试工具
就像任何事物都有两面,黑客既可以进行恶意的攻击破坏,同样也可以通过利用自己的技术去找到系统的漏洞、缺陷等,然后通知相关企业进行修复已获得更好的防护。但无论是出于何种目的,对于黑客们而言,工具和脚本的使用都必不可少。所谓工欲善其事,必先利其器,本文将为大家整理介绍非常受欢迎的一些黑客工具,供大家挑选使用。ANGRY IP SCANNER黑客可以通过该工具使用人们的IP地址来对其进行跟踪并...
2019-06-28 11:17:18
32810
转载 CentOS下安装MySQL
网上有很好的文章,转发留存一份,感谢作者的分享。 试着在腾讯云服务器上部署web应用,就想着先搭建一下服务器环境,操作系统选的是centos7,在安装好jdk,tomcat后测试可以部署web应用就准备再安装一个mysql数据库,之前试过好几种方式都是以初始密码找不到告终,这次就又重新百度安装方式。 据说centos7没有mysql 的yum源,于是就直接从网上...
2019-05-09 17:42:10
205
原创 CentOS7下安装JDK详细过程
一、安装前提条件1、使用xshell远程连接工具连接到Linux服务(可选项)。2、使用root用户,因为CentOS7自带的JDK文件需要完整删除,需要root权限。3、准备WinSCP工具,需要将文件从本机windows拷贝到Linux服务器。二、卸载系统自带的OpenJDK以及相关的java文件1、在命令窗口键入:java -version可以看到系...
2019-05-09 16:53:05
13770
转载 软件工程文档
【前言】学习文档的时候先看了林锐老师的大学十年,软件工程思想的部分内同,说中作者说是自己是被计算机耽误的诗人,老师确实把个很有意思的诗人,书中写的内容一点不乏味,看的时候觉得软件很有意思,改变了之前我对软件编程的乏味想法,只看了前三章,里边知识和故事一起并存,觉得软件就像是活了起来一样,软件工程思想举例:林锐博士的书中将系统设计分为以下四方面内容:体系结构设计、模块设计、数据结构与算法设...
2019-05-02 16:10:42
393
转载 处理一份内心煎熬的工作有两种方法,只有一种是正确的
处理一份内心煎熬的工作有两种方法,只有一种是正确的你知道他们说什么。假如你有个工作,意味着你只是破产了。你在用时间换钱,你在为别人工作。你读过的博客告诉你要辞职,创业才是未来的潮流。社会把工作变成了敌人。我们抱怨我们的工作,指责我们的工作是问题所在,并且迫切希望摆脱工作,以减轻我们的焦虑。我有个消息给你,你的工作不是问题…你才是。1 你对工作的态度是一种选择...
2019-04-18 11:10:47
369
转载 IDEA从git上clone项目
1. 从https://git-scm.com/downloads上下载对应系统的git安装包。2. 打开IDEA中setting...File->Settings3. 在Version Control中找到Git,并配置git.exe路径(Git安装目录\bin\git.exe)。4. 从Git上Clone项目到本地File->New->...
2019-02-28 11:08:57
8884
原创 Java8新特性之Stream(学习笔记)
一、Stream API 的操作步骤:1、创建 Stream2、中间操作3、终止操作(终端操作)二、示例1、几种Stream创建的示例代码: @Test public void test1(){ //1. Collection 提供了两个方法 stream() 与 parallelStream() List<String> list =...
2019-02-25 21:28:22
221
转载 Java8新特性之四大内置核心函数式接口
Java8新特性之四大内置核心函数式接口 网上已经有人总结的很好了,这里也转载整理留存一份。 java8已经为我们定义好了4类内置函数式接口,这4类接口其实已经可以解决我们开发过程中绝大部分的问题,只有一小部分比较特殊得情况需要我们自己去定义函数式接口,本文就简单来学习一下java8内置得4大核心函数式接口。一、Consume...
2019-02-25 13:04:26
580
原创 Java8新特性之Lambda表达式
Lambda基础语法:一、Lambda 表达式的基础语法:Java8中引入了一个新的操作符 "->" 该操作符称为箭头操作符或 Lambda 操作符 箭头操作符将 Lambda 表达式拆分成两部分: 左侧:Lambda 表达式的参数列表 右侧:Lambda 表达式中所需执行的功能, 即 Lambda 体 ...
2019-02-21 22:38:56
214
转载 mysql-5.7.23-winx64 解压版安装教程(详细)
一、下载MySQL安装包:下载地址。二、解压安装包: D:\developers\javatools\mysql-5.7.24-winx64。三、把bin目录配置到环境变量path的后面:1、新建MYSQL_HOME变量,并配置值为: D:\workSofte\MySql\mysql-5.7.23-winx64。2、编辑path系统变量,将%MYSQL_HOME%\bin添...
2019-01-17 10:28:04
1562
转载 Oracle 表连接方式(内连接/外连接/自连接) 详解
Oracle 表之间的连接分为三种:1. 内连接(自然连接)2. 外连接(1)左外连接 (左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制)3. 自连接(同一张表内的连接)SQL的标准语法:select table1.column,table2.columnfrom table1 [inner | left | right | f...
2019-01-14 13:53:00
425
原创 Windows下Redis的安装及配置(个人实践总结版)
Windows下Redis的安装及配置(个人实践总结版) 目录前言Redis服务的下载Redis服务的安装Redis服务的启动Redis设置成Windows下的服务Redis的连接前言Redis的安装及配置网上也有很多文章介绍,这里是本人在windows下的实践结果,简单记录下整个过程。 Redis服务的下载1、获取Redis的安装包,Gi...
2019-01-11 12:27:20
11697
原创 SpringCloud微服务开发-Eureka集群配置
SpringCloud微服务开发-Eureka集群配置 Eureka集群图例Eureka集群配置例子如下:以上图为例,在我们的Eureka服务器里面会启动两个实例,这两个实例会相互注册。然后服务提供者也会启动两个实例,这两个实例都会注册到我们服务器的两个实例,像图中那样一个服务提供者实例分别向两个服务器实例注册;服务调用者也会注册到两个服务器实例上面。Eureka服务集...
2018-12-05 14:45:14
1349
原创 EurekaServer服务注册中心建立及微服务注册进Eureka服务
EurekaServer服务注册中心建立及微服务注册进Eureka服务 目录一、Eureka简介二、EurekaServer的建立三、将微服务注册到Eureka服务中心一、Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡...
2018-12-01 15:07:10
3563
转载 SpringCloud分布式开发五大神兽
SpringCloud分布式开发五大神兽 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config Eureka一个RESTful服务,...
2018-11-27 13:36:26
469
原创 手机扫一扫登录原理
手机扫一扫登录服务器生成uuid和uuid为内容的二维码,同时生成一个全局的hashMap,key为uuid,value为登录信息,现在为空。浏览器得到服务器传过来的uuid和二维码的同时发起轮询操作,问服务器是否有手机扫描了这个二维码。手机端扫描二维码来得到uuid,通过uuid来识别扫描的是哪一个浏览器的二维码。手机端拿到uuid,放服务器发送一个请求同时携带登录信息,约定好...
2018-09-11 10:01:22
13484
原创 ORACEL数据ORA-00119及ORA-00132问题解决方案
ORACEL数据ORA-00119及ORA-00132问题解决方案 前言 前阵子数据库遇到问题,导致部署上去的工程启动连接不上数据库,客户端报错连接没监听 及 ORA-28547:连接服务器失败,可能是Oracle Net管理错误等等,其实这些都是表面粗略抛出的问题,当时折腾了好久还请了公司DBA后面才把事情搞定。今天有幸又遇到这个问题,加上...
2018-07-31 11:14:40
10471
原创 bootstrap 三级联动&四级联动
bootstrap 三级联动&四级联动 三级联动在日常开发中经常用到,现在自己亲自作了一个,四级联动的效果,前端后端代码如下。前端代码如下:<!DOCTYPE html><html lang="zh" xmlns:th="http://www.thymeleaf.org"><meta chars...
2018-06-25 18:47:11
11530
转载 状态同步:是推或是拉情景分析
状态同步:是推或是拉情景分析任何脱离业务的架构设计都是耍流氓。 状态同步,有好友状态的同步,有群友状态的同步,有的需要实时同步,有的能够容忍延时。结合具体场景来看下,状态同步,究竟是推还是拉。用户的在线状态,分为客户端状态(端),服务端状态(云)两种形态。 什么是服务端状态?服务端状态,主要分为在线online和离线offline,不同的...
2018-05-18 19:32:30
342
Spring4+SpringMVC4+Hibernate4整合源码
2016-09-22
Java设计模式
2015-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人