自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Nginx入门到实战(2)场景实现篇

一、静态资源WEB服务1.静态资源类型非服务器动态运行生成的文件,换句话说,就是可以直接在服务器上找到对应文件的请求浏览器端渲染:HTML,CSS,JS 图片:JPEG,GIF,PNG 视频:FLV,MPEG 文件:TXT,任意下载文件2.静态资源服务场景-CDN什么是CDN?例如一个北京用户要请求一个文件,而文件放在的新疆的资源存储中心,如果直接请求新疆距离太远,延迟久。使用nginx静态资源回源,分发给北京的资源存储中心,让用户请求的动态定位到北京的资源存储中心请求,实现传输延迟

2022-01-21 14:30:00 107

原创 Nginx入门到实战(1)基础篇

一、环境服务器版本:CentOS 7.2为了保证学习阶段不遇到奇怪的事情,请保证以下四点(大神选择性无视)确认系统网络 确认yum可用 确认关闭iptables 确认停用selinux#查看iptables状态systemctl status firewalld.service#关闭防火墙(临时关闭)systemctl stop firewalld.service#查看SELinux状态 getenforce#临时关闭SELinux setenforce 0安装一些系

2022-01-21 09:55:25 145

原创 PowerMock 教程(配合 Jacoco)

是我在使用 Powermock 中逐渐归纳的一些使用方法、遇到的坑、以及不同场景的最佳实践。文章没有对 PowerMock 这个框架做非常详细的介绍,但已经足够使用了。缺点是没有那种很长很全面的案例,因为我不想让文章看起来太长太复杂。但全部读完再动手实践一下,应该能应对 99% 的场景了。PowerMock 使用方法一、PowerMock 介绍Mockito 与 PowerMock 都是 Java 流行的 Mock 框架,使用Mock技术能让我们隔离外部依赖以便对我们自己的业务逻辑代码进行单元测

2022-01-20 15:11:31 5214 2

原创 PyCharm2021安装教程

1、进入官网PyCharm的下载地址:链接: Download PyCharm: Python IDE for Professional Developers by JetBrains2、professional表示专业版,community是社区版,推荐安装社区版,因为是免费使用的,我选择的是社区版,下载文件的储存位置出现pycharm-community-版本号。3、点击安装,点击Next。,修改安装路径,建议安装C盘以外位置,修改好以后,4、建议不选择.py选项,这是关联文件.

2021-12-08 11:01:06 4571

原创 Python入门 Windows安装 以及配置环境变量

目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于2.x版官方只维护到2020年,所以以3.x版作为示例,但是2.x版与3.x版安装方法及环境变量配置的方法是一模一样的,所以请放心。下载 Python 安装包进入Python官网www.python.org,在“Downloads”下拉菜单中的右半部分直接点击python3.10.1版本即可下载,它会自动下载64位的。由于现在3.x版本已经很普及,建议用最新版本3.10.1。如果想下载其他版本的(比如2.7.

2021-12-08 10:18:09 1082

原创 数据结构-链表(Linked List)之单向链表,以及应用实例

链表(Linked List)介绍链表是有序的列表链表是以节点的方式来存储,是链式存储每个节点包含 data 域, next 域:指向下一个节点.如图:发现链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定单链表(带头结点)逻辑结构示意图如下:单链表的应用实例使用带 head 头的单向链表实现 ———水浒英雄排行榜管理完成对英雄人物的增删改查操作1)第一种方法在添加英雄时,直接添加到链表的尾部2) 第二种方式在添加英雄时,根...

2021-12-07 15:47:47 541

原创 数据结构-队列(Queue),以及数组模拟环形队列

1.队列的概念只允许在一端插入数据操作,在另一端进行删除数据操作的特殊线性表;进行插入操作的一端称为队尾(入队列),进行删除操作的一端称为队头(出队列);队列具有先进先出(FIFO)的特性。2.顺序队列(1)队头不动,出队列时队头后的所有元素向前移动缺陷:操作是如果出队列比较多,要搬移大量元素。(2)队头移动,出队列时队头向后移动一个位置如果还有新元素进行入队列容易造成假溢出。假溢出:顺序队列因多次入队列和出队列操作后出现的尚有存储空间但不能进行入队列操作的溢出。真溢出:顺序队列

