Quantcast

不能忘却的历史:60年前信阳地委文件披露惨绝人寰的百万人饿死真相

特朗普提前下台,美国将迎来首位华裔女总统?

阿拉善卷边视频,未成年勿点!

香港问题的根源!

特朗普提前下台,美国将迎来首位华裔女总统?

Facebook Twitter RSS

分享到微信朋友圈

点击图标下载本文截图到手机
即可分享到朋友圈。如何使用?

苦逼的码农

从jvm角度看懂类初始化、方法重载、重写(修订版)

如果类型C中找到run()这个方法,则进行访问权限的检验,如果可以访问,则方法这个方法的直接引用,查找结束;如果这个方法不可以访问,则抛出java.lang.IllegalAccessEror异常。
3月18日 上午 8:32

ThreadLocal 都不懂?还怎么加薪!

doSomething()是真正做事的函数,里面封装了一个具体的任务处理过程,你不可以改动,现在我想通过before()和after()来计算出doSomething()花费了多长时间
3月11日 上午 10:29

这 5 道 Java 面试题,你还真不一定懂。

CloneNotSupportedException2naitive方法,用于创建并返回当前对象的一份拷贝。一般情况下,拷贝的对象和原对象内容完全相同,只是内存地址不一样,并且对于任何对象
3月8日 上午 9:02

一文读懂一台计算机是如何把数据发送给另一台计算机的

例如,192.168.43.1和192.168.43.2的子码掩码都为255.255.255.0,把IP与子码掩码相与,可以得到他们都为192.168.43.0,进而他们处于同一个子网中。
3月4日 上午 11:33

Java集合、数组与泛型中的几个陷阱,你掉进了几个?

的泛型中,泛型只存在于源码中,在编译后的字节码中,泛型已经被替换为原生类型了,并且在相应的地方插入了强制转换的代码。为了方便理解,可以看下面的一段代码例子:
3月1日 上午 9:02

有个姑娘网恋奔现发现自己被人卖了,跟她见面的是另一个人。

李琴说是在快见面之前的时候,当时让他陪我打王者,因为我玩的是QQ区的,他玩的是微信区的,不同区的没法一起玩,得加QQ好友才行,然后他一直让我等等,我生气之后他马上给了我一个QQ。
2月27日 上午 11:37

关于集合中一些常考的重点知识点总结

底层数据结构是双向链表,链表的特点就是随机访问速度慢,必须一个一个遍历,不能直接通过下标定位,不过在插入、删除方面速度就比较快。不过由于链表是内存分配不要求连续,内存的利用率比较高。
2月27日 上午 11:37

Java面试题(二):你真的懂这几道题了吗?

每天更新几道面试题的答案,每道题会提供简单的解答,如果错误或你有所补充的,可以加我或后台发给我,谢谢。问题来源:史上最全各类面试题汇总,没有之一,不接受反驳
2月26日 上午 8:40

剑指offer:二进制中1的个数

}其实有很多题是可以利用位的与,或,异或来解决的,大家可以思考下平时遇到哪些题是用这种方法解决的,我后面会给出几道题,这些题都可以用异或位运算巧妙解决。发的另一道题也用到了位运算。
2月24日 上午 9:33

剑指offer:重建二叉树

前序序列的左右子树:左:preStart+1~preStart+i-inStart,右:preStart+i-inStart+1~preEnd18
2月23日 上午 8:36

Java面试题及其解答(一)

对于静态类型相同,但实际类型不同的变量,虚拟机在重载的时候是根据参数的静态类型而不是实际类型作为判断选择的。并且静态类型在编译器就是已知的了,这也代表在编译阶段,就已经决定好了选择哪一个重载方法。
2月23日 上午 8:36

剑指offer:二维数组中的查找

一种简单的方法就是整个数组都遍历,当然,数组从左到右,从上到下都是有序的,如果你遍历整个数组的话,那就浪费了数组的局部有序性了。
2月22日 上午 8:40

史上最全各类面试题汇总,没有之一,不接受反驳

StackOverflow异常有没有遇到过?⼀般你猜测会在什么情况下被触发?如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少?
2月21日 上午 9:33

必学十大经典排序算法,看这篇就够了(附完整代码/动图/优质文章)(修订版)

假如从开始的第一对到结尾的最后一对,相邻的元素之间都没有发生交换的操作,这意味着右边的元素总是大于等于左边的元素,此时的数组已经是有序的了,我们无需再对剩余的元素重复比较下去了。
2月20日 上午 8:50

巧用这19条MySQL优化,效率至少提高3倍

