4 大多肉

尚未进行身份认证

我要认证

做事一定要专注

等级
TA的排名 5w+

面试题:操作三个线程A,B,C。让它们的任务执行顺序A-B-C, 结束顺序是C-B-A。

public class StopThreadSolution { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(new Task()); t1.setName("t1"); Thread t2 = ne...

2019-12-11 14:20:38

【搞代码】Java线程池对多个任务的处理结果进行汇总

写一个程序,在线程池中提交多个任务,每个任务最终都有一个执行结果,需求是对每个任务的执行结果进行汇总(样例中是把结果加在一起)。这里使用线程池的submit方法和Future实现。定义一个任务类import java.util.Random;import java.util.concurrent.Callable;/** * 创建人:yang.liu * 创建时间:2019/8/...

2019-08-10 17:54:18

荷兰国旗问题,对于一个数组,给定一个数组中的元素,将数组中比该数小的放左边,比该数大的放右边。

/** * 创建人:yang.liu * 创建时间:2019/7/23 16:27 * 版本:1.0 * 内容描述:对于一个数组,给定一个数组中的元素,将数组中比该数小的放左边,比该数大的放右边。 * 通过快排中的分区思想来做。 */public class QuicksortPartition { public static void main(String[] args...

2019-07-23 17:58:26

求数组中最大子序列和的问题

/** * 创建人:yang.liu * 创建时间:2019/7/17 17:53 * 版本:1.0 * 内容描述:求最大子序列问题 */public class MaxSubSequenceSample { public static void main(String[] args) { var arr = new int[]{-1, 2, 3, 4, 5,...

2019-07-17 20:15:02

zookeeperk运行日志zookeeper.out位置修改

文章目录1、修改bin/log4j.properties文件2、修改bin/zkEnv.sh当执行zkServer.sh 时,会在执行命令的文件夹下会产生zookeeper.out日志文件记录zookeeper的运行日志,该种方式会让日志文件不便于查找,容易遗忘。此处提供文件创建在指定文件夹的配置操作。1、修改bin/log4j.properties文件zookeeper.out文件属...

2019-07-11 13:49:51

redis实现分布式锁原理解析

文章目录1、什么是分布式锁?2、redis实现的分布式锁3、内部实现解析3.1、redis中的数据变化3.2、redisson的实现方式1、什么是分布式锁?分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调各个系统之间的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这...

2019-07-10 00:02:31

可重入锁介绍、使用

文章目录1、什么是可重入锁?2、可重入锁作用及使用场景?3、在内置锁sychronized和ReentrantLock类之间进行选择1、什么是可重入锁?可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后 ,内层递归函数仍然可以获取该锁的代码,但不受影响。可重入锁使用示例public class SynchronizedSample implements Runnable { ...

2019-07-09 16:12:10

求解最大公共子字符串问题

/** * 内容描述:求解最大公共子字符串问题 * 请设计函数,返回指定存在于两个字符串中最大的子字符串(如果存在多个相同长度的,只返回第一个) * 创建人:yang.liu * 创建时间:2019/7/4 12:53 * 版本:1.0 */public class MaxCommonStringSample { public static String ...

2019-07-04 21:36:12

翻转链表

/** * 内容描述:翻转链表,针对的是原来链表进行翻转。 * 创建人:yang.liu * 创建时间:2019/7/4 13:29 * 版本:1.0 */public class ReverseList { public static Node reverse(Node head) { // 空节点 或 只有一个节点,直接返回 if (nul...

2019-07-04 14:45:29

扩展ThreadPoolExecutor

文章目录1、什么是扩展ThreadPoolExecutor2、哪些情况下可以进行扩展?3、如何进行扩展?4、注意事项5、一个简单的示例1、什么是扩展ThreadPoolExecutorThreadPoolExecutor是可扩展的,它提供了几个可以在子类中改写的方法:beforeExecute、afterExecute、terminated。这些方法可以用于扩展ThreadPoolExecu...

2019-07-03 00:16:20

原型模式之深克隆和浅克隆实现

1 什么是原型模式?原型模式是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。2 为什么要用?1 如果创建行的对象成本比较大,可以通过复制的方式减少创建的成本。2 一个类的信息很多,但是又需要一个新的类,新的类和以前的类不同的地方很少,此时可以使用原型模式进行复制操作得到新的对象,再对新对象改变一些信息即可。3 其他3 怎么用?在Object类中提供了c...

2018-07-26 08:38:00

【剑指offer】之【跳台阶】和【变态跳台阶】

4.1 跳台阶题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路:把未知的问题转换成已知的问题1) 当台阶为0,跳法为0种;2) 当台阶为1,跳法为1种,一次就跳一个台阶;3) 当台阶为2,跳法为2种;一次跳一个台阶和一次跳两个台阶;4) 当台阶为3,第一次要么跳一个台阶,要么跳两...

2018-07-19 09:05:04

记一次VMware虚拟机网络排错

电脑的vmware虚拟机在学校是可以用的(用的社团网线),搬到上海后,电脑连接的是无线网,开启虚拟机后出现问题。 出现问题:虚拟机配置一切正常,能ping 127.0.0.1和localhost,但ping不通www.baidu.com和114.114.114.114,也ping不通192.168.1.1(网关)。本地的主机网络一切正常。 最后在Vmware的“编辑”-》“虚拟网络...

2018-07-18 09:43:16

get,post,put,delete含义与区别

原文链接:http://286.iteye.com/blog/1420713POST   /uri     创建  DELETE /uri/xxx 删除   PUT    /uri/xxx 更新或创建  GET    /uri/xxx 查看          GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。...

2018-07-13 20:35:41

贪心算法之汽车加油问题

/** * 一辆汽车加满油后可行驶n(例如n=100)公里。路途中有若干个加油站(例如加油站之间间隔d = [50,80,39,60,40,32], * 单位是公里)。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。对于给定的n(n<=5000) * 和k(k<=1000)个加油站位置。 */public class C_Solution { /*...

2018-07-10 23:04:00

先下课,抽根烟(二)

网关相关网关(Gateway):本质上是一个网络上的IP地址。网关的作用:让电脑可以通过这个网关的IP和其他网段的电脑通信。 PC1发送信息到路由器,路由器把信息发给PC2,PC2回复信息发到了路由器,路由器再发给PC1。路由器是用来解决不同网段主机之间通信问题的。路由器的每个接口需要配置IP,保证线路之间正常通信,是隔离广播的。 路由器的工作方式主要是靠路由表完成的。如果路由器中的路由表没有19...

2018-06-26 15:08:07

Java实现快速排序

class Solution { /** * @param A: an integer array * @return: nothing */ public void sort(int[] A) { // write your code here //使用快速排序 quickSort(A, 0, A.l...

2018-06-21 13:48:31

【字符串操作】对大数进行求和

/** * 给出两个字符串形式的非负整数num1和num2,返回num1和num2之和的字符串形式 * * 注意: * 1. num1和num2的长度任意。 * 2. num1和num2都只包含数字0-9。 * 3. num1和num2都不以0字符开头。 * 4. 不能使用任何内置的大数库或者直接将输入转化成整型。 */public class LargeNumberAdditi...

2018-06-20 20:31:20

子线程运行执行10次后,主线程再运行5次,这样交替执行三次

黑马的面试宝典里的经典面试/** * 子线程运行执行10次后,主线程再运行5次。这样交替执行三遍 */public class _02_Interview { public static void main(String[] args) { Business bussiness = new Business(); //子线程 ne...

2018-06-20 13:27:41

Gradle项目构建工具环境配置

一步一步学Gradle 项目用到的jar太多,自己管理很麻烦,用工具来管理,操作项目。 1.构建工具的作用依赖管理,发布;测试、打包、发布;提供一致的项目结构;2.搭建Gradle自动化项目构建工具环境安装JDK;从Gradle官网下载Gradle,http://gradle.org;配置环境变量,GRADLE_HOME;添加到系统环境变量path,% GRADLE_HOME %;验证是否安装成功...

2018-06-17 21:10:07

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。