4 the__apollo

尚未进行身份认证

我要认证

水滴石穿,不舍昼夜

等级
TA的排名 2w+

深入理解java常量池

原文链接 理论 小菜先拙劣的表达一下jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令,这个太高深,小菜不懂。本地方法栈是jvm调用操作系统方法所使用的栈。虚拟机栈是jvm执行java代码所使用的栈。方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。虚拟机堆是jvm执行java代码所使用的堆。Java中的...

2018-08-27 11:48:27

linux tr命令详解

原文链接:https://blog.csdn.net/jeffreyst_zb/article/details/8047065tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。 带有最常用选项...

2018-08-27 10:33:41

sql之left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: 表A记录如下: aID     aNum 1     a20050111 2     a20050112 3     a200501...

2018-08-13 13:28:41

java接口知识总结

接口是一种特殊的抽象类,为了克服java单继承的缺点而被引入。通常可以通过一个类实现多个接口的方式来达到多重继承的目的。接口和继承的区别简而言之就是“has-a”和“is-a”的区别。那么接口中都能写入哪些东西呢?1.成员变量。接口中可以定义成员变量,但都默认被public static final来修饰。2.成员方法。接口中只允许public,abstract,default,s...

2018-07-19 12:42:44

Java学习笔记之Python和Java中Super方法的区别

python 的 super 是一个函数,需要两个参数,第一个参数是类,第二个参数是实例,返回值是一个类对象。其意义是:站在参数2这个实例的角度看去, 参数1这个类的‘父亲’是谁,把‘父亲’返回。详情见这里。Java 的 super 是一个引用,即一个指针,它指向的是本类内部的那个父类对象。可以用 super.xxx 来访问父类的成员变量或成员函数。另外 Java 的 supe...

2018-07-03 11:54:22

leetcode 动态规划题号

53 55 62 63 64 70 91 96 120 121 198 213 279 300 303 304 338

2018-05-23 10:46:07

拍案叫绝的算法(二)

问题:求一个数n的各位上的数字和,如果这个和大于等于10,接着做以上操作。解答:这道题的算法只有一句话return (n != 0 && n % 9 ==0) ? 9 : n%9 ;理由很简单,10的m次方模9肯定是1。...

2018-05-14 21:26:41

拍案叫绝的算法(一)

问题:有一个黑匣子,黑匣子里有一个关于 x 的多项式 p(x) 。我们不知道它有多少项,但已知所有的系数都是正整数。每一次,你可以给黑匣子输入一个整数,黑匣子将返回把这个整数代入多项式后的值。那么,最少需要多少次, 我们可以得到这个多项式每项的系数呢?答案:两次。第一次,输入 1 ,于是便得到整个多项式的所有系数之和。记作 S 。 第二次,输入 S + 1 ,于是黑匣子返回的是 ...

2018-05-14 21:21:33

排序算法总结(Java版)

