自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 软件测试:基础概念

1. 什么是软件测试软件测试是指利用人工或自动的手段,运行或测试某个系统的过程,检验软件功能是否符合用户的合理需求,以及实际结果与预期结果之间的差异。2. 软件测试与调试的区别执行阶段不同调试一般是在软件开发阶段进行的,而测试贯穿整个软件的开发周期执行的人员不同调试一般是由开发人员来完成测试一般是测试人员与开发人员一起完成,黑盒测试主要是测试人员完成,单元测试由开发人员完成,目的...

2019-08-26 17:03:21 320

原创 java:如何判断对象已死以及关于强引用、软引用、弱引用、虚引用

我们都知道,JVM会清理掉堆中已经“死"了的对象,那么如何判断对象已死呢?判断对象已死有两种方法:引用计数法可达性分析算法(1) 引用计数法:核心思想:引用计数法就是给每个对象加上一个引用计数器,每当有一个地方引用这个对象时,计数器的值就会+1,每当有一个引用失效时,引用器的值就会 -1,任意时刻,当某个对象计数器的值为0时,就认为这个对象不能再被使用了,即对象已死。引用计数法实...

2019-08-25 11:37:51 959

原创 饿了么网页版测试用例

2019-08-14 23:16:55 2582

原创 JackDog:自己写一个HTTP服务器

自己实现一个简易版的服务器

2019-08-14 18:58:26 451

原创 [SearchEverything] (java项目)本地文件搜素助手

