![](https://img-blog.csdnimg.cn/20190912111721399.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
xyTianZhao
当你的能力驾驭不了你的野心时,那么你该学习了、、、
展开
-
java中的集合类
Java中的集合类Collection接口是List与Set接口的父接口,其中定义的一些方法对于Set与List都是通用的1.addAll()将某对象添加到集合中只能添加object,不能添加基础数据类型(因为栈空间随时都会清空,不能保证数据的准确性)。2.boolean removeAll()从指定的集合中移除包含在另一个集合中的元素3.retainAll()与原创 2015-03-03 22:12:26 · 818 阅读 · 0 评论 -
java中的IO整理
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。最后欢迎大家提出意见和建议。【案例1】创建一个新文件import java.io.*;class hello{转载 2016-02-21 19:06:05 · 669 阅读 · 0 评论 -
快速排序
基本思想:(挖坑填数+分治法)1)选择一个基准元素,通常选择第一个元素或者最后一个元素,2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。3)此时基准元素在其排好序后的正确位置4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。快速排序的示例:(a)一趟排序的原创 2016-02-20 22:41:28 · 554 阅读 · 0 评论 -
冒泡排序
基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。冒泡排序的示例: 冒泡排序算法的改进对冒泡排序常见的改进方法是加入一标志性变量exchange,用于标志某一趟排序过程中是否有数据交换,如果进行某一原创 2016-02-20 21:09:22 · 683 阅读 · 0 评论 -
简单选择排序
基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。简单选择排序的示例: 操作方法:第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;第二趟,从第二个记录开始的n-1原创 2016-02-20 21:54:14 · 642 阅读 · 0 评论 -
Java常见面试问题(二)
面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法原创 2015-08-05 15:39:27 · 625 阅读 · 0 评论 -
Java常见面试问题(一)
int和Integer有什么区别? 答:int是java的原始数据类型,Integer是java为int提供的封装类,java为每个原始数据类型都提供了封装类。String和StringBuffer的区别? 答:String是不可变的对象,每次对String类型进行改变都相当于产生了一个新的对象,StringBuffer是可变的字符序列,所以如果要经常改变某个字符串的话建议使用原创 2015-08-05 15:26:34 · 521 阅读 · 0 评论 -
Java中的单例模式
单例模式的动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如原创 2015-07-17 11:42:39 · 591 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。转载 2015-04-25 21:42:24 · 392 阅读 · 0 评论 -
java多态详解
面向对象编程有三个特征,即封装、继承和多态。 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢? 方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是原创 2014-11-09 14:10:28 · 695 阅读 · 0 评论 -
多线程下载文件(支持暂停、取消、断点续传)
多线程下载文件(支持暂停、取消、断点续传)多线程同时下载文件即:在同一时间内通过多个线程对同一个请求地址发起多个请求,将需要下载的数据分割成多个部分,同时下载,每个线程只负责下载其中的一部分,最后将每一个线程下载的部分组装起来即可。涉及的知识及问题请求的数据如何分段分段完成后如何下载和下载完成后如何组装到一起暂停下载和继续下载的实现(wait()、notifyAll()、synchronize原创 2017-02-23 15:31:09 · 15147 阅读 · 20 评论