<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jojo_getsup的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jojo_getsup</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jojo_getsup]]></copyright><item><title><![CDATA[ReentrantLock实现消费者生产者模型及condition等待队列和AQS同步队列的协同]]></title><link>https://blog.youkuaiyun.com/jojo_getsup/article/details/121007061</link><guid>https://blog.youkuaiyun.com/jojo_getsup/article/details/121007061</guid><author>jojo_getsup</author><pubDate>Thu, 28 Oct 2021 11:03:18 +0800</pubDate><description><![CDATA[实习第一天，被指派做了一些新人特训，第一天的任务是实现一下消费者生产者模型，简单查阅后，找到几种实现方式：Synchronized、ReentrantLock、BlockingQueue（阻塞队列）、Semaphore（信号量）。

这里主要讲一下第二种，ReentrantLock实现，自JDK1.5引入之后，相对对象锁，它可以为一个锁创建多个等待队列，支持等待时间的设置。

    代码实现如下：

仓库类：


package test_2;

import ja...]]></description><category></category></item><item><title><![CDATA[10.13 字节面试，手撕代码，没写出来]]></title><link>https://blog.youkuaiyun.com/jojo_getsup/article/details/120792027</link><guid>https://blog.youkuaiyun.com/jojo_getsup/article/details/120792027</guid><author>jojo_getsup</author><pubDate>Fri, 15 Oct 2021 23:24:02 +0800</pubDate><description><![CDATA[那天面试，考了一道困难题，当时脑袋嗡嗡的，没想出来，后来回去看了，其实思路不难，冷静想想应该可以做出来的，可惜有点紧张了。估计面试也亮了

    这道题是LeetCode的第41道题，缺失的第一个整数。

    题目描述：给你一个未排序的整数数组，请你找出其中没有出现的最小正整数。要求时间复杂度O(n),空间复杂度O（1）




class Solution {
    public int firstMissingPositive(int[] nums...]]></description><category></category></item><item><title><![CDATA[学习记录-LeetCode-剑指offer49：丑数]]></title><link>https://blog.youkuaiyun.com/jojo_getsup/article/details/120680831</link><guid>https://blog.youkuaiyun.com/jojo_getsup/article/details/120680831</guid><author>jojo_getsup</author><pubDate>Sun, 10 Oct 2021 00:03:27 +0800</pubDate><description><![CDATA[我们把只包含质因子2，3，5的数称作丑数，求按从小到大顺序的第n个丑数。

实例：


输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。

动态规划问题，需要考虑dp[n]和前几个数的关系。首先明确，所有的丑数都可以由前面的丑数乘以2、3、5这几个质因子得到后面的丑数。由1开始，1*2，1*3，1*5，这几个数肯定为丑数。所以第二个丑数为2，第三个为3。考虑第四个，由于要按照大小顺序，所以第四个数为2*2，第五个才为1*5。随后是]]></description><category></category></item><item><title><![CDATA[学习记录-LeetCode-剑指offer48：最长不含重复字符的子字符串]]></title><link>https://blog.youkuaiyun.com/jojo_getsup/article/details/120660423</link><guid>https://blog.youkuaiyun.com/jojo_getsup/article/details/120660423</guid><author>jojo_getsup</author><pubDate>Sat, 09 Oct 2021 00:12:38 +0800</pubDate><description><![CDATA[题目描述：请从字符串中找出一个最长的不含重复字符的子字符串，计算该字符串的长度。

示例：输入：“abcabcbb” 输出：3

分析：此题属于变种动态规划（个人理解）

首先找到初始值，


Class Solution{
    public int lengthOfLongestSubstring(String s){
    
    }
}


...]]></description><category></category></item><item><title><![CDATA[嵌入式系统课设，简单聊天室，无图形化界面，可群聊私聊，传文件]]></title><link>https://blog.youkuaiyun.com/jojo_getsup/article/details/120608980</link><guid>https://blog.youkuaiyun.com/jojo_getsup/article/details/120608980</guid><author>jojo_getsup</author><pubDate>Mon, 04 Oct 2021 22:20:19 +0800</pubDate><description><![CDATA[前阵子嵌入式系统实验课，正好在自学java，就用java实现了一个简单的聊天室

由于学校机房的嵌入式系统没有安装图形化界面的相关环境，自行安装比较麻烦，就写了一个没有图形化界面的聊天室系统

简单的分为客户端和服务端，通过socket建立连接，IO流传输数据，下面是代码

Client：


import java.io.*;
import java.net.Socket;
import java.net.SocketException;
import java.util.Scanner;



publ]]></description><category></category></item></channel></rss>