SELECT*增加很多不必要的消耗(CPU、IO、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。所以要求直接在select后面接上字段名。
2月20日 上午 8:50

必学十大经典排序算法,看这篇就够了(附完整代码/动图/优质文章)

假如从开始的第一对到结尾的最后一对,相邻的元素之间都没有发生交换的操作,这意味着右边的元素总是大于等于左边的元素,此时的数组已经是有序的了,我们无需再对剩余的元素重复比较下去了。
2月19日 上午 8:36

Java这样学,Offer随便拿,学习方法和面试经验分享

做程序员个人觉得眼界很重要,就算这不是你的领域,但是你也要知道一点,所以经常关注其他的新技术是非常重要的!平常多接触一点开源技术,多上上github,争取能在github上面贡献一点自己的东西!
2月16日 上午 11:08

面试小知识:MySQL索引相关

1、哈希表是把索引字段映射成对应的哈希码然后再存放在对应的位置,这样的话,如果我们要进行模糊查找的话,显然哈希表这种结构是不支持的,只能遍历这个表。而B+树则可以通过最左前缀原则快速找到对应的数据。
2月15日 上午 11:32

面试官问:请拿出一段体现你水平的代码时,该如何回答?

第一种是有备而来的面试者,你最好去面试的时候带一个百宝箱:两份简历,一两张纸印了你最擅长的代码,如果更准备充足点,带上你的笔记本,或者平板,两者都要能上网、或者已经缓存了你的作品。
2月15日 上午 11:32

2018年原创文章汇总,注意查收!

今天我把2018年的原创文章汇总一下,方便大家查找,如果觉得不错,不妨转发/分享一波,帅地再次感谢大家的支持。
2月13日 下午 1:25

以后有面试官问你「跳跃表」,你就把这篇文章扔给他

假如我们要查找元素9,按道理我们需要从头结点开始遍历,一共遍历8个结点才能找到元素9。能否采取某些策略,让我们遍历5次以内就找到元素9呢?请大家花一分钟时间想一下如何实现?
2月1日 上午 11:33

【解读】技术面试官到底想要什么样的人?

所谓面试造火箭,工作拧螺丝。给你一道造火箭的面试题,不是真要你造火箭,而是要看当你接受到这个任务的时候,你能完成多少,能想到多少方法,能有多少思路。至于火箭最后有没有飞起来,并不是我最关心的。
1月27日 下午 1:07

被面试官问到“三次握手,四次挥手”时该怎么回答?

一个完整的TCP连接是双向和对称的,数据可以在两个方向上平等地流动。给上层应用程序提供一种双工服务。一旦建立了一个连接,这个连接的一个方向上的每个TCP报文段都包含了相反方向上的报文段的一个ACK。
1月24日 上午 11:32

求求你规范下你的代码风格

给人好的印象,从一段代码风格开始。今天我总结了几个最常用到的代码规范、可以说你每时每刻都会接触到的了,也比较简单,如果你平时没有按这些规范写的话,建议慢慢改过来。
1月22日 下午 5:33

为什么C语言不会过时?

先上一个表,这个就是著名的TIOBE语言排行榜。目前它是一个最权威的一个语言流行度的排行榜,从这个排行榜上看,你会得到一个最直观的结论。Java和C都在下降,而下降的部分被第三名以后的语言所瓜分。
1月20日 上午 11:32

为啥用ip不可以访问知乎,而百度却可以?

endl;Console.WriteLine("点个好看吧!");fmt.Println("点个好看吧!");Response.Write("点个好看吧!");alert("点个好看吧!")echo
1月15日 上午 11:32

漫画:程序员之间的真爱,好暖啊!

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
1月13日 上午 8:44

Linux 的启动流程

使用的shell也是Bash。但是,它只加载.bash_profile,然后在.bash_profile里面调用.bashrc。而且,不管是ssh登录,还是在图形界面里启动shell窗口,都是如此。
1月9日 上午 11:33

【漫画】为什么说O(n)复杂度的基数排序没有快速排序快?

我的想法:我觉得基数排序并非是一种时间换空间的排序,也就是说,数据量越大,额外的空间并非就越大。因为在把元素放进桶的时候,是完全可以用指针指向这个元素的,也就是说,只有初始的那些桶才算是额外的空间。
1月8日 下午 4:30

推荐几个私藏的适合99%程序员的开源项目

目前该项目的star数为14077,这个开源项目里面汇总了各种程序员必须掌握的入门基础知识,包括算法,数据结构,JS等,推荐给大家,有事没事可以当做书本翻开看看,查漏知识补缺。
1月7日 上午 11:32

程序员单身真的是有理由的吗?

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
1月5日 上午 11:20

别再学习框架了

在网上看到了这篇文章,有标题党嫌疑,虽然作者说得有点极端,但是把大部分时间投入到学习那些基础的、不变的知识中去,这个观点我也认可,翻译过来大家看看。
1月3日 上午 11:30

链表问题打卡汇总

我自己大概做了20几道的链表问题,发现大部分链表问题在思路上并不是很难,每个问题都有几种解法,每种解法在效率上是完全不一样的,看你能够想出哪一种了,还有就是一些细节的处理,例如临界点判断、空指针等。
2018年12月27日

【链表问题】打卡10:将搜索二叉树转换成双向链表

原理虽然不难,但写起代码,还是有挺多细节需要注意的,所以一直强调,有时间的话,一定要自己手打一遍代码,有时你以为自己懂了,可能在写代码的时候,发现自己并没有懂,一写就出现很多bug。
2018年12月25日

计算机是如何启动的?

我是觉得这篇文章挺不错的,想发出来也让大家看看,所以为了能够发出来,有些文字用图片的形式给出了,我是截一张图片就试一下能不能发出去,也是花了不少时间,争取尽量用最少的图片,这样阅读起来会比较舒服点。
2018年12月24日

推荐几个自己私藏的黑科技使用网站,注意收藏!

有时候你在百度搜索某个关键词的时候,百度是从全网各类网站中搜索过来的,可以说各种鱼龙混杂网址都有,而且有些是有病毒的。这时候,我们就可以有site这个关键字来指定关键字的来源。具体的用法是这样的:
2018年12月20日

【链表问题】打卡9:将单链表的每K个节点之间逆序

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。
2018年12月17日

广播路由算法: 我是如何优雅着把悄悄话带给其他人的

假如我们把学校比作一个局域网的话,某台主机发起了一个广播,意味着局域网内的其他所有主机都会收到这个广播,那发起广播的主机是如何选择路径来给其他主机发送广播分组的呢?考虑下面由几个节点组成的网络:
2018年12月17日

大厂与小厂工作的选择

都会有了越来越清晰的认识,这个阶段因人而异,而且很多时候也和个人的运气有关系,大多数人会作出不一样的人生选择选项,按下不同press按钮,社会的多样化,职业轨迹的多样化,在这个阶段开始分化爆发。
2018年12月15日

什么?你不知道0.0.0.0和255.255.255.255这两个地址的干嘛的?

代表这是一个广播报文,会发给局域网内的所有主机。其他主机收到广播报文之后,会进行判断这个广播报文是否是发给自己的,如果是发给自己的,则进行处理,否则就把这个广播报文丢弃。
2018年12月11日

【链表问题】打卡8:复制含有随机指针节点的链表

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。
2018年12月11日

【链表问题】打卡7:将单向链表按某值划分成左边小,中间相等,右边大的形式

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。
2018年12月9日

【链表问题】打卡6:三种方法带你优雅判断回文链表

上道题我们有作过链表的反转的,没看过的可以看一下勒:【链表问题】如何优雅着反转单链表],我们可以把链表的后半部分进行反转,然后再用后半部分与前半部分进行比较就可以了。这种做法额外空间复杂度只需要
2018年12月8日

