Allocate Resource EffectivelyResource Pool implementation with ReentrantLock and ConditionMax heap in Javajava.util.concurrent bounded resuable resource implementationFacade pattern usage with JDBC-resource on GlassfishUsing PostgreSQL effectively with a banking appResource caching in Java with soft referencesSieve32Fast - A very fast, memory efficient, multi-threaded Sieve of EratosthenesDisposable resource: lazy allocationAndroid Internal Resource ReaderMinecraft resource calculator
2D counterpart of std::array in C++17
Meaning of "SEVERA INDEOVI VAS" from 3rd Century slab
Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements
Science-fiction short story where space navy wanted hospital ships and settlers had guns mounted everywhere
Identifying the interval from A♭ to D♯
Why do Australian milk farmers need to protest supermarkets' milk price?
Is it true that real estate prices mainly go up?
How to deal with taxi scam when on vacation?
Why doesn't using two cd commands in bash script execute the second command?
How to write cleanly even if my character uses expletive language?
At what level can a dragon innately cast its spells?
Splitting string ID code into various parts
Use of プラトニック in this sentence?
Make a transparent 448*448 image
Life insurance that covers only simultaneous/dual deaths
Define, (actually define) the "stability" and "energy" of a compound
Why are the outputs of printf and std::cout different
Latest web browser compatible with Windows 98
How could a scammer know the apps on my phone / iTunes account?
How do I hide Chekhov's Gun?
Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?
Happy pi day, everyone!
How to simplify this time periods definition interface?
Why did it take so long to abandon sail after steamships were demonstrated?
Allocate Resource Effectively
Resource Pool implementation with ReentrantLock and ConditionMax heap in Javajava.util.concurrent bounded resuable resource implementationFacade pattern usage with JDBC-resource on GlassfishUsing PostgreSQL effectively with a banking appResource caching in Java with soft referencesSieve32Fast - A very fast, memory efficient, multi-threaded Sieve of EratosthenesDisposable resource: lazy allocationAndroid Internal Resource ReaderMinecraft resource calculator
$begingroup$
I have module called printer allocator (PrinterAllocator) which will allocate the next available printer to the requester.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
public class PrinterAllocator
private static final int TOTAL_AVAILABLE_PRINTERS = 25;
private BitSet bitSet = new BitSet( TOTAL_AVAILABLE_PRINTERS );
public PrinterAllocator()
List<Integer> unassignedPriters = new ArrayList<>( Arrays.asList( 1, 2, 3, 24 ) ); // but this array will be fetched from database
unassignedPriters.forEach( printerId -> bitSet.set( printerId - 1 ) );
public int getNextPrinter()
int index = bitSet.nextClearBit( 0 ) + 1;
bitSet.set( index );
return index + 1;
public boolean hasEnoughPrinters(int printersNeeded)
/* point 1*/
return bitSet.cardinality()+printersNeeded<=TOTAL_AVAILABLE_PRINTERS;
Point 1: I am unable to replace 'point 1' with following code
return bitSet.cardinality()+printersNeeded<=bitSet.size()
(or)
return bitSet.cardinality()+printersNeeded<=bitSet.length();
Because bitSet.size() and bitSet.length() has a different meaning that is size() != length() != TOTAL_AVAILABLE_PRINTERS
Any better Idea to implement PrinterAllocator with/without bitset
java bitset
New contributor
$endgroup$
add a comment |
$begingroup$
I have module called printer allocator (PrinterAllocator) which will allocate the next available printer to the requester.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
public class PrinterAllocator
private static final int TOTAL_AVAILABLE_PRINTERS = 25;
private BitSet bitSet = new BitSet( TOTAL_AVAILABLE_PRINTERS );
public PrinterAllocator()
List<Integer> unassignedPriters = new ArrayList<>( Arrays.asList( 1, 2, 3, 24 ) ); // but this array will be fetched from database
unassignedPriters.forEach( printerId -> bitSet.set( printerId - 1 ) );
public int getNextPrinter()
int index = bitSet.nextClearBit( 0 ) + 1;
bitSet.set( index );
return index + 1;
public boolean hasEnoughPrinters(int printersNeeded)
/* point 1*/
return bitSet.cardinality()+printersNeeded<=TOTAL_AVAILABLE_PRINTERS;
Point 1: I am unable to replace 'point 1' with following code
return bitSet.cardinality()+printersNeeded<=bitSet.size()
(or)
return bitSet.cardinality()+printersNeeded<=bitSet.length();
Because bitSet.size() and bitSet.length() has a different meaning that is size() != length() != TOTAL_AVAILABLE_PRINTERS
Any better Idea to implement PrinterAllocator with/without bitset
java bitset
New contributor
$endgroup$
add a comment |
$begingroup$
I have module called printer allocator (PrinterAllocator) which will allocate the next available printer to the requester.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
public class PrinterAllocator
private static final int TOTAL_AVAILABLE_PRINTERS = 25;
private BitSet bitSet = new BitSet( TOTAL_AVAILABLE_PRINTERS );
public PrinterAllocator()
List<Integer> unassignedPriters = new ArrayList<>( Arrays.asList( 1, 2, 3, 24 ) ); // but this array will be fetched from database
unassignedPriters.forEach( printerId -> bitSet.set( printerId - 1 ) );
public int getNextPrinter()
int index = bitSet.nextClearBit( 0 ) + 1;
bitSet.set( index );
return index + 1;
public boolean hasEnoughPrinters(int printersNeeded)
/* point 1*/
return bitSet.cardinality()+printersNeeded<=TOTAL_AVAILABLE_PRINTERS;
Point 1: I am unable to replace 'point 1' with following code
return bitSet.cardinality()+printersNeeded<=bitSet.size()
(or)
return bitSet.cardinality()+printersNeeded<=bitSet.length();
Because bitSet.size() and bitSet.length() has a different meaning that is size() != length() != TOTAL_AVAILABLE_PRINTERS
Any better Idea to implement PrinterAllocator with/without bitset
java bitset
New contributor
$endgroup$
I have module called printer allocator (PrinterAllocator) which will allocate the next available printer to the requester.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
public class PrinterAllocator
private static final int TOTAL_AVAILABLE_PRINTERS = 25;
private BitSet bitSet = new BitSet( TOTAL_AVAILABLE_PRINTERS );
public PrinterAllocator()
List<Integer> unassignedPriters = new ArrayList<>( Arrays.asList( 1, 2, 3, 24 ) ); // but this array will be fetched from database
unassignedPriters.forEach( printerId -> bitSet.set( printerId - 1 ) );
public int getNextPrinter()
int index = bitSet.nextClearBit( 0 ) + 1;
bitSet.set( index );
return index + 1;
public boolean hasEnoughPrinters(int printersNeeded)
/* point 1*/
return bitSet.cardinality()+printersNeeded<=TOTAL_AVAILABLE_PRINTERS;
Point 1: I am unable to replace 'point 1' with following code
return bitSet.cardinality()+printersNeeded<=bitSet.size()
(or)
return bitSet.cardinality()+printersNeeded<=bitSet.length();
Because bitSet.size() and bitSet.length() has a different meaning that is size() != length() != TOTAL_AVAILABLE_PRINTERS
Any better Idea to implement PrinterAllocator with/without bitset
java bitset
java bitset
New contributor
New contributor
New contributor
asked 5 mins ago
Dinesh KumarDinesh Kumar
11
11
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Dinesh Kumar is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215478%2fallocate-resource-effectively%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Dinesh Kumar is a new contributor. Be nice, and check out our Code of Conduct.
Dinesh Kumar is a new contributor. Be nice, and check out our Code of Conduct.
Dinesh Kumar is a new contributor. Be nice, and check out our Code of Conduct.
Dinesh Kumar is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215478%2fallocate-resource-effectively%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown