自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于UDP协议的Socket编程

UDP即(user datagram protocal,用户数据报协议),我们很多人应该都了解过TCP(transp control protocal,传输控制协议),那么可能有人会问了,为什么有了TCP协议还要UDP协议呢?这是由于UDP协议和TCP协议之间不同的特点,决定了这两种协议的适合的应用场景的不同。接下来就由我来为大家介绍一下UDP协议,并给出UDP编程的Java实现。一、UDP协议用户

2017-10-25 21:15:51 3203

原创 图解图的存储结构

刚开始接触图形结构的时候,觉得它很烧脑子,因为像线性表它仅有线性关系,树形结构有清晰度的层次结构,但是对于图形结构来说集合中的每一个元素都有可能有关系。所以在刚接触图形结构的时候,对于如何实现图形结构往往感到很困惑,后来发现我们其实只要弄清楚了图的存储结构那么用代码实现起来并不困难。要清楚地理解图的存储结构,首先要明白图的存储结构里要存储些什么东西。要存储图形结构的信息,无非就是存储图的顶点(vec

2017-10-19 23:14:26 9605 3

原创 谈谈哈希表

一、什么是哈希表?哈希表简单来说可以看作是是对数组的升级,(也有不少人认为哈希表的本质就是数组),那么哈希表和数组的具体联系和区别在哪里呢?我们在利用数组存储数据的时候,记录在数组中的位置是随机的,位置和记录的关键字之间不存在确定的关系。联系:哈希表是由数组实现的。区别:数组中存储的元素的和数组下标没有确定的关系,而哈希表中存储的元素和数组的下标有一个确定的关系,我们将这个确定的关系称之为哈希函数(

2017-10-16 16:16:36 1157

原创 HTTP与HTTPS的联系与区别

一、什么是HTTP?什么又是HTTPS?1、想要了解http的同学可以先 点击这个链接 谈谈HTTP协议的流程。2、至于https,一眼看上去似乎是http的加强版,如果你也是这么下意识认为的话,那么恭喜你你的下意识完全正确。https即Hyper Text Transfer Protocol over Secure Socket Layer,望文知意便是基于 安全套接层的超文本传输协议。我们可以将

2017-10-05 01:46:10 625

原创 谈谈HTTP的流程

一、什么是HTTP协议?HTTP是Hyper Text Transport Protocol的缩写,望文知意便是 超 文本 传输 协议。二、HTTP协议能做什么?首先我们要知道,我们在使用网页浏览器(web browser)时候的流程,我们首先在浏览器中的地址栏中输入URL(Uniform Resource Locator 统一资源定位符 简单来说是网址),浏览器根据URL从web服务器端获取文件资

2017-10-04 20:59:25 427

原创 基于TCP/IP协议的Socket编程

一、 前言最近想用Java写出一个能够进行远程通信的程序,不可避免地接触到了Socket编程,在这里我不详细介绍TCP/IP协议,有还没有接触过TCP/IP的同学请自行谷歌或者百度。因为数据在Internet中的传输是非常繁重的,而套接字(Socket)的出现,让我们不必去关心传输的繁重过程,我们只需把网络看做一个流,就像对文件一样进行操作。二、套接字(socket)的概念当两个主机的程序之间要通过

2017-09-30 00:16:18 1072

原创 Java的GridBagLayout布局

1、写在干货前面的话这里是我个人的一些感想,如果大家赶时间的可以跳过,直接阅读第二段。之所以一直写技术博客,是想把自己在学习中的感悟写出来,希望对大家有所帮助,毕竟不同的思维碰撞往往会产生意想不到的火花。我个人在学习的过程往往是先学习官方的资料,再去网上阅读别人写的博客,这样往往会加深自己对知识点的感悟,毕竟网上的大神很多,我能从大神的思想上得到启发。 就像GridBagLayout布局,我个人认

2017-09-22 21:34:53 24401 26

原创 简单易懂教会你KNN算法

1、什么是KNN算法?KNN全称是k-Nearest Neighbors,意思是K个最近的邻居。 KNN算法从名字上我们就可以很直观地看出它的原理:从所有的训练样本中找出和未知最近的K个样本,将k个样本中出现最多的类别就是赋给未知样本。 举个例子,大家都知道农场里的鹰的故事,鹰从小就在农场里长大,不知道自己是什么种类,如果在它生活的环境里恰好有鸡也有鹰,那么它会认为自己是鹰还是鸡呢? 放张图:

2017-09-18 13:29:51 7416 1

原创 Java 数据流

一、流很多的程序都需要和外界进行数据交换,如从键盘键入数据,从文件存入数据或者网文件写入数据,还有在网络上进行数据的交换。在Java中把这些不同类型的输入源、输出源都抽象为流。二、数据流流中的数据成为数据流,用统一的接口表示。 数据流按照照输入输出方向可以分为输出流,输入流。 数据流按照照输入处理数据类型可以分为字节流,字符流。输入流,输出流是对于程序来说的。 (1)比如说程序需要从外部文件中

2017-09-12 19:58:25 1138

原创 java 值类型和引用类型

java这两种数据类型分别有哪些?java 中的数据类型分为两大类:值类型(基本数据类型)和引用类型(复合数据类型) 一,值类型分为 1,整数类型(byte,short,int,long) 2,浮点类型(float,double) 3,布尔类型(boolean) 4,字符类型(char) 二,引用值类型 除了值类型外就是引用值类型了,引用值类型有1,类类型(class) 2,数组 3,接口类型

2017-09-11 16:34:21 3851 4

原创 五子棋的Java实现 详解

最近用Java写了一个有人机对战和人人对战两种模式的五子棋小游戏,也算是有自己一定的心得,现在把它分享出来。代码我会放在最后面,先把五子棋的思路捋清楚一、首先上界面图 这是我五子棋的界面,比较简单,大家可以根据自己的想法随意DIY.二、如何实现界面?这个五子棋界面,由四个类实现,分别是: JFrame(作为顶层容器类的JFrame用来添加其他的所有组件) JPanel(在界面中用来分别添加棋盘

2017-08-31 13:33:20 10202 11

原创 Java数组

什么是Java数组?1、数组是一种固定类型固定大小的数据集合。所谓固定类型是指:数组在存放数据的时候只能存放同一个类型的数据,而所谓固定大小是指在定义一个数组变量时它的大小是确定的。 2、数组是一种线性的数据结构。所谓线性的数据结构是指在数据元素的非空集合中,存在唯一一个首元素;唯一一个末元素;除首元素外每一个元素只有一个直接前驱,除末元素外每一个元素只有一个直接后继。 3、Java数组是一种引

2017-08-25 11:59:10 384

原创 Java中的自动转型

什么情况下能够自动转型?1、必须存在继承关系之后才能自动转型 2、子类对象向父类类型自动转型自动转型的格式1、格式一 :父类类型 对象名=new 子类构造方法(参数值); 2、格式二 :访问修饰符 返回值类型 方法名(父类名 参数值){} 父类类型 对象名A=new 父类构造方法(参数值);

2017-08-21 15:00:50 2196

原创 方法重写和重载

一方法重载1、什么是方法重载方法重载就是在一个类中可以定义多个方法名形同但是方法参数个数、类型、顺序至少有一个不一样。2、什么情况下可以利用方法重载重载的好处就是:我们可以很根据实际情况灵活地调用重载方法。 1、构造方法的重载public class Student{ String name; int age; public Student(String name,int

2017-08-17 07:47:18 338 1

原创 this 关键字的用法

this的作用 一当方法的参数名和属性名相同的时候,需要用this来做区分,加了this的表示表示属性,没加的表示参数。public class Student { private String name ; private int age; public Student(String name,int age){ this.n

2017-08-07 11:14:46 293

原创 NRF24L01的多对一通信

一、一对一通信 要弄懂NRF的多对一通信,我们先要清楚NRF的一对一通信的地址设置,为了解说通俗我们将NRF24L01之间的通信比作两个人写信交流:首先寄信方将信件寄给收信方,收信方收到信件之后回信给寄信方确认收到信件。(以上为NRF24L01一次通信的过程,即发送端T发送信息给接收端R的流程)要完成双方的信件互通,那么双方都要知道对方的地址。这对应着NRF24L01作为发送端T时要设置1、发送地

2017-08-03 17:45:04 12413 4

原创 NRF24L01 的双向通信

一、NRF24l01的双向通信NRF24l01zu最基本的使用是:一个NRF24l01模块作为数据传输方,另一个NRF24l01作为数据接收方。但有的时候我们需要两个NRF24l01无线传输模块能够进行实时的双向通信,这个时候我们该怎么做呢?1、首先我们可以把两个NRF24L01无线传输模块都设置为Enhanced ShockBurstTM收发模式,其中一个初始设为发送端我们可以称之为A端,另一

2017-08-03 16:06:17 21289 15

原创 何时使用或何时不使用malloc函数

在初学数据结构时,我们往往不太清楚在定义一个结构体指针时要不要使用malloc函数。 例如以下的代码:LINKLIST *init linklist(){ LINKLIST *H=NULL; LINKLIST *S; int x; printf("请输入链表元素 或以-1结束输入") while(x!=-1) { s=(LINKLIST*

2017-07-04 20:29:58 15134 12

原创 栈的应用 后缀表达式求值 后缀表达式与中缀表达式的转换

栈的应用在计算机里面进行算数表达式的计算是通过栈来实现的。接下来给出算数表达式的两种表示方法,然后给出后缀表达式的求值算法,最后给出中缀表达式转换为后缀表达式的算法。一、中缀表达式与后缀表达式算数表达式:算数表达式一般由三部分组成,1操作数、2运算符、3改变运算次序的圆括号。 中缀表达式:是将运算符放在两个操作数之间的表达式,也是我们生活、学习过程中常用的算数表达式。 后缀表达式:是将运算符放在

2017-07-02 11:27:43 1059

原创 数据结构之栈

栈(stack)又称堆栈,是一种特殊的线性结构,栈的特殊之处在于:所有对于栈的操作都是在栈的一端(顶部)进行的,如对栈进行元素添加(入栈)元素删除(弹栈/出栈),按照“后进先出”的规则进行操作。栈在程序设计中特别重要,程序的调试和运行都需要栈的支撑。一 栈的定义和基本操作栈(stack)是限定在表的一端进行插入和删除操作的线性表。插入元素称为(入栈),删除元素称为出栈。通常将允许出栈的一端

2017-07-01 17:15:57 408

空空如也

空空如也

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

TA关注的人

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