1. 简介基于Java语言开发的命令行文件搜索工具,快速搜索,同时占用极低的系统资源,支持Windows系统下和Linux系统下使用。2. 背景有时候忘了文件的存储位置,但Windows系统自带的搜索执行起来太慢了,所以开发一款命令行工具,用来实现快速搜索文件的功能。3. 功能4. 技术Java(文件操作,输入输出流)DatabaseJDBCJava多线程文件系统监控(Ap...

2019-08-12 11:32:07 532

原创 MYSQL:create

CRUD : Create, Retrieve,Update,Delete1. Create语法:INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [, value] ...案例: ...

2019-08-04 15:21:34 753

原创 数据库中表的约束

为了更好的保证数据的合法性,常常需要一些额外的约束。表的约束很多,这里主要介绍以下几个:null/not null,default,comment,primary key,auto_increment,unique key1. 空属性两个值:null (默认的)和 not null (不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不为空,因为数据为空没办法参与运算...

2019-08-03 19:55:54 206

原创 数据库数据类型

1. 数据类型分类2. 数据类型可能在我们平时练习的时候,我们一般插入的数据也比较小,一般不会超过数据类型所规定的范围,但大家还是有必要记住它们的范围。看个错误的例子把:mysql> create table tt1(num tinyint);Query OK, 0 rows affected (0.02 sec)mysql> insert into tt1 value...

2019-08-01 12:49:00 191

原创 MySQL中表的基本操作

1. 创建表:语法:CREATE TABLE table_name( field1 datatype, field2 datatype, field3 datatype)character set 字符集 collate 校验规则 engine 存储引擎;说明:field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在...

2019-07-31 17:18:01 132

原创 数据库基础知识:概念篇

1. 数据库,服务器,表关系什么是数据库:数据库是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。所谓安装数据库服务器,只不过是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会根据不同的应用创建不同的数据库为保存应用中实体的数据,会在数据库内创建多个表,用来存放实体数据数据库服务器,数据库、表之间...

2019-07-29 15:25:33 347

原创 java四种内部类详解(详细代码举例show you my code)

本文将从以下几个方面详细讲述内部类1.内部类的定义与使用内部类的基本概念内部类为什么存在内部类与外部类的关系2.内部类内部类分类在外部类外部创建内部类在外部类内部创建内部类3.内部类详解成员内部类静态内部类方法内部类匿名内部类正文1. 内部类的定义与使用1.1 基本概念:所谓内部类就是在一个类的内部嵌套其他类结构我们通过一个例子来看看简单内部类的定义...

2019-07-29 11:59:39 671

原创 走进synchronized同步锁,synchronized底层原理实现

1. 同步锁的引入我们先来看看没有锁会有什么问题。举一个卖票的例子,假设我们现在有10张票,有3个人来买票,但我们对每个人买票的个数不做限制。class MyThread implements Runnable{ private int ticket = 10; @Override public void run(){ while(this.ticke...

2019-07-26 14:54:26 364

原创 最简单的多线程间状态转换关系多线程及常用方法

在上次学会了多线程启动方式后初识多线程:多线程的三种启动方式,今天我们来看看多线程中有哪些常用的方法,以及多线程状态间是如何转换的。1. 常用方法1.1 线程命名与取得Ⅰ. 通过构造方法在创建线程时设置线程名称     public Thread(String name)     public Thread(Runnable t...

2019-07-24 12:13:58 315

原创 java类集框架之Collection及其子接口List、Set详解

1. 类集概述java类集框架位于java.util包下,是JDK1.2产生的,它的本质其实就是动态数组。动态数组:当元素个数达到最大值时,动态增加容量,解决数组定长的问题在java的类集中,提供了两个最为核心的接口:Collection、MapCollection接口及其子接口:每次进行数据操作时,都是对单个对象进行处理Map接口:对键值对进行操作处理2. 关于Collection接...

2019-07-24 10:26:59 239

原创 关于字节流,字符流,转换流的详解

1. 流的分类在java.io包中流分为两类:字节流(byte):InputStream    OutputStream字符流(char):Reader    Writer从下面的图我们来看看字节流与字符流的区别:字节流与字符流的区别:字节流是原生操作无需转换,字符流是处理后的操作。字节流可以处理...

2019-07-16 19:27:26 486

原创 String,异常捕获,多线程中最容易出错的几道选择题

1. 请问如下代码的输出结果是什么? public class MethodTest { public static void main(String[] args) { String str = "6"; test(str); System.out.println(str); } public static void te...

2019-07-16 19:00:34 212

原创 java:File关于文件类的常用操作

1.定义File是java.io包中唯一一个与文件本身操作有关,与文件内容操作无关的类。2.File类使用File类是一个普通的文件类,使用时直接实例化对象即可。要实例化File类对象,有两个构造方法可供我们使用public File(String path)public File(String parent,String child):设置父路径和子路径File类中有以下几个最为常用...

2019-07-12 17:23:36 183

原创 java:关于JVM垃圾回收算法

1. 标记清除算法标记清除算法是最基础的收集算法,分为两步完成:标记、清除首先标记出所有需要回收的对象,在标记完成后再统一回收所有被标记的对象。后续的算法都是在标记清除算法的基础上对其进行优化的。缺点:①很显然,这样标记清除会产生大量的空间碎片,当程序后续在产生一个较大的对象时。因为没有足够的连续内存空间,又不得不激发一次垃圾回收②标记和清除这两步,效率也不高2. 复制算法复制算法...

2019-06-16 11:26:25 151

原创 java:深拷贝与浅拷贝

拷贝的实现:只有子类实现了Cloneable接口后才可以使用Object类提供的clone方法。protected native Object clone() throws CloneNotSupportedException;Cloneable也是一个标识接口:public interface Cloneable { }要想让对象具有拷贝的功能,必须实现Cloneable接口,并且在类中...

2019-06-11 15:23:40 154

原创 java:java对象的序列化与反序列化是什么?Serializable关键字解析

1.定义序列化(Serializable):序列化就是指把内存中的对象变成二进制流的形式进行传输或者保存在文本中。就是我这里写了一个类要发给你,我发给你的不可能直接是这个类,而是这个类经过编码后的字节码。2.实现一个类若是想实现序列化必须要实现Serializable接口。Serializable接口的源码如下:源码里除过一堆注释,就只有这么一句代码public interface Se...

2019-06-11 01:18:51 998

原创 java:初识反射

1.反射:指的是对象的反向操作,根据对象倒退类的组成。而反射的核心处理就是Object类的取得Class对象的方法:public final native Class<?> getClass();可以看到,这个方法的返回值是一个Class类对象Class描述的是类的组成(构造方法,普通方法,普通属性等等)2 .Class对象的三种实例化方法任何一个类的Class对象由JV...

2019-06-09 00:04:29 210 1

原创 java:多线程中常用的一些方法

1. 线程的命名与获取① 通过构造方法在创建线程时设置线程名字Public Thread(String name)Public Thread(Runnable target,String name)② 取得线程名字public final String getName()③ 设置线程名字public final synchronized void setName(String na...

2019-06-03 16:12:02 251

原创 java:超简单的JVM六块内存区域的划分

JVM的内存区域分为六部分,分别如下:程序计数器  程序计数器是JVM内存区域中较小的一部分存放的是JVM字节码指令集,可以看成是当前线程执行的字节码行号指示器。比如在一个段代码中启动了两个线程。线程1首先执行,线程1执行到了第4行时退出,线程2要开始执行了。程序计数器就会记录下线程一当时执行到的地方,当线程一再次执行时就会从这里继续开始执行。若当前执行的是java方法,程序计数器的值就是...

2019-05-30 13:47:20 405

原创 前端:html结构及html文本标签

1. html结构HTML:全称为Hyper Text Markup Language:翻译过来也就是超文本标记语言    可以对字体、视频、音频等进行标记为什么说它是超文本标记语言是因为我们平常在文本文档里写的内容只是文字形式的,但是当我们把文本文档改成html格式时,它就可以在浏览器上打开,并可以添加视频、音频等等。  当然不是说我们随便在记事本上写点什么把格式改成html它都可以在浏...

2019-05-27 21:33:35 371

原创 java:排序算法(下) 小白讲法------------ 快速排序,堆排序,归并排序

快速排序快速排序总体采用了分治算法,可以分为三步:  ① 找一个基准值,一般选数组最后一个元素为基准  ② 遍历整个区间,每个数都和基准值作比较,并且发生一定的交换,遍历结束后使得比基准值大的(包括等于)数都在基准值的右边比基准值小的(包括等于)数都在基准值左边  ③ 分治算法  分别对基准值左右两个区间的数做相同处理  直到所有小区间内没有元素了,或小区间内元素已经有序  快速...

2019-05-26 00:23:42 185 1

原创 java:排序算法(上) 小白讲法------------ 选择排序,插入排序(直接插入,二分插入,希尔排序),冒泡排序

ps:本文中所有的排序都是以升序的方式进行1.选择排序  我们如果将数组分为两部分,前一部分是有序部分,后一部分是无序部分,那么选择排序就是每次从无序部分中挑选一个最小值,放到有序部分内。  刚开始在取第一个元素时,有序部分内此时没有元素,直接将该元素放进去,当放第二个元素时,有序部分已经有一个元素了,将该元素直接放在第一个元素的后面即可,以此类推。  我们可以看一下下面的动画图解,更直观...

2019-05-23 16:03:35 151

原创 java:多线程的三种实现方式

在讲实现方式前,先说一下进程和线程的概念进程:操作系统中一个程序的执行周期线程:一个进程同时执行多个任务,通常来讲,每一个任务就称为一个线程继承Thread类实现多线程Java.lang.Thread是线程操作的核心类。新建一个线程最简单的方法就是直接继承Thread,而后覆写run()方法。定义线程的主体类:class MyThread extends Thread{ p...

2019-04-21 21:45:27 777

原创 leetcode138:复制带随机指针的链表

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。做这道题分为三步:假设我们要复制的链表如下:橙色的为随机指针遍历原链表的每一个结点,复制新结点,插到原链表的后边遍历原链表的每一个节点,进行新结点random的设置cur.next.random = cur.random.next;把一条链表拆分为原链表和新...

2019-04-15 18:05:10 188

原创 java:方法引用

方法引用:方法引用只是给现有方法起了个别名。方法引用有四种形式:引用类中静态方法类名称 :: 静态方法名称interface IUtil<P,R>{ R switchPara(P p); //将P类型转为R类型}public class Test{ public static void main(String[] args) { IUti...

2019-04-14 16:27:18 307 1

原创 java:Lambda表达式

Lambda表达式的产生例子:求一段加法运算,比较以下三段代码①接口实现interface Add{ void Add(int x,int y);}class addimpl implements Add{ @Override public void Add(int x, int y) { System.out.println(x+y); ...

2019-04-14 16:07:35 207

原创 java:JDK1.5枚举和注解新特性总结

枚举语法:enum Color{RED,BLUE,GREEN;}使用enum关键字定义的枚举结构实际上是默认继承了Enum类的枚举类。Enum类中存在两大属性name:枚举对象名称ordinal:枚举对象数字下标例子:enum Color{ RED,GREEN,BLUE;}public class Test { public static void ma...

2019-04-13 21:07:21 121

原创 java:异常与捕获

  几乎所有的代码里面都会出现异常,为了保证程序在出现异常之后可以正常执行完毕,就需要进行异常处理。看一下异常的继承类结构所有的异常都是由Throwable继承而来Error类描述了java运行时内部错误和资源耗尽错误。应用程序不抛出此类异常,这种内部错误一旦出现,除了告知用户并使程序安全终止之外,再无能为力。这种情况很少出现。由于程序错误导致的异常属于RuntimeException;...

2019-04-12 15:15:38 117

原创 java:代理模式

特点:两个子类共同实现一个接口,其中一个子类负责真实业务实现,另一个子类完成辅助真实业务主题的操作。代理类中:需要传入真实业务对象,代理类需要知道真实客户是谁,完成真实业务是由真实对象来完成,代理只需要辅助之。(掏钱的是客户,并不是代购)通过构造方法传入(下订单时,商家已经知道客户是谁)。传入的是接口对象:只要是接口中定义的业务,代理类都可以进行代理。(只要是买电脑,代购都可以处理,若传入...

2019-04-10 15:22:23 93

原创 java:工厂模式

1简单工厂: 用于没有产品族而且产品个数较少时  专门定义一个类(第三方)用来创建其他类实例,被创建的实例通常具有共同的父类。例子:在这里我们相当于是创建生产电脑的工厂,客户需要购买什么样的电脑,只要输入类型编号就可以获取该电脑。该类的实例化交给工厂易于解耦。类图如下所示:import java.util.Scanner;interface Computer{ void printC...

2019-04-09 09:22:07 1623

原创 java:一步一步手写单例模式

定义:一个类只允许产生一个实例化对象例:一段简单的代码class Singleton{ public Singleton(){} public void print(){ System.out.println("hello world"); }}public class Test{ public static void main(String...

2019-04-08 18:59:59 513

原创 Java:三个特殊类之包装类

1.包装类就是将基本数据类型封装到类中,这样就可以用Object类接收了。范例:自己定义一个包装类class intDemon{ private int intValue; //通过构造方法封装 public intDemon(int intDemon) { this.intValue = intDemon; } // 取出封装中的内容...

2019-04-07 09:42:25 170

原创 Java:三个特殊类之Object类使用总结

Object类简介 Object是Java默认提供的一个类。Java里面除了Object类,所有的类都存在继承关系。默认会继承Object父类。即,所有的类都可以使用Object进行接收。如:使用Object接收类对象class Person{}class Student{}public class Test{ public static void main(String[]...

2019-04-06 21:10:17 344 2

原创 Java:三个特殊类之String类使用方法总结

1.1 String类的两种

2019-04-06 20:17:25 245

原创 java: java代码块附阿里面试题

定义:使用{ }定义的一段代码根据代码块定义的位置以及关键字,可分为四种:普通代码块构造块静态块同步代码块(多线程)1.1 普通代码块:定义在方法中的代码块public class Test { public static void main(String[] args) { { int x = 10; Syst...

2019-03-20 13:21:40 174

原创 [java]JavaSE基础小项目:校园多人畅聊系统

  本聊天室能实现的功能如下:客户端注册、群聊、私聊、退出要实现上述功能,我们需要分为服务器端和客户端来共同实现,具体分工如下:服务器端实现:维护功能:维护所有在线的客户端注册功能:将客户端注册名称添加到服务器的客户端集合里群聊功能:客户端发送消息,其余所有客户端都能接收到消息私聊功能:客户端与指定客户端发送和接收数据退出功能:从服务器客户端集合中移除客户端客户端实现:注册功能...

2019-03-16 22:01:48 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除