<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiweihao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiweihao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiweihao]]></copyright><item><title><![CDATA[使用yum命令报错(Could not resolve host: mirrorlist.centos.org； Unknown error ) 记录一下]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/143466618</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/143466618</guid><author>xiweihao</author><pubDate>Sun, 03 Nov 2024 16:16:49 +0800</pubDate><description><![CDATA[提示 ：Could not resolve host: mirrorlist.centos.org;检查是否可以 ping 通 www.baidu.com 确保 dns 和网络没有问题。]]></description><category></category></item><item><title><![CDATA[springmvc 学习路线梳理(拦截器)]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/143464641</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/143464641</guid><author>xiweihao</author><pubDate>Sun, 03 Nov 2024 14:25:17 +0800</pubDate><description><![CDATA[/交给spring管理，同时要能扫描到@Slf4j//请求之前执行@Overridelog.info("开始获取token");= null) {//最后一定要返回 true，否则就不能执行业务逻辑//请求之后执行@Override//完成之后执行@Override定义一个类继承 WebMvcConfigurationSupport 实现里面的 addInterceptors（）的方法//将刚才定义的拦截器注入@Resource@Override。]]></description><category></category></item><item><title><![CDATA[spring 学习路线梳理(三)AOP]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/143449139</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/143449139</guid><author>xiweihao</author><pubDate>Sat, 02 Nov 2024 19:32:44 +0800</pubDate><description><![CDATA[通知类：定义一个类为切面类通知方法：需要在那个方法里面做增强需求描述：在每个实现方法执行前打印当前的系统时间连接点和切入点的理解： 在接口里面定义的方法是连接点，需要在哪些方法里面增强功能是切入点//定义实现类@Slf4j@Service@Autowired@Override!!@Override@Override@Component 将通知类交由spirng来管理@Aspect 将此类定义为切面类。]]></description><category></category></item><item><title><![CDATA[spring 学习路线梳理(二)注解]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/143296559</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/143296559</guid><author>xiweihao</author><pubDate>Sat, 02 Nov 2024 12:45:40 +0800</pubDate><description><![CDATA[@Slf4j// //通过set方法 注入 需要的dao// }// 构造器注入@Override!!//销毁之前的操作@Override//初始化之前的操作@Override@Component  组件注解 下面又有3个衍生注解定义dao的是 @Repository定义service的是  @Service("loginService")  // 可以指定value,如果没有指定需要按照类型从容器中取bean。]]></description><category></category></item><item><title><![CDATA[spring 学习路线梳理(一)]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/143269864</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/143269864</guid><author>xiweihao</author><pubDate>Sun, 27 Oct 2024 21:32:22 +0800</pubDate><description><![CDATA[控制反转的出现是为了方便代码的解藕。没有ioc的时候都需要自己去new。如果一个接口有多个实现类，每次换实现类的时候需要重新编译，现在交给spring 的容器帮助我们管理。需要什么实现类，去找spring的容器取就可以了（这个就是DI注入）。


4.获取容器，从容器中拿到spring帮我们创建的bean




DI（依赖注入）

注入我们需要的类


2.在xml配置文件中定义需要注入到 service中的引用

3.查看配置后调用 运行的结果：1.在service中注入dao ,通过构造器注入2.在x]]></description><category></category></item><item><title><![CDATA[ThreadPoolExecutor 理解]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/141025830</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/141025830</guid><author>xiweihao</author><pubDate>Fri, 09 Aug 2024 17:43:53 +0800</pubDate><description><![CDATA[ThreadPoolExecutor将根据corePoolSize 和 maximumPoolSize 设置的边界自动调整线程池大小，在方法execute（Runnable）中提交新任务时，如果运行的线程数少于corePoolSize， 即使其他工作线程处于空闲状态，也会创建一个新线程来处理请求。取最高位的值是：从右边数第9位是:256 减去间隔的值右边数6位和7位，他们的值是 64+32=96。当执行因达到线程边界 和 队列容量时 使用的策略，如果任务阻塞队列已满且线程池中的线程数等于。]]></description><category></category></item><item><title><![CDATA[接收16进制数据，与硬件通信 java byte[i] & 0xFF]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/140845883</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/140845883</guid><author>xiweihao</author><pubDate>Wed, 07 Aug 2024 16:57:56 +0800</pubDate><description><![CDATA[java byte[i] & 0xFF byte为负数转16进制接收硬件发送的数据时，双方的协议用16进制发送数据，用 butBuffer 接收数据时有负数java 中 只有没有符号的表示，有符号的需要转换成为无符号的数据。]]></description><category></category></item><item><title><![CDATA[mysql 中的锁]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/139549845</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/139549845</guid><author>xiweihao</author><pubDate>Fri, 14 Jun 2024 12:43:47 +0800</pubDate><description><![CDATA[锁是计算机协调多个进程或线程并发访问某一资源的机制，在数据库中，除了传统的计算资源（cpu，ram，i/o）的争用以外，数据也是一种供许多用户共享的资源。作用：当有事物(线程)A有行锁时，mysql会自动为该表添加意向锁，事物（线程）b如果想申请整个表的写锁，那么不需要遍历每一行判断是否存在行锁，而直接判断是否存在意向锁，增强性能。每次操作锁住整张表，开销小，加锁快，不会出现死锁，锁定的粒度大，发生锁冲突的概率最高，并发低。锁定的是数据的一行，粒度小，能提供更好的并发性，需要更多的资源。]]></description><category></category></item><item><title><![CDATA[mysql (事物)]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/139535223</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/139535223</guid><author>xiweihao</author><pubDate>Sat, 08 Jun 2024 14:14:22 +0800</pubDate><description><![CDATA[总结：在没有关闭inndb自动提交事物和关闭inndb自动提交事物的情况下，都没有发生脏读的情况，都是在各自的窗口中执行各自的操作，另一个窗口的操作并不会对其他窗口有影响。隔离性Isolation：事务的隔离性是多个用户并发访问数据库时，数据库为每一个用户开启的事务执行时，不能被其他事务的执行所干扰，多个并发执行的事务之间要相互隔离。VALUES (1,'张三',2000), (2,'李四',2000);脏读过程的理解（切换事物的隔离级别，不同的隔离级别会导致数据的脏读，幻读，不可重复读）]]></description><category></category></item><item><title><![CDATA[linux 开放mysql端口]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/139523774</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/139523774</guid><author>xiweihao</author><pubDate>Fri, 07 Jun 2024 14:51:23 +0800</pubDate><description><![CDATA[这个错误表示客户端尝试连接到MySQL服务器时，服务器检查到客户端的IP地址没有被授权访问权限。MySQL的用户权限是基于用户名和来源IP的组合来判断的。MySql 8.0.11 换了新的身份验证插件（caching_sha2_password）,而原来的身份验证插件为（mysql_native_password）。1.在MySQL所在服务器上使用命令登录到MySQL数据库中。3.2）若MySQL已经启动，重启MySQL服务器。3.4) 1.重新登录，2.刷新权限，3.重置密码。]]></description><category></category></item><item><title><![CDATA[mysql 8 linux7,8安装教程]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/139518303</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/139518303</guid><author>xiweihao</author><pubDate>Fri, 07 Jun 2024 11:56:42 +0800</pubDate><description><![CDATA[经过查询资料 发现 这是由于yum安装了旧版本的GPG keys所造成，从rpm版本4.1后，在安装或升级软件包时会自动检查软件包的签名。只要在每一条末尾加上--force --nodeps就可以解决问题！rpm -e --nodeps mariadb-libs     //--nodeps 忽略依赖强制卸载。5.1) 因为版本问题初始化报错 需要查看自己linux的版本，上面已经介绍，重新下载安装。2.3）rpm -qa | grep -i mysql # -i 忽略大小写。6.设置mysql组的权限。]]></description><category></category></item><item><title><![CDATA[spark配置文件和优化]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/108896357</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/108896357</guid><author>xiweihao</author><pubDate>Sun, 04 Oct 2020 16:56:52 +0800</pubDate><description><![CDATA[配置文件讲解：


			属性
			默认值
			修改值
		指定shuffle分区:
			spark.sql.shuffle.partitions
			200
			5
		忽略损坏的文件
			spark.sql.files.ignoreCorruptFiles
			false
			true
		
			
			
			
		
			
			
			
		
			
			
			
		
			
			
			
		
			
			
			
		
		...]]></description><category></category></item><item><title><![CDATA[spark概念梳理]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/108893570</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/108893570</guid><author>xiweihao</author><pubDate>Thu, 01 Oct 2020 18:08:21 +0800</pubDate><description><![CDATA[大数据技术和 Spark 概述

通过实例学习 DataFrame、SQL、Dataset 等 Spark 的核心 API

了解 Spark 的低级 API 实现，包括 RDD 以及 SQL 和 DataFrame 的执行过程

了解 Spark 如何在集群上运行

Spark 集群和应用程序的调试、监控、和调优

学习 Spark 强大的流处理引擎——结构化流处理

学习 MLlib 并了解如何应用它解决包括分类和推荐等多种实际问题

“这本书是所有 Spark 开发者的必读物，介绍了许多其他地方...]]></description><category></category></item><item><title><![CDATA[hdfs重新梳理]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/108843470</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/108843470</guid><author>xiweihao</author><pubDate>Mon, 28 Sep 2020 18:42:15 +0800</pubDate><description><![CDATA[1.hdfs中的块为什么这么大？

 电脑磁盘都有默认的数据块大小，这是磁盘进行读写的最小单位。

 hdfs同样也有块的概念，默认是128MB。

 hdfs存储的数据是密集型的，例如一个块里面的数据只有1M不会占用一个块的大小。hdfs块比磁盘块大是为了最小化的寻址时间开销，如果块足够大，磁盘的寻址时间明显小于磁盘的传输时间。因而传输一个由多个块组成的大文件取决于磁盘的传输时间。

 例如：磁盘的寻址时间是10ms,传输速率为100MB/S,为了使寻址时间占用传输时间的1%，那么一个块的大小是1...]]></description><category></category></item><item><title><![CDATA[spark-core笔记]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/108625545</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/108625545</guid><author>xiweihao</author><pubDate>Wed, 16 Sep 2020 19:14:47 +0800</pubDate><description><![CDATA[二.rdd高级应用

 1.认知rdd缓存的优点

   RDD缓存机制

 2.掌握RDD缓存策略的选择。

 3.认知共享变量的使用。

 4.掌握Spark的运行架构。





5.宽依赖对比窄依赖相比于宽依赖，窄依赖对优化更有利 ，主要基于以下两点。

（1）宽依赖往往对应着shuffle操作（shuffle就是将同一个节点的数据进行分区排序，分发给各个子rdd），需要在运行过程中将同一个父RDD的分区传入到不同的子RDD分区中，中间可能涉及多个节点之间的数据传输；而窄依...]]></description><category></category></item><item><title><![CDATA[使用Linux的MAT分析工具分析超大dump文件（几GB）]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/106521848</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/106521848</guid><author>xiweihao</author><pubDate>Wed, 03 Jun 2020 12:48:27 +0800</pubDate><description><![CDATA[官网下载连接：https://www.eclipse.org/mat/downloads.php

下载
wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip
1
解压
unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip
1
修改MAT的内存大小
vi MemoryAnalyzer.ini
1
jmap dum]]></description><category></category></item><item><title><![CDATA[jvm 垃圾收集器整理记录]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/106467616</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/106467616</guid><author>xiweihao</author><pubDate>Mon, 01 Jun 2020 17:54:13 +0800</pubDate><description><![CDATA[serial收集器

parnew收集器

parallel scavenge收集器

serial old收集器

cms收集器（concurrent mark sweep）

garbage first垃圾收集（简称G1）



衡量采集器的三个标准

1.内存占用

2.吞吐量

3.延迟





serial收集器



例如妈妈在帮助儿子打扫房间卫生，儿子必须乖乖坐在椅子上面，不能在地下乱跑。否则就白打扫了。



parnew收集器

parnew收集器是serial收集器的多线程并行版本..]]></description><category></category></item><item><title><![CDATA[java逃逸技术分析]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/106443017</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/106443017</guid><author>xiweihao</author><pubDate>Sat, 30 May 2020 16:20:17 +0800</pubDate><description><![CDATA[概念引入
我们都知道，Java 创建的对象都是被分配到堆内存上，但是事实并不是这么绝对，通过对Java对象分配的过程分析，可以知道有两个地方会导致Java中创建出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB（Thread Local Allocation Buffer）线程私有的缓存区。

基本概念介绍
逃逸分析，是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析，Java Hotspot编译器能够分析出一个新的对象的引用的使用]]></description><category></category></item><item><title><![CDATA[hadoop HDFS详解(通过demo理解)]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/106354612</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/106354612</guid><author>xiweihao</author><pubDate>Tue, 26 May 2020 18:19:12 +0800</pubDate><description><![CDATA[目录



技能目标

目录

一.掌握HDFS文件系统的访问方式

二.掌握HDFS的体系结构

三.掌握HDFS文件的读写流程、副本摆放策略，认知HDFS数据负载均衡和机架感知。

四.了解HDFS的序列化使用

一.掌握HDFS文件系统的访问方式

 org.apache.hadoop.fs.FileSystem是抽象的文件访问接口



使用shell方式访问

1.列出文件目录 hdfs dfs -ls /

2.递归方式列出目录包括子目录hdfs dfs -ls -R /

3.在HD...]]></description><category></category></item><item><title><![CDATA[c 语言（基本教程 三）]]></title><link>https://blog.youkuaiyun.com/xiweihao/article/details/106129080</link><guid>https://blog.youkuaiyun.com/xiweihao/article/details/106129080</guid><author>xiweihao</author><pubDate>Thu, 14 May 2020 23:26:39 +0800</pubDate><description><![CDATA[一.C字符串

 1.1字符串函数

二.C结构体

  2.1结构体变量的初始化

  2.2访问结构成员

  2.3位域

三.c共用体

 3.1定义共用体

 3.2访问共用体成员

四.C位域



一.C字符串

在 C 语言中，字符串实际上是使用null字符 '\0' 终止的一维字符数组。因此，一个以 null 结尾的字符串，包含了组成字符串的字符。

下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符，所...]]></description><category></category></item></channel></rss>