<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[asertgh123的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/asertgh123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; asertgh123]]></copyright><item><title><![CDATA[复习总结 --- Linux指令]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/120218510</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/120218510</guid><author>asertgh123</author><pubDate>Mon, 22 Aug 2022 08:48:48 +0800</pubDate><description><![CDATA[文章目录第十九章  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 其他常用命令
第十九章  Linux
19.1 Linux简]]></description><category></category></item><item><title><![CDATA[复习-计算机网络]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/119181719</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/119181719</guid><author>asertgh123</author><pubDate>Tue, 03 Aug 2021 23:00:50 +0800</pubDate><description><![CDATA[文章目录第七章 计算机网络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]]></description><category></category></item><item><title><![CDATA[复习总结---JVM]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/118874094</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/118874094</guid><author>asertgh123</author><pubDate>Wed, 28 Jul 2021 15:30:05 +0800</pubDate><description><![CDATA[文章目录第四章 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.youkuaiyun.com/qq_24830]]></description><category></category></item><item><title><![CDATA[复习总结---java基础和集合]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/115141281</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/115141281</guid><author>asertgh123</author><pubDate>Sun, 18 Jul 2021 10:22:34 +0800</pubDate><description><![CDATA[1，关于class.getResource()的用法
2,   java中关于class.getResource和classLoader.getResource，getSystemResource方法的区别


]]></description><category></category></item><item><title><![CDATA[java中的类加载器]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/118696753</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/118696753</guid><author>asertgh123</author><pubDate>Tue, 13 Jul 2021 16:00:23 +0800</pubDate><description><![CDATA[类加载器

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

Bootstrap Classloader   :   启动类加载器,用来加载 %JAVA_HOME%/jre/lib 下的, 如 rt.jar中的class文件 或者 ]]></description><category></category></item><item><title><![CDATA[数据结构与算法]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114603470</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114603470</guid><author>asertgh123</author><pubDate>Mon, 05 Jul 2021 19:11:57 +0800</pubDate><description><![CDATA[回溯法

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


]]></description><category></category></item><item><title><![CDATA[Netty]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/117934073</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/117934073</guid><author>asertgh123</author><pubDate>Sat, 03 Jul 2021 09:29:47 +0800</pubDate><description><![CDATA[Netty
1，NIO基础

Selector


selector的作用就是配合一个线程来管理多个channel，获取这些channel上发生的事件，这些channel工作在非阻塞模式下，不会让线程吊死在一个channel上，适合连接数特别多，但流量低的场景。



调用selector的select方法会阻塞直到channel发生了读写就绪事件，这些事件发生，select方法就会返回这些事件交给thread来处理




Buffer


ByteBuffer.allocate(16).getClass]]></description><category></category></item><item><title><![CDATA[分布式 --- Dubbo和Zookeeper]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/115055990</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/115055990</guid><author>asertgh123</author><pubDate>Tue, 23 Mar 2021 21:36:23 +0800</pubDate><description><![CDATA[学习视频

Zookeeper
1,分布式概述

早期我们使用单体架构，即所有服务部署在一台服务器的一个进程中，随着互联网的发展，逐步演进为分布式架构，多个服务分别部署在不同的机器的不同进程中。


2,zookeeper概述

zookeeper是一个开源的分布式协调服务，提供分布式数据一致性解决方案，分布式应用程序可以实现数据发布订阅，负载均衡，命名服务，集群管理分布式锁，分布队列等功能。

3，CAP原则

CAP在分布式系统中主要指的是一致性(Consistency),可用性(Availabili.]]></description><category></category></item><item><title><![CDATA[maven]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/115032297</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/115032297</guid><author>asertgh123</author><pubDate>Sun, 21 Mar 2021 11:21:48 +0800</pubDate><description><![CDATA[maven
1,Maven 简介
1.1 maven能做什么

项目的自动构建，帮助开发人员做项目代码的编译，测试，打包，安装，部署等工作。
管理依赖（管理项目中使用的各种jar包）

依赖:项目中需要使用的其他资源。常见的是jar。比如项目要使用mysql驱动，我们就说项目依赖mysql驱动。



1.2 什么是maven

maven是apache基金会的开源项目，使用java语法开发
maven是项目的自动化构建的工具
构建过程的各个环节：清理，编译，测试，报告，打包，安装，部署

1.3 mave]]></description><category></category></item><item><title><![CDATA[Java集合 --- ConcurrentHashMap]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114955009</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114955009</guid><author>asertgh123</author><pubDate>Sat, 20 Mar 2021 16:46:16 +0800</pubDate><description><![CDATA[ConcurrentHashMap

参考资料
参考资料
sun.misc.Unsafe

objectFieldOffset方法，返回成员属性在内存中的地址相对于对象内存地址的偏移量




]]></description><category></category></item><item><title><![CDATA[Java集合  --LinkedList源码分析]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114902967</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114902967</guid><author>asertgh123</author><pubDate>Wed, 17 Mar 2021 19:29:19 +0800</pubDate><description><![CDATA[参考资料
ArrayList 和 LinkedList比较


ArrayList

基于数组，在数组中搜索和读取数据是很快的。因此 ArrayList 获取数据的时间复杂度是O(1);
但是添加、删除时该元素后面的所有元素都要移动，所以添加/删除数据效率不高；
另外其实还是有容量的，每次达到阈值需要扩容，这个操作比较影响效率。



LinkedList


基于双端链表，添加/删除元素只会影响周围的两个节点，开销很低；


只能顺序遍历，无法按照索引获得元素，因此查询效率不高；


没有固定容量，不需要]]></description><category></category></item><item><title><![CDATA[Java集合 --ArrayList源码分析]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114848934</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114848934</guid><author>asertgh123</author><pubDate>Tue, 16 Mar 2021 16:30:53 +0800</pubDate><description><![CDATA[参考资料
学习视频

为何ArrayList的最大数组大小是Integer.MAX_VALUE - 8？

基础知识
Cloneable:说明该类支持拷贝

深拷贝:
浅拷贝:直接使用Object中的clone方法,拷贝的对象是非独立的
传值方式:基本类型和String变量是值传递,引用类型是引用传递
拷贝的是栈中的内容

Serializable:网络传输,写磁盘

serialVersionUID:是类文件的指纹(签名),md5    如果内容有变,签名就会变,从而使反序列化失败,为了防止这个.可以将其]]></description><category></category></item><item><title><![CDATA[Java集合 --- HashMap源码分析]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114699935</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114699935</guid><author>asertgh123</author><pubDate>Mon, 15 Mar 2021 19:56:45 +0800</pubDate><description><![CDATA[Hash也称散列,哈希,对应的英文名都是Hash.基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出,这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值
Hash的特点:

从hash值不可以反向推导出原始的数据
输入数据的微小变化会得到完全不同的hash值,相同的数据会得到相同的值
哈希算法的执行效率要高效,长的文本也能快速地计算出哈希值
hash算法的冲突概率要笑



1. HashMap总览
1.1 hashmap底层储存结构图解
底层结构其实就是数组+链表+.]]></description><category></category></item><item><title><![CDATA[Linux - 进程管理]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114624842</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114624842</guid><author>asertgh123</author><pubDate>Wed, 10 Mar 2021 10:40:56 +0800</pubDate><description><![CDATA[进程管理
1. 进程管理基础

在Linux中，每个执行的**程序（代码）**都称为一个进程。每个进程都分配一个ID号
每一个进程，都会对应一个父进程，而这个父进程可以复制多个子进程。例如www服务器。
每个进程都可能以两种方式存在。前台和后台。

前台进程：用户目前的屏幕上可以进行操作的。
后台进程：实际在操作，但由于屏幕上无法看到的进程，通常使用后台方式执行。


一般系统的服务都是以后台进程的方式存在，而且都会常驻在系统中，直到关机才结束。

2. 显示系统执行的进程
2.1 ps指令详细介绍

ps]]></description><category></category></item><item><title><![CDATA[Linux  网络配置]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114623738</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114623738</guid><author>asertgh123</author><pubDate>Wed, 10 Mar 2021 09:03:48 +0800</pubDate><description><![CDATA[网络配置
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.com

4. Linux网络环境配置
4.1 自动抓取

缺点： 每次自动获取的ip地址可能不一样，不适用于做服务器
4.2 指定ip地址
]]></description><category></category></item><item><title><![CDATA[Linux 磁盘]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114604915</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114604915</guid><author>asertgh123</author><pubDate>Wed, 10 Mar 2021 08:32:23 +0800</pubDate><description><![CDATA[Linux磁盘分区、挂载度
1. 分区方式

mbr分区

最多支持四个主分区
系统只能安装在主分区
扩展分区要占一个主分区
MBR最大只支持2TB，但拥有最好的兼容性


gpt分区

支持无限多个主分区（但操作系统可能限制，比如windows下最多128个分区）
最大支持18EB的大容量（1EB=1024PB，PB=1024TB）
windows7 64位以后支持gpt



2. Linux分区
2.1 分区原理

Linux来说无论有几个分区，分给哪一个目录使用，它归根结底就只有一个根目录，一个独立]]></description><category></category></item><item><title><![CDATA[Linux - 定时任务调度]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114603513</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114603513</guid><author>asertgh123</author><pubDate>Tue, 09 Mar 2021 22:23:06 +0800</pubDate><description><![CDATA[3.7定时任务调度
1. 任务调度原理

任务调度：是指系统在某个时间执行的特定的命令或程序。
任务调度分类：
- 1.系统工作：有些重要的工作必须周而复始地执行。如病毒扫描等
- 2.个别用户工作：个别用户可能希望执行某些程序，比如对 mysql 数据库的备份。


crond任务调度：crontab进行定时任务调度



基本语法：crontab [选项]

crontab [选项]
-e：编辑crontab定时任务
-i：查询crontab任务
-r：删除当前用户所有的crontab任务
-l：列出当]]></description><category></category></item><item><title><![CDATA[Linux - 组管理和权限管理]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114550317</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114550317</guid><author>asertgh123</author><pubDate>Tue, 09 Mar 2021 21:52:54 +0800</pubDate><description><![CDATA[组管理和权限管理
1. Linux组基本介绍

Linux中每个用户属于一个组，不能独立于组以外。所以在Linux中每个文件存在组的概念：

所有者
所在组
其他组
改变用户所在组




2. 文件/目录所有者

一般为文件的创建者，谁创建了该文件，就自然的称为该文件的所有者。



查看文件所有者：ls -ahl



修改文件所有者：chown (用户名) (文件名)



3. 文件/目录所在组

当某个用户创建了一个文件之后，默认之歌文件所在组就是该用户所在的组


查看文件所有者：ls -ahl]]></description><category></category></item><item><title><![CDATA[Linux实用指令]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114493130</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114493130</guid><author>asertgh123</author><pubDate>Mon, 08 Mar 2021 21:19:03 +0800</pubDate><description><![CDATA[实用指令
1. 指定运行级别（7个级别）


0.关机


1.单用户【找回丢失密码】


2.多用户状态没有网络服务


3.多用户状态有网络服务


4.系统未使用保留给用户


5.图形界面


6.系统重启



系统的运行级别配置文件：/etc/inittab


切换到指定运行级别的指令：init [012356]



如何找回 root 密码，如果我们不小心，忘记 root  密码，怎么找回。
思路： 进入到 单用户模式，然后修改 root 密码。因为进入单用户模式，root 不需要密码就可]]></description><category></category></item><item><title><![CDATA[Linux用户管理]]></title><link>https://blog.youkuaiyun.com/asertgh123/article/details/114479873</link><guid>https://blog.youkuaiyun.com/asertgh123/article/details/114479873</guid><author>asertgh123</author><pubDate>Sun, 07 Mar 2021 18:44:53 +0800</pubDate><description><![CDATA[Linux
Linux基本介绍


Linux 是一款操作系统，免费，开源， 安全，高效，稳定， 处理高并发非常强悍，现在很多的企业级的项目都部署到 Linux/unix 服务器运行


Linux发行版本



Linux文件系统目录结构：linux的文件系统是采用级层式的树状目录结构，在此结构中的最上层的根目录“/”，然后在此目录下再创建其他的目录。


在 Linux 世界里，一切皆文件。

/ : 根目录


/bin： 是Binary的缩写，这个目录存放着最经常使用的命令。
/sbin：s就是Su]]></description><category></category></item></channel></rss>