naget的博客

技术道路上的每一点一滴都期待与您分享

阻塞队列中的线程协作(阻塞、唤醒、锁)

自己写一个阻塞队列 阻塞队列所谓一种队列,主要操作由两个put放入元素和take取出元素。所谓的阻塞就是当多个线程同时存取数据时,如果遇到队列为空或者队列为满时,会发生阻塞。 put:向队列中存入一个元素,如果已满,则阻塞当前线程,等待唤醒。如果正常存入了元素,那么唤醒其他阻塞的线程(有些执行ta...

2019-07-27 10:55:40

阅读数 17

评论数 0

lombok不生效解决方案

首先看这篇:https://blog.csdn.net/m0_37779977/article/details/79028299 如果任然没有解决问题:有可能使lombok版本过低,请升级版本 如图点击reload list of plugins,然后更行插件,并重启idea。(我的从0.8升到...

2019-07-24 19:08:56

阅读数 15

评论数 0

2019春招(阿里文娱,后两面)

四面(中间夹杂着聊天,共一个小时左右) 物联网都有些什么内容呀?(我的专业是物联网工程,所以问了这个) zigbee跟其他通信协议有什么优点吗?为什么不用蓝牙,wifi等 平常看直播吗,看比赛吗?(面试官做直播的,世界杯那种赛事直播) 你觉得5G跟4G相比有什么优势,会产生什么影响 说一下has...

2019-05-18 10:37:43

阅读数 28

评论数 0

2019春招面经(阿里文娱,前三面)

一面(43分钟) 1 排序算法(快排 归并 冒泡) 2 网络分层,各个协议属于哪一层 3 TCP 握手撒手(三握,四撒,每一步分别处于什么状态,连接中出现大量time_wait,可能是什么原因?) 4 tcp和udp的区别 5 hashmap和chm区别 6 bean加载过程 7 循环依赖如何解决...

2019-05-13 21:48:02

阅读数 66

评论数 0

编码和解码

概念 字符的三种形态 图片来自:https://zhuanlan.zhihu.com/p/25435644 编码:将字符转为字节序列(abcdefg-------------> 0101010100101010010) 解码:将字节序列转为字符(1001010101010001...

2019-04-20 20:34:37

阅读数 72

评论数 0

春招在即,题刷的怎么样了?

我还记得去年春招的时候,好多次死在了笔试上。对于研发岗,笔试大多数考察的就是基本的算法,甚至就是网上我们可以刷到的算法题。如果你有刷leetcode的习惯,那么你应该是可以过关斩将,AC到手软了。但对与大多数人可能没有时间或者其他原因,这个刷leetcode的进程总是会被莫名终止。如果有个人能领...

2019-01-08 15:38:49

阅读数 108

评论数 0

无符号数和有符号数

人有十个手指头,习惯了逢十进一,于是十进制成了生活中的标准。程序的世界只有高低电平两种状态,更适合用二进制来表示,于是二进制成了程序世界的标准。 对与无符号数来说,我们更喜欢谈他们之间的转化,十进制是我们最习惯的进制,于是十进制转为R进制,R进制转为十进制变尤为重要。 十进制——&...

2018-11-29 09:59:06

阅读数 55

评论数 0

使用bitmap进行大量数据的排序、判断存在与否

使用bitmap主要是可以减少存储空间的使用,用一个bit来存储一个元素的状态。当我们需要在一亿个数中判断某个数是否存在时,我们不需要将这一亿个数同时放入内存。 排序 首先有一个bit数组,如果我们排序的所有元素中最大的数是一亿,那么我们就需要这个数组大小初始化为一亿零一(加上0),从0排到一亿,...

2018-11-10 20:03:22

阅读数 564

评论数 0

DNS小述

DNS全称是Domain Name System,中文是域名系统。首先它是一个分布式数据库,由分层的DNS服务器组成;其次,它是一个应用层协议,使得主机能够通过这个协议来查询分布式数据库,DNS协议运行在UDP之上,使用53号端口。 DNS三个作用:①别名映射 ②IP映射 ③负载均衡 ...

2018-11-08 14:28:51

阅读数 34

评论数 0

二叉树遍历总结(先序||中序||后序||按层遍历||之字遍历&&递归||非递归)

先序遍历:8 6 5 7 10 9 11 后序遍历:5 7 6 9 11 10 8 中序遍历:5 6 7 8 9 10 11 按层遍历:8 6 10 5 7 9 11 之字遍历:8 10 6 5 7 9 11 先序遍历 递归 public static void printBTPerRe...

2018-11-06 18:45:35

阅读数 18

评论数 0

linux命令小记

2018-10-31 16:29:25

阅读数 25

评论数 0

联合索引这点事儿

我们从头开始 ER图 建表 按照ER图,建立数据库和表,并且进行测试数据的填充。(建表sql和填充脚本的文件可公众号(Vegout)回复关键字“联合索引”获取) sql优化——建索引 1、查询所有标题以title666开头的文章 select * from article where titl...

2018-10-23 20:46:31

阅读数 481

评论数 0

新装的linux设置root密码

2018-10-22 14:34:33

阅读数 587

评论数 0

ThreadLocal详解

保证线程安全一是可以同步对共享资源的操作和访问,二是不共享。就像ThreadLocal这样,给每个线程分一个对象,每个线程也只能访问到自己的这个对象,从而保证线程安全。就像SimpleDateFormat这个类,咋也没想到它是线程不安全的,既然线程不安全我们就给每一个线程都实例化一个SimpleD...

2018-10-19 14:46:15

阅读数 28

评论数 0

浅谈java线程池(基于jdk1.8)

多线程让程序世界丰富多彩,也让其错综复杂。对于线程的创建和销毁成了一笔不小的开销,为了减少这些开销,出现了线程池。线程池对线程进行管理,对于需要使用多线程的你来说,只需要把你的任务丢给线程池就可以了。当你把任务丢给线程池的时候,它是如何处理的呢?我们去源码中寻找踪迹。 ThreadPoolExec...

2018-10-09 14:09:44

阅读数 34

评论数 0

浅析ClassLoader的双亲委派

小引 public class Demo { public static void main(String[] args) { System.out.println(Demo.class.getClassLoader().toString()); } } 输出 s...

2018-10-05 17:28:38

阅读数 46

评论数 0

JDK1.8HashMap源码解析

数据结构 JDK1.8中的HashMap采用了数组加链表加红黑树的数据结构,就像这样: 每当插入一个元素的时候,就会对这个元素的键的Hash值按此时的数组长度取模,然后装入对应的位置。比如一个hash值为14的元素插入一个table长度为16的hashmap中,14对16取模是14,于是就装入1...

2018-09-29 16:52:31

阅读数 113

评论数 0

计数排序

计数排序和原来说过的几个排序算法有一个特别大的不同之处:它是一个不基于比较的排序算法。不管是快排,归并,还是堆排,它们都难以突破NlogN的运行时间下限,而计数排序是一个线性时间级别的排序算法。对NlogN的突破凭借的就是不基于比较对元素进行排序,当然了,它也有很大的局限性,比如它只能对整数进行排...

2018-09-26 21:59:46

阅读数 1825

评论数 1

子字符串查找之KMP

这里写自定义目录标题字符串查找 字符串查找 模式 ABABAC 字符串文本 ABABAABABAC 当我们需要从文档中查找某个关键词时,就用到了子字符串查找技术。比如在某个数据库导出文档中想要查找所有用户的密码,想在一个学长给的word题库中查找你正在做的检测题的答案。就像上边...

2018-09-20 11:43:16

阅读数 379

评论数 0

无向图

概念轰炸 图是由一组顶点和一组能够将两个顶点连接的边组成的 x-y表示x到y的一条边 一条连接一个顶点和其自身的边称为自环 连接同一对顶点的两条边称为平行边 含有平行边的图称为多重图 某个顶点的度数即为依附于它的边的总数 当两个顶点通过一条边相连时,我们称这两个顶点是相邻的,并称这条边依附于这...

2018-09-15 21:34:47

阅读数 101

评论数 0

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