<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ProgramBoy001的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ProgramBoy001</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ProgramBoy001]]></copyright><item><title><![CDATA[linux网络编程库函数封装]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/137297606</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/137297606</guid><author>ProgramBoy001</author><pubDate>Tue, 02 Apr 2024 23:14:53 +0800</pubDate><description><![CDATA[【代码】【无标题】]]></description><category></category></item><item><title><![CDATA[stm32 Makefile]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/135074668</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/135074668</guid><author>ProgramBoy001</author><pubDate>Tue, 19 Dec 2023 01:15:29 +0800</pubDate><description><![CDATA[stm32 makefile编写]]></description><category></category></item><item><title><![CDATA[ARM汇编与GCC汇编]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/126057571</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/126057571</guid><author>ProgramBoy001</author><pubDate>Fri, 29 Jul 2022 16:10:01 +0800</pubDate><description><![CDATA[arm汇编入门与gcc汇编风格]]></description><category></category></item><item><title><![CDATA[webSocket]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/122441742</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/122441742</guid><author>ProgramBoy001</author><pubDate>Tue, 11 Jan 2022 21:10:31 +0800</pubDate><description><![CDATA[WebSocket
1，导包
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-websocket&lt;/artifactId&gt;
    &lt;version&gt;2.3.3.RELEASE&lt;/version&gt;
&lt;/dependency&gt;

2,配置
@Configuration
p]]></description><category></category></item><item><title><![CDATA[ServerSocket]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/122355858</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/122355858</guid><author>ProgramBoy001</author><pubDate>Fri, 07 Jan 2022 00:16:03 +0800</pubDate><description><![CDATA[Java NIO 网络编程
什么是NIO
​		传统的BIO方式是基于流进行读写的，而且是阻塞的。要想处理并发请求，必须要产生新的线程来处理读写任务。为了提高IO性能，引入了NIO就是new IO的意思。
​		NIO的底层实现。NIO在C语言级别使用到了多路复用IO的技术 select、poll、epoll。
1，通道
​	通道( Channel )，到如何目的地( 或来自如何地方 ) 的所有数据都必须通过一个通道对象。
2，缓冲区
​	缓冲区实质上是一个容器对象。发送给通道的所有对象都必须先放到缓冲区中]]></description><category></category></item><item><title><![CDATA[数据结构HashMap]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/109605889</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/109605889</guid><author>ProgramBoy001</author><pubDate>Tue, 10 Nov 2020 19:52:57 +0800</pubDate><description><![CDATA[数据结构HashMap
作为一个大一新生自己写的HashMap
因为HashMap是Java比较重要的一个集合，通过我对数据结构的学习，也为了跟好的了解JavaHashMap源码，通过链表+数组自己做了一个简易的HashMap，可能有很多问题希望不要喷，毕竟我终是一个大一新生
public class HashListMap{


    private static HashListMap hashListMap=null;

    public static synchronized HashList]]></description><category></category></item><item><title><![CDATA[C语言双向链表]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/109435613</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/109435613</guid><author>ProgramBoy001</author><pubDate>Sun, 01 Nov 2020 20:12:43 +0800</pubDate><description><![CDATA[**
C语言双向链表的实现
**
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;malloc.h&gt;

void link(int number);
void search();
struct Node{
    int age;
    struct Node *next;
    struct Node *perv;
};
struct Node *head=NULL;
struct Node *tail=NULL;
int]]></description><category></category></item><item><title><![CDATA[工厂的实现]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108370098</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108370098</guid><author>ProgramBoy001</author><pubDate>Wed, 02 Sep 2020 21:48:26 +0800</pubDate><description><![CDATA[工厂的实现
Bean:在计算机英语中，有可重用组件的含义
JavaBean：用Java语言编写的可用组件
JavaBean&gt;实体类
它就是创建我们类对象的配置类
第一点：需要一个配置文件来配置我们的类
配置的类容：唯一标识：会限制类名（key,value）
第二点：通过读取配置文件中的类容：反射创建对象
位置文件xml，properties
单例：单例有线程安全问题
多例：执行效力低
单例
public class BeanFactory {
    public static Properties ]]></description><category></category></item><item><title><![CDATA[单链表代码案例]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108310282</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108310282</guid><author>ProgramBoy001</author><pubDate>Sun, 30 Aug 2020 20:10:02 +0800</pubDate><description><![CDATA[单链表代码案例
public class useData &lt;T&gt;{
    //单链表的数据机构
    static class Node&lt;T&gt;{
        T element;
        Node next;
        public Node(T element){
           this.element=element;
        }
    }
    //头指针
    Node head;
    //为指针
    Node tail;
]]></description><category></category></item><item><title><![CDATA[linux 20.04]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108191970</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108191970</guid><author>ProgramBoy001</author><pubDate>Mon, 24 Aug 2020 01:58:53 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[头像获取]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108102798</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108102798</guid><author>ProgramBoy001</author><pubDate>Wed, 19 Aug 2020 15:59:49 +0800</pubDate><description><![CDATA[Servlet通过文件获取图片头像
public class Head_Portrait {
    File files;
    BufferedImage image;
    public Head_Portrait(String file){
        try {
            this.files=new File(file);
            //读取File中的文件
            image=(BufferedImage) ImageIO.read(file]]></description><category></category></item><item><title><![CDATA[Servlet文件下载]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108102026</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108102026</guid><author>ProgramBoy001</author><pubDate>Wed, 19 Aug 2020 15:47:06 +0800</pubDate><description><![CDATA[**
文件下载
**
代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");

        String ]]></description><category></category></item><item><title><![CDATA[文件上传案例]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108084189</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108084189</guid><author>ProgramBoy001</author><pubDate>Tue, 18 Aug 2020 18:59:33 +0800</pubDate><description><![CDATA[Servlet文件上传案例
文件上传注解：
@MultipartConfig(maxFileSize = 10241024100,maxRequestSize = 10241024200)
maxFileSize：单个文件的最大上传大小
maxRequestSize：多个文件的最大上传大小
获取请求数据
Path path=request.getPath(“前端自定义的数据名”);
获取上传文件的文件名
String sub = file.getSubmittedFileName();
上传文件存放的位置
]]></description><category></category></item><item><title><![CDATA[NIO（非阻塞IO）]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108041837</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108041837</guid><author>ProgramBoy001</author><pubDate>Sun, 16 Aug 2020 20:52:14 +0800</pubDate><description><![CDATA[NIO（非阻塞IO）
NIO的核心三大部分
管道：Channel
缓冲区：Buffer
选择器：Selector
Buffer的三个属性
容量：(Capacity):缓冲区能够容纳的数据元素的最大值
上界：(Limit):缓冲区第一个不能读的位置
位置：(Position):下一个要被读或写的元素索引
Buffer中的几个方法：
。flip();（翻动）设置为可读模式：Limit设置为Position位置
。rewind()；将position重置为0，一般用于重复读
。clear()；清空buffer准备]]></description><category></category></item><item><title><![CDATA[Java BIO高并发编程]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108032374</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108032374</guid><author>ProgramBoy001</author><pubDate>Sun, 16 Aug 2020 09:44:24 +0800</pubDate><description><![CDATA[Java BIO高并发编程
图解转发模块

代码实现
public class Main implements Runnable {
    Socket socket = null;
    public Main(Socket socket){
        this.socket=socket;
    }
    @Override
    public void run() {
        try {
            new Writ().start();
            I]]></description><category></category></item><item><title><![CDATA[java单线程聊天室代码]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108031530</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108031530</guid><author>ProgramBoy001</author><pubDate>Sun, 16 Aug 2020 06:27:55 +0800</pubDate><description><![CDATA[java单线程聊天室代码
服务端代码
public class Main extends Thread {
    private ServerSocket serverSocket = null;
    Socket socket = null;

    public Main(int port) {
        try {
            serverSocket = new ServerSocket(port);
        } catch (IOException e) {
  ]]></description><category></category></item><item><title><![CDATA[线程组]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108022959</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108022959</guid><author>ProgramBoy001</author><pubDate>Sat, 15 Aug 2020 16:15:17 +0800</pubDate><description><![CDATA[线程组
java使用ThreadGroup来表示线程，它可以对一批线程进行分类管理，Java支持程序员直接对线程组进行管理控制。对线程组的控制相当于控制了这批线程。
一旦某个线程加入到某个线程组之后，该线程就一直属于该线程组，直到该线程死亡线程，线程运用途中不能改变它所属的线程组。

Thread类提供了以下构造器来设置新创建的线程属于哪个线程组
Thread(ThreadGroup group,Runnable targer)：以targer的run()方法作为线程执行体创建新线程属于group线程组
T]]></description><category></category></item><item><title><![CDATA[阻塞队列（BlockingQueue）]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108021105</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/108021105</guid><author>ProgramBoy001</author><pubDate>Sat, 15 Aug 2020 13:03:50 +0800</pubDate><description><![CDATA[**
阻塞队列（BlockingQueue）
**
什么是阻塞队列（ArrayBlockingQueue）；
1,概念
阻塞队列是一个支持两个附加操作的队列。这两个附加的操作是：在队列为空时，获取元素的线程会阻塞，而当队列满是，插入元素的线程会阻塞；阻塞队列常用于生产者和消费者的场景，生产者是往队列中添加元素，消费者去队列获取元素。
构造方法：
ArrayBlockingQueue&lt; E e&gt;  list=new ArrayBlockingQueue();
因为ArrayBlockingQueu]]></description><category></category></item><item><title><![CDATA[JDBC快速入门]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/107394063</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/107394063</guid><author>ProgramBoy001</author><pubDate>Thu, 16 Jul 2020 21:23:20 +0800</pubDate><description><![CDATA[基本代码
注意事项
JDBC要与你下载的数据库兼容，否则会出现错误


]]></description><category></category></item><item><title><![CDATA[MySQL基础使用-2]]></title><link>https://blog.youkuaiyun.com/ProgramBoy001/article/details/107350214</link><guid>https://blog.youkuaiyun.com/ProgramBoy001/article/details/107350214</guid><author>ProgramBoy001</author><pubDate>Tue, 14 Jul 2020 23:23:46 +0800</pubDate><description><![CDATA[#DQL：查询表中的记录
语法；
select字段列表   from 表名，列表   where 条件   group 分组字段    having 分组后的条件     order by  排序
limit 分页限页
基础查询
查询指定字段：
。select 字段1，字段2 from 表名；
去除重复字段的结果集：
。select distinct 字段名 from 表名；
计算每行数据的和：
。select 字段1，字段2，字段3，字段1+字段2 from 表名；
如果有null参与运算，计算结果都是n]]></description><category></category></item></channel></rss>