【面试现场】如何设计可自学习的五子棋AI?

小编注:关于这种算法的具体实现,由于篇幅较大就不在文章中具体展开了。想了解具体实现的朋友可以观看我在慕课网录制的免费视频教程:JS实现人机大战之五子棋(AI篇),文末点击阅读原文可进入。
2018年12月8日

【链表问题】环形单链表约瑟夫问题

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢
2018年12月6日

关于进程与线程的一个简单解释

不难看出,mutex是semaphore的一种特殊情况(n=1时)。也就是说,完全可以用后者替代前者。但是,因为mutex较为简单,且效率高,所以在必须保证资源独占的情况下,还是采用这种设计。
2018年12月5日

【链表问题】如何优雅着反转单链表

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢
2018年12月4日

BAT大揭秘:在腾讯、百度、阿里上班,差别竟然这么大?

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
2018年12月2日

【链表问题】删除单链表的中间节点

其实也是可以使用双指针的,但个人认为,那道题使用双指针的方法并没有我上次那个做法优雅,而这次删除中间节点,则用双指针比较优雅。至于原因,可以自己打下代码看看。
2018年11月29日

【必学】Linux 下三剑客的技能,你敢不学?

在awk的文本处理规则里,awk将文本文件视为由字段和记录组成的文本数据库。默认情况下,awk将每一行视为一个记录,也就是说记录的分隔符是\n,记录的分隔符可以通过内置变量RS更改。
2018年11月29日

