未经网安备案开设网站的wordpress html5特效

当前位置: 首页 > news >正文

未经网安备案开设网站的,wordpress html5特效,树莓派wordpress速度慢,网站服务器崩溃影响ConcurrentHashMap 并发程序出现问题的根本原因 线程池 线程池的执行原理#xff08;核心参数#xff09; 线程池的常见阻塞队列 ArrayBlockingQueue插入和删除数据#xff0c;只采用了一个lock#xff0c;而LinkedBlockingQueue则是在插入和删除分别采用了putLock和takeL…ConcurrentHashMap 并发程序出现问题的根本原因 线程池 线程池的执行原理核心参数 线程池的常见阻塞队列 ArrayBlockingQueue插入和删除数据只采用了一个lock而LinkedBlockingQueue则是在插入和删除分别采用了putLock和takeLock这样可以降低线程由于线程无法获取到lock而进入WAITING状态的可能性从而提高了线程并发执行的效率。 如何确定核心线程数 线程池的种类 不建议用Executors创建线程池 线程池使用场景 控制某个方法允许并发访问线程的数量 ThreadLocal的理解 JVM 介绍 程序计数器 Java堆 虚拟机栈 每个线程对应一个虚拟机栈 方法区元空间 常量池 直接内存 类加载器 双亲委派模型 类装载的执行过程 对象什么时候可以被垃圾回收器回收 垃圾回收算法 分代回收 垃圾回收器的种类 G1垃圾回收器 强弱软虚引用的区别 JVM调优的参数在哪里设置 JVM调优的参数有哪些 JVM调优的工具 Java内存泄漏的排查思路 CPU飚高排查方案与思路 设计模式 工厂方法模式 简单工厂模式 工厂方法模式 抽象工厂模式 总结 工厂模式最大的作用就是解耦 策略模式 登录案例没看太懂 责任链设计模式 常见技术场景 单点登录 权限认证 上传数据的安全性 遇到的棘手问题 日志采集 生产问题如何排查 小林Coding java基础 Java创建对象除了new还有别的什么方式? 通过反射创建对象通过 Java 的反射机制可以在运行时动态地创建对象。可以使用 Class 类的 newInstance() 方法或者通过 Constructor 类来创建对象。 通过反序列化创建对象通过将对象序列化保存到文件或网络传输然后再反序列化从文件或网络传输中读取对象的方式来创建对象对象能被序列化和反序列化的前提是类实现Serializable接口。 通过clone创建对象所有 Java 对象都继承自 Object 类Object 类中有一个 clone() 方法可以用来创建对象的副本要使用 clone 方法我们必须先实现 Cloneable 接口并实现其定义的 clone 方法。 与 equals 有什么区别 对于字符串变量来说使用和equals比较字符串时其比较方法不同。比较两个变量本身的值即两个对象在内存中的首地址equals比较字符串包含内容是否相同。 对于非字符串变量来说如果没有对equals()进行重写的话“” 和 equals方法的作用是相同的都是用来比较对象在堆内存中的首地址即用来比较两个引用变量是否指向同一个对象。 比较的是两个字符串内存地址堆内存的数值是否相等属于数值比较 equals()比较的是两个字符串的内容属于内容比较。 StringBuffer和StringBuild区别是什么 区别 StringBuffer 就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类。它提供了 append 和 add 方法可以将字符串添加到已有序列的末尾或指定位置它的本质是一个线程安全的可修改的字符序列。在很多情况下我们的字符串拼接操作不需要线程安全所以 StringBuilder 登场了。 StringBuilder 是 JDK1.5 发布的它和 StringBuffer 本质上没什么区别就是去掉了保证线程安全的那部分减少了开销。 线程安全 StringBuffer线程安全 StringBuilder线程不安全 速度 一般情况下速度从快到慢为 StringBuilder StringBuffer String当然这是相对的不是绝对的。 使用场景 操作少量的数据使用 String。 单线程操作大量数据使用 StringBuilder。 多线程操作大量数据使用 StringBuffer。 计算机网络 TCP/IP模型 TCP/IP 网络通常是由上到下分成 4 层分别是应用层传输层网络层和网络接口层。 应用层负责给应用程序提供统一的接口 传输层负责端到端的数据传输 网络层负责数据的路由、转发、分片 tcp 在传输层ip 在网络层 HTTP和HTTPS 的区别 区别主要有以下四点 HTTP 是超文本传输协议信息是明文传输存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议使得报文能够加密传输。HTTP 连接建立相对简单 TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后还需进行 SSL/TLS 的握手过程才可进入加密报文传输。两者的默认端口不一样HTTP 默认端口号是 80HTTPS 默认端口号是 443。HTTPS 协议需要向 CA证书权威机构申请数字证书来保证服务器的身份是可信的。 tokensessioncookie的区别 Cookie和Session都是Web开发中用于跟踪用户状态的技术。 session存储于服务器可以理解为一个状态列表拥有一个唯一识别符号sessionId通常存放于cookie中。服务器收到cookie后解析出sessionId再去session列表中查找才能找到相应session依赖cookie。cookie类似一个令牌装有sessionId存储在客户端浏览器通常会自动添加。token也类似一个令牌无状态用户信息都被加密到token中服务器收到token后解密就可知道是哪个用户需要开发者手动添加。 Nginx有哪些负载均衡算法 Nginx支持的负载均衡算法包括 轮询按照顺序依次将请求分配给后端服务器。这种算法最简单但是也无法处理某个节点变慢或者客户端操作有连续性的情况。IP哈希根据客户端IP地址的哈希值来确定分配请求的后端服务器。适用于需要保持同一客户端的请求始终发送到同一台后端服务器的场景如会话保持。URL哈希按访问的URL的哈希结果来分配请求使每个URL定向到一台后端服务器可以进一步提高后端缓存服务器的效率。最短响应时间按照后端服务器的响应时间来分配请求响应时间短的优先分配。适用于后端服务器性能不均的场景能够将请求发送到响应时间快的服务器实现负载均衡。加权轮询按照权重分配请求给后端服务器权重越高的服务器获得更多的请求。适用于后端服务器性能不同的场景可以根据服务器权重分配请求提高高性能服务器的利用率。 TCP三次握手过程说一下 TCP 是面向连接的协议所以使用 TCP 前必须先建立连接而建立连接是通过三次握手来进行的。三次握手的过程如下图 一开始客户端和服务端都处于 CLOSE 状态。先是服务端主动监听某个端口处于 LISTEN 状态 客户端会随机初始化序号client_isn将此序号置于 TCP 首部的「序号」字段中同时把 SYN 标志位置为 1表示 SYN 报文。接着把第一个 SYN 报文发送给服务端表示向服务端发起连接该报文不包含应用层数据之后客户端处于 SYN-SENT 状态。 服务端收到客户端的 SYN 报文后首先服务端也随机初始化自己的序号server_isn将此序号填入 TCP 首部的「序号」字段中其次把 TCP 首部的「确认应答号」字段填入 client_isn 1, 接着把 SYN 和 ACK 标志位置为 1。最后把该报文发给客户端该报文也不包含应用层数据之后服务端处于 SYN-RCVD 状态。 客户端收到服务端报文后还要向服务端回应最后一个应答报文首先该应答报文 TCP 首部 ACK 标志位置为 1 其次「确认应答号」字段填入 server_isn 1 最后把报文发送给服务端这次报文可以携带客户到服务端的数据之后客户端处于 ESTABLISHED 状态。 服务端收到客户端的应答报文后也进入 ESTABLISHED 状态。 从上面的过程可以发现第三次握手是可以携带数据的前两次握手是不可以携带数据的这也是面试常问的题。 一旦完成三次握手双方都处于 ESTABLISHED 状态此时连接就已建立完成客户端和服务端就可以相互发送数据了。
TCP四次挥手 具体过程 客户端主动调用关闭连接的函数于是就会发送 FIN 报文这个 FIN 报文代表客户端不会再发送数据了进入 FIN_WAIT_1 状态服务端收到了 FIN 报文然后马上回复一个 ACK 确认报文此时服务端进入 CLOSE_WAIT 状态。在收到 FIN 报文的时候TCP 协议栈会为 FIN 包插入一个文件结束符 EOF 到接收缓冲区中服务端应用程序可以通过 read 调用来感知这个 FIN 包这个 EOF 会被放在已排队等候的其他已接收的数据之后所以必须要得继续 read 接收缓冲区已接收的数据接着当服务端在 read 数据的时候最后自然就会读到 EOF接着 read() 就会返回 0这时服务端应用程序如果有数据要发送的话就发完数据后才调用关闭连接的函数如果服务端应用程序没有数据要发送的话可以直接调用关闭连接的函数这时服务端就会发一个 FIN 包这个 FIN 报文代表服务端不会再发送数据了之后处于 LAST_ACK 状态客户端接收到服务端的 FIN 包并发送 ACK 确认包给服务端此时客户端将进入 TIME_WAIT 状态服务端收到 ACK 确认包后就进入了最后的 CLOSE 状态客户端经过 2MSL 时间之后也进入 CLOSE 状态