后端

linux的TCP连接数量最大不能超过65535个吗,那服务器是如何应对百万千万的并发的?

首先,问题中描述的65535个连接指的是客户端连接数的限制。 在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢? 如何标识一个TCP连接 在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{localip, localport,remoteip,

LeetCode热门100题算法和思路(day6)

LeetCode 146 LRU缓存 题目详情 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字

Redis过期策略和内存淘汰机制

一、关于Redis内存回收 Redis是基于内存操作的非关系型数据库,Redis中提供了多种内存回收策略,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间,那么选择淘汰哪些对象呢? Redis的内存回收,主要围绕以下两种方式: 1、Redis过期策略:删除已经过期的数据。 2、Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据。

JAVA笔记

八、类的特性 类的私有成员与公共成员与缺省访问控制符 private:私有成员修饰符,无法从该类的外部访问到该类内部的成员,而只能被该类自身访问和修改,而不能被任何其他类获取或引用,从而达到对数据的最高级别保护 public:公共访问控制符,该成员可以被所有其他类所访问,会造成安全性和数据封装性的下降,所以一般应减少公共成员的使用。 可以在公共成员方法内加上判断代码,可以杜绝错误数据的输入。 缺省

static关键字(重点)

1.static关键字【重点】 static中文意思:静态的 static是和对象无关的。 1.1生活的角度来理解静态的资源 公共的资源的都属于静态的东西 对象可以使用静态的资源,但是和对象无关 宿舍饮水机 就是静态资源 1.2Java中的静态 1.修饰成员变量 静态属性 类名.变量 2.修饰成员方法 静态方法 类名.方法名 3.修饰代码块 静态代码块 类加载时候就

LeetCode - #64 最小路径和(Top 100)

前言 本题为 LeetCode 前 100 高频题 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新了 63 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升

MySQL:安装和MySQL基础

     一、centos7下安装MySQL      说明:安装与卸载的过程中,用户全部切换成root,等初期完全适应mysql语句的时候,再尝试创建普通用户!!1.1 卸载不必要的软件关于mysql和mariadb:MySQL和MariaDB,它们有什么区别?_mariadb和mys

JVM

1. JVM体系结构 JVM体系结构 堆和栈的关系 “对象的引用”在栈里面 真正对象的“数据”在堆里面 2.类加载器及双亲委派机制 类加载器 作用:加载class文件 类是模板,对象是具体的 public class Test { public static void main(String[] args) { //类是模板,对象是具体的

HashMap底层实现原理

java1.7 以前HashMap底层由数组+链表形式实现。 1.1 插入数据时首先计算数据key的hash值,根据hash找到对应的数组槽位。 1.2 找到槽位后,判断当前数组槽位是否为null,null则直接作为链表表头插入,否则判断当前需要插入的key是否已经在当前槽位的链表中存在,存在则直接替换新值,不存在则插入到头结点。 // hash值计算 static final int has