Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by int maxSize
Java Threading Patterns: 5 Essential Implementations for High-Performance Applications
As a best-selling author, I invite you to explore my books on Amazon. Don't forget to follow me on Medium and show your support. Thank you! Your support means the world! Threading patterns form the foundation of high-performance Java applications. I'll share my experience implementing these essential patterns and demonstrate their practical applications in production environments. Thread barriers create synchronized points where multiple threads must wait for each other.
Android-Glide缓存机制-CSDN博客
目录 一,介绍 Glide的缓存机制是非常经典的,它有许多值得我们在项目中去借鉴的地方。 它主要分为了活动缓存,内存缓存,磁盘缓存这三个缓存,也叫三级缓存。 二,活动缓存 活动缓存,也叫弱引用缓存,把正在使用中的图片使用弱引用来进行缓存,什么是弱引用,弱引用就是当垃圾回收器进行垃圾回收时,如果一个对象只被弱引用引用,那么该对象会被回收。也就是说如果当图片没有被强引用的时候,下次垃圾回收的时候就会把它回收掉。 我们看下它的源码: @VisibleForTesting static final class ResourceWeakReference extends WeakReference<EngineResource<?>> { @SuppressWarnings("WeakerAccess") @Synthetic final Key key; @SuppressWarnings("WeakerAccess") @Synthetic final boolean isCacheable; @Nullable @SuppressWarnings("WeakerAccess")...
不止八股:阿里内部语雀一些有趣的并发编程笔试题1--一半容量才可以出队的阻塞队列 - Cuzzz - 博客园
0丶引入 笔者社招一年半经验跳槽加入阿里约1年时间,无意间发现一些阿里语雀上的一些面试题题库,出于学习目的在此进行记录。 这一篇主要写一些有趣的笔试题(非leetcode),这些有的考验并发编程,有的考验设计能力。 笔者不是什么技术大牛,此处笔试题充满主观思考,并不一定是满分答案,欢迎评论区一起探讨。 不止八股:面试题之外,笔者会更多的思考下底层原理,不只是简单的背诵。 下面这个题目也是笔者面试阿里笔试做过的一道笔试题,现在回想自己那时候写的也是一坨 1 题目 通过List实现一个阻塞队列类,该队列有最大长度限制,以下是该队列的一些特性 take方法:获取队列中队头元素,当队列中元素数量超过一半时,则可以出队,否则阻塞当前线程 offer(E element)方法:插入元素到队尾,当队列大小已经超过最大限制时,则阻塞当前线程 size()返回当前队列大小 2 笔者的题解 感觉这个队列现实中没啥实际用途,为啥超过一半才能出队 这一题主要考察候选人对并发编程的理解,可是笔者工作也没用到这些知识呀doge 在juc相关笔记中,我们学习了Condition和Object#wait...
C/C++数据结构---在一个数组中实现两个堆栈(PTA)-CSDN博客
个人主页 仍有未知等待探索_数据结构,C语言疑难,小项目-CSDN博客 专题分栏---数据结构 数据结构_仍有未知等待探索的博客-CSDN博客 目录 要求 4.入栈 一、前言 今天写老师留的PTA的作业时,遇到一个非常不一样的栈,我觉得应该把它写出来,让大家眼前一亮 ,扩展一下视野,并且也能让我有更深层次的理解! 二、题目 本题要求在一个数组中实现两个堆栈。 Stack CreateStack( int MaxSize ); //栈的创建 bool Push( Stack S, ElementType X, int Tag );//入栈 ElementType Pop( Stack S, int Tag );//出栈 其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模; Stack结构定义如下: typedef int Position; struct SNode { ElementType *Data; Position Top1, Top2; int MaxSize; }; typedef struct SNode *Stack;...
【C语言数据结构】线性表-顺序存储-动态分配-CSDN博客
代码实现 #include<stdio.h> #include<stdlib.h> #include<stdbool.h> #define InitSize 3 #define ElemType int typedef struct { ElemType *data; int MaxSize, length; } SeqList; bool Empty(SeqList list); void InitList(SeqList *list) { list->data = (ElemType *) malloc(InitSize * sizeof(ElemType)); list->MaxSize = InitSize; list->length = 0; } bool MultipleList(SeqList *list) { if(list->data != NULL){ list->data = (ElemType *) realloc(list->data, list->MaxSize * sizeof(ElemType) * 2); list->MaxSize =...
Java--线程池详细讲解_java 线程池-CSDN博客
一、线程池 线程池是一种常见的多线程编程技术,它可以在执行任务时复用已创建的多个线程,并且可以控制同时运行的线程数以避免资源占用过多的问题。下面是一个简单的Java示例代码,演示如何使用线程池。 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExample { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(5); for (int i = 0; i < 10; i++) { executorService.execute(new Task(i)); } executorService.shutdown(); } static class Task implements Runnable { private int taskNum; public...
【LeetCode双向链表】LRU详解,双向链表实战 - dayceng - 博客园
LRU缓存 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value) 如果关键字 key 已经存在,则变更其数据值 value ;如果不存在,则向缓存中插入该组 key-value 。如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字。 函数 get 和 put 必须以 O(1) 的平均时间复杂度运行。 示例: 输入 ["LRUCache", "put", "put", "get", "put", "get", "put", "get", "get", "get"] [[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]] 输出 [null, null, null,...
南京邮电大学算法与设计实验一:分治策略(最全最新,与题目要求一致)_南京邮电大学算法分析与设计实验一-CSDN博客
实验原理: 1、用分治法实现一组无序序列的两路合并排序和快速排序。要求清楚合并排序及快速排序的基本原理,编程实现分别用这两种方法将输入的一组无序序列排序为有序序列后输出。 2、采用基于“五元中值组取中值分割法”(median-of-median-of-five partitioning)的线性时间选择算法,找出N个元素集合S中的第k个最小的元素,使其在线性时间内解决。(参考教材5.5.3节) 实验内容: 1、两路合并排序和快速排序 (1)排序是数据处理中常用的重要手段,是指将一个元素序列调整为按指定关键字值的递增(或递减)次序排列的有序序列。用分治法求解排序问题的思路是,按某种方式将序列分成两个或多个子序列,分别进行排序,再将已排序的子序列合并成一个有序序列。合并排序和快速排序是两种典型的符合分治策略的排序算法。 (2)如果采用顺序存储的可排序表作为算法实现的数据结构,则需要定义一个可排序表类SortableList,两路合并算法和快速排序算法均由定义在该类上的函数实现。 //可排序表类的定义 class SortableList { public:...
栈和队列:理解与使用_创意程序员的博客-CSDN博客
目录 栈 队列 总结 栈和队列是计算机科学中常见的数据结构,它们都是一种线性数据结构,可以对元素进行快速的插入、删除和查找操作。栈和队列都可以用于各种不同的应用场景,不过它们的使用方式和特点有所不同。 首先,让我们来了解一下栈的概念。栈是一种具有“后进先出”(Last In First Out,LIFO)特性的数据结构,如图: 只有栈顶元素是可以访问的。新加入的元素会直接放在栈顶,而每次需要访问栈元素时,都会从栈顶开始弹出元素。栈常用于实现函数调用、表达式求值、括号匹配等场景。通常使用 push() 方法将一个元素压入栈中,使用 pop() 方法将栈顶元素弹出。 栈结构包括两类:顺序栈结构和链式栈结构。 顺序栈结构 顺序栈结构使用一组地址连续的内存单元依次保存栈中的数据。在程序中,可以定义一个指定大小的结构数组作为栈,定义一个变量top保存栈顶序号,初始为-1表示空栈。顺序栈的定义和常见操作及代码如下: #include <stdio.h> #include <stdlib.h> typedef struct { char *data; int top; int maxSize;...
数据结构与算法-顺序表、链接表、顺序栈、链接栈、顺序队列、链接队列的C++代码实现_@硬train一发的博客-CSDN博客
1、线性表 1.1 顺序表–LinearList.h #ifndef DATA_STRUCTURE_LINEARLIST_H #define DATA_STRUCTURE_LINEARLIST_H #include <iostream> using namespace std; template<class T> class LinearList { public: LinearList(int LLMaxSize); ~LinearList(); LinearList<T>& Insert(int k,const T& x); bool IsEmpty() const; int GetLength() const; bool GetData(int k,T& x); bool ModifyData(int k,const T&X); int Find(const T&x); LinearList<T>& DeleteByIndex(int k,T&x); LinearList<T>& DeleteByKey(const T& x,T& y); void...
java面试LruCache 和 LinkedHashMap及算法实现
更新时间:2023年02月15日 14:16:13 作者:自动化BUG制造器 这篇文章主要为大家介绍了java面试LruCache 和 LinkedHashMap及算法实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 LruCache 保存对有限数量值的强引用的缓存。 每次访问一个值时,它都会移动到队列的头部。 当一个值被添加到一个完整的缓存中时,该队列末尾的值将被逐出并且可能有资格进行垃圾回收。 Least Recently Used , 最近最少使用,是一种常用的算法。 LRUCache 是具有一定数量限制的数据结构,该数据结构采用 LRU 算法,维护一定数量的缓存数据。如果数据结构已经达到了最大数量限制时,有新的数据插入,则就需要根据 LRU 算法,删除最久未使用的数据。 根据它的功能描述,对数据结构的选择就有了偏向性: 定义中提到了队列,实现队列的两种底层数据结构是链表和数组。 根据每次删除最后一个元素的特性,可以优先考虑链表结构。 如果集合中已存在要添加的元素,优先将其移动到队头,优先考虑链表结构,因为数组的移动开销更大。...
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with int
Contact int, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack