- 博客(12)
- 资源 (4)
- 收藏
- 关注
转载 spring mvc下载文件
这里介绍两种方式,一种是从服务器下载,一种是从网络上下载一、从服务器下载这里path的格式为:D:\testFile\a.jpg,下载后保存在浏览器的下载位置 @RequestMapping("download") public ResponseEntity download(String path) throws IOException { // F
2015-07-23 17:37:15 475
原创 java遍历二叉树
public class TreeNode { private TreeNode left, right; private Object item; public TreeNode(Object item) { this(null, null, item); } public TreeNode(TreeNode left, TreeNode right, Object item
2015-04-14 13:16:24 497
原创 java模拟面向切面编程
首先我们需要一个目标接口:public interface ITarget { void doSomething(String first,String second);}然后再创建一个目标类实现这个接口里的方法public class Target implements ITarget { @Override public void doSomething(Stri
2015-04-01 10:03:34 416
原创 TreeMap的实现原理
TreeMap的结构是红黑树又称红-黑二叉树,它首先是一颗二叉树,它具体二叉树所有的特性。同时红黑树更是一颗自平衡的排序二叉树。关于红-黑二叉树,可以参考:点击打开链接在这里,我们主要简单分析TreeMap的源码实现。 public Object put(Object obj, Object obj1)TreeMap里的数据都是存放在Entry里的,这也
2015-03-31 15:49:58 3857
转载 HashSet的实现原理
1. HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 2. HashSet的实现: 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet
2015-03-16 10:21:44 345
原创 java中ArrayList与LinkedList的比较
先来比较一下两者remove(int i)的源码实现区别:ArrayList:public Object remove(int i) { rangeCheck(i); // 判断数组有没有下标越界 modCount++; Object obj = elementData(i); // 取出下标为i的元素 int j = size - i - 1; if
2015-03-13 17:00:27 455
原创 java实现多继承
在java中,原则上是不允许多继承的,也就是类与类之间只可以单继承。那么,有没有办法,可以在不使用接口的情况下实现多继承呢? 答案是可以。使用内部类就可以多继承,严格来说,还不是实现多继承,但是这种方法可以实现多继承所需的功能,所以把它称为实现了多继承。下面就举个例子:假如有一个打电话类Call,里面实现了一个可以打电话的功能的方法callSomebody(String phon
2015-03-13 12:17:09 4957
转载 jvm的几个运行时数据区域
上一篇文章已经简单介绍了jvm的内部体系结构。并且对各个组成部分做了简要的说明。下面通过一个简单的java程序,讲解运行过程中牵涉到的几个数据区域。代码如下:public class Test { public static void main(String[] args) { int tempA = 1;//1 int tempB = 2;//2
2015-03-10 10:46:08 405
转载 jvm的内部体系结构浅析
jvm全称是Java Virtual Machine(java虚拟机)。它之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。我们平时经常使用的Sun HotSpot虚拟机只是其中一个具体的实现(另外还有BEA JRockit、IBM J9等等虚拟机)。在实际的计算机上通过软件来实现一个虚拟计算机。与VMWare等类似软件不同,你是看不到jvm的,它存在于内存。
2015-03-10 10:43:21 325
转载 Java堆、栈和常量池详解
此文章出处:http://wenku.baidu.com/link?url=FeU3FEiD_pno_ldddYBYc_yXNY7yOT-J__KhcRHnzygg48oG1kZZmh7YI7nCv2vcnpAyRuiIkLKLIoYqgcV6x5cF4QnkYZHNq1yKXkMAMgS1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Ja
2015-03-10 10:08:36 382
原创 关于Integer自动装箱和拆箱的小知识
在自动装箱时(int 转Integer),如果int的值在-128到127之间,不会去创建一个对象,因为-128到127之间的数据早已经缓存在堆内存中了,也就是说要是发现int的值在-128到127之间,会先查找缓存里有没有这个值,如果有,那么这个引用会指向缓存里相应数据的地址。反之,如果int的值在这个区间外,则会new 一个对象出来。下面举例说明:Integer a = 4;Integ
2015-03-10 08:50:48 359
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人