Skip to content

Instantly share code, notes, and snippets.

@renzihui
renzihui / SequentialExecutor.java
Created December 20, 2021 10:57
An Executor only runs one task at a time.
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.concurrent.Executor;
/**
* An Executor only runs one task at a time.
*/
public class SequentialExecutor implements Executor {
private final Executor delegate;
@renzihui
renzihui / gist:c44c296114712cd9a7101a82a5404146
Created February 7, 2021 07:25
Facebook Data Deletion Request Callback in Java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.lang.ref.PhantomReference;
import java.lang.ref.Reference;
import java.lang.ref.ReferenceQueue;
import java.util.ArrayList;
import java.util.List;
public final class PhantomReferenceSample {
public static void main(String[] args) {