leetcode剑指Offer第一天
用两个栈实现队列Esay 原题连接:剑指 Offer 09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
示例:
输入:
["CQueue","appendTail","deleteHead","deleteHead","deleteHead"]
[[],[3],[],[],[]]
输出:[null,null,3,-1,-1]
输入:
["CQueue","deleteHead","appendTail","appendTail","deleteHead","deleteHead"]
[[],[],[5],[2],[],[]]
输出:[null,-1,null,null,5 ...
java基础面试题3
Redis 6.0 之后为何引入了多线程?6.0 之前为什么不使用多线程?在Redis 6.0 之前,Redis 是单线程的,这是因为Redis 的主要瓶颈是在 CPU 上。但是随着硬件的发展,现代服务器的CPU 核心数已经达到了几十个, 这就导致Redis 单线程模型无法充分利用多核处理器的性能。因此,Redis 6.0 引入了多线程,以提高 Redis 在多核处理器上的性能
Redis 6.0 之前为什么不使用多线程,主要有以下几个原因:
Redis 单线程模型相对简单,容易维护和调试,代码逻辑也比较清晰
Redis 的主要瓶颈在于CPU,而不是I/O ,因此采用多线程模型并不能显著提高性能
Redis 是一个内存型数据库,它的性能主要受到CPU 和内存带宽的限制。采用多线程模型会增加线程之间的竞争和锁等开销,反而可能降低Redis 的性能
但是随着硬件的发展,多核处理器已经成为了现代服务器的标配,因此Redis 引入多线程的举措可以更好的发挥硬件性能,提高Redis 的吞吐量和响应速度
HTTP 协议中 GET 和 POST 有什么区别?分别适用于什么场景?HTTP ...
java基础面试题2
MySQL 事务有哪些隔离级别、分别有什么特点,以及 MySQL 的默认隔离级别是什么?MySQL事务有四种隔离级别:
读未提交(Read Uncommitted):事务可以读取未提交的数据,可能会读到脏数据,导致幻读,不可重复读,脏读等问题
读已提交(Read Committed):只能读取已经提交的数据,可以避免脏读问题,但是可能会遇到不可重复读,幻读问题
可重复读(Repeatable Read):保证同一事务中多次读取同一数据的结果是一致的,避免了脏读和不可重复读问题,但是可能会遇到幻读的问题
序列化(Serializable):最高的隔离级别,可以避免所有的并发问题,但是并发性非常低,开销很大
MySQL的默认隔离级别是可重复读
脏读指一个事务读到了另一个事务未提交的数据
不可重复读指同一个事务多次读到同一数据的不同结果
幻读指同一事物前后读取的数据集合不一致(按条件查询时找不到数据,插入时又已存在数据)
讲一下 Redis 的单线程模型,IO 多路复用是什么?Redis是一款基于内存的高性能键值存储系统,采用单线程模型设计。在Redis中,所有客户端的请求都是由一个单线 ...
java基础面试题1
JDK 和 JRE 和 JVM 分别是什么,有什么区别?1,**JDK (Java Development Kit)**:JDK是Java开发工具包,包含了编写,编译,调试和运行java程序所需要的所有工具和组件,比如编译器(javac),javaAPI,调用工具等。JDK是针对Java开发人员的,它包含JRE,还有一编译器和其他工具,可以用来编写和调试Java程序。
2,**JRE (Java Runtime Environment)**:JRE是java运行时环境,包括了Java虚拟机(JVM)和Java标准类库(JavaAPI)JRE是争对Java应用程序的,它提供了在计算机上运行的Java应用程序所需的最小环境。
3,**JVM (Java Virtual Machine)**:JVM是Java虚拟机,是Java程序运行的环境。JVM负责将java代码解释或编译为本地机器代码,并在运行时提供必要的环境支持,比如内存管理,垃圾回收,安全新等。JVM的主要作用时将Java代码转化为可以在计算机上运行的机器码,并负责程序的执行。
综上所述,JDK,JRE和JVM在区别上可以总结如下: ...
HashMap方法总结
HashMap 方法总结
HashMap继承关系
HashMap常见方法
HashMap全部方法简介
HashMap继承关系HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap常见方法put - 添加新的键值对// 实例HashMap
public static HashMap<Integer, String> createItSHashMap() {
HashMap<Integer, String> hashMap = new HashMap<>();
hashMap.put(1,"a");
hashMap.put(2,"bcd");
hashMap.put(3,"hello&q ...
ArrayList方法总结
ArrayList 方法总结
ArrayList继承关系
ArrayList常见方法
ArrayList全部方法简介
ArrayList继承关系ArrayList继承了AbstractList,实现了List接口,底层实现是数组
ArrayList中的方法没有加 synchronized 关键字,线程并不安全
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{...}
ArrayList常见方法add - 添加// 实例arraylist
public static ArrayList<Integer> createIntegerArray() {
ArrayList<Integer> arrayList = new ArrayList<>();
...
Linux任务调度和定时任务
Linux任务调度和定时任务
Linux crond 任务调度
基本使用代码
属性信息
其他使用代码
Linux at 定时任务
基本使用代码
时间设置
Linux crond 任务调度基本使用代码// 进入任务调度状态(命令行模式)
crontab -e
// 输入需要调度的任务,例如:每分钟执行一次(ls -l /etc/ > /tmp/to.txt 查询/etc/目录下的文件,并以覆盖形式卸载/tmp/to.txt中)
*/1 * * * * ls -l /etc/ > /tmp/to.txt
// 其他调度计划
// 完成后输入(:wq)保存退出任务调度状态
:wq
属性信息第一个*:每小时的第几分钟,
第二个*:每天的第几小时
第三个*:每个月的第几天
第四个*:每年的第几个月
第五个*:一周中的星期几(0-7:0和7都是周日)
注:每个 * 之间有空格
不同形态:
*: 表示每一个时间点,每一分钟开始,每一小时开始…
*/n: 表示每隔n分钟执行一次
a,b: 表示不连续,如 0 8,12,16 * * * 表示每天8点,12点, ...
Linux运行级别和文件管理
Linux运行级别和文件管理
Linux运行级别
Linux 运行级别
运行级别管理相关命令
Linux目录文件管理
文件管理相关命令
文件查询相关命令
文件压缩和解压命令
其他信息命令
Linux运行级别Linux 运行级别0 关机 | 4 系统未使用保留给用户
1 单用户【找丢失密码】 | 5 图形界面
2 多用户无网络 | 6 系统重启
3 多用户有网络 |
常用为 3 - 多用户有网络(命令行模式)【企业】 和 5 - 图形界面(桌面模式)【学习】
运行级别管理相关命令init 数子 :执行相对应的运行级别
附:1 - 单用户 找回root密码 可以看026_韩顺平Linux_找回root密码_哔哩哔哩_bilibili
Linux目录文件管理文件管理相关命令跳转路径 : cd 绝对路径/相对路径 | 回到家目录 : cd ~
创建目录 : mkdi ...
Linux用户和权限基本命令
Linux用户和权限的命令
Linux用户管理
用户管理相关指令
用户管理相关文件
Linux权限管理
用户与组
rwx权限数字
权限管理相关指令
Linux用户管理用户管理相关指令useradd 用户名 :添加用户,并在 /home 下创建 /用户名 目录 例如: useradd ITegg => 在/home 下会有 /ITegg 目录
useradd -d 路径 用户名 :添加用户,自指定用户目录位置 例如: useradd -d /user/test ITegg =>在、home 下创建/test/ITegg目录
password 用户名 :为用户设置密码(新用户默认没有密码) pwd :显示当前目录
userdel 用户名 :删除用户(用户目录会保留) userdel -r 用户名 :连带用户目录一起删掉
who am i :查看当前权限
用户管理相关文件/etc/passwd 文件:用户配置文件
用户名:口令:用户标识号:组标识号:注释性描述目录:主目录:登录Shell she ...