练习
徴心
所谓文字,是承载语言的图像或符号。
展开
-
多线程实现文件复制
今天想练习一下多线程方面的东西,就写了一个多线程的Copy文件的小东西,发上来有什么不足请大家指正。 MultiThreadCopy .javapackage com.copy.thread;import java.io.File; import java.util.Queue; import java.util.concurrent.CountDownLatch; import java.uti原创 2016-10-12 11:27:57 · 570 阅读 · 0 评论 -
Java实现一个死锁例子
如何避免死锁,有序的上锁,有序的开锁 /** * @author Levin * @version 1.0.0 * @Title Threads * @Description TODO * @Date 2019/6/10 19:15 */ public class Threads implements Runnable { private Object a, b; p...原创 2019-06-11 11:11:20 · 577 阅读 · 0 评论 -
Ubuntu虚拟机安装手札
在ubuntu中为python2.7安装pip sudo apt_get install python-pip sudo apt-get install ipython --将pycharm放到任务栏 sudo ln -s /opt/pycharm-2017.1.3/bin/pycharm.sh /usr/bin/pycharm Virtual Box 安装Ubuntu 环境配置流程 1.s...原创 2018-12-10 17:16:35 · 221 阅读 · 0 评论 -
练习-两个栈实现一个队列
目的:两个栈实现一个队列 1.实现add(),poll(),peek()方法 package com.levin.test.struct; import java.util.Stack; public class Stack2Array { Stack stack_in = new Stack(); Stack stack_out = new Stack(); pub...原创 2018-11-19 18:13:53 · 144 阅读 · 0 评论 -
练习-数组窗口最大值
题目 给定一个数组和窗口长度,返回每个窗口的最大值 给定一个数组{1,2,3,2,4,2,4,5},和一个窗口长度3,返回每个窗口的最大值 example window-1 [1,2,3] 返回 3 window-2 [2,3,2] 返回 3 window-3 [3,2,4] 返回 4 下面是代码样例 import java.util.Ar...原创 2018-11-21 17:45:51 · 185 阅读 · 0 评论 -
Presto UDF原理分析与浅实践
背景 这两天在研究Presto的UDF,发现Presto的UDF的方式很特别,后来自己思考了一下实现方式(没有看源码,有可能与Presto实现不同),现在把思路记录一下。 思路 Presto UDF 最后是将生成的Jar放到到plugin中,并且调用实现com.facebook.presto.spi.Plugin接口的类的getFunctions方法,那么我猜测的步骤应该如下 1.加载plugin...原创 2018-11-12 18:31:52 · 603 阅读 · 0 评论 -
练习-最短路径(深度搜索)
一个根据深度搜索模型写的最短路径代码 参考如下 啊哈算法-4.2 p81 /** * 最短路径 */ public class ShortPath { public static int next[][] = {{0, 1},//向右走 {1, 0},//向下走 {0, -1},//向左走 {-1, 0}};/...原创 2018-09-29 10:26:47 · 414 阅读 · 0 评论 -
练习-全排列(深度优先搜索)
今天看啊哈算法,看到全排列的这个地方,之前没有什么特别好的思路,看了之后获益良多,记一下 下面是深度优先搜索的基本模型 void dfs (int step) { 判断边界 尝试每一种可能 for(int i=0;i<n;i++) { 继续下一步 dfs(step++); } 返回 } 下面是全排列的一个Java实现 ** * 全排列 * 大体思路如下 * 遍历规...原创 2018-09-27 17:58:29 · 464 阅读 · 0 评论 -
练习-给定一个整型数组,计算出频率最高的N个(TopK问题)
效率不是很高,只是一个简单解决办法,下次优化一下 import java.util.*; /** * 给定一个整形数组,求出频率最高的N个数 */ public class TopK { public static int[] arr = {1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 2}; public static void main(String[] ...原创 2018-09-27 14:07:49 · 825 阅读 · 0 评论 -
练习-可重入锁简单实现(Java实现)
import java.util.concurrent.atomic.AtomicInteger; public class ReentrantLockImpl { private Thread lockThread; private volatile boolean isLock; private AtomicInteger lockCount = new Atomic...原创 2018-07-18 13:46:30 · 188 阅读 · 0 评论 -
练习-大数相减(Java实现)
前提 被减数比减数要大,并且都为整数 public class BigDataCompute { public static void main(String[] args) { String a = "123"; String b = "30"; subtraction(a, b); } public static ...原创 2018-06-27 17:48:30 · 2430 阅读 · 2 评论 -
练习-两大数相加(Java实现)
前提 不使用BigDecimal类进行两大数计算, 不考虑负数情况与非整形计算 被加数比加数大 思路 将被加数与加数翻转,从各位开始计算,然后处理进位,然后在将结果倒序输出 public class BigDataCompute { public static void main(String[] args) { String a = "105"; ...原创 2018-06-27 17:15:59 · 223 阅读 · 0 评论 -
Log4j使用复习
今天心血来潮复习一下Log4j Log4j有下面三种组件 Loggers(记录器) Appenders(输出源) Layouts(布局) Loggers组件在此系统中被分为五个级别: DEBUG INFO WARN ERROR FATAL 五个级别的顺序,分别用来指定这条日志信息的重要程度: DEBUG ...原创 2018-05-11 12:56:16 · 201 阅读 · 0 评论 -
Java求字符串的最大子串和长度(没有判断是否连续)
之前在面试的时候遇到过的一个问题,由于当场让手写(特别反感这种面试中要求手写的),就没理会,回来想想看看能不能实现,今天有时间写出来,让大家帮忙指正。 题目是给出一个字符串计算出它的最大子串 例: “abcdefgabc” -> abcdefg “ababcdeac” -> abcde 代码在下面,加了注释/** * 求字符串的最大子串 * * @ClassName:原创 2017-09-01 18:14:01 · 1237 阅读 · 0 评论 -
Java多线程练习(三个线程顺序打印A,B,C)
回顾一下Java多线程,使用wait/notify 控制线程协调,三个线程顺序打印A,B,C 打印三次 package com.levin.lang; public class Lock { public static class PrintThread extends Thread { private Object obj; private vola...原创 2019-07-03 19:21:23 · 1658 阅读 · 0 评论