自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 并发编程与高并发解决方案学习(目录)

目录     1.并发编程与高并发解决方案学习(导读) 2.并发编程与高并发解决方案学习  (并发编程初体验) 3.并发编程与高并发解决方案学习(并发与高并发基本概念) 4.并发编程与高并发解决方案学习  (CPU多级缓存和缓存一致性) 5.并发编程与高并发解决方案学习(CPU...

2018-04-03 13:16:47 1116 0

原创 Centos 7 安装Redis

采用直接从Yum源安装方式 yum install redis 启动redis systemctl start redis.service 设置redis开机启动 systemctl enable redis.service 设置redis密码 打开文件/etc/redis....

2020-05-28 18:32:47 24 0

原创 Centos 7 安装 JDK

准备阶段: .下载JDK ,访问Java官网,下载 jdk-8u251-linux-x64.tar.gz https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads 安装步骤 将JDK安装包jdk-8u2...

2020-05-28 18:28:26 23 0

原创 并发编程与高并发解决方案学习(线程安全性-可见性volatile)

一、导致共享变量在线程间不可见的原因 线程交叉执行 重排序结合线程交叉执行 共享变量更新后的值没有在工作内存与主内存间及时更新 二、可见性-Synchronized 线程解锁前,必须把共享变量的最新值刷新到主内存 线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主...

2019-11-17 15:50:42 297 0

转载 CentOs7.3用yum方式安装Nginx

安装版本:1.16.0 安装方式:yum 安装步骤: 第一步:添加yum源(该命令执行之后,会在/etc/yum.respos.d下面多出一个nginx.repo) rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-re...

2019-11-14 10:58:38 76 0

原创 nginx详解-动静分离

Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx处理静态页面, Tomcat 处理动态页面。动静分离从目前实现角度来讲大致分为两种,一种是纯粹把静态文件独立成单独的域名,放在...

2019-11-12 07:31:24 81 0

原创 nginx详解-nginx 配置实例-负载均衡

实现效果: 配置负载均衡 5.1 实验代码 1) 首先准备两个同时启动的 Tomcat 2) 在 nginx.conf 中进行配置 随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又...

2019-11-12 07:29:03 56 0

原创 nginx详解-nginx 配置实例-反向代理

反向代理实例一 实现效果:使用 nginx 反向代理,访问 www.123.com 直接跳转到 127.0.0.1:8080 实验代码 1) 启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面 2)通过修改本地 host 文件,将 www.123.com ...

2019-11-12 07:26:03 137 0

原创 nginx详解-nginx.conf 配置文件

nginx配置文件位置 nginx 安装目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件nginx.conf 也在其中,后续对 nginx 的使用基本上都是对此配置文件进行相应的修改 配置文件中有很多#, 开头的表示注释内容,我们去掉所有以 # 开头的段落,精简之后的内...

2019-11-12 07:20:59 157 0

原创 nginx详解-nginx 常用的命令和配置文件

nginx 常用的命令: 启动命令 在/usr/local/nginx/sbin 目录下执行 ./nginx 关闭命令 在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop 重新加载命令 在/usr/local/nginx/sbin 目录下执行...

2019-11-12 07:15:25 30 0

原创 nginx详解-安装

进入 nginx 官网,下载 http://nginx.org/ 安装 nginx 第一步, 安装 pcre wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz 解压文件,tar -...

2019-11-12 07:13:49 37 0

原创 nginx详解-入门

Nginx 的简介 1.1 Nginx 概述 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx网站用户有:百度、京东、...

2019-11-12 07:10:14 53 0

原创 跨域入门-Nginx解决跨域问题

通过Nginx解决跨域问题,请看如下: 1.修改系统host文件,添加被调用方的域名: 127.0.0.1 b.com 2.在nginx的conf目录下新建一个vhost目录,用来存放虚拟主机的配置文件 3.在conf/nginx.conf文件下面添加内容,告诉nginx载入vhost目...

2019-11-07 21:44:43 39 0

原创 跨域入门-带自定义头的跨域

关于Ajax带自定义头的跨域请求,请往下看: 模拟两种传递header自定义头的方式: $.ajax({ type:"get", url:base+"/getHeader", headers:{ "x-header1":...

2019-11-07 21:25:02 61 0

原创 跨域入门-带cookie的跨域

网络上关于跨域的请求都是把Access-Control-Allow-Origin:*,但是这是否适合所有的场景呢? package vip.fkandy; import javax.servlet.*; import javax.servlet.http.HttpServletRespons...

2019-11-07 20:50:46 34 0

原创 Maven教程

https://www.w3cschool.cn/maven/

2019-10-20 09:49:50 39 0

原创 SpringBoot Quartz使用

Pom中引用quartz <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" ...

2019-10-20 09:12:52 137 0

转载 转载《Apache Velocity用户指南》官方文档

Quick Start 本项目是 Apache Velocity官方文档的中文翻译版,Velocity类似与JSP,是一种基于Java的模板引擎。它可以在web页面中引用Java代码中定义的数据和对象,而Velocity的作用就是把Web视图和java代码进行组装在一起。本次翻译主要针对对Vel...

2019-10-18 10:24:14 119 0

转载 gitlab自动调配 git-runner

配置git runner 想法: 其实gitlab-runner 和 jenkins 是一样的作用,那么它也只是一个单独的 用来 build 项目的服务器,所以为了操作方便就不使用Docker 镜像来安装 gitlab-runner 的工作能力 它只是用来执行脚本、调度、协调的工作能力,类似安装环...

2019-10-13 10:49:56 50 0

转载 CentOS-7安装Gitlib

Gitlab官网 Gitlab 运行环境 系统环境 CentOS-7 安装依赖: yum install -y curl policycoreutils-python openssh-server systemctl enable sshd systemctl start sshd fi...

2019-10-13 08:00:48 25 0

转载 聊聊分布式事务,再说说解决方案

前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行CAP的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集成中的一个技术难点,也是每一...

2019-10-11 14:36:40 58 0

转载 高性能分布式锁-redisson的使用

1,概述:在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多个机器上,简单的同步加锁是无法实现的,给数据库加锁的话,对于高并发,1000/s的并发,数据库可能...

2019-10-11 14:29:34 23 0

转载 分布式锁的实现方式

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足...

2019-10-11 13:50:56 31 0

转载 分布式系统session一致性的问题

session的概念 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web...

2019-10-11 13:24:28 35 0

转载 服务端高并发分布式架构演进之路

1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最...

2019-10-07 19:41:51 61 0

转载 QPS、TPS、PV、UV、GMV、IP、RPS

关于 QPS、TPS、PV、UV、GMV、IP、RPS 这些词语,看起来好像挺专业。但实际上,我认为是这是每个程序员必懂的知识点了,你可以搞不懂它们怎么计算的,但是你最少要知道它们分别代表什么意思吧?! QPS QPS:全名 Queries Per Second,意思是“每秒查询率”,是一...

2019-10-07 19:36:51 21 0

转载 Tomcat的最大并发数

日常应用中,单台Tomcat能支持最大的并发数是多少? 作为一个有经验的Java Web开发人员对这个问题应该有大概的印象,并会让问题再具体点,比如Tomcat版本,运行模式,并发请求允许的最大响应时间等,然后针对其中某个点搜索答案,而不应该低效的去直接搜这个答案。并且如果你没相关知识,很容易被...

2019-10-07 19:23:50 26 0

转载 金额要用BigDecimal,原理分析

金额计算不能用doube!!!! 金额计算必须用BigDecimal,下面对比一下用double 跟BigDecimal的区别。先看一个小例子: 请看题: 示例1 问, 结果是多少? 0.01? No! 结果是0.009999999999999998! 为什么会这样呢? 因为flo...

2019-09-30 11:07:08 954 0

转载 HTML5 WebSocket

HTML5 WebSocket WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手...

2019-09-19 20:29:50 59 0

转载 公钥与私钥,HTTPS详解

一、公钥与私钥原理 1)鲍勃有两把钥匙,一把是公钥,另一把是私钥 2)鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3)苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 4)鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私...

2019-09-19 20:05:54 80 0

转载 18个最可能限制系统扩展能力的瓶颈,警惕!!!

警惕系统瓶颈!!! 1. 二阶提交 通常当数据库中的数据有变化时,它会被写入本地服务器的内存和磁盘中。但是,当数据库是集群或者分布式系统的话,一个提交不仅会发生在本地,还会发生在远程。二阶提交意味着必须等待远程服务确认。然后由于网络和其他的延迟问题,这样的提交相比单机数据库的提交要慢很...

2019-09-18 11:56:16 176 0

转载 SpringBoot JDBC Mysql 时区报错 serverTimezone解决方案分析

全球24个时区的划分 相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的...

2019-09-16 15:44:05 596 0

原创 SpringBoot更换WEB容器

Spring boot web默认使用tomcat容器,可以更换为jetty 排除spring-boot-starter-tomcat <dependency> <groupId>org.springframework.boot</groupId> ...

2019-09-05 22:15:35 212 0

原创 Spring Boot 异常处理

1.去掉Spring Boot默认的异常处理逻辑exclude=ErrorMvcAutoConfiguration.class package vip.fkandy; import org.springframework.boot.SpringApplication; import org....

2019-09-05 21:58:06 35 0

原创 Spring Boot 拦截器

写一个拦截器实现HandlerInterceptor接口 preHandle Controller方法执行前调用 postHandle Controller方法执行后,并且页面渲染之前调用 afterCompletion 页面渲染之后调用,一般用于清理操作 package vip.fkan...

2019-09-05 21:48:18 31 0

原创 在Spirng Boot中使用freemarker

1.pom文件添加spring-boot-starter-freemarker依赖、 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo...

2019-09-05 21:46:03 33 0

原创 在Spirng Boot中使用JSP

1.需要引入tomcat-embed-jasper依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...

2019-09-05 21:44:08 34 0

原创 SpringBoot访问Listener

第一种方式 实现ServletContextListener接口,并使用@WebListener注解标注 在入口添加@ServletComponentScan注解 package vip.fkandy.demo1; import javax.servlet.ServletContextEv...

2019-09-05 21:30:45 28 0

原创 SpringBoot访问filter

SpringBoot访问Filter有两种方式 第一种方式 实现Filter接口,并听过@WebFilter(value = "/*")注解标注 在入口添加@ServletComponentScan注解 package vip.fkandy.demo1; import...

2019-09-05 21:23:35 28 0

原创 SpringBoot访问Servlet

SpringBoot访问servlet API方式有两种: 第一种方式 编写Servlet,然后在上面加相应注解@WebServlet(value = "/user.do") 在入口添加@ServletComponentScan注解 package vip.fkandy...

2019-09-05 21:04:51 246 0

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