- 博客(6)
- 资源 (11)
- 收藏
- 关注
原创 JVM内存中的年轻代,老年代
引言对于大多数Java应用来说,Java Heap(Java堆)是JVM管理的内存中较大的一块,而且Java Heap是被所有线程共享的一块内存区域,于虚拟机启动时创建。而Java堆的唯一目的就是存放对象实例。由于Java堆是垃圾收集器管理的主要区域,因此也被称为"GC堆"。再从内存回收的角度来看,由于现代收集器基本都采用分代收集算法,所以Java Heap还可以被细分为:新生...
2018-07-25 00:02:45
4000
原创 Java使用Thread时的一些注意点
新建线程 新建线程很简单,只要使用new关键字创建一个线程对象,并且将它start()起来即可:Thread t1 = new Thread();t1.start();注意:下面的代码也能通过编译和正常执行,但是却没有新建一个线程:Thread t2 = new Thread();t2.run();这只是简单的普通方法调用,所以没有涉及新的线程创建。那让我...
2018-07-22 16:05:56
579
原创 硬币找零(动态规划 Java实现)
问题:假如给你这些面值的硬币{25, 21, 10, 5, 1 },问需要对63进行找零,需要的最少硬币数为?思路:很明显的一个动态规划题目,该问题的子问题其实就是更小数额的钱需要的最少硬币数,那我们可以先从小数额开始计算,这样后面大数额就可以借助前面已经计算好的小数额的来进行计算,比如找零,21,前面已经计算了找零20需要2个硬币,这里21很明显就是2+1=3个硬币。上代...
2018-07-19 10:25:33
4210
原创 组合(Java实现)
题目:求解n个元素的组成的大小为m的组合思路:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择m个字符。这两种选择都很容易用递归实现。思路讲完了,直接...
2018-07-19 10:11:34
2480
原创 全排列(Java实现)
废话少说,直接上代码:public static void permutation(char[]ss,int i){ if(ss==null||i<0 ||i>ss.length){//1 return; } if(i==ss.length-1){//2 ...
2018-07-19 10:05:10
12940
5
原创 Warshall算法求解传递背包问题(Java实现)
传递背包通俗理解原本邻接矩阵就是各个顶点能通过一步就到的才能为1,比如图中a->b,所以[a,b] = 1, d->c,所以[d,c],而a不能一步到d(虽然a最后可以通过b到达d),所以[a,d]=0而传递闭包就是包括了这种通过多步到达的情况。求解传递闭包为了解决这个问题,可以通过DFS或者BFS,通过对每个顶点来进行遍历能到达的点,说明可达,以此来生成传递闭包,但...
2018-07-18 18:19:43
984
JDK1.8中文帮助文档
2018-06-24
算法导论第三版
2018-06-15
Java并发编程实战
2018-06-15
深入理解Java虚拟机
2018-06-15
算法第4版谢路云译完整版
2018-06-14
大型网站系统与Java中间件实践
2018-06-14
汇编语言王爽
2018-06-10
图解TCP_IP
2018-06-09
操作系统之哲学原理
2018-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人