自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 复习总结 --- Linux指令

文章目录第十九章 Linux19.1 Linux简介19.2 Linux文件系统概览19.3 inode介绍19.4 Linux文件类型19.5 Linux目录树19.6 Linux常用命令19.6.1 目录切换命令19.6.2 目录的操作命令(增删改查)19.6.3 文件的操作命令(增删改查)19.6.4 压缩文件的操作命令19.6.5 Linux的权限命令19.6.6 Linux用户管理19.6.7 Linux系统用户组的管理19.6.8 其他常用命令第十九章 Linux19.1 Linux简

2022-08-22 08:48:48 174

原创 复习-计算机网络

文章目录第七章 计算机网络7.1 OSI与TCP/IP各层的结构与功能,都有哪些协议?7.1.1 OSI的七层协议7.1.2 TCP/IP的体系结构7.1.3 五层协议1,应用层2,运输层3,网络层4,数据链路层5,物理层7.2 TCP三次握手和四次挥手7.2.1 三次握手7.2.2 四次挥手7.2.3 关于序列号和确认号加1的问题7.2.4 为什么握手是三次,挥手却是四次7.3 TCP,UDP协议的区别7.3.1 UDP7.3.2 TCP7.4 TCP协议如何保证可靠传输7.4.1 滑动窗口和流量控制7

2021-08-03 23:00:50 432

原创 复习总结---JVM

