自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 面试题:操作三个线程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 1970

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

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

2019-08-10 17:54:18 4300

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

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

2019-07-23 17:58:26 375

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

/** * 创建人: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 375

原创 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 1072

原创 redis实现分布式锁原理解析

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

2019-07-10 00:02:31 160

原创 可重入锁介绍、使用

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

2019-07-09 16:12:10 2119

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

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

2019-07-04 21:36:12 189

原创 翻转链表

/** * 内容描述:翻转链表,针对的是原来链表进行翻转。 * 创建人: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 74

原创 扩展ThreadPoolExecutor

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

2019-07-03 00:16:20 201

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

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

2018-07-26 08:38:00 1824

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

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

2018-07-19 09:05:04 218

原创 记一次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 2025

转载 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 3708 5

原创 贪心算法之汽车加油问题

/** * 一辆汽车加满油后可行驶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 1926

原创 先下课,抽根烟(二)

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

2018-06-26 15:08:07 196

原创 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 125

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

/** * 给出两个字符串形式的非负整数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 431

原创 子线程运行执行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 1757

原创 Gradle项目构建工具环境配置

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

2018-06-17 21:10:07 388

转载 【转载】java序列化一定要应该注意的6个事项!

原文链接1、如果子类实现Serializable接口而父类未实现时,父类不会被序列化,但此时父类必须有个无参构造方法,否则会抛InvalidClassException异常。2、静态变量不会被序列化,那是类的“菜”,不是对象的。3、transient关键字修饰变量可以限制序列化。4、虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,一个非常重要的一点是两个类的序列化 ID 是否一致,就是...

2018-06-17 13:00:50 185

原创 先下课,抽根烟(一)

---第一节课---第一感觉,与学校合作的企业派来的这个讲师,很嚣张。讲课没有PPT,想到什么说什么。在浏览器输入一个网址,到浏览器展示新的页面,中间发生了什么?Http是基于TCP工作的。浏览器(客户端)封装数据,发送到服务器,服务器解封装。这里较为详细的解释了封装过程。封装之前,要了解OSI七层模型。把我们要传送的数据从上层往下层封装,依次经过:应用层,表示层,会话层,传输层,网络层,数字链路...

2018-06-08 21:12:55 229

原创 我的下载网址收藏

本文描述的是一些自己用到的下载地址。不周全的地方,还请另寻资源。[1]. MSDN , 全称Microsoft Developer Network。这是微软公司面向软件开发者的一种信息服务。有很多微软的软件,系统镜像,下载时把提示的连接复制到讯雷中即可下载。...

2018-06-04 15:14:03 257

转载 sleep(),wait(),notify()三者的区别

----------------非本人原创,是本人电脑里的一个别人总结的文档内容------------------(网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,...

2018-05-26 09:26:00 2986 1

转载 为何stop()和suspend()方法不推荐使用

-------------纯属记录自己的学习生活-------------参考[1] 沈小默的博客, 为何stop()和suspend()方法不推荐使用.

2018-05-25 21:40:20 4128 2

原创 hashmap底层实现

HashMap的底层实现分析put方法①.当调用put方法向hashmap增加元素时,会先判断hashmap里的数组是否null或数组长度为0,是就进行resize()操作,否就进行下一步判断;②.根据put时传递的参数key计算出的hash值,让这个值和数组长度减一的结果进行按位与运算,得到put进去的key-value要放在数组的哪个位置上(以下称table[i]),如果该位置为null,直接...

2018-05-17 07:12:21 266

原创 win10下查看进程,杀死进程

1.查看所有网络连接信息Windows键 + R ,在弹出的运行窗口中输入cmd,在cmd窗口中输入netstat-ano显示协议统计信息和当前的TCP/IP网络连接。-a   显示所有连接和侦听端口。-n   以数字形式显示地址和端口号。-o   显示拥有的与每个连接关联的进程 ID。详细的使用方式使用netstat/?进行查看 2.查看指定端口的连接信息使用netstat -ano | fin...

2018-05-10 09:08:53 77399 9

原创 JVM学习总结

--------------------------------------------------2018-05-04-18:07--------------------------------------------------记录一下此时学习JVM内存区域的一些想法 JVM内存区域划分五大块--程序计数器--虚拟机栈--本地方法栈--堆--方法区 上面的概念和作用有不懂的,可以自行百度,讲的...

2018-05-04 18:08:59 153

转载 Ubuntu系统下为IDEA创建启动图标

原文地址默认情况下,ubuntu将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,需要在该目录下创建一个名为“idea.desktop”的文件。在idea.desktop中添加以下内容[Desktop Entry]Name=IdeaIUComment=IdeaIUExec=env JAVA_HOME=/home/ycz/softw...

2018-05-04 11:15:01 2590

原创 tomcat7启动出错“A child container failed during start”

在启动一个没有其他依赖的Javaweb项目,tomcat启动过程中出现错误。启动失败纳闷了良久,错误如下严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component ...

2018-05-02 16:06:27 7464 1

原创 spring标签context:component-scan和context:annotation-config学习总结

1.  <context:annotation-config>学习总结使用spring的BeanPostProcessor时,要先在spring容器中声明要使用BeanPostProcessor,比如要使用@Autowired注解就必须要向spring容器中声明相应的BeanPostProcessor<bean class="org.springframework.beans.f...

2018-04-25 17:40:20 278

原创 springmvc之@RequestParam注解

1. 注解的属性含义String name;表示绑定请求参数的名称String value;表示上面的name的别名。实际上,上面两个名称互为对方的别名。是用谁都可以。Boolean required;表示参数是否是必须的,如果required为true,则defaultValue的值就没有意义。String defaultValue;表示参数的默认值。2.举个栗子使用案例:如果请求参数中有cur...

2018-04-23 20:47:52 398

转载 linux修改系统时间和linux查看时区、修改时区的方法

文章来源一、查看和修改Linux的时区1. 查看当前时区命令 : "date -R"2. 修改设置Linux服务器时区方法 A命令 : "tzselect"方法 B 仅限于RedHat Linux 和 CentOS命令 : "timeconfig"方法 C 适用于Debian命令 : "dpkg-reconfigure tzdata"3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件cp...

2018-04-20 10:26:17 12998

原创 IDEA取消参数名称(形参名)提示

IDEA会自动显示形式参数的变量名称,这在一开始使用时感觉很方便,友好。有时候也会显得排版很乱,下面是取消自动显示形式参数名称的方式取消前是这个样子。“File” -> “Settings”“Editor” -> “General” -> “Appearance”把“Show parameter name hints”选项前面的勾去掉,点击“OK”。完成这样看的话,感觉就清爽多了...

2018-04-19 15:52:21 15588 5

原创 IDEA环境下修改全局maven配置

每次新建maven项目时,一不小心就使用了idea提供的默认maven配置,下载的文件都保存到C盘了。下面是修改IDEA开发环境中全局maven配置。“File” -> “Other Settings” -> “DefaultSettings”  在搜索框中搜索“maven”或者查找“Build,Execution,Deployment” -> “Build Tools” -&g...

2018-04-19 07:51:48 14057 7

原创 修改maven项目使用的jdk版本的两种方式

Eclipse下创建maven项目默认使用jdK1.5,有两种方式可以修改该默认配置。方式一:pom文件中添加配置这是修改当前项目使用的jdk版本。<build>        <plugins>            <plugin>               <groupId>org.apache.maven.plugins</gr...

2018-04-18 10:00:26 21460 1

原创 centos7里的ps命令含义

ps命令:经常用这个命令,详细参数却不清楚,学习还是不够深入啊!!! ps -ef“-e”与“A”参数效果相同,显示所有终端下的执行程序。“e”:列出所有程序并显示每个程序所使用的环境变量。“-f”:显示程序的UID,PID,PPID,C与STIME等信息。“f”:与“-f”类似,只显示当前终端所有程序,展示的数据少一点 ps -aux“-A”: 显示所有终端下的执行程序。“-a”:显示所有终端机...

2018-04-16 22:08:46 2934

原创 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态

起因:新买的内存条到了,给我的小本本加个内存条,没出问题。突然想到明天老师要检查写一个wordcount程序,便打开虚拟机,以往好好的虚拟机竟然来了个:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。经过:既然有问题了,以前也没遇到过这样的,那就网上找资料呗,网上的解决方案很多都是关机重启,进入BIOS界面,开启主机支持虚拟化。本机是联想,win10。进入BIOS方式是开...

2018-04-16 19:18:43 3572 2

原创 maven中scope标签总结

Maven中scope标签的分类 1.  compile:<scope>标签的默认值,表示被依赖项目需要参与当前项目的编译,测试和运行周期,项目打包时会包含进去。2.  runtime:被依赖项目不参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段。所以在项目打包时会包含进去。3.  test:被依赖项目仅仅参...

2018-04-14 20:21:54 548

原创 redis启动和关闭

redis启动下面是前台启动,启动后控制台被占用[root@mycentos7 bin]# ./redis-server ctrl + c #终止正在占用前台的程序下面是后台启动,后面是redis的配置文件作为参数,配置文件也可以写全路径[root@mycentos7 bin]# ./redis-rerver redis.conf关闭redisredis-cli -p 端口号 shutdown-p...

2018-04-12 19:31:05 1021

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除