Resolves checkstyle errors for delegation dependency-injection dirty-flag double-buffer double-checked-locking double-dispatch (#1068)

* Reduces checkstyle errors in delegation

* Reduces checkstyle errors in dependency-injection

* Reduces checkstyle errors in dirty-flag

* Reduces checkstyle errors in double-buffer

* Reduces checkstyle errors in double-checked-locking

* Reduces checkstyle errors in double-dispatch
This commit is contained in:
Anurag Agarwal
2019-11-10 23:01:20 +05:30
committed by Ilkka Seppälä
parent 01e489c77b
commit f2c91eb836
35 changed files with 154 additions and 215 deletions

View File

@ -23,32 +23,30 @@
package com.iluwatar.doublechecked.locking;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* Double Checked Locking is a concurrency design pattern used to reduce the overhead of acquiring a
* lock by first testing the locking criterion (the "lock hint") without actually acquiring the
* lock. Only if the locking criterion check indicates that locking is required does the actual
* locking logic proceed.
* <p>
* In {@link Inventory} we store the items with a given size. However, we do not store more items
* than the inventory size. To address concurrent access problems we use double checked locking to
* add item to inventory. In this method, the thread which gets the lock first adds the item.
*
*
* <p>In {@link Inventory} we store the items with a given size. However, we do not store more
* items than the inventory size. To address concurrent access problems we use double checked
* locking to add item to inventory. In this method, the thread which gets the lock first adds the
* item.
*/
public class App {
private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
/**
* Program entry point
*
* Program entry point.
*
* @param args command line args
*/
public static void main(String[] args) {

View File

@ -23,19 +23,16 @@
package com.iluwatar.doublechecked.locking;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* Inventory
*
* Inventory.
*/
public class Inventory {
@ -46,7 +43,7 @@ public class Inventory {
private final Lock lock;
/**
* Constructor
* Constructor.
*/
public Inventory(int inventorySize) {
this.inventorySize = inventorySize;
@ -55,7 +52,7 @@ public class Inventory {
}
/**
* Add item
* Add item.
*/
public boolean addItem(Item item) {
if (items.size() < inventorySize) {
@ -63,7 +60,8 @@ public class Inventory {
try {
if (items.size() < inventorySize) {
items.add(item);
LOGGER.info("{}: items.size()={}, inventorySize={}", Thread.currentThread(), items.size(), inventorySize);
LOGGER.info("{}: items.size()={}, inventorySize={}", Thread.currentThread(), items
.size(), inventorySize);
return true;
}
} finally {
@ -74,7 +72,7 @@ public class Inventory {
}
/**
* Get all the items in the inventory
* Get all the items in the inventory.
*
* @return All the items of the inventory, as an unmodifiable list
*/

View File

@ -24,9 +24,7 @@
package com.iluwatar.doublechecked.locking;
/**
*
* Item
*
* Item.
*/
public class Item {
}