- 博客(8)
- 收藏
- 关注
原创 匿名内部类使用的外部变量为什么要是final
首先要了解什么是闭包。java内部类由于含有对外部类的引用,所以可以正常访问外部变量。但java对于闭包的处理仅限于普通的内部类,对于匿名内部类则不存在完善的处理方法。下面是一个java匿名内部类 jvm的处理方法为: 由此可见,匿名内部类只是复制了一份值,而不是传递了引用。这也是为什么编译器要求闭包的处理参数必须是final的原因。不仅是匿名内部类,在方法中的内部类,在方法块中的内部类,都要求
2017-04-15 20:22:53 430
原创 背包问题-动态规划-JAVA
题目描述:有编号分别为a,b,c,d,e的五件物品,它们的重量分别是2,2,6,5,4,它们的价值分别是6,3,5,4,6,现在给你个承重为10的背包,如何让背包里装入的物品具有最大的价值总和? 图片理解: 先来看图片,从name=e的这一行开始,这一行的意思是,在只有e的情况下,背包大小从1增大到10,与对应的背包中的最大价值。 倒数第二行意思是,只有d,e的情况下,背包大小从1增大到10,
2017-04-15 14:43:21 595
原创 二分查找-JAVA
public class BinarySearch {public int binarySearch(int a[], int goal) { int low = 0; int high = a.length - 1; int middle; while(low <= high) { middle = (high - low) / 2 + low;
2017-04-15 13:06:39 335
原创 已知先序中序求后序-已知后序中序求先序-JAVA
通过递归遍历的方法扫描先序中序,构造二叉树; 通过递归遍历的方法扫描后序中序,构造二叉树; 方法理解起来很简单,在纸上自己画画就知道如何去做了,该算法难点在于遍历中需要精确的数学计算,还需要清晰的判断逻辑。public class BinaryTree {//内部Node类private static class Node { private Node left; privat
2017-04-15 12:10:39 1357
原创 经典排序算法-java
冒泡排序BubbleSort时间复杂度:O(n^2) 稳定性:稳定public class BubbleSort {public BubbleSort(int[] a) { // TODO Auto-generated constructor stub int s = 0; for(int i = 0; i < a.length - 1; i++) { fo
2017-04-15 11:53:49 296
原创 算法需注意细节
1)int middle = (high - low) / 2 + low; // 直接使用(high + low) / 2 可能导致溢出
2017-04-14 13:06:46 395
原创 java-动态代理-从源码分析
现在有一个接口ForumServicepublic interface UserService { /** * 目标方法 */ public abstract void add(); } 有一个实现类public class UserServiceImpl implements UserService { /* (non-Javadoc) * @see dynamic.p
2017-04-08 22:27:52 596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人