
java
Abyjun
这个作者很懒,什么都没留下…
展开
-
Java内部类
Java内部类在java中,可以在一个类内部定义另外一个类,也就是我们所说的内部类,内部类个人感觉最大的功能是为java多继承提供了支持(java类最多只能继承一个基类,不允许多继承)。java内部类有四种,分别是成员内部类、局部内部类、匿名内部类和静态内部类(也称嵌套内部类),下面分别讲一下这四种内部类。成员内部类成员内部类位于外部类的内部,看起来就像一个成员变量一样,下面是一个成员内部类的实例:原创 2015-06-16 20:10:49 · 740 阅读 · 0 评论 -
浅谈java字符串
Java字符串浅谈java字符串相关的类有三个,String、StringBuilder、StringBuffer,下面浅谈一下三者的区别String我们先看源码中它的属性(也就是用什么保存数据) /** The value is used for character storage. */ private final char value[]; /** Cache the ha原创 2015-06-09 17:00:24 · 512 阅读 · 0 评论 -
Java数组拷贝的四种方法
Java数组拷贝java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法。下面分别介绍一下这几种拷贝。循环拷贝(速度相对比较慢)循环拷贝其实没什么好说的啦,就是用一个for循环进行元素的逐个拷贝,进行深拷贝或者浅复制这个大家可以自己把握。System.arraycopy(浅拷贝原创 2015-06-10 17:49:37 · 45212 阅读 · 7 评论 -
内存分配
java内存分配分析java虚拟机在执行程序的过程中会把它所管理的内存划分为5个不同的区域,分别为方法区,堆,虚拟机栈,本地方法栈,程序计数器和堆.其中方法区和堆是线程共用的,其他的则是各个线程私有的.(下图来自于<深入理解java虚拟机>) 下面我们来详细了解一下这5个区.程序计数器程序计数器是一块很小的内存空间,它的作用是记录当前线程所执行的字节码的行号.为什么需要记录这个行号呢?因为我们原创 2015-07-06 00:00:16 · 552 阅读 · 0 评论 -
快速排序Java实现
这里有个问题需要说明,由于快排用到里递归调用,递归调用栈需要额外的空间,所以快排的空间复杂度不是O(1),而是O(log n)public class Main { public static void main(String[] args) { int[] arr = {3,4,2,6,4,8,4}; quickSort(arr, 0, arr.length原创 2016-09-20 22:30:55 · 385 阅读 · 0 评论 -
堆排序的Java实现
public class Main { public static void main(String[] args) { int[] arr = {16,7,3,20,17,8}; heapSort(arr); for(int i = 0; i < arr.length; i++){ System.out.print(ar原创 2016-09-20 22:32:42 · 451 阅读 · 0 评论