你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗?

这个比刚才那个难了点,答案分别是3,3。假如你对这个答案的由来了如指掌,那么你大不可必往下看,假如你不大理解或者想从底层的汇编指令的来了解这个操作,那么你可以看看我的解释。
2018年11月26日

【链表问题】删除单链表中的第K个节点

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
2018年11月26日

【算法实战】生成窗口最大值数组

做算法题了,题的难度我们分为“士,尉,校,将”四个等级。这个算法题的模块是篇幅比较小的那种模块。首先是给出一道题的描述,之后我会用我的想法来做这道题,今天算是算法题的第一道题,先来试试水。
2018年11月22日

循序渐进带你学习时间复杂度和空间复杂度。

我们都知道,对于同一个问题来说,可以有多种解决问题的算法。尽管算法不是唯一的,但是对于问题本身来说相对好的算法还是存在的,这里可能有人会问区分好坏的标准是什么?这个要从「时效」和「存储」两方面来看。
2018年11月18日

轻松一刻 | 周末来点段子吧

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
2018年11月17日

谈谈NAT:什么?全球IP和私有IP是什么鬼?

答否。我们不一定需要去申请3个IP的,在我们这个内网里,我们可以指定自己的规则,例如,我们可以给这三台电脑随便分配三个IP(请注意,这三个IP不是去申请的,而且我自己随意给它分配的)。分别分配电脑A
2018年11月16日

【漫画】不要再问我快速排序了

例如有可能会出现一种极端的情况,每次分割的时候,主元左边的元素个数都为0,而右边都为n-1个。这个时候,就需要分割n次了。而每次分割整理的时间复杂度为O(n),所以最坏的时间复杂度为O(n2)。
2018年11月13日

集线器、交换机与路由器有什么区别?

比如我把小A的网口命名为macA,将小C的命名为macC,这时如果小A想要将数据传给小C,则设备会根据网口名称macA和macC自动将资料从A的电脑传送到C的电脑中,而不让小B、小D和小E收到。
2018年11月8日

TCP流量控制机制

双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发送方的发送速率太快,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区里(失序的数据包也会被存放在缓存区里)。
2018年11月5日

【面试现场】如何在500w个单词中统计特定前缀的单词有多少个?

小史:哦,这确实是节省了空间,如果要找单词interest,那么就找根节点了,如果是找单词interesting,那么就从根节点往下走,再把沿路的字母们都拼起来就行了。
2018年11月1日

5分钟读懂拥塞控制

无论是第一种方法还是第二种方法,最后都会出现瓶颈值。不过这里值得注意的是,第一种情况的增长速率确实有点慢,但是第二种情况以指数增长,增长速度有点太快了,可能一下子就到瓶颈值了。
2018年10月31日

4个月文章汇总,赶紧来收藏一波

在接下来的一两个月里,可能计算机网络,算法与数据结构的文章会更新的多点,Java类的文章,过段时间可能会深入来写一下,大家敬请期待。
2018年10月28日

一些常用的算法技巧总结

我们就可以设置一个慢指针和一个快指针来遍历这个链表。慢指针一次移动一个节点,而快指针一次移动两个节点,如果该链表没有环,则快指针会先遍历完这个表,如果有环,则快指针会在第二次遍历时和慢指针相遇。
2018年10月26日

为什么寄存器比内存快?

5s的内存是1GB,约为80亿位(bit)。这意味着,高性能、高成本、高耗电的设计可以用在寄存器上,反正只有6000多位,而不能用在内存上。因为每个位的成本和能耗只要增加一点点,就会被放大80亿倍。
2018年10月24日

【漫画】两台陌生的主机是如何保证数据正确交付的?

如果一个序号为n的分组被正确收到,并且按序(所谓按序就是指n-1的分组也已经收到了),则B为分组n发送一个ACK,否则,丢弃该分组,并且为最近按序接收的分组重新发送ACK。
2018年10月22日

【普及了解】比特币入门教程

一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?
2018年10月18日

【漫画】https 加密那点事

在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。如图:
2018年10月17日

【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。

听起来这种树还不错,可以对于图1,如果我们要插入一个节点3,按照查找二叉树的特性,我们只能把3作为节点4的左子树插进去,可是插进去之后,又会破坏了AVL树的特性,那我们那该怎么弄?
2018年10月13日

[资源分享]不吹牛 全网!最全!!最新!!!最优质!!!!

