学习
深藏的是波光粼粼
I did it my way
展开
-
菜鸟珍开始学习编程啦!!!
@[新的起点]菜鸟珍开始用用心学习啦之前一直看很多大佬在博客上发表很多关于编程等方面很有自己见解的文章,自己因为没有积累的习惯和一个很好的开始,所以即便是身边很多人都说“身为计算机系的居然连博客都没有!快去开通之类的话…”还是迟迟没有开通。思考人生以后发现还是要用心学习的,所以就来博客,跟着大佬们一起学习,记录自己编程中学习到的点点滴滴,顺便也是督促自己~先立个flag!!目标(当然是...原创 2018-12-01 23:30:19 · 128 阅读 · 0 评论 -
java学习笔记(7)--HashMap源码解析(负载因子,树化策略,内部hash实现 resize策略)
HashMap源码解析(负载因子,树化策略,内部hash实现 resize策略)讲在前面的小知识点:哈希表(k,v):数组根据相应的哈希算法计算key,返回值即为value存储的数组下标哈希算法:f(k)->int即为v需要存储的数组下标哈希冲突解决办法:哈希算法计算的两个不同对象的哈希值相等的情况eg:1%16 == 17%161、开放定址法:寻找下一个为空的数...原创 2019-07-19 01:34:33 · 223 阅读 · 0 评论 -
java学习笔记(8)--【超详细一遍就会】线程停止的三种方法
Java中线程停止的三种方法线程停止有三种比较常见的方法1.设置标志位这种方法比较简单易懂,不涉及到一些特定的方法弊端:此方法无法解决线程阻塞时停止的问题解决思路:设置flag标志位并且给其赋初值 flag = true;在加锁前判断 flag是否为 true,如果不是则不进入循环在想要让其停止的地方将标志位设为false即可时线程停止class MyThread imp...原创 2019-07-29 01:14:35 · 365 阅读 · 0 评论 -
java用JDBC实现数据库访问
java用JDBC实现数据库访问1.什么是JDBCJDBC(Java DataBase Connectivity,Java数据库连接)技术的简称,是一种用于执行SQL语句的Java API。它为数据库开发人员提供了一 个标准的API,使它们能够用纯Java API 来编写数据库应用程序。2.操作原理3.操作步骤1、准备数据库驱动包(比如: MySQL数据库的驱动包)2、加载JDBC驱...原创 2019-07-20 00:29:49 · 485 阅读 · 0 评论 -
Java学习笔记(9)-- 通俗易懂的类集复习框架!看着框架复习更有效率!!!
通俗易懂的类集复习框架!看着框架理解类集更有效率!!!自己整理的有关于类集上的知识点框架,都是大概的轮廓,可以照着轮廓去理解各个接口及方法,类集部分接口真的是神多!!主要是按照Collection接口下的各个子接口来引入和理解~下面是一些知识点小记:ArrayList、Vector、LinkedList的区别1.ArrayList、Vector的区别:1).出现版本:Array...原创 2019-08-05 01:30:05 · 173 阅读 · 0 评论 -
排序算法【1】---对直接插入排序的优化---shell排序详解
简单直接插入排序以及其优化排序-shell排序最近在复习数据结构部分内容,个人对直接插入排序的优化-shell排序产生了兴趣,用简单的操作就可以将时间复杂度减少十倍以上!先写一个简单的直接插入排序了解一下。1.直接插入排序public class SortDemo { /* 1.直接插入排序 思想:类似于接扑克牌 时间复杂度 O(n^2) 最好:O(n...原创 2019-08-07 01:18:16 · 140 阅读 · 0 评论 -
排序算法【4】--快速排序的两种优化
快速排序的优化平常的快排,我们都会采用固定位置作为基准,一般都会选取第一个和最后一个,但是这种方法在数组原本就有序的时候,反而处理起来会变为冒泡排序,更麻烦了。所以我们要尝试着将基准的位置选取避免掉这种情况,从而达到优化的效果。一、随机选取基准法1.基本思想在[low,high]区间随机选取一个位置,将该位置的值与low位置进行交换后,再找基准排序。2.实现 /* 快排优化...原创 2019-08-19 01:22:00 · 128 阅读 · 0 评论 -
java学习笔记(12) --java中如何取到一个给定范围的随机数?
java中存在两个随机函数,它们分别来自java.long.Math.random()和 java.util.Random();一、java.long.Math.random()1)描述:public static double random();通过math.random()方法取得随机值,该方法默认返回double类型的0~1之间的数,无法指定其他区间的其他数据类型的数,...原创 2019-08-19 01:57:50 · 700 阅读 · 0 评论 -
Java学习笔记(10)---JavaIO超详细带实例笔记总结!!!看这一篇就够啦!!
JavaIO-BIO(阻塞式IO)、基于抽象类的Java.IO包下NIO:非阻塞式IO核心掌握五个类(File、OutPutStream、InPutStream、Reader、Writer)+一个接口(Serializable)1、File文件操作既可以描述具体文件也可以描述文件夹File是唯一一个与文件本身操作(创建、删除、取得信息)有关的程序类。产生File对象:pub...原创 2019-08-15 00:59:44 · 450 阅读 · 1 评论 -
测试学习【1】--简易版网页饿了么测试用例
原创 2019-08-25 00:05:17 · 968 阅读 · 0 评论 -
排序算法【5】--归并排序(递归)
归并排序1.算法思想归并排序主要是将一组数逐层划分,最终划分为单个数据,对两个数据间进行比较,再将其合并成数组,主要采取的还是“分而治之”的算法思想。2.图解这张图就很形象的表明了这个过程3.实现public class SortTest1 { //归并排序 //分离 public static void mergeSort(int[] array,in...原创 2019-08-21 00:37:51 · 147 阅读 · 0 评论 -
Java学习笔记(11)-更简单的理解深浅拷贝及延迟拷贝
深浅拷贝一、深浅拷贝(对象)浅拷贝:复制了一个新对象,里面的内容是值拷贝。对于引用类型,不管拷贝多少次都指向原来的类;Cloneable:CloneNotSuportedException只有子类实现了Cloneable接口后才可以使用object类提供的clone方法。protecte native Object clone() throws CloneNotSupportedEx...原创 2019-08-16 00:22:15 · 239 阅读 · 1 评论 -
排序算法【2】--冒泡排序及其优化
冒泡排序冒泡排序属于交换排序中的一种,也是我们最常见到的排序算法。1. 基本思想:(1)从第一个元素开始,相邻的两个元素之间进行比较。(2)如果靠前的元素比靠后的元素大,则两元素进行交换,否则向后走一步再进行比较和交换。(3)每一趟都可以将最大的元素放在最后,那么当走n-1(n代表数组中元素的个数)就会按序排列~2.比较好理解的图:3.代码实现/** * Created w...原创 2019-08-17 23:28:36 · 106 阅读 · 0 评论 -
数据结构学习笔记(1)--用更直观的方法解释什么是时间复杂度及空间复杂度【一看就会!!!】
【数据结构入门】更全面的实例让你快速理解时间复杂度&空间复杂度刚开始学算法开篇就是复杂度计算,刚开始学习的时候以为并不是很重要,后面 才意识到时间复杂度可以让你更好的掌握算法效率,虽然不是非他不可,但可以锦上添花~一、算法的时间复杂度1、概念:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。记作:T(n) ...原创 2019-06-22 00:22:57 · 286 阅读 · 0 评论 -
java学习笔记(6)--ArrayList、Vector与Llinklist的区别
1.List接口–允许数据重复在进行单个集合处理时,优先考虑List接口在List接口中,扩展了两个重要方法(List接口独有)Public E get(int index):根据索引下标取得数据Public E set (int index,E element):根据索引下标更新数据,返回修改前的数据List接口有三个重要的子类:ArrayList、vector,LinkedList...原创 2019-06-11 23:28:33 · 146 阅读 · 0 评论 -
c语言学习笔记(1)--给定两个数进行对换
给定两个数进行对换基本思想:对于基本的两个数对换问题,通过定义一个变量t作为中间数来完成该操作。主要算法t=a;a=b;b=t;源代码#include<stdio.h>#include<stdlib.h>int main(){ int x=2, y=3,t; printf("交换前:%d %d\n", x, y); t = x; x...原创 2018-12-05 16:20:38 · 169 阅读 · 0 评论 -
c语言学习笔记(2)--为什么程序会出现unsafe警告&输入数据后没有反应。。。
scanf语句使用注意事项细节注意scanf("%d %d", &x, &y);scanf语句中%d后是不可以加\n的,否则输入值以后回车后就黑屏辽…在使用scanf语句的时候还会出现不安全的警告在程序的最开头加上宏定义就好啦~#define _CRT_SECURE_NO_WARNINGS...原创 2018-12-05 16:23:02 · 876 阅读 · 0 评论 -
c语言学习笔记(3)--简单的数组运用编程
求十个整数中的最大值== 基本思想==1.定义一个变量max,并且先将第一个整数赋给max。2.从前到后按顺序将整数进行两两比较,将较大的一个赋给max,最后就能的到最大值啦~3.因为十个数比较多,所以采用数组的方法来存放着十个数,并且进行比较,更简单哦~源代码#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#in...原创 2018-12-05 16:34:34 · 185 阅读 · 0 评论 -
c语言学习笔记(4)--求两个数的最大公约数和最小公倍数
求两个数的最大公约数和最小公倍数这。。。完全是一个考人数学的题。。。基本思想求两个数的最大公约数辗转相除法①对两个数进行比较,将大数赋给a,小数赋给b①a%b的余数c②若余数c=0,则b为两个数的做大公约数若余数c≠0,则将a=b,b=c,再次相除最小公倍数的求法两整数的乘积%最大公约数源代码#define _CRT_SECURE_NO_WARNINGS#includ...原创 2018-12-05 16:42:45 · 1386 阅读 · 0 评论 -
java学习笔记(3)--java语法练习题
定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量1)要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通过GetXXX()和SetXXX()方法对各变量进行读写。具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。2)从Role类派生出一个"Employee"类,该类具有Role类的所有成员(构造方法...原创 2019-03-20 00:26:52 · 540 阅读 · 0 评论 -
java学习笔记(1)--JDK环境配置-三个环境变量作用及搭建时的常见问题
在JDK环境变量的配置中,虽然很多人都会按步骤去配置,但是有关于各个参数的意义问题都不太了解。尤其是我在配置变量的时候也出现了各种各样的错误导致java不能顺利编译运行,在此总结出来,分享给大家~三个环境变量:变量名:JAVA_HOME(建议字母大写):变量值:这个变量值就导入你的JDK安装的目录链接就OK,默认是C:\Program Files\Java\jdk1.8.0_201作用...原创 2019-03-18 22:01:48 · 1157 阅读 · 2 评论 -
java学习笔记(2)--创建一个Test类,包含有一个public权限的int型成员变量与一个char类型的成员变量,观察在main方法中的初始化值
创建一个Test类,包含有一个public权限的int型成员变量与一个char类型的成员变量,观察在main方法中的初始化值class Test{ public int i; //创建一个public权限的int型变量 public char a;}public class Test4{ public static void main(String[] a...原创 2019-03-18 22:12:44 · 367 阅读 · 0 评论 -
java学习笔记(4)--方法重载与方法覆写的区别
【java知识点小记】方法重载与方法覆写的区别方法重载(Overloading):1.方法名称相同,参数的类型或个数不同2.方法重载对方法的权限没有要求3.方法重载发生在一个类中方法覆写:1.方法名称、参数类型、返回值类型全部相同2.被覆写的方法不能拥有比父类中的方法更高的权限,也不能拥有private权限3.方法覆写发生在两个继承类中...原创 2019-03-23 14:29:28 · 327 阅读 · 0 评论 -
java学习笔记(4)--Srting类与StringBuffer,StringBuildr的区别
1.String 常量内容不可修改,而StringBuffer与StringBuilder的内容可以修改2.StringBuffer使用同步处理,线程安全,性能较低StringBuilder使用异步处理,线程不安全,性能较高3.在普遍场景下推荐使用StringBuildr。当String对象使用“+”进行字符串拼接时,javac编译器会将String对象变为StringBuilder而后调用...原创 2019-04-22 23:21:48 · 327 阅读 · 0 评论 -
测试学习笔记(1)---测试用例的几种编写方法&QQ登录测试用例编写案例
测试用例的几种编写方法总结|QQ登录测试用例编写案例测试用例的设计方法:==QQ登录测试用例:====测试用例思路:==测试用例的设计方法:1.具体设计方法:基于需求的设计方法2.总体设计方法:1)等价类2)边界值3)因果图4)正交排列QQ登录测试用例:一、功能1.正常点:账号密码匹配切换用户登录QQ密码最长QQ密码最短QQ密码取中间值密码规则符合删除登录历史...原创 2019-04-23 23:55:42 · 2959 阅读 · 0 评论 -
虚拟机中的ubuntu--jdk、eclipse、ant配置中出现的一些问题及解决
虚拟机中的ubuntu–jdk、eclipse、ant配置中出现的一些问题及解决写在前面:系统版本:Ubuntu 16.04JDK版本:jdk1.8.0_211ant版本:ant1.9.14在下载eclipse和ant之前需要将jdk先配置好一、jdk配置1.在官网下载jdk安装包https://www.oracle.com/technetwork/java/javase/dow...原创 2019-06-13 00:50:53 · 303 阅读 · 0 评论 -
java学习笔记(5)-- java中处理大数据的方法 【BigInteger的使用】
java中处理大数据的方法在c和c++中,大数据往往会因为超过该类型的最大长度而导致溢出等问题,解决起来也比较麻烦(反正它们给的解决办法我是看不懂。。。。)java为了解决该问题,有两个类BigInteger和BigDecimal 分别表示大整数类和大浮点数类,可以存储无限大的数,只要计算机内存足够大。前两天在用到BigInteger的时候发现他的用法和int这些普通类型的用法不太一样,...原创 2019-06-10 18:40:24 · 396 阅读 · 0 评论 -
排序算法【3】--快速排序
快速排序1.基本思想一次快排的主要思路:(1)取第一个值为low,取最后一个值为high(2)设置一个临时变量tmp将low的值放进去,当low和high不在同一个位置的时候。(3)先从high开始往前找比low小的值,找到就就将该值存储到low的位置,没有找到就让high继续往前找,直到找到或者low和high的位置相同为止。(4)当找到high,再从low+1开始往后找比low大的...原创 2019-08-18 01:22:26 · 137 阅读 · 0 评论