文章目录第四章 JVM内存区域4.1 常见面试题4.1.1 基本问题4.1.2 拓展问题4.1.3 相关概念4.2 运行时数据区域4.2.1 线程私有的4.2.2 线程共享的4.3 说一下Java对象的创建过程4.3.1 类加载检查4.3.2 分配内存4.3.3 初始化零值4.3.4 设置对象头4.3.5 执行init方法4.4 对象的访问定位4.5 String类和常量池4.6 8种基本类型的包装类和常量池4.7 [字符串相加创建几个对象](https://blog.csdn.net/qq_24830

2021-07-28 15:30:05 306

原创 复习总结---java基础和集合

1,关于class.getResource()的用法2, java中关于class.getResource和classLoader.getResource,getSystemResource方法的区别

2021-07-18 10:22:34 228

原创 java中的类加载器

类加载器在jvm类加载过程中,有一步叫做加载的流程加载 : 根据类的全限定名获取到其定义的二进制字节流,并将其加载到内存中. 此时需要借助类加载器来帮助完成全限定名 : 包名 + 类名类加载器分为4类 :%JAVA_HOME% : 为JDK设置的环境变量路径. 如环境变量里设置了%java_home%=C:\jdk1.8.0Bootstrap Classloader : 启动类加载器,用来加载 %JAVA_HOME%/jre/lib 下的, 如 rt.jar中的class文件 或者

2021-07-13 16:00:23 58

原创 数据结构与算法

回溯法一种通过探索所有可能的候选解来找出所有解的算法。如果候选解被确认不是一个解(或者不是最后一个解),回溯算法会通过在上一步进行一些变化抛弃该解,即回溯并且再次尝试

2021-07-05 19:11:57 126 1

原创 Netty

Netty1,NIO基础Selectorselector的作用就是配合一个线程来管理多个channel,获取这些channel上发生的事件,这些channel工作在非阻塞模式下,不会让线程吊死在一个channel上,适合连接数特别多,但流量低的场景。调用selector的select方法会阻塞直到channel发生了读写就绪事件,这些事件发生,select方法就会返回这些事件交给thread来处理BufferByteBuffer.allocate(16).getClass

2021-07-03 09:29:47 287

原创 分布式 --- Dubbo和Zookeeper

学习视频Zookeeper1,分布式概述早期我们使用单体架构,即所有服务部署在一台服务器的一个进程中,随着互联网的发展,逐步演进为分布式架构,多个服务分别部署在不同的机器的不同进程中。2,zookeeper概述zookeeper是一个开源的分布式协调服务,提供分布式数据一致性解决方案,分布式应用程序可以实现数据发布订阅,负载均衡,命名服务,集群管理分布式锁,分布队列等功能。3,CAP原则CAP在分布式系统中主要指的是一致性(Consistency),可用性(Availabili.

2021-03-23 21:36:23 458

原创 maven

maven1,Maven 简介1.1 maven能做什么项目的自动构建,帮助开发人员做项目代码的编译,测试,打包,安装,部署等工作。管理依赖(管理项目中使用的各种jar包)依赖:项目中需要使用的其他资源。常见的是jar。比如项目要使用mysql驱动,我们就说项目依赖mysql驱动。1.2 什么是mavenmaven是apache基金会的开源项目,使用java语法开发maven是项目的自动化构建的工具构建过程的各个环节:清理,编译,测试,报告,打包,安装,部署1.3 mave

2021-03-21 11:21:48 92

原创 Java集合 --- ConcurrentHashMap

ConcurrentHashMap参考资料参考资料sun.misc.UnsafeobjectFieldOffset方法,返回成员属性在内存中的地址相对于对象内存地址的偏移量

2021-03-20 16:46:16 120 2

原创 Java集合 --LinkedList源码分析

参考资料ArrayList 和 LinkedList比较ArrayList基于数组,在数组中搜索和读取数据是很快的。因此 ArrayList 获取数据的时间复杂度是O(1);但是添加、删除时该元素后面的所有元素都要移动,所以添加/删除数据效率不高;另外其实还是有容量的,每次达到阈值需要扩容,这个操作比较影响效率。LinkedList基于双端链表,添加/删除元素只会影响周围的两个节点,开销很低;只能顺序遍历,无法按照索引获得元素,因此查询效率不高;没有固定容量,不需要

2021-03-17 19:29:19 69

原创 Java集合 --ArrayList源码分析

参考资料学习视频为何ArrayList的最大数组大小是Integer.MAX_VALUE - 8?基础知识Cloneable:说明该类支持拷贝深拷贝:浅拷贝:直接使用Object中的clone方法,拷贝的对象是非独立的传值方式:基本类型和String变量是值传递,引用类型是引用传递拷贝的是栈中的内容Serializable:网络传输,写磁盘serialVersionUID:是类文件的指纹(签名),md5 如果内容有变,签名就会变,从而使反序列化失败,为了防止这个.可以将其

2021-03-16 16:30:53 63

原创 Java集合 --- HashMap源码分析

Hash也称散列,哈希,对应的英文名都是Hash.基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出,这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值Hash的特点:从hash值不可以反向推导出原始的数据输入数据的微小变化会得到完全不同的hash值,相同的数据会得到相同的值哈希算法的执行效率要高效,长的文本也能快速地计算出哈希值hash算法的冲突概率要笑1. HashMap总览1.1 hashmap底层储存结构图解底层结构其实就是数组+链表+.

2021-03-15 19:56:45 81

原创 Linux - 进程管理

进程管理1. 进程管理基础在Linux中,每个执行的**程序(代码)**都称为一个进程。每个进程都分配一个ID号每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。每个进程都可能以两种方式存在。前台和后台。前台进程:用户目前的屏幕上可以进行操作的。后台进程:实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。2. 显示系统执行的进程2.1 ps指令详细介绍ps

2021-03-10 10:40:56 68

原创 Linux 网络配置

网络配置1 Linux网络配置原理虚拟机NAT网络配置原理2 查看网络IP和网关2.1 虚拟机网络编辑器2.2 修改IP地址2.3 查看网关2.4 查看windows中的虚拟网卡的ip地址windows中使用ipconfig查看ip配置3. ping测试基本语法: ping [主机地址]例如: ping www.baidu.com4. Linux网络环境配置4.1 自动抓取缺点: 每次自动获取的ip地址可能不一样,不适用于做服务器4.2 指定ip地址

2021-03-10 09:03:48 93

原创 Linux 磁盘

Linux磁盘分区、挂载度1. 分区方式mbr分区最多支持四个主分区系统只能安装在主分区扩展分区要占一个主分区MBR最大只支持2TB,但拥有最好的兼容性gpt分区支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)最大支持18EB的大容量(1EB=1024PB,PB=1024TB)windows7 64位以后支持gpt2. Linux分区2.1 分区原理Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立

2021-03-10 08:32:23 101

原创 Linux - 定时任务调度

3.7定时任务调度1. 任务调度原理任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度分类:- 1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等- 2.个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。crond任务调度:crontab进行定时任务调度基本语法:crontab [选项]crontab [选项]-e:编辑crontab定时任务-i:查询crontab任务-r:删除当前用户所有的crontab任务-l:列出当

2021-03-09 22:23:06 82

原创 Linux - 组管理和权限管理

组管理和权限管理1. Linux组基本介绍Linux中每个用户属于一个组,不能独立于组以外。所以在Linux中每个文件存在组的概念:所有者所在组其他组改变用户所在组2. 文件/目录所有者一般为文件的创建者,谁创建了该文件,就自然的称为该文件的所有者。查看文件所有者:ls -ahl修改文件所有者:chown (用户名) (文件名)3. 文件/目录所在组当某个用户创建了一个文件之后,默认之歌文件所在组就是该用户所在的组查看文件所有者:ls -ahl

2021-03-09 21:52:54 106

原创 Linux实用指令

实用指令1. 指定运行级别(7个级别)0.关机1.单用户【找回丢失密码】2.多用户状态没有网络服务3.多用户状态有网络服务4.系统未使用保留给用户5.图形界面6.系统重启系统的运行级别配置文件:/etc/inittab切换到指定运行级别的指令:init [012356]如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可

2021-03-08 21:19:03 102

原创 Linux用户管理

LinuxLinux基本介绍Linux 是一款操作系统,免费,开源, 安全,高效,稳定, 处理高并发非常强悍,现在很多的企业级的项目都部署到 Linux/unix 服务器运行Linux发行版本Linux文件系统目录结构:linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层的根目录“/”,然后在此目录下再创建其他的目录。在 Linux 世界里,一切皆文件。/ : 根目录/bin: 是Binary的缩写,这个目录存放着最经常使用的命令。/sbin:s就是Su

2021-03-07 18:44:53 820

原创 springboot

springboot笔记request.getRequestDispatcher()的两个方法forward()/include()*关于响应式开发的概念*Mybatis 中依赖配置文件名称和mapper接口名称是否要一致及原因Java中Bean和POJO的区别1,微服务微服务:In short, the microservice architectural style is an approach to developing a single application as a suit

2021-03-05 09:49:32 199 1

原创 Java设计模式

Java设计模式学习网站1,七大设计原则单一职责原则接口隔离原则依赖倒转原则依赖关系传递的三种方式和应用案例接口传递构造方法传递setter方式传递里氏替换原则开闭原则。开闭原则是编程中最基础,最重要的设计原则。迪米特原则合成复用原则:原则是尽量使用合成/聚合的方式,而不是使用继承设计原则核心思想2,UML类图UML — Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设

2021-02-27 19:42:14 74

原创 第14章 I/O子系统

第14章 I/O子系统14.1 I/O特点内存映射原理常见设备接口类型:字符设备:键盘鼠标、串口a.以字节为单位顺序访问b.I/O命令,get(),put()等。通常使用文件访问接口和语义c.通常速度很慢块设备:磁盘、磁带、光驱a.均匀的数据块访问b.I/O命令通常使用文件系统接口,也可以使用内存映射访问网络设备:以太网、无线、蓝牙a.格式化的报文交换b.I/O命令:send/receive 网络报文,通过网络接口支持多种网络协议。同步与异步I/O:1、阻塞I/O:

2021-01-23 20:44:16 155

原创 第十三章 文件系统

第十三章 文件系统13.1 文件系统和文件文件系统的概念文件系统是操作系统中管理持久化数据的子系统,提供数据存储和访问功能。组织,检索,读写访问数据大多数计算机系统都有文件系统Google也是一个文件系统文件是具有符号名,由字节序列构成的数据项集合文件系统的基本数据单位文件名是文件的标识符号文件系统的功能分配文件磁盘空间管理文件块(位置和顺序)管理空闲空间(位置)分配算法(策略)管理文件集合定位:文件及其内容命名:通过名字找到文件文件系

2021-01-23 10:44:49 322

原创 第十二章 死锁和进程通信

相关笔记第十二章 死锁和进程通信12.1 死锁概念死锁是由于竞争资源或者通信关系,两个或更多线程在执行中出现,永远相互等待只能由其他进程引发的事件。进程访问资源的流程资源分类可重用资源资源不能被删除,且任何时刻只能有一个进程使用可能出现死锁每个进程占用一部分资源并请求其他资源可重用资源示例硬件:处理器,I/O通道,主和副存储器,设备等软件:文件,数据库和信号量等数据结构进程释放后,其他进程可以重用消耗资源资源创建和销毁消耗资源示例在

2021-01-20 12:12:55 138

原创 第十一章 信号量与管程

第十一章 信号量与管程10.1 信号量回顾:信号量机制可以用来解决同步和互斥问题。它只能被两个标准的原语wait(S)和signal(S)访问,也记为:“P操作”和“V操作”信号量的特性:自旋锁不能实现先进先出信号量的实现:10.2 信号量使用信号量分类资源信号量为任何非负值的整数用信号量实现临界区的互斥访问第一个进程进来之后,把1变成0,然后再进来一个线程,把0变为-1.因为信号量小于0,所以把这个进程放入等待队列。然后第一个队列结束后,把-1变成0,

2021-01-18 09:52:25 1680 1

原创 第十章 同步互斥

第十章 同步互斥10.1 背景多个进程一起执行有很多好处,但执行时容易产生资源共享的问题进程并发执行的好处进程需要与计算机中的其他进程和设备进行协作好处1:共享资源好处2:加速I/O操作和CPU计算可以重叠(并行)程序可划分成多个模块放在多个处理器上并行执行好处3:模块化将大程序分解成小程序使系统易于复用和扩展并发创建新进程时的标识分配新进程分配标识中的可能错误:原子操作(Atomic Operation)原子操作是指一次不存在任何中断或

2021-01-16 19:32:00 153

原创 第九章 处理机调度

第九章 处理机调度9.1 处理机调度概念:进程切换就是CPU资源当前占用者的切换,通过进程切换实现CPU的时分复用。进程切换时需要保存当前进程在PCB中的执行上下文,同时恢复下一个进程的执行上下文。处理机调度就是要实现从进程就绪队列中挑选下一个占用CPU运行的进程;如果存在多个可用CPU,还要从中挑选就绪进程可用的CPU资源。因此其中要关注两个内容:调度策略与调度时机。调度程序:挑选就绪进程的内核函数调度策略,依据什么原则挑选进程/线程调度时机,什么时候进行调度内核运行调

2021-01-15 22:19:13 498

原创 Docker

1,Docker能做什么比较Docker和虚拟机技术的不同:传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响2, Docker 安装Docker的基本组成**镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==>run==>容

2021-01-10 15:01:34 603

原创 5, Redis配置文件,持久化,发布订阅,主从复制,缓存

5.1 Redis.conf详解笔记来源于狂神说Java启动的时候,就通过配置文件来启动!工作中,一些小小的配置,可以让你脱颖而出!行家有没有,出手就知道单位1、配置文件 unit单位 对大小写不敏感!包含:可以包含其他配置文件,把多个配置文件组合起来,都配置进来就是好比我们学习Spring、Improt, include网络:bind 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口设置通用 GENER

2021-01-03 18:49:16 121

原创 4, 通过Jedis操作Redis

4, 通过Jedis操作Redisjedis是线程不安全的我们要使用 Java 来操作 Redis,知其然并知其所以然,授人以渔! 学习不能急躁,慢慢来会很快!什么是Jedis:是 Redis 官方推荐的 java连接开发工具! 使用Java 操作Redis 中间件!如果你要使用java操作redis,那么一定要对Jedis 十分的熟悉!测试1, 导入对应的依赖<!--导入jedis的包--><dependencies> <!-- https:/

2021-01-02 19:30:09 252

原创 3, Redis相关知识

3, Redis相关知识3.1 事务Redis 事务本质:一组命令的集合! 一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行一次性、顺序性、排他性!执行一些列的命令! ------ 队列 set set set 执行------Redis事务没有没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! Exec(执行命令)Redis单条命令式保存原子性的,但是事务不保证原子性!redis的事务:开启事务(multi)命令入队

2020-12-31 09:27:03 38

原创 第8章 进程控制

第8章 进程控制进程切换(上下文切换):定义:暂停当前运行进程,从运行状态变成其他状态调度另一个进程从就绪状态变成运行状态要求:切换前,保存进程上下文切换后,恢复进程上下文快速切换进程存储的生命周期的信息:寄存器(PC,SP,…)CPU状态内存地址空间进程控制块PCB:内核的进程状态记录内核为每个进程维护了对应的进程控制块PCB内核将相同状态的进程的PCB放置在同一队列ucore的进程控制块结构:进程标识信息进程状态信息进程占用的资源(存储资源、

2020-12-30 22:58:32 130

原创 第7章 进程和线程

第7章 进程和线程7.1 进程的概念进程定义:进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行的过程。进程包含了正在运行的一个程序的所有状态信息组成:代码数据状态寄存器:CPU状态CR0、指令指针IP通用寄存器:AX、BX、CX进程占用系统资源:打开文件、已分配内存进程的特点:动态性:客动态地创建、结束进程并发性:进程既可以被独立调度并占用处理机运行独立性:不同的进程的工作不相互影响制约性:因访问共享数据/资源或进程间同步而产生制约进程与程序的联

2020-12-30 11:06:43 180

原创 第6章 页面置换算法

第6章 页面置换算法6.1 页面置换算法的概念(1)功能目标功能:当缺页异常发生时,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。(2)设计目标:尽可能减少页面的换入换出次数(即缺页中断的次数)。把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理的指导下依据过去的统计数据来进行预测。(3)页面锁定(frame locking):用于描述必须常驻内存的逻辑页面操作系统的关键部分要求响应速度的代码和数据实现方法是,在页表中添加锁定标志位(lock bi

2020-12-29 22:44:46 577

原创 第12章 Java内存模型与线程

第12章 Java内存模型与线程由于计算机的存储设备与处理器的运算速度有着几个数量级的差距,所以现代计算机系统都不得不加入一层或者多层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无须等待缓慢的内存读写了。”内存模型“一词,它可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象。12.3 Java内存模型12.3.1 主内存和工作内存

2020-12-29 09:31:40 59

原创 第11章 后端编译与优化

第11章 后端编译与优化11.2 即时编译器当虚拟机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“热点代码(Hot Spot Code)”,为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成本地机器码,并以各种手段尽可能地进行代码优化,在运行时完成这个任务的后端编译器被称为即时编译器。11.2.1 解释器与编译器解释器与编译器搭配使用的方式在虚拟机中被称为“混合模式”,用户可以用参数“-Xint”强制虚拟机运行于“解释模式”,这时候编译器完全不介入工作,全部代码都使用

2020-12-27 08:43:25 95

原创 2,Redis数据类型

Redis数据类型1,Redis五大数据类型全段翻译:   Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(

2020-12-24 09:15:20 75

原创 第10章 前端编译与优化

第10章 前端编译与优化10.1 概述在Java技术下谈“编译期”而没有具体上下文语境的话,其实是一句很含糊的表述,因为它可能是指一个前端编译器(叫“编译器的前端”更准确一些)把*.java文件转变成 *.class文件的过程;也可能是指Java虚拟机的即时编译器(常称JIT编译器)运行期把字节码转变成本地机器码的过程;还可能是指使用静态的提前编译器(常称AOT编译器)直接把程序编译成与目标机器指令集相关的二进制代码的过程。关于指令集语法糖:也译为糖衣语法,是由英国计算机科学家彼得·约翰·

2020-12-23 21:34:38 75

原创 1, Redis入门及安装

笔记一,Nosql概述**灰度发布(又名金丝雀发布)**是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。为什么要用NoSQL!用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长! 这时候我们就需要使用NoSQL数

2020-12-21 08:23:15 77 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除