一.冒泡排序 冒泡排序,就是每次比较,大的元素往后挪,比较完第一遍后,最大的元素排到了数组的最后一位 。第二次比较,还是从第一个元素开始和后面的比较,把剩余的最大的元素拍到数组的倒数第二位,第一轮比较的最大元素不参与比较 。程序实现:/*冒泡排序*/public class Sort1 { public int[] sort(int[] nums){ int t...

2018-05-14 14:16:43

简述大数分解算法Pollard Rho和Pollard p-1

大数分解问题其实至今都是一个世界级难题,最常见的分解法是从2一直找到sqr(N),作为一个密码学专业的学生,每次看到别人这么做来进行因子分解,自己都控制不住想要制止他,因为这个算法的效率简直太太太太太低了。于是,简单介绍一下牛逼哄哄的Pollard算法,专制各种大数。先说rho算法。rho算法其实是一种概率上的算法,虽然是靠概率,但是其准确率非常高(99.9%),更重要的是,该算法效率...

2018-05-11 12:16:12

公钥、私钥、数字签名、数字证书、对称与非对称算法,HTTPS

要入门密码学,首先要搞清楚三个概念,即加密,签名和认证。 一、公钥加密,私钥解密——用于加密信息如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。二、私钥加密,公钥解密——用于数字签名严格来说,这里说的私钥加密是用私钥对摘要进行加密,接收方可以用公钥解密,解密成功则可验证信息的发送者是私钥的拥...

2018-03-26 22:03:24

计算机网络的三种通讯模式(单播,广播,组播)小结

1.单播(Unicast)单播在发送者和每一接收者之间实现点对点网络连接。 如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时, 将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。“单播”可以理解为一个人对另外一个人说话,,此时信息的接收和传递只在两个节点之间进行,参见图1。 单播...

2018-03-04 13:18:07

删除单向链表中最小值

原题目:在单链表L中删除一个最小值节点,算法尽可能高效,且假设最小值节点为唯一。原答案实在是蠢,特别复杂,看不懂,不想看。自己写了个递归,时间复杂度o(n),空间复杂度o(1),优雅的解决了这个问题。class LNode: def __init__(self, x): self.val = x self.next = Nonedef func(head,

2017-12-11 10:45:21

翻转链表的三种方法(python实现)

具体方法来自看图理解单链表的反转,以下为该博客中方法的python实现以及测试方法一:利用三个指针逐个翻转def func1(head): p = head q = head.next p.next = None while q: r = q.next q.next = p p = q q = r

2017-12-11 09:17:15

198. House Robber,又发现一道数学归纳法在leetcode中的应用题

上一道利用到数学归纳法的题目是求最大子列和的Kadane算法,今天做leetcode又遇到了一道及其类似的题目,也是从零开始一步步求解最优解,直至最后得出我们想要的答案。这种思想非常的重要!! 题目地址:198. House Robber 它的算法思想是:从0开始一步步生成最终的数列,得出最大的值(是不是和kadane算法很像!!) f(0) = nums[0] f(1) = max(n

2017-11-20 17:41:34

关于String和StringBuffer的常见问题

下面这段代码的输出结果是什么? String a = “hello2”;   String b = “hello” + 2;   System.out.println((a == b)); 输出结果为:true。原因很简单,”hello”+2在编译期间就已经被优化成”hello2”,因此在运行期间,变量a和变量b指向的是同一个对象。2.下面这段代码的输出结果是什么?String a = “he

2017-08-28 21:15:04

Java中的String、StringBuffer与StringBuilder

String,StringBuffer,StringBuilder。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下: 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String  2.String <(StringBuffer,StringBuilder)的原因     S

2017-08-28 21:06:21

JS闭包详解

大名鼎鼎的闭包!这一题终于来了,面试必问。 请用自己的话简述什么是「闭包」。「闭包」的作用是什么。首先来简述什么是闭包 上面三行代码在一个立即执行函数中。 三行代码中,有一个局部变量 local,有一个函数 foo,foo 里面可以访问到 local 变量。 好了这就是一个闭包: 「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。 就这么简单。 有的同学就疑惑

2017-08-27 17:21:29

JavaScript中的let与var

先贴两段让人匪夷所思的代码:var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); // 10上面这段代码输出的结果是10。var a = [];for (let i = 0; i < 10; i++) { a[i] = function () {

2017-08-26 16:05:01

JAVA接口思想2

原文链接第一次看这篇文章时,是在CSDN博客中看到的,作者写的初衷还是蛮好的,但是确实有错误的地方和不是很明白的地方。于是就很想去看看原文,废了半天的功夫终于找到了,原文还是一样有出错和我不理解的地方,我也把原文的地址贴在上面了。三月份学习的Java集合框架这部分,这几天拿出来整理就想再深入一点,因此也看了很多的关于Java集合框架的文章,这篇我算是有一点点的体会,我只是改了一些我认为错误的地方和不

2017-08-25 14:10:11

查看更多

勋章 我的勋章
    暂无奖章