- 博客(35)
- 收藏
- 关注
原创 rocketmq-client-java 5.x PushConsumer
rocketmq-client-java 5.x PushConsumer
2023-04-10 22:51:26
999
原创 rocketmq-client-java 5.x SimpleConsumer
rocketmq-client-java 5.x SimpleConsumer
2023-04-05 22:21:05
1175
1
原创 ArrayBlockQueue的put方法源码阅读
ArrayBlockingQueue使用示例package queue;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurre...
2019-10-27 21:18:11
432
原创 Semaphore源码阅读acquire与release
Semphore的使用示例基于AQS的共享模式实现import java.util.concurrent.Semaphore;public class SemaphoreSample { public static void main(String[] args) { Semaphore semaphore=new Semaphore(2); for...
2019-10-22 19:02:55
319
原创 Reentrant Lock的lock和unlock方法源码阅读
使用样例import java.util.concurrent.locks.ReentrantLock;public class LockTemplete { private Integer counter = 0; private ReentrantLock lock = new ReentrantLock(true); /** * 需要保证多个线程使用的...
2019-10-21 21:31:08
238
原创 虚拟机类加载机制
概述类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型1、类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(...
2019-09-01 15:12:28
120
原创 红黑树实现
说明是参考算法导论第三版第十三章写出来的,如果有不正确的地方欢迎指正,写的时候产生了将双向链表和红黑树相结合的想法。所以写出来后插入和查找的时间复杂度和红黑树相同,而且链表中的数据是有序的,里面的迭代器也是根据链表来的,还能以O(1)的时间复杂度找到其中的最大值和最小值。源码地址:https://github.com/ConfuseCat/IntroductionToAlgorithms树的...
2019-08-13 19:12:50
194
原创 KMP算法实现
KMP算法实现参考博客:https://blog.csdn.net/gao506440410/article/details/81812163package MyOffer;import java.util.Scanner;/** * 字符字串查找算法:KMP实现 * 参考博客:https://blog.csdn.net/gao506440410/article/details/8...
2019-07-17 17:13:29
205
原创 抽象工厂学习笔记
三种工厂模式介绍:https://mp.weixin.qq.com/s/rUpeUf_AOnFvJFMGgmNGTw抽象工厂的实现:https://github.com/ConfuseCat/DesignPattern/tree/master/src/BuildInstance/AbstractFactroy抽象工厂:不关心零件的具体实现,而是只关心接口。我们仅使用该接口将零件组装成为产品...
2019-07-08 22:59:45
151
原创 Factory Method模式
Factory Method模式的示例:https://github.com/ConfuseCat/DesignPattern/tree/master/src/EntrustedtoSubclass/FactoryMethodFactory Method模式原理 在Template Method模式中,我们在父...
2019-06-30 18:00:21
250
原创 剑指Offer 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路在中序遍历序列中元素左边的元素在该元素的左子树上,右边的元素在右子树上,在根据前序遍历序列,就上面的示例可以得到:2为1的左节点,4为2的左...
2019-06-27 20:56:04
120
原创 java 优先队列源码阅读
Java PriorityBlockingQueue阅读优先队列使用最大或者最小堆来实现,使用数组来储存元素,将数组当做完全二叉树来处理,节点node的左右孩子节点为(2node+1和2node+2)数组扩容:newCapacity =oldCapacity+((oldCapacity<64) ?(oldCapacity+2) : (oldCapacity>>1));当ne...
2019-06-26 21:05:29
268
原创 ByteCamp 算法挑战第四期
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); String strSquence=in.nextLine(); System.out.prin...
2019-06-24 09:26:26
172
原创 Visitor模式
Visitor模式原理在Visitor模式中,数据结构与处理被分离开来。编写一个表示“访问者”的类来访问数据结构中的元素,并把对各元素的处理来交给访问者类,这样,当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。Visitor模式的类图Visitor模式中的角色Visitor(访问者)Visitor角色负责对数据结构中每个具体的元素(Concre...
2019-06-23 20:01:06
295
原创 最小公倍数
问题描述求两个正整数的最小公倍数。实现import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int firstNum = in.nextInt(); ...
2019-06-22 16:07:37
187
原创 链接:JavaIO API讲解和Linux的五种IO模型讲解
链接一 JavaIO API 讲解https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/BIO-NIO-AIO.md链接二 Linux的五种IO模型讲解https://mp.weixin.qq.com/s?__biz=Mzg3MjA4MTExMw==&mid=2247484746&idx=1&sn=...
2019-06-20 11:22:45
237
原创 蓝桥杯 算法提高 判断名次
判断名次问题描述某场比赛过后,你想要知道A~E五个人的排名是什么,于是要求他们每个人说了一句话。(经典的开头……-_-!)得了第1名的人23,说了假话;得了第5名的人不好意思,也说了假话;为了使求解问题简单,第3名同样说了假话。(奇数名次说假话)输入格式共5行,各行依次表示A ~ E说的话。每行包含一个形如“A>=3”的名次判断,即一个大写字母+关系运算符+一个数字,不包含空格。大写...
2019-05-22 17:03:35
431
原创 23种设计模式之Bridge模式
23种设计模式之Bridge模式简单的Bridge模式实现:https://github.com/ConfuseCat/DesignPattern/tree/master/src/SeparateConsideration/BridgeModeBridge模式中的角色Bridge的作用是在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。类的功能层次结构:希望添加新功能时:父类具有...
2019-05-21 22:49:13
273
原创 一亿个数 top100
从一亿个数中找出最大的一百个数随机生成一亿个0到一亿范围类的整数并输入到文件,从文件中读取这些输出其中最大的一百个数随机生成一亿个数并存入文件public class WriteFile { /** * 随机生成一亿个数并存入文件 * @param filename 写入的文件的路径 * @param length 生成随机数的个数 */ ...
2019-05-20 11:41:17
708
原创 蓝桥杯 分巧克力
分巧克力问题描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 1. 形状是正方形,边长是整数 2. 大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。 当然小...
2019-04-14 23:53:07
142
原创 蓝桥杯 幸运数
蓝桥杯 幸运数问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,…1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 …把它们缩紧,重新记序,为:1 3 5 7 9 … 。 这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位...
2019-04-13 00:13:45
242
原创 Java TreeSet的使用
Java TreeSet的使用Comparable和Comparator的区别 :https://www.cnblogs.com/szlbm/p/5504634.html参考博客:https://www.cnblogs.com/yzssoft/p/7127894.html使用详解import java.util.Comparator;import java.util.TreeSet;...
2019-04-12 12:36:12
476
原创 Java数组和ArrayList的一些排序的方法
Java数组和ArrayList的一些排序的方法数组排序//将数组从小到大排序public static void ArraySortSTB(int[] array){ Arrays.sort(array);}//将数组从大到小排序//1.重写Compare方法 参数必须为类的数组public static void ArraySortBTS1(Integer[] array...
2019-04-11 21:21:22
899
原创 K-进制数
有趣的小东西K-进制数时间限制: 1Sec 内存限制: 128MB 提交: 268 解决: 101题目描述考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.例:1010230 是有效的7位数1000198 无效0001235 不是7位数, 而是4位数.给定两...
2018-10-11 20:15:06
274
原创 蓝桥杯 算法训练 Eurodiffusion Java
问题描述 2002年1月1日,12个欧洲国家放弃了它们原来的货币,开始使用欧元。从此,在整个欧元区,再也没有了法郎、马克、里拉、基尔德、克朗……,只有欧元。这些国家使用的纸币相同,但是硬币也相同?不完全是这样。每个国家都有一定的自由来制造自己的欧元硬币:“每个欧元硬币的一面都有同样的欧洲地形,在另一面,成员国可以用自己的图形装饰硬币。无论哪种图形的硬币,都可以在12个成员国的任何地方使用。比如...
2018-09-21 09:34:32
1552
3
原创 蓝桥杯杨辉三角
问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。 输入格式 输入包含一个数n。 输出格式 输出杨辉三角形的前n行。每一行从这...
2018-09-13 20:58:12
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人