3 波波烤鸭

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 832

细说SpringBoot的自动装配原理

1.什么是SpringBoot?  对于spring框架,我们接触得比较多的应该是spring mvc、和spring。而spring的核心在于IOC(控制反转对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系)和DI(依赖注入IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了

2020-07-02 15:37:51

Nginx高可用的配置-Keepalived

Nginx高可用  为什么需要高可用配置单个Nginx负载均衡整个系统,如果nginx挂了,那么整个系统都将瘫痪,这时我们就需要保证及时1个Nginx挂了,整个系统也是可用的。  这时我们就需要实现Nginx的高可用,nginx的高可用需要配合keepalived一起实现。准备工作1.两个nginx服务  部署两个Linux节点,ip分别为 192.168.12.120和198.168.12.121,分别启动nginx2.两个keepalived服务1).yum命令安装keepali

2020-06-19 02:59:45

Nginx防盗链的配置

Nginx防盗链的配置  通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子  首先我们没有配置防盗链的情况下,放开静态资源你的访问。我们来看看效果location ~* .*\.(gif|jpg|ico|png|css|svg|js)$ { root /usr/local/nginx/static;}浏览器正常访问通过curl来模拟其他访问源访问curl --referer http://baidu.com -I http://192.168.12.

2020-06-19 02:53:27

一篇文章让你搞懂如何通过Nginx来解决跨域问题

Nginx跨域实现  首先大家要搞清楚什么是跨域,为什么会有跨域情况的出现。哪些情况属于跨域?跨域:由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容注:同源策略,单说来就是同协议,同域名,同端口URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/a.jshttp://www.a.com/script/b.js 同一域名下不同文件夹 允许http:

2020-06-19 02:36:55

Nginx的优化配置

  Nginx相关的内容有点延迟,趁着今天有空就给大家整理完,本篇文章来给大家把Nginx我们在工作中常用的配置来给大家分享下,希望能对大家有所帮助。Nginx的优化配置全局配置选项设置user root root;默认用户是nobody,如果nginx需要访问某些比如root类权限的文件,会提示403错误,修改这个可以通过root去访问worker_processes 2;worker_cpu_affinity 01 10nginx默认是没有开启利用多核cpu的

2020-06-19 02:17:02

给大伙来梳理下Java中的各种锁的分类

  大伙在面试的时候应该会经常碰到线程 并发方面的问题,而且也会问到你各种分布式锁的概念,本文就给大家整理了下各种锁的分类,希望对你有所帮助。锁的分类  我们先总体的来看看有哪些具体的分类序号分类1乐观锁/悲观锁2独享锁/共享锁3互斥锁/读写锁4可重入锁5公平锁/非公平锁6分段锁7偏向锁/轻量级锁/重量级锁8自旋锁一、乐观锁/悲观锁  注意,乐观锁与悲观锁并不是具体的两种锁的实现,而一种设计思想。乐观锁  顾名

2020-06-12 18:27:08

AQS源码分析看这一篇就够了

  好了,我们来开始今天的内容,首先我们来看下AQS是什么,全称是AbstractQueuedSynchronizer 翻译过来就是【抽象队列同步】对吧。通过名字我们也能看出这是个抽象类而且里面定义了很多的方法  里面这么多方法,咱们当然不是一个个去翻。里面还有很多的抽象方法,咱们还得找它的实现多麻烦对不对。所以我们换个方式来探索。场景模拟  我们先来看下这样一个场景  在这里我们有一个能被多个线程共享操作的资源,在这个场景中应该能看出我们的数据是不安全的,因为我们并不能保证我们的操作是原

2020-05-29 22:26:28

Nginx-详解其原理

  前面介绍了很多Nginx实战方面的内容,本文我们来介绍下Nginx的原理。Nginx进程模型分析  在介绍Nginx的进程模型之前我们先来给大家解释下一些常见的名词,这能辅助我们更好的了解Nginx的进程模型。作为Web服务器,设计的初衷就是为了能够处理更多的客户端的请求,一般来说,完成并行处理请求工作有三种方式可以选择,多进程、多线程、异步方式。多进程方式  服务器每接收到一个客户端请求,就会由主进程生成一个子进程出来和该请求建立连接进行交互,直到连接断开以后子进程也就结束了  优点在于各个

2020-05-22 11:07:07

