JVM 之 Java 内存区域与内存溢出异常
Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 运行时数据区域Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java 虚拟机规范(Java SE 7 版)》的规定,包括如下几 ...
阅读更多
LeetCode 之最长公共前缀(Longest Common Prefix)
潜意识还没养成的我在思考问题方面总会出点岔子,老是走一些弯路。虽说结果可能是一样的,过程却是复杂许多,这也是我为什么决定要好好刷一遍 leetcode 中的题目的原因。数学就在于简单之美,一些看似异常复杂的问题可以巧妙地通过分治从而完美解决,很能锻炼人的逻辑思维能力,这也是我想要的。 下面来看问题的 ...
阅读更多
LeetCode 之组合总和系列(Combination Sum)
LeetCode 中有多道组合总和(Combination Sum)的题,这些题目都是比较经典的,面试很可能会问到。我这一想,还真是。今天就来简单总结下这一系列题目,总结很重要,还要时而回顾! Combination Sum I第一道题的描述如下:12345678910111213141516171 ...
阅读更多
使用 ssh 反向隧道穿透 NAT 访问 Linux 内网主机
前言由于公司经常会有项目需要去业主那边搭建服务器,基本不需要什么流量所以就准备用 4G 网卡搭建。而该网卡无固定公网 ip,只有内网 ip,我们目的就是为了可以远程操控以避免有时因业务需要往业主那边跑,要是地方比较远来回一趟也得花个把星期,不划算。所以就研究了下 ssh 隧道穿透来满足我们的需求。 ...
阅读更多
科幻十月(2018)
近些日子里差不多都在看《三体》,专业书籍都抛到脑后了,甚是着迷。 《三体》中每本序言都说了“基石”二字。刘慈欣先生真是可谓中国科幻届领军人物!其脑洞之大,学术之广,思维之严谨。书中大量出现了数学、物理等知识,众多专业术语,还将中外古今大多名人汇聚一起,展开“搏斗”,来回穿梭于时光长廊。 这几周每 ...
阅读更多
链表找环方法证明(拒绝误人子弟)
前言今天又想起来了这个问题,之前最开始是在其他论坛中看到有人说起了这个面试题。 当时只是翻了下,大致了解了如何判断链表中是否有闭环,用两个快慢指针解决,但是没有了解如何去找到闭环开始的节点。 刚上网搜了下,一群垃圾博主乱七八糟胡说八道,就知道从其他地方复制粘贴,都不过脑子的。谁说较快指针一定就是第二 ...
阅读更多
二分搜索之搜索数组中目标元素的首尾下标
今天总结一下二分搜索。假设这里的数组已经是升序排序好了的。 我们知道二分搜索的效率很高,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用 O(log n) 完成搜索任务。它的基本思想:将 n 个元素分成个数大致相同的两半,取 a[n/2] 与需要查找的目标值 x 作比较,如果 x=a[ ...
阅读更多
凉爽九月(2018)
近几日天愈发见凉,夜晚也裸睡不得了。 这帮人,唉。步入社会后确实大家之间的联系会越来越少,有这个心境,时间上也不允许啊,都得赚钱吃饭没办法…… 本来是原先计划五人中秋一同去重庆耍几天。可奈何机票小贵,下不了这个手,何况有人明年还准备在苏州买婚房了,攒钱中,羡慕。后,众人纷纷拿不准放松地点,最终决 ...
阅读更多
整理一些 JDK 中 Integer 实用但不常用的方法
直接开搞。 toString该方法进行了重载,一种是 toString(int i, int radix),另一个是 toString(int i)。一个参数的方法就相当于 toString(int i, 10),看代码便知,何况其官网注释也有:123456789101112131415161718 ...
阅读更多
动态规划之 0-1 背包问题详解
前言背包问题是比较经典的动态规划算法题,之前没接触过算法都没听说过这个,也是后来在 leetcode 中刷题时才了解到,惭愧惭愧啊。算法的世界太奇妙,数学一直都是那么令人着迷。今天来总结一下这个 01 背包问题。注:这里的物品不可拆分。 动态规划首先了解下什么是动态规划。动态规划(dynamic p ...
阅读更多