Java编程
shenzhuan7
剑指
展开
-
Java中对象和对象引用的区别
一、前言 在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己的学习理解记录下来。如有理解不全或者错误的地方,欢迎大家批评指正。二、分析对象引用与对象的区别 为了接下来进行更好的分析,我先建立一个Demo类,用于后面原创 2017-03-02 09:32:28 · 474 阅读 · 0 评论 -
Java面试题和答案(上)
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。开始!目录面向对象编程(OOP)原创 2017-03-17 09:26:09 · 457 阅读 · 0 评论 -
选择排序、插入排序、希尔排序和冒泡排序-Java实现
一、选择排序 1、基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 2、实例 3、算法实现 /** * 选择排序算法 * 在未排序序列中找到最小元素,存放到排序序列的起始位置 * 再从剩余未排序元素中原创 2017-03-20 13:24:11 · 405 阅读 · 0 评论 -
Two-way Merge Sorting 二路归并排序+堆排序--Java实现
一、归并排序算法基本思想: 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序示例: 合并方法:设r[i…n]由两个有序子表r[i…m]和r[m+1…n]组成,两个子表长度分别为n-i +1、n-m。j=m+1;k=i;i=i; //原创 2017-03-20 15:41:22 · 650 阅读 · 1 评论 -
快速排序-Java实现
快速排序的思想是在要排序的数组中,选择一个参考值,这个参考值一般会选择数组或者列表的第一个值或者第二个值。然后对数组进行遍历,把小于这个参考值的项都交换到左边,大于的都交换到右边。有两个要点:1.怎么选参考值,参考值选的不好会影响效率;2.是分割和交换。快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对原创 2017-03-20 13:00:41 · 333 阅读 · 0 评论 -
JDK API 开发文档下载+在线工具
在线工具:http://tool.oschina.net/apidocsJDK 1.7 API* HTML 格式(在线英文) http://docs.oracle.com/javase/7/docs/api/* zip 格式(英文) http://download.oracle.com/otn-pub/java/jdk/7u11-b21/jdk-7u原创 2017-03-05 16:58:55 · 955 阅读 · 0 评论 -
数据库性能优化
大表变小表,善用索引,写存储过程,分区1:前言 数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的.因为优化的很大一部分最终都要跟具体的数据库系统细节打交道,在此不可能针对所有的数据库都一一详细阐述,如果那样,恐怕写几本书都写不完.只能针对一些比较通用的,经常用到的的东西进行一个讨论,一般情况下,数据库的优化指的就是查询性能的优化(原创 2017-03-05 11:55:05 · 477 阅读 · 0 评论 -
Java代码性能优化
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可原创 2017-03-02 12:33:04 · 299 阅读 · 0 评论 -
java存储机制(栈、堆和方法区详解)
一、java的六种存储地址及解释1) 寄存器(register):这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 2) 堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若转载 2017-03-02 10:58:48 · 560 阅读 · 0 评论 -
2017阿里实习生在线编程题
题目是这样子的:给我们一个数组,比如说[113,215,221];那么这个数组是表示的一个二叉树,是这样表示的,每一个3位数,百位上的值表示这个节点在第几层,十位上的数表示在这一层的第几个位置,个位就这个节点的值了,比如上面的数组表示的二叉树就是: 3 / \ 5 1然后要求我们求出叶子节点所在路径的节点之和:(3->5)这是一原创 2017-03-17 09:50:03 · 3131 阅读 · 1 评论