<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZGUIZ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZGUIZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZGUIZ]]></copyright><item><title><![CDATA[Ubuntu 25.10 蓝牙Wifi不可用解决流程]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/161235138</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/161235138</guid><author>ZGUIZ</author><pubDate>Tue, 19 May 2026 23:30:15 +0800</pubDate><description><![CDATA[前阵子把自己的古董笔记本安装上了Ubuntu 25.10,结果蓝牙和wifi无法正常启动。5) 我们可以到github的winterheart/broadcom-bt-firmware项目仓库下载，并找到brcm目录下的。3. 电脑重启过程中，屏幕上会出现一个蓝色的 "Perform MOK management" 界面。根据控制台显示的结果，查询到这个问题是因为由于安全启动的保护机制，UEFI 安全启动（Secure Boot）功能阻止了驱动加载。这样就可以看到蓝牙正常启动了。可以看到，启动时缺少了。]]></description><category></category></item><item><title><![CDATA[Ubuntu 25.10 无法外接显示器解决方案]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/159892662</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/159892662</guid><author>ZGUIZ</author><pubDate>Mon, 06 Apr 2026 19:56:33 +0800</pubDate><description><![CDATA[最近给电脑安装了Ubuntu 25.10，外接显示器时发现无法输出信号。在windows状态下确认是可以正常外接显示器的，所以排除了是线材问题或接口问题。（Display Manager）的问题。2. 在弹出的对话框选择LightDM，之后reboot。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus分页控件使用及使用过程发现的一个坑]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/146125548</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/146125548</guid><author>ZGUIZ</author><pubDate>Sun, 09 Mar 2025 00:20:53 +0800</pubDate><description><![CDATA[MyBatis-Plus分页控件使用及使用过程发现的一个坑]]></description><category></category></item><item><title><![CDATA[读书笔记--MapReduce词频统计]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/90744852</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/90744852</guid><author>ZGUIZ</author><pubDate>Sun, 02 Jun 2019 22:51:38 +0800</pubDate><description><![CDATA[词频统计作为MapReduce入门的一个基础算法，相当与各种语言的“Hello World”程序。下面简单说一下MapReduce的算法实现。

   Mapper代码：


public class WordMapper extends Mapper&lt;Object,Text,Text,IntWritable&gt;{
    private IntWritable o...]]></description><category></category></item><item><title><![CDATA[DataTablesUtil服务器端分页查询]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/84255621</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/84255621</guid><author>ZGUIZ</author><pubDate>Mon, 19 Nov 2018 16:38:31 +0800</pubDate><description><![CDATA[DataTablesUtil提供的分页查询默认是web端分页，即在数据库中查询所有的数据之后，再根据需要进行分页查询，这样带来的后果就是如果某个表的数据量比较大则会给服务器带来较大的负担。DataTablesUtil是支持服务端分页的。

下面是一个Table：


&amp;lt;table class=&quot;table table-border table-bordered table-bg displa...]]></description><category></category></item><item><title><![CDATA[Java线程池的使用]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/79330533</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/79330533</guid><author>ZGUIZ</author><pubDate>Fri, 16 Feb 2018 18:01:38 +0800</pubDate><description><![CDATA[在开发过程中，我们有时需要频繁创建多个线程进行运算的时候，每次都new出一个新的Thread对象并不能有效地利用资源，同时可能造成由于线程缺乏统一管理，无限制创建新线程，占用过多资源导致线程死锁问题。在这样的情况下我们就可以使用Java的线程池来管理、调度线程。线程池的的优点在于三点：一，能够复用存在的线程，减少创建、销毁线程的操作，减少进行对应操作的开销；二、能够有效控制并发数量，提高系统资源利...]]></description><category></category></item><item><title><![CDATA[Java线程的基本使用（二）]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/79328118</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/79328118</guid><author>ZGUIZ</author><pubDate>Thu, 15 Feb 2018 13:58:45 +0800</pubDate><description><![CDATA[除了通过Runnable注入以及实现Thread类的run方法之外（其实都是Runnable），java还提供了Callable、Future和FutureTask这几个与多线程相关的概念，不过这几个类型都只能用于线程池中。Callable声明如下：public interface Callable&amp;lt;V&amp;gt;{
	V call() throws Exception;
}Callable感觉...]]></description><category></category></item><item><title><![CDATA[Java线程的基本使用]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/79327304</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/79327304</guid><author>ZGUIZ</author><pubDate>Thu, 15 Feb 2018 00:42:45 +0800</pubDate><description><![CDATA[先声明一下，本文参考了何红辉著《Android开发进阶 从小工到专家》第三章节：“Android中的多线程”内容，故逻辑可能会出现一些相似之处。在java中，多线程使用的成本是相对较低的，其中有两种常见的使用方法：第一种，直接重写Thread的run()方法，然后启动线程：public class ThreadDemo {
	
	public static void main(String[] a...]]></description><category></category></item><item><title><![CDATA[Android圆形水波纹按钮的实现(Ripple)]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/79322749</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/79322749</guid><author>ZGUIZ</author><pubDate>Tue, 13 Feb 2018 18:27:15 +0800</pubDate><description><![CDATA[在Android中，谷歌已经提供了对于按钮水波纹效果的一个实现。在组件的中添加以下代码即可实现：超出组件边框（但不超出父类视图）,此时水波纹效果为圆形：android:background=&quot;?android:attr/selectableItemBackgroundBorderless&quot;不超出组件边框，水波纹效果为组件的形状：android:background=&quot;?android:attr/s...]]></description><category></category></item><item><title><![CDATA[Android自定义控件的简单使用]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/79319660</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/79319660</guid><author>ZGUIZ</author><pubDate>Tue, 13 Feb 2018 01:26:36 +0800</pubDate><description><![CDATA[先声明一下，本文参考了何红辉的《Android开发进阶 从小工到专家》第二章节内容。在Android开发中，尽管Android源代码库中已经提供给我们很多功能强大的View，但在开发中总是会出现不完全满足我们需求的情况，这时候自定义控件就是我们必须使用的实现方式。假设我们要实现一个进度条，首先，我们先创建一个类SimpleView2继承View，并且在类中声明我们需要的属性:public clas...]]></description><category></category></item><item><title><![CDATA[Android广播的简单使用]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/78018219</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/78018219</guid><author>ZGUIZ</author><pubDate>Mon, 18 Sep 2017 13:43:09 +0800</pubDate><description><![CDATA[BoradcastReceiver是Android下的四大组件之一，用于接收其他Service或者Activity发送的广播。
首先，要接受广播，得有一个广播的发送源。这个发送源，可以是其他应用的Activity、Service，也可以是当前应用的Activity或者Service。发送广播的方法非常简单：
Intent intent=new Intent();
//设置intent
inte]]></description><category></category></item><item><title><![CDATA[利用第三方API服务实现归属地查询]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/76223392</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/76223392</guid><author>ZGUIZ</author><pubDate>Fri, 28 Jul 2017 01:22:46 +0800</pubDate><description><![CDATA[许多平台诸如阿里、百度等都对外提供了一些付费的API服务，使用这些服务能够大量节省开发成本。在这里我将实现利用来电归属地API服务实现来电归属地查询。
        首先新建一个Android项目，并创建一个Activity。
        该Activity中包含一个搜索框(使用EditText)，一个按钮(Button)和一个查询结果的文本框(TextView)。页面设计代码如下：]]></description><category></category></item><item><title><![CDATA[Intent的简单介绍]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/55103275</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/55103275</guid><author>ZGUIZ</author><pubDate>Tue, 14 Feb 2017 18:06:02 +0800</pubDate><description><![CDATA[Android程序中有三大基本组件：Activity，Service和BroadcastReceiver，而这三个组件都是通过Intent对象来激活的。Intent对象是Android程序中各个组件之间的传输数据的对象。我们可以把需要激活的组件的描述记录在Intent对象中，并利用特定的函数来实现激活指定或指定功能的组件（此时Android会根据此Intent对象的描述找到相应的组件）。]]></description><category></category></item><item><title><![CDATA[Activity的常用操作]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54880687</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54880687</guid><author>ZGUIZ</author><pubDate>Sun, 05 Feb 2017 13:04:38 +0800</pubDate><description><![CDATA[在Android应用于用户交互的过程中，经常需要从一个Activity跳转到另一个(或多个)Activity上。本文以计算是否闰年的Android应用为例，简单说一下如何从一个Activity启动、跳转到其他Activity。
        在Android Studio中创建一个项目，设置MainActivity的布局xml文件：

<LinearLayout xmlns:android=]]></description><category></category></item><item><title><![CDATA[Activity的四种状态和生命周期]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54835419</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54835419</guid><author>ZGUIZ</author><pubDate>Thu, 02 Feb 2017 13:07:09 +0800</pubDate><description><![CDATA[Android程序中，Activity存在四种状态：Running, Paused, Stopped, Killed。]]></description><category></category></item><item><title><![CDATA[Android布局管理器]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54801989</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54801989</guid><author>ZGUIZ</author><pubDate>Tue, 31 Jan 2017 23:32:50 +0800</pubDate><description><![CDATA[Android的五种布局管理器:线性布局管理器（LinearLayout）、绝对布局管理器（AbsoluteLayout）、相对布局管理器（RelativeLayout）、框架布局管理器（FrameLayout）、表格布局管理器（TableLayout）]]></description><category></category></item><item><title><![CDATA[C语言堆排序的实现]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729223</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729223</guid><author>ZGUIZ</author><pubDate>Wed, 25 Jan 2017 12:40:09 +0800</pubDate><description><![CDATA[堆排序是一种树形选择排序，在排序过程中，将数组a[]看成一棵完全二叉树，利用双亲节点和孩子节点之间的内在关系，在当前无序的序列中选择关键字最大（或最小）的排序。其空间复杂度为O(1)，在最坏的情况下时间复杂度为O(nlog2n)。堆排序是一种不稳定的算法，且只能用于顺序结构，不能用于链式结构；初始建堆所需的比较次数较多，因此记录少的时候不宜采用。堆排序在最坏情况下的时间复杂度比快速排序下最坏的时间]]></description><category></category></item><item><title><![CDATA[C语言归并排序算法的实现]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729214</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729214</guid><author>ZGUIZ</author><pubDate>Wed, 25 Jan 2017 12:36:42 +0800</pubDate><description><![CDATA[归并排序是将两个或两个以上有序表合并成一个有序表的过程，其算法稳定，可以用于链式存储结构，且不需要附加储存空间，但递归时由于必须开辟相应的递归工作栈，故这个算法对内存要求较高。归并排序的时间复杂度为O(nlog2n)，空间复杂度为O(n)。
下面是实现代码：
预定义和类型定义：
#define OK 1
#define ERROR 0
#define MAXSIZE 100

typedef]]></description><category></category></item><item><title><![CDATA[C语言简单选择排序算法的实现]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729204</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729204</guid><author>ZGUIZ</author><pubDate>Wed, 25 Jan 2017 12:34:26 +0800</pubDate><description><![CDATA[简单选择排序从元素中跳出最小关键字，将其放在已排序列的最后，未排序的序列最前，直到全部排序完成为止，其空间复杂度为O(1)，时间复杂度为O(n2)。下面是实现代码：
首先仍然是预定义和类型定义：
#define OK 1
#define ERROR 0

typedef int Status;
typedef int ElemType;

typedef struct{
	ElemType *]]></description><category></category></item><item><title><![CDATA[C语言快速排序算法的实现]]></title><link>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729201</link><guid>https://blog.youkuaiyun.com/ZGUIZ/article/details/54729201</guid><author>ZGUIZ</author><pubDate>Wed, 25 Jan 2017 12:30:11 +0800</pubDate><description><![CDATA[快速排序是由冒泡排序改进而得的，相比冒泡排序，快速排序的一次交换可能消除多个逆序。其平均时间复杂度为O(nlog2n)，空间复杂度最好情况下为O(log2n),最坏情况下为O(n)。适用于顺序结构，不适用于链式结构，不稳定，适合于初始记录无序，n比较大的情况。
下面是实现代码：
首先是预定义和类型定义：
#define OK 1
#define ERROR 0

typedef int St]]></description><category></category></item></channel></rss>