自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好好学习

  • 博客(11)
  • 资源 (3)
  • 问答 (9)
  • 收藏
  • 关注

原创 面试题Java多线程循环向多个文件写入循环数字

下面是我在一次实习面试时遇到的问题,今天在看Java并发编程的艺术时突然有了更好的灵感,将原來的代码重构成了可以实现n个线程同时写入n个文件有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推。现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A. 1 2 3 4 1 2…B. 2 3 4 1 2 3…C. 3 4 1 2 3 4…D. 4 ...

2018-12-29 21:04:33 1875

原创 排序算法-桶排序

非比较排序,以空间换取时间的一种排序方式,属于基数排序package sort;import org.junit.Test;import utils.VerificationUtil;import java.util.Arrays;/** * @Author: wei1 * @Date: Create in 2018/12/27 21:26 * @Description: 桶...

2018-12-28 16:30:29 198

原创 Momenta实习面试

两个部门面了我一.java后台开发第一个部门是写java的但是我表现的很差redis的底层结构(只记得动态数组,双向链表,跳表,忘了hash)让我描述实现一个str转int,剑指offer最后附录的第一个案例,完美的复现了书上的失败案例,以此为戒java中的容器(map,set,list,vector,忘了数组)设计题,百万数据的ip,设计一个容器删除,添加,查找O(1)(说了半天没...

2018-12-27 16:40:26 3411 2

转载 Spring循环依赖的三种方式

作者:卫婷Elisa链接:https://www.zhihu.com/question/39814046/answer/550590260循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Spring是如果解决循环依赖的。第一种:构造器参数循环依赖Spring容器会将每一个正在创建的Be...

2018-12-22 13:31:01 1161

转载 内核态和用户态

作者:灵剑链接:https://www.zhihu.com/question/306127044/answer/555327651太长不看的提前总结:内核态,或者说CPU的特权模式,是CPU的一种工作状态,它影响CPU对不同指令的执行结果。操作系统通过跟CPU配合,设置特权模式和用户模式,来防止应用程序进行越权的操作防止应用程序越权访问内存时使用了虚拟地址空间映射的技术,这是操作系统...

2018-12-22 13:13:47 1105

转载 RabbitMQ消息持久化和消息确认机制 RabbitMQ消息持久化和消息确认机制

消息持久化消息在传输过程中,可能会出现各种异常失败甚至宕机情况,为了保证消息传输的可靠性,需要进行持久化,也就是在数据写在磁盘上。消息队列持久化包括三部分:1.Message持久化也就是发送时消息持久化。(Message包含body,body为我们需要发送的消息具体内容,一般以json字符串发送,消费端再解析;MessageProperties为Message的一些额外的属性,做一些扩展作用...

2018-12-20 21:25:24 3541 1

原创 幂等性

什么是幂等这里就用put的请求方式解释一下,当使用put请求时由于网络问题等原因我们发送了两次一样的请求,幂等就是只会有一个可以起作用。怎么做到幂等1.数据库可以使用乐观锁的思路update table_name set count = count - 1 ,version = version +1 where version = 1;2.使用redis的setnx等操作,难点就是需要注...

2018-12-16 20:18:25 114

原创 Java Atomic Synchronsized Volatile

Java Atomic Synchronsized Volatile##Atomic 原子 private static AtomicInteger count = new AtomicInteger(0); count.addAndGet(1);我们看一下count.addAndGet(1)的实现就明白了public final int addAndGet(int delt...

2018-12-14 15:26:37 351

原创 第一次面试 阅文Java实习

自我介绍看你是电院的,上了哪些课什么时候可以实习,可以实习多久。说了3到4个月,面试官说需要半年。问了项目的一个问题HashMap ConCurrentHashMapridis的数据结构 跳表 ,问zset的底层跳表,懵了一下没听到zset这个单词15分钟面完了等通知,凉...

2018-12-12 19:59:01 2139 1

原创 并行与并发的区别

并行同一时刻可以处理多个任务两个并行执行的任务如下图并发同一时刻只能处理一个任务,但一个时间段内可以对多个任务交替处理两个并发执行的任务如下图这里通俗的说就是并发是可以看成在一个时间段内可以同时执行几个任务,而并行是需要多个cpu来支持的在一个时间段可以执行几个任务...

2018-12-12 19:46:53 141

原创 Redis跳表的时间发杂度和空间复杂度的分析

Redis跳表的时间发杂度和空间复杂度的分析:首先,每个节点肯定都有第1层指针(每个节点都在第1层链表里)。如果一个节点有第i层(i>=1)指针(即节点已经在第1层到第i层链表中),那么它有第(i+1)层指针的概率为p。节点最大的层数不允许超过一个最大值,记为MaxLevel。这个计算随机层数的伪码如下所示:randomLevel() level := 1 //...

2018-12-03 21:40:03 5131

notepad++6.6.9

Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

2018-09-25

VMware10.7

VMware10.7VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

2018-09-25

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

TA关注的人

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