{"payload":{"pageCount":2,"repositories":[{"type":"Public","name":"bowling-alley","owner":"javaf","isFork":false,"description":"Bowling Alley Management System assignment in Software Engineering Course.","allTopics":[],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2023-05-24T06:16:10.629Z"}},{"type":"Public","name":"clh-lock","owner":"javaf","isFork":false,"description":"CLH Queue Lock maintains a linked-list for threads waiting to enter critical section, and is suitable for cache-coherent architectures.","allTopics":["java","queue","lock","clh"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-04-08T08:51:16.688Z"}},{"type":"Public","name":"javaf.github.io","owner":"javaf","isFork":false,"description":"A summary of programs written in Java.","allTopics":[],"primaryLanguage":null,"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2022-03-31T11:15:37.484Z"}},{"type":"Public template","name":"extra-boolean","owner":"javaf","isFork":false,"description":"Boolean data type has two possible truth values to represent logic.","allTopics":["parse","algebra","logic","boolean","extra","xor","imp","eqv"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-03-24T18:07:35.021Z"}},{"type":"Public template","name":"hello-world","owner":"javaf","isFork":false,"description":"A \"Hello, World!\" is an introductory computer program.","allTopics":["github","java","template","hello","package","world","puzzle","maven","central"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-01-25T16:29:41.455Z"}},{"type":"Public","name":"extra-bit","owner":"javaf","isFork":false,"description":"The bit is a basic unit of information in information theory, computing.","allTopics":["java","count","maven","bit","merge","scan","toggle","parity","bitwise","operations","swap","arithmetic","rotate","extra","reverse","sign","operators","extend","interleave"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2021-01-24T07:06:37.979Z"}},{"type":"Public","name":"coarse-set","owner":"javaf","isFork":false,"description":"Coarse Set is a collection of unique elements maintained as a linked list. It uses a coarse grained lock, and useful when contention is low.","allTopics":["java","set","data","structures","concurrent","coarse"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:13:08.096Z"}},{"type":"Public","name":"fine-set","owner":"javaf","isFork":false,"description":"Fine Set is a collection of unique elements maintained as linked list. It uses fine grained locks, allowing pipelined traversal by threads.","allTopics":["java","set","data","structures","lock","concurrent","fine","grained"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:12:32.139Z"}},{"type":"Public","name":"optimistic-set","owner":"javaf","isFork":false,"description":"Optimistic Set is a linked-list based unique collection. It traverses the list twice per operation, only locking the nodes to be updated.","allTopics":[],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:11:58.506Z"}},{"type":"Public","name":"bitonic-network","owner":"javaf","isFork":false,"description":"Bitonic network is a balanced counting network that allows processes to decompose operations, like counting, and reduce memory contention.","allTopics":["java","data","network","structures","coordination","distributed","concurrent","counting","bitonic"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:10:47.519Z"}},{"type":"Public","name":"periodic-network","owner":"javaf","isFork":false,"description":"Periodic network is a balanced counting network that allows processes to decompose operations, like counting, and reduce memory contention.","allTopics":["java","data","network","structures","coordination","distributed","concurrent","counting","periodic"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:10:11.843Z"}},{"type":"Public","name":"k-compare-single-swap","owner":"javaf","isFork":false,"description":"k-compare single-swap (KCSS) is an extension of CAS that enables atomically checking multiple addresses before making an update.","allTopics":["java","set","data","structures","k","cas","swap","compare","concurrent","single"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:09:32.641Z"}},{"type":"Public","name":"backoff-stack","owner":"javaf","isFork":false,"description":"Backoff stack is an unbounded lock-free LIFO linked list, where pushes and pops synchronize at a single location.","allTopics":["java","data","stack","structures","lock","free","backoff","concurrent","lifo","unbounded"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:08:47.060Z"}},{"type":"Public","name":"elimination-backoff-stack","owner":"javaf","isFork":false,"description":"Elimination-backoff stack is an unbounded lock-free LIFO linked list, that eliminates concurrent pairs of pushes and pops with exchanges.","allTopics":["java","data","stack","structures","lock","free","backoff","concurrent","lifo","elimination"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:08:13.398Z"}},{"type":"Public","name":"array-stack","owner":"javaf","isFork":false,"description":"Array stack is a bounded lock-based stack using an array. It uses a common lock for both push and pop operations.","allTopics":["java","data","stack","array","structures","lock","concurrent","common","bounded"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:07:38.553Z"}},{"type":"Public","name":"array-queue","owner":"javaf","isFork":false,"description":"Array queue is a bounded lock-based FIFO queue using an array. It uses 2 separate locks for head and tail. ","allTopics":["java","data","queue","array","structures","locks","tail","concurrent","head","fifo","bounded"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:07:01.651Z"}},{"type":"Public","name":"combining-tree","owner":"javaf","isFork":false,"description":"A Combining Tree is an N-ary tree of nodes, that follows software combining to reduce memory contention while updating a shared value.","allTopics":["data","tree","binary","structures","yay","software","concurrent","trinary","hard","nary","combining","ary","java"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":2,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:06:23.761Z"}},{"type":"Public","name":"bathroom-lock","owner":"javaf","isFork":false,"description":"A Bathroom Lock allows N genders (thread types) to access a common bathroom (critical section) such that different genders do not clash.","allTopics":["java","data","structures","lock","problem","concurrent","shared","threads","chapter","8","male","female","bathroom"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":1,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:05:44.462Z"}},{"type":"Public","name":"savings-account","owner":"javaf","isFork":false,"description":"A savings account is used to store salary/savings in a bank. This is a concurrent object (RAM) based account. For educational purposes only.","allTopics":["java","data","ram","object","bank","structures","concurrent","savings","account"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:05:00.327Z"}},{"type":"Public","name":"mcs-lock","owner":"javaf","isFork":false,"description":"MCS Queue Lock maintains a linked-list for threads waiting to enter critical section, and is suitable for cache-less NUMA architectures.","allTopics":["java","queue","lock","mcs"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":1,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:02:32.558Z"}},{"type":"Public","name":"array-lock","owner":"javaf","isFork":false,"description":"Array Queue Lock maintains a fixed array for critical section execution, and is suitable for cache-less static memory architectures.","allTopics":["java","queue","array","lock"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:01:11.710Z"}},{"type":"Public","name":"backoff-lock","owner":"javaf","isFork":false,"description":"Backoff Lock uses an atomic value for critical section execution, and is suitable for memory-limited architectures.","allTopics":["java","lock","backoff","exponential"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":2,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T08:00:33.281Z"}},{"type":"Public","name":"ttas-lock","owner":"javaf","isFork":false,"description":"Test-test-and-set Lock uses an atomic value for critical section execution, and is suitable for low contention memory-limited architectures.","allTopics":["java","set","test","lock","ttas"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:59:55.660Z"}},{"type":"Public","name":"tas-lock","owner":"javaf","isFork":false,"description":"Test-and-set Lock uses an atomic value for critical section execution, and is suitable for educational purposes only.","allTopics":["java","set","test","lock","test-and-set"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:59:17.629Z"}},{"type":"Public","name":"locked-queue","owner":"javaf","isFork":false,"description":"A Locked Queue in a concurrent FIFO queue that uses locks and conditions to block enqueue when queue is full, and dequeue when it is empty.","allTopics":["java","data","queue","structures","blocking","objects","signal","await","concurrent","monitors","locked","condition"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:58:38.697Z"}},{"type":"Public","name":"simple-read-write-lock","owner":"javaf","isFork":false,"description":"Simple Read-write Lock uses a counter and a boolean flag to keep track of multiple readers and a writer, but does not prioritize writers.","allTopics":["java","data","simple","read","structures","lock","concurrent","write"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:57:56.728Z"}},{"type":"Public","name":"fifo-read-write-lock","owner":"javaf","isFork":false,"description":"FIFO Read-write Lock blocks any new readers once a writer requests, thus preventing writer lock-out due to continual stream of readers.","allTopics":["java","data","read","structures","lock","concurrent","write","fifo"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":1,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:57:20.176Z"}},{"type":"Public","name":"simple-reentrant-lock","owner":"javaf","isFork":false,"description":"A lock is re-entrant if it can be acquired multiple times by the same thread. Java already provides one. This for educational purposes only.","allTopics":["java","data","simple","structures","lock","concurrent","reentrant"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:56:38.098Z"}},{"type":"Public","name":"simple-semaphore","owner":"javaf","isFork":false,"description":"Semaphore is a generalization of mutual exclusion locks. It allows at most N threads into critical section. Java has a built-in Semaphore.","allTopics":["java","data","simple","structures","semaphore","concurrent"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:56:02.346Z"}},{"type":"Public","name":"dining-philosophers-problem","owner":"javaf","isFork":false,"description":"The dining philosophers problem is an example problem often used in concurrent algorithm design.","allTopics":["data","pattern","structure","concurrency","problem","concurrent","dining","java","philosopher"],"primaryLanguage":{"name":"Java","color":"#b07219"},"pullRequestCount":0,"issueCount":0,"starsCount":0,"forksCount":0,"license":"MIT License","participation":null,"lastUpdated":{"hasBeenPushedTo":true,"timestamp":"2020-12-19T07:54:35.475Z"}}],"repositoryCount":48,"userInfo":null,"searchable":true,"definitions":[],"typeFilters":[{"id":"all","text":"All"},{"id":"public","text":"Public"},{"id":"source","text":"Sources"},{"id":"fork","text":"Forks"},{"id":"archived","text":"Archived"},{"id":"template","text":"Templates"}],"compactMode":false},"title":"javaf repositories"}