三面常问
小纸人人
小纸人的算法学习之路,不定期的分享一些有趣的算法题目!
展开
-
Java 实现64进制加法
public class test627{ public static void main(String[] args) { //0~9 48~57 //A~Z 65~90 //a~z 97~122 String A ="bb"; char Ope ='+'; String B="bb"; System.out.print(Binary_operation_64(A...原创 2019-09-01 17:14:17 · 965 阅读 · 0 评论 -
生产者消费者3.0 阻塞队列版本
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;/** * 描述:生产者消费者 3...原创 2019-08-01 01:49:46 · 96 阅读 · 0 评论 -
生产者消费者2.0(lock)
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 描述:生产者消费者 2.0 lock-Condition 版 * * Thread1 对 number 加 ...原创 2019-07-31 21:50:46 · 157 阅读 · 0 评论 -
生产者消费者1.0(wait notify)
/** * 描述: 生产者消费者 1.0 wait notify 版 * wait notify * * Thread1 对 number 加 1 * Thread2 对 number 减 1 * @author 小纸人 * @create 2019-07-31 20:30 */class ShareData1 { private int number = 0; ...原创 2019-07-31 21:39:46 · 67 阅读 · 0 评论 -
Java 手写死锁
public class TestDeadLock { static StringBuffer sb1 = new StringBuffer(); static StringBuffer sb2 = new StringBuffer(); public static void main(String[] args) { // 继承于Thread类的一个匿名类的对象 new T...原创 2019-07-26 14:22:50 · 199 阅读 · 0 评论 -
实现一个JDK动态代理
package 代理模式;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/** * 描述: * 动态代理 * 本质就是两个类实现同一个接口,被代理类调用代理类的方法 前后可以做一些别的事情。 * * @aut...原创 2019-08-04 02:23:25 · 80 阅读 · 0 评论 -
实现LRU缓存机制
public class LRUCache { public LRUCache(int capacity) { size = capacity; //长度 限制 三个参数没写 map = new HashMap<Integer, Integer>(); list = new LinkedList<Integer>...原创 2019-07-25 20:04:25 · 178 阅读 · 0 评论 -
手写HashMap
public class MyHashMap { public Node[] HeadNode = new Node[11]; public int size = 0; public float loadFactor = 0.75f;// 加载因子 public class Node { Node next;// 指向下一个节点 Object key; Object...原创 2019-07-25 19:50:14 · 76 阅读 · 0 评论 -
Java实现大数相加(考虑负数)
首先我们来看一下加法的原则: 1.同号相加,把两数相加,结果符号位取任意一个数的符号 2.异号相加,取较大的数减去较小的数,结果符号位取较大的数的符号位 3.由于是超级大数,我们使用String来存储。首先要判断这两个大数的符号位,以及正确性(不能是0开头的数,也不能含有其它字母和符号)/** * 求超大整数的和 * @param ...转载 2019-07-23 22:02:15 · 1376 阅读 · 0 评论 -
Java 实现26进制加法
import java.util.ArrayList;import java.util.Scanner;public class Test { //全局变量进位 private static int jinWei = 0; public static void main(String args[]) { Scanner sc = new Scann...原创 2019-09-01 17:15:13 · 1149 阅读 · 0 评论