Skip to content

Instantly share code, notes, and snippets.

View rucko24's full-sized avatar
🤘
Dandole

0x52 rucko24

🤘
Dandole
View GitHub Profile
package org.example.example6DataRace.anotherexample;
import org.example.bankaccount.BankAccount;
import org.example.bankaccount.BankAccountWithStampedLock;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.RepeatedTest;
import java.util.concurrent.Executors;
import static org.junit.jupiter.api.Assertions.assertEquals;
package org.example.bankaccount;
import java.util.concurrent.locks.StampedLock;
import java.util.function.Supplier;
public class BankAccountWithStampedLock {
private final StampedLock stampedLock = new StampedLock();
private BankAccount bankAccount;
@rucko24
rucko24 / BankAccountWithAtomicReference.java
Last active March 7, 2024 00:52
BankAccountWithAtomicReference
package org.example.bankaccount;
import java.util.concurrent.atomic.AtomicReference;
public class BankAccountWithAtomicReference {
private AtomicReference<BankAccount> atomicBalance = new AtomicReference<>(new BankAccount());
public void deposit(double amount) {
BankAccount oldBalance;
@rucko24
rucko24 / BankAccount.java
Last active March 6, 2024 13:14
BankAccount
package org.example.bankaccount;
/**
* Bank Account
*/
public class BankAccount {
private double balance;
public void deposit(double amount) {
@rucko24
rucko24 / watcher.java
Last active March 18, 2024 20:59
A Java watch for a directory, allowing octal mode and user permissions to be changed recursively.
package com.watcher.watcherdir;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;
@rucko24
rucko24 / GetIpAddressFromHostWithReactor.java
Created December 2, 2023 22:26
Get public ip address using project reactor and jbang
///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS io.projectreactor:reactor-core:3.6.0
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Schedulers;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
@rucko24
rucko24 / SimpleRobot.java
Last active May 6, 2022 08:08
Simple Robot
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Objects;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;