Nginx实战操作-动静分离

  本文我们继续来介绍nginx的实际操作,本文来介绍下Nginx的动静分离的实现。动静分离Nginx动静分离实战动静分离案例1.nginx目录下创建static文件夹,放入图片或者js文件2.利用前面的8081服务作为我们的动态资源服务3.Nginx中配置动静分离server{ listen 80; server_name localhost; location / { proxy_pass http://192.168.12.1; proxy

2020-05-22 10:55:25

Nginx实战应用-负载均衡

  本文我们继续来介绍nginx的实际操作,本文来介绍下Nginx的负载均衡的实现。负载均衡  大家看看上面这个负载均衡的结构图,大家会发现其实和我们上节课讲的反向代理很像是不是?真实服务器如果有多个是不是就是我们上面的结构图了呀?所以什么事负载均衡呢?其实就是在反向代理的基础上通过各种负载策略将用户的请求转发到对应的真实服务上。网络负载均衡的大致原理是利用一定的分配策略将网络负载平衡地分摊到网络集群的各个操作单元上,使得单个重负载任务能够分担到多个单元上并行处理,使得大量并发访问或数据流量分担到

2020-05-22 10:44:41

Nginx实战操作-反向代理

  本文我们来给大家介绍下Nginx的反向代理的实现。反向代理结构图反向代理的核心是不想将我们内部的服务直接暴露给客户端。Nginx可以作为我们反向代理服务器使用,具体怎么操作呢?其实nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。Nginx反向代理实战1.创建一个web服务  你可以直接启动一个Tomcat服务,放置简单的jsp文件,也可以通过开发工具启动一个服务,我们为了操作代码方便就通过IDE创建一个简单的web服

2020-05-22 10:35:12

Nginx详解Location匹配规则

  本文我们来给大家详细介绍下Nginx中的核心配置文件中的Location匹配规则。  location会尝试根据用户请求中的URI来匹配上面的/uri表达式,如果可以匹配,就选择location{}块中的配置来处理用户请求。当然,匹配方式是多样的,下面介绍location的匹配规则。语法:location [=|~|~*] /uri/ { … }~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写= #进行普通字符精确匹

2020-05-20 11:55:31

Nginx核心配置文件介绍

  本文我们来介绍下Nginx的核心配置文件nginx.confNginx的核心配置文件Nginx.conf的位置: /usr/local/nginx/conf/nginx.conf  默认的Nginx服务器配置文件都存放在安装目录的conf中,主要的配置文件名为nginx.conf.  Nginx的核心模块有是Main和Events,还包括Http模块、邮件模块、还可以支持第三方模块等注意:1.每行配置的结尾需要加上分号2.如果配置项值中包括语法符号,比如空格符,那么需要使用单引号或双引

2020-05-20 10:27:38

Nginx超详细的常用操作命令

  本文我们来介绍下Nginx中的常用操作命令。服务启动命令-h help命令可以查看帮助信息默认启动方式  直接执行Nginx的二进制文件即可/usr/local/nginx/sbin/nginx该方式默认会加载 /usr/local/conf/nginx.conf 配置文件指定配置文件也可以在启动的时候指定要加载的配置文件 -c/usr/local/nginx/sbin/nginx -c conf/nginx.conf当然我们在启动的时候也可以指定pid的存储位置/usr/l

2020-05-20 10:12:48

Nginx超详细的常用两种安装方式

  最近在整理Nginx相关的内容,所以打算记录下来分享给大家,感兴趣的小伙伴可以看看。首先我们在Linux上面将Nginx安装成功下,安装的方式有多种,我们在此处给大家介绍两种,一种是官方指引的安装,一种是安装特定版本第一种安装方式  官方指引安装的方式注意:安装完成:启动:直接输入 nginx 即可浏览器中访问测试:默认端口80这样就安装成功了,那么nginx安装的相关文件放置在哪了呢?比如 nginx.conf配置文件以及对于的启动文件在哪儿呢?文件目录

2020-05-20 09:50:57

java面试题:谈谈你对volatile的理解

  最近打算整理下Java面试中频率比较高,相对比较难的一些面试题,感兴趣的小伙伴可以关注下。Volatile关键字  volatile是Java虚拟机提供的轻量级的同步机制.何为轻量级呢,这要相对于synchronized来说。Volatile有如下三个特点。volatile保证可见性不支持原子性禁止指令重排序  要搞清楚上面列举的名词可见性 原子性 指令重排的含义我们需要首先弄清楚JM...

2020-04-14 20:23:48

Netty编解码之ProtoBuf案例二

  前面我们介绍了Protobuf的基本使用,但是我们是一个POJO对象创建一个proto文件,那么在实际环境中将要创建多个文件,会非常的不方便,本文我们来看看怎么根据类型来动态处理Protobuf案例二proto文件  在proto文件中我们通过message来管理类型,具体如下syntax = "proto3";option optimize_for = SPEED; // 加快解析...

2020-01-01 20:42:02

Netty编解码方案之Protobuf介绍

  本文我们来给大家介绍下Netty中对传输数据编解码的解决方案ProtoBufProtobuf介绍1. Netty本身的编码解码的机制和问题分析Netty 自身提供了一些 codec(编解码器)Netty 提供的编码器StringEncoder,对字符串数据进行编码ObjectEncoder,对 Java 对象进行编码…Netty 提供的解码器StringDecoder, 对字...

2019-12-31 18:08:40

Netty案例介绍(websocket服务)

  本文我们来实现一个基于WebSocket协议的案例。WebSocket案例1.需求分析  Http协议是无状态的, 浏览器和服务器间的请求响应一次,下一次会重新创建连接.所有在有些情况下并不是太适用。这时websocket就是我们的一种实现方案,具体的websocket的内容网上很多,自行查阅哦,本文主要是介绍基于netty如何实现websocket通信。要求:实现基于webSoc...

2019-12-30 23:13:04

Netty案例介绍-群聊案例实现

  前面介绍了基于Netty的Http服务,本文我们来通过Netty来实现群聊案例。群聊案例1.案例需求编写一个 Netty 群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)实现多人群聊服务器端:可以监测用户上线,离线,并实现消息转发功能客户端:通过channel 可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(有服务器转发得到)目的:进一步理解Nett...

2019-12-29 15:29:57

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户