Java基础
forestzhu01
很多事情,只有自己尝试了,才知道深浅!
展开
-
源码分析Java的观察者模式
java中的观察者模式,简而言之就是多个对对象对一个对象的观察,当被观察者改变时,会通知观察者。Java为这种模式,特地的提供Observable类和Observer接口实现这种模式,先看下面的代码实现观察者模式被观察者类class Sub extends Observable{ private String msg; public String getmsg(){原创 2017-09-13 18:59:50 · 201 阅读 · 0 评论 -
Java实现快速排序算法
排序算法采用的是分而治之的方法,刚开始需要选择一个基准值,以这个基准值,把数组分成两部分,左边小于基准值的数组,右边大于基准值的数组(假设我们要实现从小到大的排列),然后在对左边序列选取基准值再把该序列一分为二,右边序列也一样,直到分到不能分为止,一直递归下去,就自然成为有序序列,快速排序的平均时间复杂度为nlog(n),但是也有缺点就是快速排序算法的稳定性不足,对于相同大小的值,因为两个值的位置不原创 2017-09-11 20:40:55 · 164 阅读 · 0 评论 -
算法介绍:Dijkstra算法
什么是Dijkstra算法 ?Dijkstra算法指的是:计算某一点到其余各个点之间的最短距离,该算法主要试用于边距离为正数的请况。Dijkstra算法介绍Dijkstra算法:把图里面的点分成两个集合,S,V,S这个集合里面是已经确认到你想要求的点(这里假设为A点)的最短路径的长度,算法刚开始S里面只有A点,然后计算A到各个点的距离,取最短路径,把该点(B),加入到S集合中,然后计算A到各个点以原创 2017-09-17 21:00:28 · 846 阅读 · 0 评论 -
Arraylist<T>等实现自定义的排序算法
考试的时候,本想到Arraylist可以自定义排序算法,可是忘记了返回值(当时看不了源码),后面只能自己写了个冒泡排序(效率太低了),现在说说如何自定义排序算法import java.util.ArrayList;import java.util.Comparator;public class test { public static void main(String[] args) {原创 2017-09-18 20:24:13 · 927 阅读 · 0 评论 -
Java在进行网络传输的过程中的奇技淫巧
今天,翻书的时候看到书上的网络传输数据的时候,顿时感觉之前的自己的操作太low了,这篇主要讲,在网络传输的过程中,你发送请求,但是你现在界面又需要根据返回的数据来更新界面,但数据什么时候返回你又不知道,这时候该怎么办?之前我直接在主线程里面一个死循环判断接受信息是否为空让其等待,可能一直网好所有很少导致ANR问题, 书上说的就是采用Java的回调机制,看Java回调机制参考 现在写代码实现,采用原创 2017-10-07 18:07:34 · 736 阅读 · 2 评论 -
Java 对象的序列化
一.对象序列化的作用我们都知道Java是一门面向对象的语言,自然很多地方,都要有这种思想,网络传输数据,或者保存到磁盘文件中,是否可以以直接保存或则传输一个对象,数据都封装在对象里面(这样可以大大减少我们传输数据的操作),答案是一定的,对象的序列化就提供这样的作用。二. 怎么实现序列化对象序列化:把对象转换成字节流的过程 。 反序列化:从字节流中重构一个对象的过程。 让一个对象成为可序列化的原创 2017-11-02 22:32:19 · 196 阅读 · 0 评论 -
java中==和equal的区别
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为tr转载 2017-12-07 19:57:47 · 157 阅读 · 0 评论 -
Java实现单例模式
在面试的时候应该经常会问道的一种题型,使用某种语言实现单例模式,这里就记录一下常见的几种方法。单例模式:实现一个只能生成一个实例的类。方法一public Singleton{ private Singleton instance=null; private Singleton(){} public static Singleton getInstance{...原创 2018-03-02 17:56:12 · 200 阅读 · 0 评论 -
ThreadPool用法解析
线程池好像每一次参加面试的时候,都会问道,自己之前确实没有使用过什么,今天大致结合看网上博客,发现了一篇写的很好的博客,略作修改,写下 原博客地址强烈推荐这个作者写的博客,思路很清晰!!!什么是线程池线程池当中缓存了一定数量的线程,线程池实现了对于线程的管理和复用(最重要的就是实现对线程的复用,避免频繁创建线程和销毁线程带来的开销),当然管理的可以实现线程执行的统一分配以及调优 ...原创 2018-05-01 16:46:12 · 521 阅读 · 0 评论