- 博客(193)
- 收藏
- 关注
转载 链表快排
func sortList(head *ListNode) *ListNode { slist(head,nil) return head}func slist(head *ListNode,tail *ListNode){ if head == nil || head.Next == nil || head == tail{ ...
2019-09-25 17:15:00 193
转载 并查集
一共两个函数find() 查找根节点union() 合并两个集合根据树的高度合并两集合定义一个rank[]数组,存储两个树的高度,比如rank[xroot] = 3如果rank[xRoot] > rank{yRoot]的时候,就是x那个树比y那个树要高,所以合并的时候将y那个树的根节点给连接到x那个树的根节点下面。如果rank[xRoot] = r...
2019-09-24 21:36:00 161
转载 二分查找
func findTarget(numbers [] int , target int ,left int) int{ right := len(numbers) - 1 result := -1 for left <= right{ mid := left + (right - left)/2 if numbe...
2019-09-23 09:06:00 179
转载 Go语言集合
ZERO. 数组1. 创建 一个不固定大小的数组 var array [] int2. 遍历var nums1 = []int {1,6,7}for _, n := range nums1{ fmt.Println(n) //输出结果为1,6,7}for i, n:= range nums1{ fmt.Println(n) ...
2019-09-20 19:49:00 448
转载 快排
func quickSort(nums []int,left int,right int ){ if left < right { p := park(nums,left,right) quickSort(nums,left,p-1) quickSort(nums,p+1,right) }}...
2019-09-20 19:12:00 106
转载 Mysql的一些问题
一. 安装mysql后root shell可以登录但是普通用户不能使用mysql -u root -p登录mysql解决:使用root登录select user,host from mysql.userDROP USER 'root'@'localhost'; CREATE USER 'root'@'%' IDENTIFIED BY 'zhuopeng'...
2019-09-10 09:02:00 98
转载 找到数组中重复的数字
解法1. :解法2: 快慢指针,环 public int findDuplicate(int[] nums) { int slow = nums[0]; int fast = nums[nums[0]]; while (slow != fast) { s...
2019-09-09 10:53:00 82
转载 gradle
1. gradle clean build2. gradle wrapper 执行完成这个命令后,会出现一个gradle文件夹,里面有gradle-wrapper.jar和gradle-wrapper.properties执行完成这两个命令后就可以把 gradle gradle-wrapper.jar gradle-wrapper.proper...
2019-08-29 21:34:00 90
转载 1-NIO使用
1.FileChannel 和 Bufferpackage nio._Buffer;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.Buffer;import java.nio.By...
2018-12-09 18:31:00 88
转载 处理非正常终止的错误
1. 最简单通过主动的内部函数的方法捕获package concurrent._ThreadPool._UnnormalThread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;//一种主动的方法捕获异常public class D...
2018-12-03 10:17:00 219
转载 一个取消多生产者单消费者的日志线程池服务
package concurrent._ThreadPool.logService;import net.jcip.annotations.GuardedBy;import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;import java.io.FileNotFoundException;import java....
2018-12-02 11:13:00 93
转载 executes()源码
/** * Executes the given task sometime in the future. The task * may execute in a new thread or in an existing pooled thread. * * If the task cannot be submitted fo...
2018-11-28 15:33:00 145
转载 死锁
死锁1.通过锁的顺序来避免死锁的发生,比如使用System.identityHashCode()排序,或者源数据中就有可比较的键值,比如账户package concurrent._deadLock;public class Demo { public static void main(String[] args) { } //模...
2018-11-27 21:18:00 91
转载 CyclicBarrier使用
demo1:package concurrent._Barrier;import java.util.Random;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class Demo { pub...
2018-11-27 20:06:00 89
转载 Semaphore
一个有界的容器:/一个有界的集合Setclass BoundedhashSet<T> { private final Set<T> set; private final Semaphore sem; public BoundedhashSet(int count) { this.sem = new S...
2018-11-27 19:05:00 89
转载 闭锁CountDownLatch
package concurrent._ReentrantLock;import java.util.concurrent.CountDownLatch;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;//一个关于Lock的最基本操作,...
2018-11-26 21:20:00 98
转载 LockSupport
是一个很简单的类:底层通过CAS操作实现public class Demo { public static void main(String[] args) throws InterruptedException { ThreadA a = new ThreadA("a"); a.start(); Thread....
2018-11-26 18:32:00 90
转载 yield
线程的礼让:当轮到一个线程执行任务,但是这个线程处理一个不是很重要的事情的时候,可以让大家来一次抢占的机会程序:package concurrent._yield;public class Demo { public static void main(String[] args) { ThreadA a = new ThreadA("a...
2018-11-26 11:35:00 56
转载 Condition
condition.await()condition.signalAll()package concurrent._Condition;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.lo...
2018-11-26 10:49:00 69
转载 AQS的不公平锁源码
同步器节点的waitStatus解释CANCELLED 取消状态SIGNAL -1 等待触发状态,前节点可能是head或者前节点为取消状态CANCELLEDCONDITION -2 等待条件状态,在等待队列中PROPAGATE -3 状态需要向后传播//不公平锁的lock函数static final class NonfairSync ex...
2018-11-23 21:23:00 73
转载 wait()和notify()
package concurrent._wait_notify;public class Demo1 { public static void main(String[] args) throws InterruptedException { ThreadA a = new ThreadA("A"); synchronized (...
2018-11-23 14:30:00 79
转载 ReentrantLock的使用
package concurrent._ReentrantLock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;//一个关于Lock的最基本操作,lock.lock()与lock.unlock()public class MyRee...
2018-11-23 11:03:00 93
转载 生产者消费者模式ArrayBlockingQueue
package concurrent._interrupt;import java.math.BigInteger;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class Demo3 { ...
2018-11-22 11:06:00 99
转载 interrupt
一个检查isinterrupted的程序package concurrent._interrupt;import java.math.BigInteger;import java.util.ArrayList;import java.util.List;public class Demo2 { private static int c ...
2018-11-22 10:07:00 97
转载 join()
代码:package concurrent._join;public class Demo { public static void main(String[] args) throws InterruptedException { ThreadA threadA = new ThreadA(); ThreadB thread...
2018-11-22 09:13:00 77
转载 LongAdder
add操作 public void add(long x) { Cell[] as; long b, v; int m; Cell a; //想要add一个元素的时候,先看一下cells数组是否为空,如果是空的就尝试去看能不能直接加到base上面,如果线程竞争很小就加到base上面了,函数结束 //如果cells是空的,...
2018-11-20 20:52:00 180
转载 ConcurrentHashMap源码
putval源码final V putVal(K key, V value, boolean onlyIfAbsent) { //判断参数是否合格 if (key == null || value == null) throw new NullPointerException(); int hash = spread(k...
2018-11-17 18:50:00 81
转载 HashMap源码
putval方法final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; //查看是否是第一次p...
2018-11-17 10:04:00 80
转载 MapReduce单表关联
数据:找出孩子的爷爷奶奶姥姥老爷child parentTom LucyTom JackJone LucyJone JackLucy MarryLucy JesseJack AliceJack JesseTerry AliceTerry JessePhilip TerryPhilip AlmaMark TerryMark Alma结果:Jone Alic...
2018-11-08 18:12:00 166
转载 AtomicStampedReference
重要的参考博客:https://blog.csdn.net/zhaozhirongfree1111/article/details/72781758package _AtomicStampedReference;import java.util.concurrent.atomic.AtomicMarkableReference;import java.uti...
2018-11-07 08:50:00 93
转载 SequenceFile
产生一个SequenceFile文件package _SequenceFileInputFormat;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;...
2018-11-05 19:12:00 61
转载 WordCount
1. 一个mapperpackage MapReduce;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;...
2018-11-05 16:10:00 60
转载 IntUnaryOperator
将函数,变为,参数传入1. 是一个接口,就是将一个对int类型的操作当一个参数传入进来。 关键函数:applyAsInt(int operand) 对一个参数operand进行一些操作,最后返回个int类型。package _4;import java.util.function.IntUnaryOperator;public class MyI...
2018-11-03 09:15:00 647
转载 java复制
一个基本类:package ddemo;public class A { private String str; private int count; public A(String str,int count){ this.str = str; this.count = count; }...
2018-11-02 10:37:00 83
转载 代理模式
1. 反射机制 标准:package _1._Agent.Reflect._DynamicLoading;public interface OfficeAble { void start();} 标准实现:package _1._Agent.Reflect._DynamicLoading;public class Word ...
2018-11-02 08:42:00 56
转载 文件相关API
package HDFS;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;import java.io.FileInputStream;import java.io.FileOutput...
2018-10-25 10:40:00 95
转载 阻塞队列-生产者与消费者模式
public class PC { public static void main(String[] args) { BlockingQueue<Integer> bq = new ArrayBlockingQueue<Integer>(5); for(int i = 0 ;i < 4 ; i +...
2018-10-22 16:20:00 70
转载 线程池2
ExecutorCompletionService有三个成员变量: executor:执行task的线程池,创建CompletionService必须指定; aes:主要用于创建待执行task; completionQueue:存储已完成状态的task,默认是基于链表结构的阻塞队列LinkedBlockingQueue。...
2018-10-20 15:50:00 67
转载 线程池1
任务类:package com._ThreadPool;public class MyTask implements Runnable { private int taskId; public MyTask(int id){ this.taskId = id; } @Override public voi...
2018-10-20 14:53:00 58
转载 一个高速的结果缓存
public interface Computable<A,V> { V compute(A arg) throws InterruptedException;}实现一个计算接口package com._resultCache;import java.math.BigInteger;/** * 一个很花费时间的计算 * ...
2018-10-18 15:21:00 66
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人