notes
文章平均质量分 76
喜欢薄荷味
这个作者很懒,什么都没留下…
展开
-
Java:序列化和反序列化解析
本篇围绕三个问题展开:1.什么是序列化?什么又是反序列化?2.为什么要有序列化这个东西?3.怎么用呢?问题一:什么是序列化,反序列化?...原创 2020-02-29 11:09:54 · 212 阅读 · 0 评论 -
挑战七大排序算法-07归并排序
归并排序1.原理排序一个数组,先把数组从中间分成前后两个部分,然后对前后两部分分别排序,再将排序好的两部分合并在一起2.实现public void mergeSort(int[] array){ mergeSortInternal(array,0,array.length-1); } private void mergeSortInternal...原创 2020-02-20 17:02:57 · 154 阅读 · 0 评论 -
挑战七大排序算法-06快速排序
快速排序1.原理"分治思想" 从待排序区间选择一个数,作为基准值(pivot); Partition: 遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边; 采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。 ...原创 2020-02-20 17:01:38 · 220 阅读 · 0 评论 -
挑战七大排序算法-05冒泡排序
目录冒泡排序1.原理2.实现3.性能分析冒泡排序1.原理在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序2.实现public void bubbleSort(int[] array){ int n = array.length; //控制比较次数 for (int i ...原创 2020-02-20 16:58:53 · 269 阅读 · 0 评论 -
挑战七大排序算法-04堆排序
目录堆排序1.原理2.实现3.性能分析堆排序1.原理基本原理也是选择排序,只是不再使用遍历的方式查找无序区间的最大数,而是通过堆来选择无序区间的最大数升序:大顶堆;降序:小顶堆堆排序的基本思路:a.将无需序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆;b.将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端;c.重新调整结构,使其满足堆定义,然...原创 2020-02-20 16:56:50 · 224 阅读 · 0 评论 -
Java:走进类集Collection---List接口篇
Collection1.出现版本JDK1.22.解决问题数组定长问题3.定义Collection接口是Java中保存单个对象的最顶层接口public interface Collection<E> extends Iterable<E> 继承了Interable接口4.继承关系5.常用操作方法 添加元素:boolea...原创 2020-02-17 14:36:59 · 362 阅读 · 0 评论 -
网络基础篇-1
目录01网络基础1.网络的发展2.网络的划分2.1覆盖范围划分2.2传输技术划分3.网络基础概念3.1IP地址3.2PORT端口3.3协议3.4协议分层3.5网络通信环境中的协议分层3.6数据传输流程01网络基础1.网络的发展第一阶段:独立模式(计算机之间相互独立)第二阶段:网络互联(多台计算机连接在一起,完成数据共享)第三阶段:...原创 2020-01-05 13:22:14 · 211 阅读 · 0 评论 -
自动化测试Selenium篇-3(操作控件)
操作测试对象控件定位结束后,这就结束了?其实不是的,定位只是第一步。定位之后需要对这个元素进行操作,鼠标点击还是键盘输入取决于我们定位的控件是按钮还是输入框以下是几种简单操作测试对象的方法:1、鼠标点击与键盘输入栗子:先在百度输入框里输入test,然后清空输入selenium后,点击搜索#coding=utf-8from selenium import webdrive...原创 2020-01-02 22:22:48 · 540 阅读 · 0 评论 -
自动化测试Selenium篇-2(控件定位)
Selenium1.Selenium简介Selenium是ThroughtWorks公司推出的强大的开源Web功能测试工具系列;支持多平台、多浏览器、多语言去实现自动化测试。支持多种开发语言:ruby,python,java,perl,c#等,同时Selenium测试直接自动运行在浏览器中,支持的浏览器包括IE,Chrome和FireFox等2.简单脚本介绍from seleni...原创 2020-01-02 16:03:02 · 712 阅读 · 0 评论 -
自动化测试基础篇-1(概念知识)
自动化测试1.什么是自动化测试?顾名思义,就是整个测试过程不需要每一步都进行人为测试干预,而是通过人为设定一些测试行为(代码)来使得计算机自动执行测试代码的过程。简言之,就是将人为驱动的测试行为转换为计算机执行的过程。2.常见的自动化测试工具 selenium:web测试 专注于web端的自动化测试工具 免费 小巧 支持多...原创 2020-01-02 13:35:22 · 717 阅读 · 0 评论 -
Java多线程中Thread与Runnable详解
在初学多线程部分知识时,Thread类与Runnable类是最经常接触到的两个经典类;可追溯至JDK1.0版本,古老的类传说。剧情开始啦,神秘的鲜橙多国度,卖橙子喽(实现数据共享,产生若干线程进行同一数据的处理操作)主角登场:斯先生(Thread),人称”鲜橙F4“之首; R小姐姐(Runnable),人称“仙女姐姐”;坊间议论道:斯先生那可是鲜橙国...原创 2019-12-30 19:09:22 · 239 阅读 · 0 评论 -
TreeSet有序和无重复值特性的内部原理剖析
此篇用以致敬:那些年,我们一起学过的TreeSet。相信很多学过Java的小孩子们,都知道TreeSet有两大特性:来,大声喊出来一、有序;二、值唯一一、写作背景有木有感觉好高大在最初我们学习集合框架时,Collection接口以及他的宝宝List接口和Set接口一定是我们最先开始接触的。而Set接口是个神奇的接口,为什么呢?因为他有一个淘气的TreeSet。嗯嘛嘛(之所以淘气嘛...原创 2019-12-26 14:07:11 · 554 阅读 · 1 评论 -
挑战七大排序算法-03选择排序
选择排序算法的实现思路类似于插入排序,即已排序区间+未排序区间1.算法定义选择排序是基于选择的排序,即每次需要选择元素进行排序2.算法思想(1)第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置(2)然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。(3)以此类推,直到全部待排序的数据元素的个数为零来看看,选择排序原理...原创 2019-10-20 09:00:41 · 173 阅读 · 0 评论 -
挑战七大排序算法-02希尔排序
算法如其名,肯定是某个优秀的学者Shell提出了这种排序算法;1.定义是简单插入排序的改进版,它与插入排序不同之处在于:希尔排序会优先比较距离较远的元素。希尔排序又称缩小增量排序,是对直接插入排序的优化;2.基本思想该方法实质上是一种分组插入方法比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换;(1)算法先将要排序的一组数...原创 2019-10-19 22:21:24 · 177 阅读 · 0 评论 -
挑战七大排序算法-01直接插入排序
路人甲:嗨,你好,排小序,我想问你一个问题,好吗?排小序:好呀,你问吧,我知道很多关于排序的知识呢,只要你问,我都会告诉你呀路人甲:问题来喽,一个有序的数组,往里面添加一个新的数据后,如何继续保持数据有序呢?排小序:嗯嘛嘛,这个嘛,是这样的,很简单,只要遍历数组,找到数据应该插入的位置将其插入即可。怎么样,我厉害吧路人甲:哇塞,你真棒。带我学习排序吧(害羞)针对以上排序的经典问...原创 2019-10-19 18:48:58 · 161 阅读 · 0 评论 -
挑战七大排序算法-排序
1.排序定义对一组任意数据元素(或记录)经过指定关键字排序操作后,就可以把它们变成一组按照关键字排序的有序序列。通常排序的目的是快速查找;平时的上下文中,如果提到排序,通常指升序;通常意义上的排序指的是原地排序;2.衡量排序的指标一般从以下三个方面来衡量算法:(1)执行效率;(2)内存消耗;(3)稳定性;2.1排序算法的执行效率说简单点,就是时间复杂度的问题1.最好...原创 2019-10-19 17:47:23 · 249 阅读 · 0 评论 -
Java抽象类和接口基础整理
一.抽象类1.定义抽象类 =普通类 +抽象方法抽象方法 =声明却未实现的方法(没有方法体)注意:(1)没有方法体的方法不一定都是抽象方法哦,还有可能是本地方法;(2)所有抽象方法要求使用abstract关键字来定义;抽象方法所在的类也必须使用abstract关键字来定义;(3)抽象类中包含抽象方法,而抽象方法不包含方法体,即没有具体实现。因此抽象类不能直接产生实例化对象;...原创 2019-10-14 18:14:54 · 297 阅读 · 0 评论 -
Java类集基础概念-Map篇
Map1.定义一次性保存两个对象(结构:key = value),最大特点:可以通过key找到对应的value值Map接口是Java中保存二元偶对象(键值对)的最顶层接口key值唯一,通过一个key值一定能唯一找到一个value值2.常用方法 public V put(K key,V value):向Map中添加数据 public V get(K key):根据...原创 2019-07-16 17:29:52 · 405 阅读 · 0 评论 -
Java类集基础概念-集合输出篇
集合输出1.迭代输出Iterator在JDK1.5之前,Collection接口中就定义了iterator()方法(List、Set中也继承了下来),通过该方法可以取得Iterator接口的实例化对象;在JDK1.5之后,将该方法提升为Iterator接口中的方法;1.1Iterator接口中的抽象方法 判断是否有下一个元素:public boolean hasNext();...原创 2019-07-16 17:30:09 · 137 阅读 · 0 评论 -
Java类集基础概念大纲
原创 2019-07-16 18:41:27 · 113 阅读 · 0 评论 -
JVM基础概念整理
JVMJVM简介虚拟机:通过软件模拟的具有完整硬件功能的、运行在一个完全隔离环境中的完整的计算机系统。JVM:通过软件模拟Java字节码的指令集,JVM中只保留了PC寄存器内存区域与内存溢出异常1.运行时数据区域线程私有区域程序计数器、Java虚拟机栈、本地方法栈线程私有:生命周期与具体线程相同,随着线程的创建而创建,随着线程销毁,对应空间回收线程共享区域java堆、方法区、...原创 2019-07-20 17:52:30 · 331 阅读 · 0 评论 -
Java多线程基础整理
多线程复习1.进程和线程1.1定义(1)进程:操作系统中一个程序的执行周期(2)线程:进程中的一个任务。一个进程中可以包含n个线程(main()->主线程)1.2关系每个进程拥有自己的一整套变量,是操作系统中资源分配的最小的单位。 线程依托于进程存在,多个线程共享进程的资源,os中任务调度的基本单位。启动、撤销一个进程的开销要比启动、撤销以一个线程大的...原创 2019-07-20 18:15:54 · 190 阅读 · 0 评论 -
Java类集基础概念-Collection接口及其子类
类集复习动态数组1.基于数组实现import java.util.Arrays;/** * @Author:Star * @Date:Created in 8:05 2019/4/16 * @Description:自己实现的动态数组 */public class MyArray<E> { //数组默认容量大小 private final ...原创 2019-07-16 17:24:16 · 235 阅读 · 0 评论