【Redis】中的一些坑(一)——「常用命令」篇

一个设置了过期时间的 key 最后没有过期;使用O(1)复杂度的SETBIT命令,竟然 OOM 了;使用RANDOMKEY随机读取一个 key,主线程发生阻塞;相同命令主库查不到数据,从库却可以查到;从库使用内存为什么比主库使用的多;…常见命令有哪些坑?数据持久化有哪些坑?主从库同步有哪些坑?
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

【Redis】中的一些坑(三)——「数据持久化」篇

Redis 提供了 RDB 和 AOF 两种数据持久化方式,其中 RDB 是数据快照,而 AOF 会记录每一条写命令到日志文件中。
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

HTTP协议中常见的状态码及其含义

200 OK:这是一个最常见的状态码, 表示访问成功。404 Not Found:表示没有找到资源。403 Forbidden:表示访问被拒绝.。405 Method Not Allowed:服务器不能处理请求。500 Internal Server Error:服务器出现内部错误。504 Gateway Timeout:服务器处理超时。302 Move temporarily:临时重定向。301 Moved Permanently:永久重定向
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

如何使用代码来构造HTTP请求?

网页前端构造HTTP请求:直接在浏览器输入URL(构造GET);使用form表单(可以构造GET和POST);使用ajax(可以构造各种请求)1.原生ajax构造请求 2.浏览器和服务器交互过程(引入 ajax 后) 3.JS中是如何安装引入第三库的呢?封装好的ajax构造请求如何通过 Java 代码构造 HTTP 请求: "发送 HTTP 请求", 本质上就是按照 HTTP 的格式往 TCP Socket 中写入一个字符串。"接受 HTTP 响应", 本质上就是从 TCP Socke中读取一个字符串。
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

HTTPS 的传输过程

HTTPS传输过程:1.客户端先从服务器获取到证书,证书中包含了公钥。2.客户端对证书进行校验。3.客户端生成一个对称秘钥,使用公钥对对称秘钥加密并发送给服务器。4.服务器收到这个请求之后,使用私钥解密,得到对称秘钥。5.客户端发出后续请求,后续请求都是用对称秘钥加密。6.服务器收到的数据也是用对称秘钥进行解密。
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

网页中F5刷新与ctrl + F5强制刷新的区别?

F5只是刷新一次当前页面的资源,使用F5刷新,浏览器仍然会重复利用之前的缓存数据。使用ctrl+F5进行刷新,这个时候浏览器就不会重复利用之前已经缓存的数据了,而是去清空缓存,把所有的资源进行重新下载,使网页与本机储存的网页时间标记相同。总结:F5刷新只是请求本地资源重新加载。那么在这个时候,如果在某些业务场景的服务器资源发生了改变,那么这边的本地用户可能某些功能或产品访问不到;​​​​​​​ctrl + F5 是直接请求服务器的资源,让当前页面的资源重新全部从服务器上下载下来,这样就全部更新了。
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

对集合、复杂度以及泛型的认识

Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。从两个维度评价一个算法的好坏。时间复杂度:估算程序指令的执行次数(执行时间);空间复杂度:估算所需占用的存储空间。我们一般用大O表示法来描述复杂度。泛型是在JDK1.5引入的新的语法,通俗讲,泛型就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。
分类: 数据库 发布时间: 10-25 13:20 阅读次数: 0

包装类详解(装箱(包)、拆箱(包)、Integer类型缓存)

在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。Integer类型把[-128~127]的数据缓存了,这个范围的数据直接取出,不需要新new对象。
分类: 数据库 发布时间: 10-25 13:18 阅读次数: 0

ArrayList详解及扩容源码分析

ArrayList在调用不带参数的构造方法时,第一次add的时候,默认容量才是10。而且是按照1.5倍的速度进行扩容。ArrayList底层是使用数组来存储元素的,由于其底层是一段连续空间,当在ArrayList任意位置插入或者删除元素时,就需要将后序元素整体往前或者往后搬移,时间复杂度为O(n),效率比较低,因此ArrayList不适合做任意位置插入和删除比较多的场景。而且,在扩容之后,可能会带来空间的浪费。ArrayList适合在给定了下标位置的情况下进行查找元素,此时时间复杂度可以达到O(1)。
分类: 数据库 发布时间: 10-25 13:17 阅读次数: 0

数据结构之链表(LinkedList详解)

LinkedList实现了List接口;LinkedList的底层使用了双向链表;LinkedList没有实现RandomAccess接口,因此LinkedList不支持随机访问; LinkedList的任意位置插入和删除元素时效率比较高,时间复杂度为O(1);ArrayList实质是顺序表,底层是一个数组。LinkedList实质是一个链表。ArrayList顺序表在物理上和逻辑上都是连续的,但是在扩容的时候,可能会造成空间的浪费。而LinkedList在物理上不一定是连续的,在逻辑上是连续的。
分类: 数据库 发布时间: 10-25 13:16 阅读次数: 0

Tomcat下载、安装及使用介绍

我们使用Tomcat主要的目的就是为了能够部署一个webapp网站。Tomcat 是一个 HTTP 服务器。HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式。可以通过 ajax 和 Java Socket 构造HTTP 客户端。HTTP 服务器也可以通过 Java Socket 来实现。而 Tomcat 就是基于 Java 实现的一个开源免费的 HTTP 服务器。
分类: 数据库 发布时间: 10-25 13:16 阅读次数: 0

如何创建一个Servlet项目(Maven)?

Servlet 是一种实现动态页面的技术,是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app。创建Servlet项目(Maven)的步骤:1.创建Maven项目 2.引入依赖 3.创建目录 4.编写代码 5.打包程序 6.部署程序 7.验证程序 。因为IDEA社区版是没有自带Tomcat的部署功能的,这就需要使用smart tomcat插件来完成。
分类: 数据库 发布时间: 10-25 13:15 阅读次数: 0

Servlet 的运行原理

一、Tomcat在Servlet运行中的定位1.接收请求:2.根据请求计算响应3.返回响应二、Tomcat 是如何初始化/处理请求的? 1.Tomcat 初始化 2.Tomcat 处理请求 3.Servlet 的 service 方法
分类: 数据库 发布时间: 10-25 13:15 阅读次数: 0

Servlet API 详解(HttpServlet、HttpServletRequest、HttpServletResponse)

我们写 Servlet 代码的时候, 首先第一步就是先创建类, 继承自 HttpServlet, 并重写其中的某些方法。当 Tomcat 通过 Socket API 读取 HTTP 请求(字符串), 并且按照 HTTP 协议的格式把字符串解析成HttpServletRequest 对象。Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到HttpServletResponse 对象中,按照 HTTP 协议的格式, 转成一个字符串, 并通过 Socket 写回给浏览器
分类: 数据库 发布时间: 10-25 13:15 阅读次数: 0

Cookie与Session是如何联动的?

Cookie是由服务器产生的,通过HTTP响应的Set-Cookie字段来进行设置,并返回给浏览器。Cookie是在浏览器这边进行储存的,浏览器会根据域名/地址来分别储存Cookie。在浏览器的下次请求中Cookie会被自动添加到请求中,发送给服务器。Session叫做“会话”,在服务器端进行储存的。Cookie 是客户端的机制,Session 是服务器端的机制。Cookie 和 Session 经常会在网页开发中一起配合使用。Cookie与Session的区别以及他们是如何联动的。
分类: 数据库 发布时间: 10-25 13:15 阅读次数: 0

数据结构之PriorityQueue源码及特性分析 (大小根堆转换、扩容)

PriorityQueue源码分析: 1. 小跟堆源码分析 2.PriorityQueue默认是小堆,如何变成大根堆呢? 3. Integer数据类型是如何变成大根堆的?(自实现比较器) 4. PriorityQueue扩容的源码分析Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的。
分类: 数据库 发布时间: 10-25 13:15 阅读次数: 0

【leetcode速通java版】01——数组入门

数组、二分查找、快慢指针
分类: 数据库 发布时间: 10-25 13:13 阅读次数: 0

【软考】系统集成项目管理工程师(六)项目整体管理

软考中级——系统集成项目管理工程师备考干货第六章:项目整体管理。
分类: 数据库 发布时间: 10-25 13:13 阅读次数: 0

MVC:开发模式

MVC:开发模式
分类: 数据库 发布时间: 10-25 13:11 阅读次数: 0

数据结构之查找和排序

数据结构之查找和排序
分类: 数据库 发布时间: 10-25 13:11 阅读次数: 0