12 2021 档案
摘要:定义: 工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 简单工厂模式 实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(
阅读全文
摘要:在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。 单例模式的要点: 1,私有的构造方法 2,指向自己实例的私有静态引用 3,以自己实例为返回值的静态的公有的方法 饿汉式单例 public class Singleton { //指
阅读全文
摘要:Kubernetes是Google开源的容器集群管理系统,是Google多年⼤规模容器管理技术Borg的开源版本,主要功能包括: 基于容器的应用部署、维护和滚动升级 负载均衡和服务发现 跨机器和跨地区的集群调度 自动伸缩 无状态服务和有状态服务 广泛的Volume支持 插件机制保证扩展性 Kuber
阅读全文
摘要:基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。 (1)应用层:这里面有http,ftp 等等我们熟悉的协议。 (2)传输层:著名的TCP和UDP协议就在这个层次。 (3)网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。 (4)
阅读全文
摘要:正向代理: 如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。 反向代理:其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务
阅读全文
摘要:切面(Aspect):在Spring AOP中,切面可以使用通用类或者在普通类中以@Aspect 注解(@AspectJ风格)来实现 连接点(Joinpoint):在Spring AOP中一个连接点代表一个方法的执行 通知(Advice):在切面的某个特定的连接点(Joinpoint)上执行的动作。
阅读全文
摘要:原理解释: 网页端+服务器 (1)用户打开网站的登录页面的时候,向浏览器的服务器发送获取登录二维码的请求。服务器收到请求后,随机生成一个uuid,将这个id作为key值存入redis服务器,同时设置一个过期时间,在过期后,用户登录二维码需要进行刷新重新获取。 (2)同时,将这个key值和本公司的验证
阅读全文
摘要:serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 序列化ID起着关键的作用,java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。反序列化时,JVM会把传来的字节流中的serialVersionU
阅读全文
摘要:NAT的概念模型 NAT名字很准确,网络地址转换,就是替换IP报文头部的地址信息。NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。 RFC1918规定了三个保留地址段落:10.0.0.0-10.255.255.255;172.16
阅读全文
摘要:一张有 100W 条数据的表 CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `address` varchar(255) DEFAU
阅读全文
摘要:登录MySQL: mysql -h 127.0.0.1 -u 用户名 -p mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p mysql> exit # 退出mysql> quit # 退出 创建数据库: 对于表的操作需要先进入库 use 库名; create database
阅读全文
摘要:visio是微软的一款画图软件 process on是一款免费在线画图工具 diagrams:官网地址是:https://app.diagrams.net/,它的前身是:https://draw.io/
阅读全文
摘要:1.http请求头里,expire和cache-control字段含义,说说HTTP状态码 1.1 expire和cache-control字段含义 Cache-Control是HTTP/1.1的头字段,用来区分对缓存机制的支持情况,请求头和响应头都支持这个属性。通过它提供的不同的值来定义缓存策略。
阅读全文
摘要:1.隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。例如,开发人员可以将关键的Java Class放在服务器端,客户端通过访问服务器的相关接口来获得服务,而不是直接访问Class文件。 2.Part3对Class文件进行加密
阅读全文
摘要:1、使用线程创建 job 定时任务 /** * TODO 使用线程创建 job 定时任务 * @author 王松 */public class JobThread { public static class Demo01 { static long count = 0; public static
阅读全文
摘要:redis密码设置有两种方式,一种需要重启redis服务,一种不需要重启redis服务。 重启redis服务的设置方式: 找到redis的配置文件—redis.conf文件,然后修改里面的requirepass,这个本来是注释起来了的,将注释去掉,并将后面对应的字段设置成自己想要的密码,保存退出。重
阅读全文
摘要:懒汉式: 方法上加synchronized public static synchronized Singleton getInstance() { if (single == null) { single = new Singleton(); } return single; } 懒汉式: 使用双
阅读全文
摘要:以管理员身份运行“命令提示符”,输入route print命令后回车,可查看当前电脑有两条默认路由信息。 无线网:0.0.0.0 0.0.0.0 172.16.3.254 172.16.3.57 55 有线网:0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.101 35
阅读全文
摘要:Apache BeanUtils Spring BeanUtils cglib BeanCopier Hutool BeanUtil Mapstruct Dozer 1、Apache BeanUtils: 在Bean中具有相同名称的属性分别是基本数据类型和包装类时,比如分别是int和Integer时
阅读全文
摘要:安全措施: 一方面就是如何保证数据在传输过程中的安全性; 另一个方面是数据已经到达服务器端,服务器端如何识别数据,如何不被攻击;下面具体看看都有哪些安全措施。 1.数据加密 我们知道数据在传输过程中是很容易被抓包的,如果直接传输比如通过http协议,那么用户传输的数据可以被任何人获取;所以必须对数据
阅读全文
摘要:where: where是一个约束声明,使用where来约束来自数据库的数据; where是在结果返回之前起作用的; where中不能使用聚合函数。 having: having是一个过滤声明; 在查询返回结果集以后,对查询结果进行的过滤操作; 在having中可以使用聚合函数 执行顺序: wher
阅读全文
摘要:1) 过期时间意外丢失 SET 除了可以设置 key-value 之外,还可以设置 key 的过期时间 127.0.0.1:6379> SET testkey val1 EX 60OK127.0.0.1:6379> TTL testkey(integer) 59 此时如果想修改 key 的值,但只是
阅读全文
摘要:DispatcherServlet HandleMapping Controller ModeAndView ViewResolver 1.DispatcherServlet 这个控件是SpringMVC 最核心的一个控件,顾名思义其实他就是一个Servlet,是Spring写好的一个Servlet
阅读全文