Kubernetes 入门&进阶实战
作为初学者,这篇文章可以很好的入门参考文章:https://mp.weixin.qq.com/s/mUF0AEncu3T2yDqKyt-0Ow
思维导图:
java代理模式
代理模式代理模式是一种比较好理解的设计模式,简单来说就是通过代理,可以提到对真是对象的访问,这样就可以在不修改真实对象的情况下,提供额外的功能,扩展目标对象举个例子:你找外卖小哥帮你取餐,外卖小哥就是你的代理对象,代理的行为就是取餐
代理模式分为:静态代理和动态代理两种实现方式思维导图整理:
推荐一款超好用的IDEA插件:Sequencediagram
在IDEA中搜索插件并安装
插件的访问地址:https://vanco.github.io/SequencePlugin
插件功能介绍:
生成简单序列图
通过单击图表形状来导航代码
从关系图中删除类
将图表导出为图像
将图表导出为Plantuml文件
也可以通过设置从图表中排除类
序列图
智能接口(实验)ambda表达式(实验)
Kotlin支持(实验性,无代码导航)
插件的使用
在自己的工程中找到需要生成序列图的方法,右键鼠标
选择IDEA主界面右上角的按钮,或右键鼠标后显示的 Sequence Diagram…选项,即可得到该方法的序列图
选择序列图左边菜单的图片按钮,即可将序列图导出图片
最终可以得到如下的图片
java-String学习
String、StringBuffer和StringBuilder的区别从以下几个方面来说:
可变性String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以 String 对象是不可变的。
12345public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; ...
而 StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在 AbstractStringBuilder 中也是使用字符数组保存字符串char[]value 但是没有用 final 关键字修饰,所以这两种对象都是可变的。
补充:在 Java 9 之后,String 、St ...
手把手教你如何快速搭建个人博客
准备中:参考网址https://segmentfault.com/a/1190000017986794
温习springboot
什么是springbootSpring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
为什么要用springbootSpring Boot 优点非常多,如:
独立运行简化配置自动配置无代码生成和XML配置应用监控上手容易…Spring Boot 集这么多优点于一身,为什么不用?
Spring Boot 的核心配置文件有哪几个?它们的区别是什么?Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。
application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。
bootstrap 配置文件有以下几个应用场景。
使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
一些固定的不能被覆盖的属性;
一些加密/解密的场景;
Spring Boot 的配置文件有哪几种格式? ...
Leetcode刷题——有效三角形的个数
问题123456789101112131415* 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 * * 示例 1: * 输入: [2,2,3,4] * 输出: 3 * 解释: * 有效的组合是: * 2,3,4 (使用第一个 2) * 2,3,4 (使用第二个 2) * 2,2,3 * * 注意: * 数组长度不超过1000。 * 数组里整数的范围为 [0, 1000]。 */
解答1234567891011121314151617181920212223242526272829303132333435package com.yefan.leetcode;import java.util.Arrays; /** * @Auther: zq * @Date: 2021/8/4 09:40 * @Description: 有效三角形的个数public class NumberOfValidTriangles { /* 二分查找 首先对数组排序。 固定最短的两条边,二分查找最后一个小于两边之和的 ...
JAVA—反射
说明
反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。
举个例子:
123456789101112131415161718192021222324252627public class Apple { private int price; public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public static void main(String[] args) throws Exception{ //正常的调用 Apple apple = new Apple(); apple.setPrice(5); System.out.println("Apple ...
nginx访问速度与并发数的限制
限制并发数在nginx的配置文件中添加如下配置:
1234567891011http{ limit_conn_zone $binary_remote_addr zone=one:10m; ... service{ ... location xxx{ limit_conn one 1; ... } }}
这里设置的并发数为 1,表示同一个ip的并发访问数为1 配置好后,重启nginx即可。
限制访问速度在nginx配置文件中添加如下配置:
1234location xxx { limit_rate 100k; ...}
重启nginx后,可以发现下载速度,确实被限制在 100k/s 左右
扩展这里介绍的是对单个ip进行访问限制,如果说想对总的访问进行限制,可以尝试使用如下方式:
通过nginx的请求转发功能,将所有的请求转发到另外一个端口,而后直接对图示中8889端口进行如上的限制即可 ...