Skip to content

Instantly share code, notes, and snippets.

View kedarmhaswade's full-sized avatar
💭
Just trying to catch up with my calendar

Kedar Mhaswade kedarmhaswade

💭
Just trying to catch up with my calendar
  • JyMob
  • Sunnyvale, USA
View GitHub Profile
@kedarmhaswade
kedarmhaswade / PrintThreadIds.java
Created April 23, 2016 13:42 — forked from rednaxelafx/PrintThreadIds.java
find out the correspondence between the tid/nid of Java threads as shown from jstack/JMX, on HotSpot/Linux
package fx.jvm.hotspot.tools;
import java.util.List;
import sun.jvm.hotspot.tools.Tool;
public class PrintThreadIds extends Tool {
public static void main(String[] args) {
PrintThreadIds tool = new PrintThreadIds();
tool.start(args);
@kedarmhaswade
kedarmhaswade / foo.txt
Created April 6, 2016 01:48
How to make a JAR!
➜ /tmp tree com
com
└── test
└── Test.java
1 directory, 2 files
➜ /tmp more com/test/Test.java
package com.test;
class Test {
@kedarmhaswade
kedarmhaswade / Tmp.java
Created April 5, 2016 00:12
Does Java Use the right IP version?
package tmp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
/**
* Created by kmhaswade on 3/31/16.
@kedarmhaswade
kedarmhaswade / SubsetSum.java
Created March 13, 2016 18:24
SubsetSum using a DP algorithm
import java.util.*;
public class SubsetSum {
public static void main(String[] args) {
subsetHasSum(new int[]{1, 2, 3, 4, 5, 6, 7}, 22);
}
static void subsetHasSum(int[] set, int sum) {
// basic validations
Arrays.sort(set);
System.out.println(Arrays.toString(set));
@kedarmhaswade
kedarmhaswade / DuplicateFinder.java
Created March 6, 2016 02:20
Trying out an SO solution ...
/** Trying out the solution to:
* http://stackoverflow.com/questions/5739024/finding-duplicates-in-on-time-and-o1-space
* Created by kmhaswade on 3/5/16.
* Have I translated @caf's pseudocode correctly?
*/
public class DuplicateFinder {
public static void main(String[] args) throws IOException {
int[] a = new int[]{3, 0, 1, 3, 2};
int n = a.length;
for (int i = 0; i <= n-1; i++) {
/Library/Java/JavaVirtualMachines/8/Contents/Home/bin/java
-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:64661,suspend=y,server=n -ea -Didea.junit.sm_runner -Dfile.encoding=UTF-8
-classpath "/Applications/IntelliJ IDEA 15.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA 15.app/Contents/plugins/junit/lib/junit-rt.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/jfxrt.jar:
/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/8/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachine
import java.util.*;
class Quicksort {
public static void qsort(int[] ints, int fi, int li) {
/* the recursive procedure */
if (fi < li) {
//int p = partition(ints, fi, li);
int p = partition1(ints, fi, li);
qsort(ints, fi, p - 1);
qsort(ints, p + 1, li);
}
@kedarmhaswade
kedarmhaswade / Lucky.java
Created February 28, 2016 00:17
Lucky Numbers Problem
package tmp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** <p>
* Find the lucky numbers amongst natural numbers from 1 to n.
@kedarmhaswade
kedarmhaswade / SurprisingSequentialConsistency.java
Last active December 25, 2015 01:19
Demonstrating Sequential Consistency Surprises ...
/**
* This program tries to demonstrate the surprising sequential consistency.
* A program is sequentially consistent as long as calls made in a single
* thread follow the program order. Program order however, does not apply
* to the executions across threads.
* It's hard to demonstrate that a counterintuitive behavior might actually
* be sequentially consistent. Let's say, we have a FIFO queue, q and two threads: A, B
*
* Thread A does:
* q.enq(x); returns at time 1.
@kedarmhaswade
kedarmhaswade / DiningPhilosophers.java
Created October 6, 2013 12:28
First Implementation of the Dining Philosophers where they are deadlock prone. For instance, you could easily get into a situation where all philosophers hold left fork and are waiting to catch hold of right one => deadlock.
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicLong;
public class DiningPhilosophers {
volatile static boolean done;
final private Integer[] chopsticks;
public DiningPhilosophers(int n) {
chopsticks = new Integer[n];
for (int i = 0 ; i < n ; i++)