- 博客(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
2018-09-25
VMware10.7
2018-09-25
使用Runtime类中的exec播放音乐
2017-09-13
entrySet在key是自定义对象时出现错误
2017-09-08
c++中指向一个字符串的指针和字符串的首地址的指针是不是一样的?
2017-05-18
关于返回函数内部new分配的内存的引用
2017-05-18
c++ stl 中sort对list容器的排序
2017-05-03
c语音vs2013动态库链接问题、第一次写这个。配置的时候附加依赖项加了
2017-03-29
内存四区问题-函数中的字符串
2017-03-28
c语言文件读写问题,每次写入文件指针就出现错误
2017-03-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人