笔记
疯狂的毛毛虫哟
一个专注于nodejs后端技术分享、笔试、面试相关的爱好者
展开
-
锁机制与 InnoDB 锁算法
MyISAM 和 InnoDB 存储引擎使用的锁:MyISAM 采用表级锁(table-level locking)。InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁表级锁和行级锁对比:表级锁: MySQL 中锁定 粒度最大 的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。其锁定粒度最大,触发锁冲突的概率最高,并发度最低,MyISAM 和 InnoDB 引擎都支持表级锁。行级锁: MySQL 中锁定 粒度最小 的一种锁,只针对原创 2021-12-10 10:10:10 · 184 阅读 · 0 评论 -
线程上下文切换
上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程(或线程)切换到另一个进程(或线程)。上下文是指某一时间点 CPU 寄存器和程序计数器的内容。寄存器是cpu内部的少量的速度很快的闪存,通常存储和访问计算过程的中间值提高计算机程序的运行速度。程序计数器是一个专用的寄存器,用于表明指令序列中 CPU 正在执行的位置,存的值为正在执行的指令的位置或者下一个将要被执行的指令的位置,具体实现依赖于特定的系统。举例说明 线程A - B1.先挂起线程A,将其在cpu中的状态保存在内存中。2.在原创 2021-12-09 13:21:27 · 686 阅读 · 0 评论 -
微信小程序图书阅读项目 (:
获取项目源代码:扫码下方小程序获取或者加作者微信获取1.简介小程序图书阅读项目是使用uni-app编写的小程序图书阅读项目,项目前后端分离,小程序使用uni-app,后台管理使用vue2+elementUI,后端使用SpringBoot+SpringCloudAlibaba编写的实用小项目并且加入了微信小程序支付和腾讯云短信sms,该项目只要拿到源代码修改配置即可以运行发布上线…2.体验截图:3.技术栈小程序技术:uni-app后台管理技术:Vue2 + Elem原创 2021-12-07 23:33:30 · 3571 阅读 · 0 评论 -
java面试刷题小程序
原创 2021-12-07 16:03:02 · 279 阅读 · 0 评论 -
类与接口面试
java面试小蜜小程序,随时随地刷题 (:抽象类和接口的对比抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。相同点接口和抽象类都不能实例化都位于继承的顶端,用于被其他实现或继承都包含抽象方法,其子类都必须覆写这些抽象方法不同点备注:Java8中接口中引入默认方法和静态方法,以此来减少抽象类和接口之间 的差异。现在,我们可以为接口提供默认实现的方法了,并且不用强制子类来实现它。 接口和抽象类原创 2021-12-07 12:28:09 · 67 阅读 · 0 评论 -
JAVA面试手册
JAVA面试手册JAVA概述1.何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并 终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、 和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一 步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编 程。2.什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此Java语言具有功能原创 2021-12-05 21:04:42 · 491 阅读 · 0 评论 -
常见java面试题
常见Java面试题0.JDK1.8新特性?1.JDK 和 JRE 有什么区别?2.== 和 equals 的区别是什么?3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它们之间有什么区别?8.String str="i"与 String str=new String(原创 2021-12-01 15:51:18 · 109 阅读 · 0 评论 -
MySQL基本查询语句
#1. SQL的分类/DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言。INSERT \ DELETE \ UPDATE \ SELECT (重中之重)DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE学习技巧:大处着眼、小处着手。//2.1 SQL的规则 ----必须要遵守- SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进- 每条命令以原创 2021-11-30 13:30:09 · 663 阅读 · 0 评论 -
Redis的内存淘汰策略有哪些
Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据。全局的键空间选择性移除noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。 allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除 近 少使用的key。(这个是最常用的) allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。设置过期时间的键空间选择性移除 volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间原创 2021-11-30 13:26:40 · 768 阅读 · 0 评论 -
简述线程,程序、进程的基本概念。以及他们之间关系是什 么
简述线程,程序、进程的基本概念。以及他们之间关系是什么线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个原创 2021-11-29 13:55:04 · 148 阅读 · 0 评论 -
处理并发安全问题
对象的创建在虚拟机中是一个非常频繁的行为,哪怕只是修改一个指针所指向的 位置,在并发情况下也是不安全的,可能出现正在给对象 A 分配内存,指针还 没来得及修改,对象 B 又同时使用了原来的指针来分配内存的情况。解决这个 问题有两种方案:对分配内存空间的动作进行同步处理(采用 CAS + 失败重试来保障更新操作的 原子性);把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程在 Java 堆 中预先分配一小块内存,称为本地线程分配缓冲(Thread Local Allocation Buffer,原创 2021-11-28 15:30:29 · 232 阅读 · 0 评论 -
MySQL锁,悲观锁、乐观锁、排它锁、共享锁、表级锁、 行级锁;
乐观锁用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即 为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version” 字段来实 现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加1。当我 们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比 对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期 数据。悲观锁在进行每次操作时都要通原创 2021-11-27 12:33:57 · 845 阅读 · 0 评论 -
说一下 JVM 运行时数据区
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存区域划分为若干个 不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有些区域 随着虚拟机进程的启动而存在,有些区域则是依赖线程的启动和结束而建立和销 毁。Java 虚拟机所管理的内存被划分为如下几个区域:不同虚拟机的运行时数据区可能略微有所不同,但都会遵从 Java 虚拟机规范, Java 虚拟机规范规定的区域分为以下 5 个部分:程序计数器(Program Counter Register):当前线程所执行的字节码的行号原创 2021-11-26 17:09:02 · 603 阅读 · 0 评论 -
深拷贝和浅拷贝
浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加 的指针指向这个新的内存,使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的 错误。浅复制:仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来 的对象也会相应的改变。深复制:在计算机中开辟一块新的内存地址用于存放复制的对象。...原创 2021-11-25 13:42:51 · 89 阅读 · 0 评论 -
说一下 JVM 的主要组成部分及其作用?
原创 2021-11-22 13:40:04 · 113 阅读 · 0 评论