好久没有分享资源干货了,近期多途径收集了很多优质的学习资源,包括Java、Python、Linux、前端、人工智能等优质学习资源,来回馈所有的读者朋友。保证全网最优质!!!
2018年10月10日

【普及了解】什么是神经网络算法?

这种方法就是试错法。其他参数都不变,w(或b)的微小变动,记作Δw(或Δb),然后观察输出有什么变化。不断重复这个过程,直至得到对应最精确输出的那组w和b,就是我们要的值。这个过程称为模型的训练。
2018年10月9日

【漫画】什么是外部排序?

解释下:例如对于数据2,我们把无序的12个数据分成有序的4个子串需要读写各一次,把2份3个有序子串合并成6个有序子串读写各一次;把2份6个有序子串合并从12个有序子串读写各一次,一共需要读写各3次。
2018年10月7日

我是如何学习数据结构与算法的?

算法能力的提升和做题的数量是有一定的关系,但并不是线性关系。也就是说,在做题的时候,要力求一题多解,如果自己实在想不出来其他办法了,可以去看看别人是怎么做的,千万不要觉得模仿别人的做法是件丢人的事。
2018年10月5日

图解字符串匹配的KMP算法

一个基本事实是,当空格与D不匹配时,你其实知道前面六个字符是"ABCDAB"。KMP算法的想法是,设法利用这个已知信息,不要把"搜索位置"移回已经比较过的位置,继续把它向后移,这样就提高了效率。
2018年10月4日

彩票的数学知识

现在我们知道,新规则的彩票是有利可图的,可以大量购买。但是,还有一个问题,应该怎么选择号码,才能保证收益?也就是说,48个号码里面,你应该选择哪6个号码,才能收益最大化?
2018年10月2日

【算法与数据结构】堆排序是什么鬼?

此时,二叉堆的元素被删除光了,观察一下help数组。这是一个有序的数组,实际上,通过从二叉堆的堆顶逐个取出最小值,存放在另一个辅助的数组里,当二叉堆被取光之时,我们就完成了一次堆排序了。
2018年9月28日

【算法与数据结构】二叉堆是什么鬼?

刚才我们在删除一个节点的时候,把最后一个元素补到根元素的位置上去,然后再让这个元素依次下沉,实际上,在这个元素还没有下沉之前,它就可以看作是一颗无序的完全二叉树了。
2018年9月26日

【黑科技】人民币和电脑版微信双开的秘密

想必大家都喜欢人民币,但不知道大家有没有仔细观察过人民币,在人民币的正面,有一个类似于二维码的图案,如果你用最新版的QQ扫一下这个图案,可能你会有所惊讶。
2018年9月25日

【算法与数据结构专场】BitMap算法基本操作代码实现

所以说,像我们上面的那种写法可以说是暴力写法,没有经过任何优化,实际上,在Java自带的bitMap中是有很多优化的,并不会像我们上面实现的代码一样那么浪费空间资源。有兴趣的可以研究下。
2018年9月23日

【算法与数据结构专场】BitMap算法介绍

大家再想一个问题,虽然boolean是表示两种状态,但是boolean实际上占用了8bit啊,按道理8bit是可以表示128种状态的。而被我们拿来表示两个状态,是否也有点浪费了呢?
2018年9月21日

又给大家推荐两款神器了。

获取更多原创文章,可以关注下我的公众号:苦逼的码农,我会不定期分享一些资源和软件等。后台回复礼包送你一份时下热门的资源大礼包。
2018年9月19日

单例模式(下)---聊一聊单例模式的几种写法

单例模式(上)---如何优雅地保证线程安全问题中,我们采取了懒汉式写法来写我们的单例模式,并且重点讲解了懒汉式中线程安全的问题。这篇我们来讲讲单例模式中的其他几种写法。
2018年9月18日

单例模式(上)---如何优雅地保证线程安全问题

