深入理解java常量池

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

2018-08-27 11:48:27

阅读数 115

评论数 0

linux tr命令详解

原文链接:https://blog.csdn.net/jeffreyst_zb/article/details/8047065 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换...

2018-08-27 10:33:41

阅读数 90

评论数 0

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

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

2018-08-13 13:28:41

阅读数 99

评论数 0

java接口知识总结

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

2018-07-19 12:42:44

阅读数 122

评论数 0

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

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

2018-07-03 11:54:22

阅读数 123

评论数 0

leetcode 动态规划题号

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

2018-05-23 10:46:07

阅读数 97

评论数 0

拍案叫绝的算法(二)

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

2018-05-14 21:26:41

阅读数 160

评论数 0

拍案叫绝的算法(一)

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

2018-05-14 21:21:33

阅读数 249

评论数 0

排序算法总结(Java版)

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

2018-05-14 14:16:43

阅读数 84

评论数 0

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

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

2018-05-11 12:16:12

阅读数 2351

评论数 0

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

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

2018-03-26 22:03:24

阅读数 127

评论数 0

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

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

2018-03-04 13:18:07

阅读数 134

评论数 0

删除单向链表中最小值

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

2017-12-11 10:45:21

阅读数 891

评论数 0

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

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

2017-12-11 09:17:15

阅读数 7381

评论数 4

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

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

2017-11-20 17:41:34

阅读数 199

评论数 0

关于String和StringBuffer的常见问题

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

2017-08-28 21:15:04

阅读数 277

评论数 0

Java中的String、StringBuffer与StringBuilder

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

2017-08-28 21:06:21

阅读数 201

评论数 0

JS闭包详解

大名鼎鼎的闭包!这一题终于来了,面试必问。 请用自己的话简述 什么是「闭包」。 「闭包」的作用是什么。 首先来简述什么是闭包 上面三行代码在一个立即执行函数中。 三行代码中,有一个局部变量 local,有一个函数 foo,foo 里面可以访问到 local 变量。 好了这就是一个闭包: ...

2017-08-27 17:21:29

阅读数 174

评论数 0

JavaScript中的let与var

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

2017-08-26 16:05:01

阅读数 218

评论数 0

JAVA接口思想2

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

2017-08-25 14:10:11

阅读数 313

评论数 0

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