自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星空下的程序猿

日日编码,月月复盘,年年总结

  • 博客(210)
  • 资源 (14)
  • 收藏
  • 关注

原创 二十三种设计模式总结

1 感想设计模式大概花了两个月的时间来整理,说实话12月份写的现在已经忘记的差不多了,究其原因只是了解原理并没有落地使用,所以要想真正的掌握需要自己有意识的在项目中使用,这也是很多公司面试的要求。在前期一直没有一个写作思路,不知道如何来写才能让自己或者别人更好的理解,网上也有很多大神写的关于设计模式系列的文章,各种写作思路的都有;通过借鉴前辈们的写作思路,结合自己的思考,认为设计模式是诸多场景...

2019-01-29 10:15:51 475 2

原创 初识@Autowired注解

@Autowired使用该注解可以用在某个类的属性、方法以及方法的入参上,都表示注入的意思;标记了该注解的属性,Spring在启动的时候会找到对应的Bean,然后通过反射的方式给该类对象的属性set值。所谓的原理,是指Spring如何查找该属性的实体Bean。原理流程图抛开Bean的实例化过程,以及其他其他流程,这里唯独体现spring如何查找@Autowired注解修饰的属性,以及找到后如何识别。总结下来,就是先根据类型的属性在容器中查找,有三种情况:没有找到就返回null或者抛NoSu

2022-03-04 08:55:38 412

原创 spring(二)

Spring IOC实例化Bean的三种方式。方式1:使用无参构造器,通过反射实例化<bean id=“userService”, class=“com.starry.spring.test.UserServiceImpl” />方法2:使用类的静态方法。(静态方法)<bean id=“userService”, class=“com.starry.spring.test.UserServiceImpl”, factory-method=“getUserServiceStatic”

2021-12-22 01:09:32 528

原创 MyBatis(一)

mybatis的核心功能:一级缓存,二级缓存;嵌套查询时开启延迟加载;插件机制,可自定义插件实现特殊功能;支持基于xml和注解方式实现sql编写;

2021-12-15 23:13:41 493

原创 面试题20211125

在公司使用过redis吗,在什么场景下?使用的redis是什么版本的?redis有哪些持久化的方式?各自的优缺点?你们公司使用哪种方式?是否遇到过生产丢失数据的问题?如何去解决这个问题的?1、使用过,场景:缓存(分页查询:zset+string)、分布式锁(redisson)、限流(aop + redis lua脚本)等2、使用redis的版本:Redis 5.0.0,wget https://download.redis.io/releases/redis-5.0.0.tar.gz3、支持三种持久化

2021-11-25 17:42:20 429

原创 求1+2+…+n 20210318

求1+2+…+n * 中等题目解题题目求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000解题主要思路:很明显等差数列,可以通过等差数列求和公式计算。sum = n(a1 + an) / 2但是题目要求不能用乘除法,是否有运算符可以替代乘除。除法可以用位运算的右

2021-03-18 20:02:25 241

原创 股票的最大利润20210316

股票的最大利润*中等题目解题动态规划解题题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最

2021-03-16 20:41:42 214

原创 圆圈中最后剩下的数字20210315

圆圈中最后剩下的数字*简单题目题解动态规划题目0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <= n &l

2021-03-15 19:53:35 171

原创 如何对现有重复记录的Mysql表添加唯一索引

如何mysql版本大于5.5.6,那么直接执行下面的语句:alter ignore table tabelname add unique index(column1,column2);否则先执行下面语句,然后再执行上面的语句。set session old_alter_table =on; 备注:查看数据库版本命令:select version();...

2021-03-11 16:08:52 355

原创 扑克牌中的顺子20210308

扑克牌中的顺子*简单题目解题题目从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .解题主要思路:根据题意可以分析一下几条:如果5张牌中有重复的(不包含大小王),那么一定不是顺

2021-03-08 20:06:05 236

原创 n个骰子的点数20210308

