- 博客(5)
- 收藏
- 关注
原创 ReentrantLock实现消费者生产者模型及condition等待队列和AQS同步队列的协同
实习第一天,被指派做了一些新人特训,第一天的任务是实现一下消费者生产者模型,简单查阅后,找到几种实现方式:Synchronized、ReentrantLock、BlockingQueue(阻塞队列)、Semaphore(信号量)。这里主要讲一下第二种,ReentrantLock实现,自JDK1.5引入之后,相对对象锁,它可以为一个锁创建多个等待队列,支持等待时间的设置。 代码实现如下:仓库类:package test_2;import ja...
2021-10-28 11:03:18 410 4
原创 10.13 字节面试,手撕代码,没写出来
那天面试,考了一道困难题,当时脑袋嗡嗡的,没想出来,后来回去看了,其实思路不难,冷静想想应该可以做出来的,可惜有点紧张了。估计面试也亮了 这道题是LeetCode的第41道题,缺失的第一个整数。 题目描述:给你一个未排序的整数数组,请你找出其中没有出现的最小正整数。要求时间复杂度O(n),空间复杂度O(1)class Solution { public int firstMissingPositive(int[] nums...
2021-10-15 23:24:02 2443
原创 学习记录-LeetCode-剑指offer49:丑数
我们把只包含质因子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。随后是
2021-10-10 00:03:27 113
原创 学习记录-LeetCode-剑指offer48:最长不含重复字符的子字符串
题目描述:请从字符串中找出一个最长的不含重复字符的子字符串,计算该字符串的长度。示例:输入:“abcabcbb” 输出:3分析:此题属于变种动态规划(个人理解)首先找到初始值,Class Solution{ public int lengthOfLongestSubstring(String s){ }}...
2021-10-09 00:12:38 127
原创 嵌入式系统课设,简单聊天室,无图形化界面,可群聊私聊,传文件
前阵子嵌入式系统实验课,正好在自学java,就用java实现了一个简单的聊天室由于学校机房的嵌入式系统没有安装图形化界面的相关环境,自行安装比较麻烦,就写了一个没有图形化界面的聊天室系统简单的分为客户端和服务端,通过socket建立连接,IO流传输数据,下面是代码Client:import java.io.*;import java.net.Socket;import java.net.SocketException;import java.util.Scanner;publ
2021-10-04 22:20:19 765
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人