2021-12-03 16:00:54 127

原创 Get和Post的区别

一、概述本文的内容源自其他博客的总结,属于笔者的读书笔记,结构如下:HTTP 的请求报文GET 方法的特点POST 方法的特点GET 和 POST 的区别二、HTTP 的请求报文首先我们要解决的第一个问题是:GET 和 POST 是什么?GET 和 POST 其实都是 HTTP 的请求方法。除了这 2 个请求方法之外,HTTP 还有 HEAD、PUT、DELETE、TRACE、CONNECT、OPTIONS 这 6 个请求方法。所以HTTP 的请求方法共计有 8 种,它们的描述

2021-12-02 22:00:00 1217

原创 工厂模式三种详解

工厂方法模式(Factory Method)工厂方法模式分为三种:1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:publicinterfaceSender{publicvoidSend();}其次,创建实现类:publicclassMailSenderimplementsSender{@Overri...

2021-12-02 14:09:06 3350

原创 二维数组和稀疏数组的来回转换磁盘的写入写出

场景:将五子棋盘(二维数组)中,有效的数据保存到 稀疏数组中并将稀疏数组保存到本地文件。然后将读取文件中的数据,并将数据转换成二维数组。因为五子棋该二维数组中有很多值是默认值 0, 因此记录了很多没有意义的数据.所以这里使用到 稀疏数组,保存有效数据。解题思路:二维数组 转 稀疏数组 并存入本地文件:1. 遍历原始的二维数组,得到有效数据的个数 sum2. 根据sum 就可以创建 稀疏数组 sparseArr int[sum + 1] [3]3. 将二维数组的有效数据数..

2021-12-01 17:18:46 368

原创 性能测试入门

性能测试一般情况下都是由测试这个职位去做的,那还需要我们开发学这个干嘛呢?了解性能测试的指标、分类以及工具等知识有助于我们更好地去写出性能更好的程序,另外作为开发这个角色,如果你会性能测试的话,相信也会为你的履历加分不少。这篇文章是我会结合自己的实际经历以及在测试这里取的经所得,除此之外,我还借鉴了一些优秀书籍,希望对你有帮助。本文思维导图:一 不同角色看网站性能1.1 用户当用户打开一个网站的时候,最关注的是什么?当然是网站响应速度的快慢。比如我们点击了淘宝的主页,淘宝需要多久将首

2021-11-30 10:24:24 711

原创 高可用系统设计

一篇短小的文章,面试经常遇到的这个问题。本文主要包括下面这些内容:高可用的定义 哪些情况可能会导致系统不可用? 有哪些提高系统可用性的方法?只是简单的提一嘴,更具体内容在后续的文章中介绍,就拿限流来说,你需要搞懂:何为限流?如何限流?为什么要限流?如何做呢?说一下原理?。# 什么是高可用?可用性的判断标准是啥?高可用描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。高可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的。一般情况下,我们使用多少个 9 来评判一个系

2021-11-30 10:13:18 82

原创 计算机网络重要知识点

重要知识点总结计算机网络(简称网络)把许多计算机连接在一起,而互联网把许多网络连接在一起,是网络的网络。 小写字母 i 开头的 internet(互联网)是通用名词,它泛指由多个计算机网络相互连接而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。大写字母 I 开头的 Internet(互联网)是专用名词,它指全球最大的,开放的,由众多网络相互连接而成的特定的互联网,并采用 TCP/IP 协议作为通信规则,其前身为 ARPANET。Internet 的推荐译名为因特网,现在一般流行称为互.

2021-11-30 09:50:42 335

原创 在浏览器中输入 url 地址 ->> 显示主页的过程

百度好像最喜欢问这个问题。打开一个网页,整个过程会使用哪些协议?图解(图片来源:《图解 HTTP》):上图有一个错误,请注意,是 OSPF 不是 OPSF。 OSPF(Open Shortest Path First,ospf)开放最短路径优先协议, 是由 Internet 工程任务组开发的路由选择协议总体来说分为以下几个过程:DNS 解析 TCP 连接 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 连接结束...

2021-11-30 09:29:36 683

转载 IO模型详解

IO 模型这块确实挺难理解的,需要太多计算机底层知识。写这篇文章用了挺久,就非常希望能把我所知道的讲出来吧!希望朋友们能有收获!为了写这篇文章,还翻看了一下《UNIX 网络编程》这本书,太难了,我滴乖乖!心痛~个人能力有限。如果文章有任何需要补充/完善/修改的地方,欢迎在评论区指出,共同进步!前言I/O 一直是很多小伙伴难以理解的一个知识点,这篇文章我会将我所理解的 I/O 讲给你听,希望可以对你有所帮助。I/O何为 I/O?I/O(Input/Outpu) 即输入/输出 。.

2021-11-19 20:30:00 134

转载 反射机制详解

何为反射?如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。反射的应用场景了解么?像咱们平时大部分时候都是在写业务代码,很少会接触到直接使用反射机制的场景。但是,这并不代表反射没有用。相反,正是因为反射,你才能这么轻松地使用各种框架。像 Spring/Spring Boot、MyBatis.

2021-11-19 19:30:00 107

转载 代理详解 静态代理+JDK/CGLIB 动态代理实战

-----著作权归Guide哥所有。链接: https://javaguide.cn/java/basis/%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F%E8%AF%A6%E8%A7%A3/#_2-%E9%9D%99%E6%80%81%E4%BB%A3%E7%90%861. 代理模式代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对.

2021-11-19 15:04:59 103

原创 关于TCP/IP,以及三次握手、四次挥手

首先,我们要理解何为TCP?传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。IP 是无连接

2021-09-21 09:02:24 150

原创 java多线程生产者消费者问题

生产者消费者是多线程的一个经典问题,在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。生产者消费者描述的是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品,即生产者和消费者在同一个时间段内共用同一个存储空间。如果在正常情况下不加以协调,当存储空间已满,生产者占用着它,消费者等着生产者让出空间从而拿走产品,生产者等着消费者消费产品,从而向空间中添加产品。互相等待,从而发生死锁。解决生产者消费者.

2021-08-23 15:34:33 186

原创 MyBatis面试题

1、什么是Mybatis?1.MyBatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生sql,可以严格控制sql执行性能,灵活度高。2.MyBatis可以使用XML或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。3.通过xml文件或注解的方式将要执行的耕种statement配置起来,并通

2021-07-27 10:44:36 447

原创 Spring Cloud面试题

1、什么是Spring Cloud?Spring Cloud 流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring Cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。2、使用Spring Cloud有什么优势?使用Spring Boot开发分布式微服务时,我们面临以下问题1.与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。2.服务发现-服务发现工具管理群集中的流程.

2021-07-25 20:31:19 184

原创 Dubbo面试题

1、为什么要用Dubbo?随着服务化的进一步发展。服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),因此也衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo也就这样产生了。2、Dubbo的整体架构设计有哪些分层?接口服务层(Service):该层与业务逻辑相关,根据provider和consumer的业务设计对应的接口和实

2021-07-24 13:13:53 107

原创 Spring面试题(1)

1.什么是spring?spring是一个开源应用框架,旨在降低应用程序开发的复杂度。他是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为J2EE应用程序开发提供了一个有凝聚力的框架。他可以集成其他框架,如Structs、Hibernate、EJB等,所以又称为框架的框架。2.Spring Framework的优点由于Spring Framework的分层架构,用户可以自由选择自己需要的组件。Spring Framework 支持POJO(Plain Old Java Obje

2021-07-22 11:33:07 381

原创 Redis知识总结

一:rediskey-value 型数据库优点:读写快,单线程。原子性,可操作多种数据类型list,set ,hash 兼容性强可支持多种语言 高可用和分布式二:Redis使用场景 缓存--热数据 redis替代Memcached(分布式的高速缓存系统)让你的缓存从只能存数据变得能 更新数据 因此你不需要每次都重新生成数据 计数器 消息队列 分布式锁与单线程机制: 验证前端的重复请求(可以自由扩展类似情况)...

2021-06-23 15:08:21 59

空空如也

空空如也

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

TA关注的人

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