n个骰子的点数*中等题目解题主要思路:动态规划第一步:找状态第二步:状态转移第三步:找边界条件代码题目把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例 2:输入: 2输出: [0.02778,0.0555

2021-03-08 16:40:58 116

原创 队列的最大值20210223

队列的最大值*中等题目解题题目请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]]输出: [null,nu

2021-02-23 18:59:17 154

原创 滑动窗口的最大值20210222

滑动窗口的最大值*简单题目解答解题1解题2题目给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6

2021-02-22 20:41:31 117

原创 左旋转字符串20210209

左旋转字符串*简单题目解题解法1解法2题目字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出: "umghlrlose"限制:1 <= k < s.length <

2021-02-09 17:15:54 95

原创 翻转单词顺序20210208

翻转单词顺序*简单题目题解解法1解法2题目输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符

2021-02-08 20:30:16 206

原创 和为s的连续正数序列20210208

和为s的连续正数序列*简单题目题解解题1解题2题目输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <= 10^5题解解题1主要思路:暴力解决法。双重循环遍历

2021-02-08 15:40:02 160

原创 和为s的两个数字20210208

和为s的两个数字*简单题目题解题目输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51 <=

2021-02-08 09:19:35 118

原创 PowerDesigner使用技巧

如何给表的字段设置唯一约束https://www.cnblogs.com/pangguoming/p/8874433.html

2021-02-05 15:34:55 123

原创 在排序数组中查找数字 I20210205

在排序数组中查找数字 I *简单题目解题题目统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000解题主要思路:有序的数组查找,为了减少时间复杂度肯定需要使用二分查找;但是不是找元素的位置,而是查找元素出现的次数;可以采用常规的二分查找:当中间元素大于

2021-02-05 09:26:39 153

原创 数组中数字出现的次数 II20210204

数组中数字出现的次数 II*中等题目解题题目在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31解题主要思路:此题是前两题的进阶版;无法再沿用异或运算消除重复的数字,因为奇数次出现的数字异

2021-02-04 19:22:21 306

原创 数组中数字出现的次数20210202

数组中数字出现的次数*中等题目解题题目一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums.length <= 10000解题主要思路:相比于上一题,此题要复杂一些;

2021-02-02 20:43:16 136

原创 只出现一次的数字20210202

只出现一次的数字*简单题目解题题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解题主要思路:如果不考虑时间复杂度和空间复杂度,则可以使用暴力解决,即双重遍历;也可以使用hashmap额外的空间解决;要满足线性空间和不使用额外的空间,必须单循环;根据题目给出的

2021-02-02 19:58:42 93

原创 矩阵中的路径20210130

矩阵中的路径*中等题目解题题目请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个

2021-01-30 14:37:46 104

原创 旋转数组的最小数字20210128

旋转数组的最小数字*简单题目解题解法1解法2题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0解题主要思路:暴力解法。时间复杂度:O(N) n是数组长度空间复杂度:O(1)解法1public int minArra

2021-01-28 20:27:16 62

原创 II. 青蛙跳台阶问题20210128

II. 青蛙跳台阶问题*简单题目解题解法1解法2题目一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100解题简单的分析,可知跳台阶问题是斐波那切数列问题,跳n个台阶的方式就是

2021-01-28 09:57:33 142

原创 用两个栈实现队列20200128

用两个栈实现队列*简单题目解题解法题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","delete

2021-01-28 09:20:23 73

原创 从尾到头打印链表20210126

从尾到头打印链表*简单题目解题解法1解法2题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题解法1主要思路:先遍历链表获取长度,然后再初始化一定长度的数组,再遍历链表获取元素倒叙放入数组内;也可以利用栈的额外空间;时间复杂度:O(N) N表示链表长度空间复杂度:O(1) 返回的数组不算public int[] reversePrint

2021-01-26 19:34:12 71

原创 二维数组中的查找20210125

二维数组中的查找*中等题目解题解法1:常规解法2:递归题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21,

2021-01-25 22:24:52 124

原创 替换空格20210125

替换空格*简单题目解题解法1解法2题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解题解法1主要思路:直接使用replaceAll方法,因为本质是正则表达式,因此比较耗时间;时间复杂度:O(N) N为字符串的长度空间复杂度:O(N) N为字符串的长度public String replaceSpace(S

2021-01-25 19:50:24 76

原创 数组中重复的数字20210123

数组中重复的数字*简单题目解题解题1解题2题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000解题解题1主要思路:借助Set集合不可存储重复元素的特性,防止失败则表明重复。注意,不可使用List集

2021-01-23 17:37:45 63

原创 表示数值的字符串20210121

表示数值的字符串*中等题目解题解法1:枚举状态解法2:自动机题目请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。解题解法1:枚举状态主要思路:采用常规思路来解决,即枚举出符合规范的情况,然后一一判断。‘.’ 只能出现一次,并且要早于‘E’或者‘e’;‘e’ 或者 ‘E’不能出现在开头,前

2021-01-21 23:04:00 490 2

原创 斐波那契数列20210121

斐波那契数列*简单题目解题解题1 递归解题2 动态规划解题3 动态规划变种题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:

2021-01-21 21:35:02 236 1

原创 打印从1到最大的n位数20210119

打印从1到最大的n位数*简单题目解法解法1:解法2:大数问题题目输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数解法解法1:定义max数组,表示n对应的最大数;根据最大数确定返回的int数组的大小,以及上界。时间复杂度:O(10^n)空间复杂度:O(n) 用户返回的空间不算p

2021-01-19 22:43:50 81

原创 删除链表的节点20210119

删除链表的节点*简单题目解题解题1解题2题目给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为

2021-01-19 20:31:09 65

原创 调整数组顺序使奇数位于偶数前面20210119

调整数组顺序使奇数位于偶数前面*简单题目解题解题1:解题2:解题3:题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000解题解题1:借助额外的数组空间,遍历原数组判断元素值的奇偶

2021-01-19 19:55:57 62

原创 并查集算法

并查集算法1.概念并查集算法,Disjoint Set;是图论算法的一种,用于判断图中是否有环。2.原理假设有如下一个图,如何判断是否有环呢?图中有6个顶点,分别是[0, 1, 2, 3, 4, 5];有6条边,分别(0,1)、(1,2)、(1,3)、(2,4)、(3,4)、(2,5)【边的两个顶点不分顺序】;分别遍历每一条边,以两端的顶点为节点分别构建一棵树;然后把子树合并成一棵大树,合并过程中,如果某边的两顶点存在于大树中,则表明该图有环,否则继续合并直到全部合并。这里有两个重要的步骤:

2021-01-16 18:55:43 578

原创 杨辉三角 II2021116

杨辉三角 II*简单题目解法1分析代码 1ms 36.6MB解法2分析代码 1ms 36MB解法3:[二项式定理](https://zhuanlan.zhihu.com/p/37314812)分析代码 0ms 35.8MB题目杨辉三角 II给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?解法1分析主要思路:借助前一篇

2021-01-16 11:27:37 168

原创 杨辉三角20210114

杨辉三角*简单题题目解题分析代码 0ms 36MB题目杨辉三角给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]在杨辉三角中,每个数是它左上方和右上方的数的和。解题分析主要思路:根据杨辉三角的特点计算每个位置的值。代码 0ms 36MBpublic List<List<Integer>>

2021-01-14 09:40:53 186

原创 路径总和20210113

路径总和*简单0.题目1.DFS1.1分析1.2代码 0ms 38.8MB0.题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \

2021-01-13 22:47:24 57

原创 二叉树的最小深度 20210112

二叉树的最小深度*简单题目dfs分析代码 7ms 58.8MB题目二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点.输入:root = [3,9,20,null,null,15,7]输出:2示例2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <=

2021-01-12 09:35:39 89

java设计模式之工厂方法模式

通过实际例子说明工厂方法模式,并解释工厂方法的原理,特点和使用场景。

2019-01-03

java设计模式之单例模式

java设计模式之单例模式,通过例子说明8种单例设计模式。

2018-12-30

java设计模式之适配器模式

设计模式之适配器模式,通过实际例子讲述适配器模式的使用,原理和特点

2018-12-30

java设计模式之中介者模式

从实际例子说明中介者模式,进而引出中介者模式的原理,使用情况和特点等

2018-12-26

java设计模式之备忘录模式

通过实际例子明白备忘录模式,理解备忘录的原理,使用场景和特点等。

2018-12-25

java设计模式之访问者模式

java设计模式之访问者模式,通过实际例子说明访问者模式原理和适用场景;

2018-12-21

java设计模式之状态模式

java设计模式之状态模式,通过实际生活中的例子说明状态模式的原理。

2018-12-07

java设计模式之命令模式

java设计模式之命令模式,通过实际生活例子说明命令模式的原理

2018-12-05

java设计模式之责任链模式

java设计模式之责任链模式,从实际生活入手说明责任链模式的原理。

2018-12-03

java设计模式之迭代器模式

java设计模式之迭代器模式,从生活中的例子举例说明迭代器模式。

2018-12-01

java设计模式之观察者模式

java观察者模式的实例代码。从最简单的实例开始,到观察者模式。有什么问题可以加扣扣共同探讨

2018-12-01

java设计模式之模板模式

java设计模式之模板模式,实例子说明模板模式的使用场景。

2018-11-29

javassist-3.17.1-GA.jar

javassist-3.17.1-GA.jar

2017-07-24

commons-pool-1.3.jar

commons-pool-1.3.jar

2017-07-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除