p2两个线程来调用这个方法。当p1执行完1,3但还没有执行2时,这时instance已经不再是null了。假如这个时候p2刚刚进入getInstance这个方法,然后执行if(instance
2018年9月17日

这次真心给大家推荐两个「高质量」的「原创」公众号

和高哥一样,武哥也是位充满正能量,很用心写文章的人。偷偷告诉你,武哥还拥有一个很漂亮的女朋友,充满各种故事,嘿嘿。想要提升技术等的,关注就对了。
2018年9月16日

一段对话讲完建造者模式

Cake.Builer();builer.setSize(30);builer.setApple("apple");builer.setOrange("orange");//创建一个蛋糕Cake
2018年9月15日

计算机网络系列 --- 什么是电路交换和分组交换?

首先我们来了解下分组的概念。所谓分组,就是将一个数据包分成一个个更小的数据包。例如对于一个10GB的数据包,总不可以一次性发送过去吧,而是把它分成若干个小的数据包发送过去。每个分组数据块的结构图:
2018年9月12日

【面试现场】如何实现可以获取最小值的栈?

小史:push的时候进行判断,如果数值比当前最小值大,就不动mins栈了,这样mins栈中不会保存大量冗余的最小值。pop的时候同样进行判断,只有pop出的数就是当前最小值的时候,才让mins出栈。
2018年9月10日

五分钟了解设计模式(3)---适配器模式

2、Adaptee(适配者类):适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类一般是一个具体类,包含了客户希望使用的业务方法。例如上面苹果充电线就是适配者类。
2018年9月8日

说几件事

对于这个公众号,我到目前为止。写的大部分都是技术文章,比较少分享自己的一些感受之类的。我的目标的前期主要是分享技术文章,到了后面,积累了一定的文章了,再来分享自己的一些学习啊什么之类的经验。
2018年9月7日

设计模式走一遍---装饰者模式

抽象构件:它是具体构件和抽象装饰类的共同父类,声明了要在具体构件中实现的业务方法,它的引入可以使客户端以一致的方式处理未被装饰的对象以及装饰之后的对象。抽象构件一般定义为接口。
2018年9月6日

从0打卡leetcode之day11--正则表达式匹配

反正我解决了这个疑问之后,还是做了挺久的,刚开始用递归的方式做,相对容易点,但由于挺多细节,也是做了挺久。之后用动态规划的方法做,相对难点,不过通过这道题的考验,感觉对动态规划的掌握,又更熟练了。
2018年9月5日

设计模式走一遍---观察者模式(下)

该具体类Observable相当于主题对象,实现的主要功能就是当自己的状态发送改变时,通知观察者,观察者再根据通知,在update方法做出相应的反应。
2018年9月5日

设计模式走一遍---观察者模式

上面的例子中,红绿灯就相当于一,而路上的人就相当于多,每次红路灯这个目标对象的状态发生变化,就会通知众多的观察者(人)。而观察者一般也会做出对象的响应
2018年9月4日

从0打卡leetcode之day10--整数回文数

关注公我的众号:苦逼的码农,获取更多原创文章,后台回复礼包送你一份资源大礼包。同时也感谢把文章介绍给更多需要的人
2018年9月4日

从0打卡leetcode之day9--字符串转整型

好久没更新了,今天是开学的第一天,这学期选了门算法的课,打算好好刷下《算法导论》这本书,可能接下来会一边分享leetcode的刷题贴,一边分享自己在书上所学的一些算法。欢迎你一起和我学习坚持下去
2018年9月3日

Unicode与UTF-8的区别

UTF-8就是使用变长字节表示,顾名思义,就是使用的字节数可变,这个变化是根据Unicode编号的大小有关,编号小的使用的字节就少,编号大的使用的字节就多。使用的字节个数从1到4个不等。
2018年8月29日

给大家介绍一些自己常用、感觉很不错的效率工具

当然这个百度网盘不是我们平时使用的网盘,平时使用的百度网盘下载速度和乌龟一样,这个百度网盘可以说是不限速的,所以用它来下载东西很方便,而且不用安装,直接打开.exe可执行文件就可以了。
2018年8月27日

从0打卡leetcode之day8--反转整数

就是通过把数字转换为字符串,然后再把字符串转换为int类型。这种做法我觉得不大友好,因为对于末尾的0本来我们是要弃掉的,它也会被转换过来,而且这种做法的时间复杂度和空间复杂度都更高。
2018年8月26日

加锁还是不加锁,这是一个问题

只是我们发现小李的这些工具类只支持简单的类型,对于一些复杂的数据结构,就不好使用CAS了,因为使用CAS需要频繁的读写内存数据,并且做数据的比较,
2018年8月26日

从0打卡leetcode之day7--Z字形变换

好久没打卡了,虽然自己有看题,不过最近在忙其他事,没什么时间写出来。马上就要开学了,开学了可能反而会更有时间来刷题吧。可以在上课的时间段来写,,哈哈。毕竟很少听课。
2018年8月25日

回车与换行的故事

正是这个原因,才会导致我们有时用Windows系统来打开Unix/Mac系统的文件时,会出现所有文字变成一行的情况,而用Unix和Mac系统打开Windows系统的文件时,在每一行的结尾会多出一个
2018年8月24日

给大家推荐几个常用谷歌浏览器插件(不用翻墙也能使用谷歌搜索了)

有时想要对网页进行截图时,我是经常用微信带的截图功能的,这种很不方便,经常需要登录微信,而且如果想要截整个网页时也很不方便,这个插件可以帮我们很方便着进行截图,而且还可以存储为PDF等其他格式。
2018年8月23日

线程安全(上)--彻底搞懂synchronized(从偏向锁到重量级锁)

本来一个线程把锁释放之后,当前线程是能够获得锁的,但是假如这个时候有好几个线程都在竞争这个锁的话,那么有可能当前线程会获取不到锁,还得原地等待继续空循环消耗cup,甚至有可能一直获取不到锁。
2018年8月22日

线程安全(上)--彻底搞懂volatile关键字

我们都知道,Java是一种夸平台的语言,因此Java这种语言在处理线程安全问题的时候,会有自己的处理机制,例如volatile关键字,synchronized关键字,并且这种机制适用于各种平台。
2018年8月20日

关于我:一名来自双非学校的小混混

最开始我是在CDNS写的文章。说真的,对于新手来说,写文章真的是太花时间了,一篇简单的文章,都能让我写四五个小时,而且写了之后也没啥人看。心想,要是我拿这四五个小时去看书,不知道还得看多少页的书呢。
2018年8月19日

从0打卡leetcode之day 6--最长回文串

例如a是一个回文串,向a的两边添加一个字符,假如添加的这两个字符相同的话,那么添加之后的字符串还是回文串,如果两个字符串不同的话,那么添加之后就不是字符串了,。继续遍历下一个字符。,,,,,
2018年8月18日

聊一聊让我蒙蔽一晚上的各种常量池

这段代码调用之前,字符串常量池有一个”2”的对象,执行之后,实际上会调用StringBuilder的append()方法类进行拼接,最后在堆中创建一个”22”的对象。此时t3指向堆中”22”这个对象
2018年8月16日

从0打卡leetcode之day 5 ---两个排序数组的中位数

示例2一共有4个元素,那么temp[t/2]=temp[2]=3。由于是偶数,我们直接把temp[t/2]=3和temp[t/2-1]=2这两个元素取出来处理之后返回就可以了。
2018年8月13日

JVM(2)--一文读懂垃圾回收

其中初始标记、重新标记这两个步骤仍然需要暂停其他线程。但另外两个步骤可以和其他线程并发执行。初始标记仅仅只是标记一下GCRoots能直接关联到的对象,速度很快,并发标记阶段就是进行GC
2018年8月12日

JVM(1)---虚拟机在运行期的优化策略

我们都知道一个对象创建之后是放在堆上的,这个对象可以被其他线程所共享,并且我们知道在堆上的对象如果不再使用时,虚拟机的垃圾收集系统就会对它进行帅选并回收。但无论是回收还是帅选,都是需要花费时间的。
2018年8月10日

从零打卡leetcode之day 4--无重复最长字符串

前几次我们都有用过hashMap来进行映射,实际上这里一样可以用hashMap来保存子串,然后再判断s.charAt(j)是否子串中,这样我们就可以把查找过程的复杂度降低到O(1)了。
2018年8月9日

从零打卡leetcode之day 3--最大子序列

的子序列我们还要吗?显然,这个子序列的和都小于0了,我们是可以直接淘汰的。因为如果还要这个子序列的话,它和后面的5一相加,结果变成了4,我们还不如让我们的目标子序列直接从5开始呢。
2018年8月6日

从jvm角度看懂类初始化、方法重载、重写。

如果类型C中找到run()这个方法,则进行访问权限的检验,如果可以访问,则方法这个方法的直接引用,查找结束;如果这个方法不可以访问,则抛出java.lang.IllegalAccessEror异常。
2018年8月6日

从零打卡leetcode之day 2--两数相加

long也可能存不了。你可能又会说,java或python什么的,不是有大整数咪?好吧,我没去用过这些大整数,不知道具体个什么情况,所以当作没有这么一回事处理,haha。有兴趣的可以去尝试一下。
2018年8月5日

从零打卡leetcode之day 1--两数之和

上面说了,问题的原因是这两个我们要的数刚好相等,并且我们从一开始就想把他们两个硬塞进哈希表里,导致一山容不了二虎。其实,我们可以换一种想法啊,我们可以一边遍历查找一边把数放进哈希表里啊。先看代码:
2018年8月4日

HTTP协议入门

数据流发送到一半的时候,客户端和服务器都可以发送信号(RST_STREAM帧),取消这个数据流。1.1版取消数据流的唯一方法,就是关闭TCP连接。这就是说,HTTP/2
2018年7月31日

一文看懂https如何保证数据传输的安全性的

大家都知道,在客户端与服务器数据传输的过程中,http协议的传输是不安全的,也就是一般情况下http是明文传输的。但https协议的数据传输是安全的,也就是说https数据的传输是经过加密。
2018年7月30日

一文看懂一台计算机是如何把数据发送给另一台计算机的

这个协议就是IP协议,它所定义的地址,我们称之为IP地址。IP协议有两种版本,一种是IPv4,另一种是IPv6。不过我们目前大多数用的还是IPv4,我们现在也只讨论IPv4这个版本的协议。
2018年7月26日

shell编程 --- 一些简单的运算符

所以我们需要借助其他命令来实现,如awk和expr这些命令。其中expr算是用的比较多,因此,我们也用expr这个命令来解决数值之间的运算。至于怎么用,简单粗暴,直接看程序:
2018年6月24日

Shell编程 --- 变量

那你以后就可以把a当作3来用了。不过,它还是和我们初中高中接触的未知数有点差别。居然是变量,就那说明这个变量a是可以变的啊,也就是说,你不想让a代表3了,你可以让a=4。扯的有点多了,来个简洁点的
2018年6月20日

shell编程 --- Shell入门介绍

推荐阅读:Linux大人养成计划1—-基础命令总结Linux达人养成计划2—-虚拟机下的网络配置Linux达人养成3—使用远程工具操作LinuxLinux养成达人4——一些相对有趣点的网络命令
2018年6月18日

Linux养成达人4----一些相对有趣点的网络命令

这个命令的功能可以用来抓包哦。假如有用户来连接我们的Linux,我们就可以抓到各种信息,例如密码之类的。下面我来演示一下。我用window的操作系统来远程连接Linux的FTP服务。
2018年6月9日

Linux达人养成3--使用远程工具操作Linux

路由跟踪命令。就是说,当我们是访问某个IP的时候,是会经过很多路由器进行转发的。使用该命令可以让我们看到都经过了哪些路由。也可以用这个命令来查看,如果ping不通时,是在哪个网段出了问题。
2018年6月8日

Linux达人养成计划2---虚拟机下的网络配置

我们选择了桥接模式,所以我们必须把IP设置成和主机在同一个网段。这里我主机的IP是192.168.43.158。我把虚拟机的IP设置为192.168.43.159。只要在同一个网段就行
2018年6月7日

Linux大人养成计划1---基础命令总结

命令时,该命令会把test.txt里面的内容输出到屏幕上,但如果我们希望它把结果输出到某个文件上,而不是屏幕,就可以采用重定向,把内容重定向到文件上,如:cat
2018年6月6日

一波视频福利(javase,EE;Linux;算法等等)

目前专注于写【计算机基础】,【数据结构与算法】,【Java】,力求通俗易懂着讲解出来,期待你的加入
2018年6月1日

谈谈HashMap、Hashtable和ConcurrenHashMap

居然Hashtable在线程安全方面要比HashMap强,那么在其他的方面自然要比它弱。由于Hashtable是线程安全的,同步的,那么在单线程的情况下,它的处理速度是要比HashMap慢的。
2018年5月30日

谈谈fail-fast与fail-safe

fail-fast的字面意思是“快速失败”。当我们在遍历集合元素的时候,经常会使用迭代器,但在迭代器遍历元素的过程中,如果集合的结构被改变的话,就会抛出异常,防止继续遍历。这就是所谓的快速失败机制。
2018年5月29日

HashMap的存取原理你知道多少

在java的容器集合中,hashmap的使用频率可以说是相当高的。不过对于hashmap的存(put())以及取(get())的原理可能很多人还不大清楚,今天,我就给大家介绍下它是如何存如何取的。
2018年5月27日

算法与数据结构书籍与视频福利

大一第二学期狂刷的一本书,日本作者写的。讲了各种做题的方法,分初级,中级,高级篇。初级篇和中级篇在难度方面还是挺友好的,想学习算法、刷题的,推荐这本书。
2018年5月20日

动态规划进阶篇1---背包问题

大家好,这次给大家分享的题会比以往难一点, 学会了这道题的解题思想,对动态规划的掌握 就更上一层楼了下面先给大家讲有关于动态规划的两个概念(其实在上两次的题中我们一直有在用)
2018年5月19日

递归与动态规划----基础篇2

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?还是我说的一样,找出
2018年5月17日

递归与动态规划---基础篇1

因此对于那些重复算过的,其实我们可以不用在重复递归来算它的,也就是所我们可以把f(n)算的结果一边给保存起来,这种就是动态规划的思想。
2018年5月16日