自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 AVL树-JAVA-图示/代码

AVL树-JAVA-图示/代码

2017-04-12 23:55:27 307

原创 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关注的人

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