1.概述 网络编程注意解决的是计算机(手机.平板.....)之间的数据传输问题.        网络编程:不需要基于html基础上,就可以进行数据间的传输.比如:FeiQ.QQ.微信.....        网页编程:就是在HTML页面的基础上进行数据交互.比如:珍爱网.OA(办公自动化).高考的报考系统...        计算机网络:分布在不同的地域的计算机通过外部设备链接起来来达到消息的互通.资源共享的效果就称为一个计算机网络 2.网络通讯的三要素     1.IP    2.端口号   …
本文知识点(目录): 1.概述    2.UDP通讯协议    3.TCPP通讯协议 1.概述 1.在java中网络通讯作为Socket(插座)通讯,要求两台都必须安装socket.    2.不同的协议就会有不同的插座(Socket) 2.UDP通讯协议 2.1.UDP通讯协议的特点 1.将数据封装为数据包,面向无连接    2.每个数据包大小限制为64kb中    3.因为无连接,所以不可靠    4.因为不需要建立连接,所以速度快    5.udp不分服务端与客户端的,只分发送端与接收端.…
Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别介绍这些接口的功能和作用. 1.标准Java接口 java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取…
接上一篇java基础篇---I/O技术(二) Java对象的序列化和反序列化 什么叫对象的序列化和反序列化 要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream).使用对象输出流输出序列化对象的步骤,有时也成序列化,而使用对象输入流读入对象的过程,有时也称为反序列化 一个对象产生之后实际上是在内存中为其开辟了一个存储空间,方便存储信息. 对象序列化就是把一个对象变成二进制的数据流的一个方法,通过对象序列化可以反驳的…
前21题请看之前的随笔 22.面向对象的特征有哪些方面 计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协作的过程.面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象方式组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算机系统中. 面向对象的编程语言有封装.继承 .抽象.多态等4个主要的特征. 1封装: 封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚.低耦…
一.啥是I/O 概念:I/O为输入,输出流的统称,流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. 本质:本质是数据传输,即数据在两设备间的传输称为流,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. 分类: 根据处理数据类型的不同分为: 字符流[字符流以字符为单位,且只能处理字符类型的数据] 字节流[字节流以字节(8bit)为单位,能处理所有类型的数据(如图片.avi等)] 根据数据流向不同分为: 输入流[只能进行读操作] 输出流[只能进行写操作] 结构导图:…
概述 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实现(类):是集合接口的具体实现.从本质上讲,它们是可重复使用的数据结构. 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序.这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现. 集合接口 继承的接口列表如下 序号 接口描述 1 Collection 接口Colle…
赋值运算符 (一)JAVA种的赋值运算符 = ,代表代表的等于,一般的形式是  左边变量名称   =     右边的需要赋的指或者表达式,如果左侧的变量类型级别比较高,就把右侧的数据转换成左侧相同的高级数据,然后再复制给左边的变量.否则需要用强制类型转换. int  a,b,c;         a = 13 ;         b = 12 ;         c = 12 ; int   i = 10 ;//强制类型转换 byte b = (byte)i;         /*       …
类的定义及使用 一,类的定义 class Book {//定义一个类 int price;//定义一个属性 int num; public static int getMonney(int price, int num) {//定义一个方法 return price*num; } } public class test2 { public static void main(String args[]) { Book monney = new Book();//声明并实例化对象 monney.pr…
--Map接口简介 今天来看一看map集合,map映射接口,用于存放键值对,<key,value>,通过key来查找value,顾名思义key不能为空,唯一且不重复,不然底层怎么查呢! 可以从图中看出Map为单独的接口,他和Collection有什么区别呢? Map和Collection在集合中并列存在. Map集合是双列的,键值对,而Collection是单列集合 Map存储元素使用put方法,Collection使用Put方法. Map遍历没有直接取出元素的方法,而是先转成Set集合,再通…
今天主要说夏set集合,每天抽出一个小时总结下,生活会更加美好! --< java.util >-- Set接口: 数据结构:数据的存储方式: Set接口中的方法和Collection中方法一致的. |--HashSet: HashSet类直接实现了Set接口, 其底层其实是包装了一个HashMap去实现的.HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能. 底层数据结构是哈希表,线程是不同步的.无序,高效:HashSet是线程非安全的,元素值可以为NU…
    JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code package per.jizuiku.base; /** * @author 给最苦 * @date 2019/06/29 * @blog www.cnblogs.com/jizuiku */ public class Demo { /** * @param args */ public stat…
线程通讯笔记: /** 线程通信 三个方法: * wait(): 调用该方法 是该调用的方法的线程释放共享资源的锁,进入等待状态,直至被唤醒 * notify() : 可以唤醒队列中的第一个等待同一共享资源的线程, 并使该线程退出等待队列,进入可运行状态 * notifyALL() : 全部唤醒,优先级最高的先执行!!! * --------------------------------------------------------------- * 例一: 使用两个线程 打印1-100,线…
一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类.  一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法.  2.在常规内部类中可以直接用内部类创建对象  3.代码如下: public class MyOuter { private int x = 100; // 创建内部类 class MyInner { private String y = "Hello!"; public v…
Thread中start()和run()的区别 start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法.start()不能被重复调用.run()   : run()就和普通的成员方法一样,可以被重复调用.单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程! MyThreadTest.java代码 class MyThread extends Thread{ public void run() { System.out.println("线程名:&qu…
这两天再看敏捷开发流程,我这个算是敏捷博客吗? 哈哈o(∩_∩)o package a.b; public class Three { static void Expression() { System.out.println("一.学习基本的表达式"); // 数学表达式 System.out.println( 1 + 2 ); //加法 System.out.println( 4 - 3.2 ); //减法 System.out.println( 7 * 1.5); //乘法 Sy…
abstract抽象 方法 抽象方法:abstract修饰的方法,只有声明 而没有方法的实现(连{}都没有). 语法:修饰符 返回值类型 方法名(形参列表); 注意:抽象方法 必须定义在 抽象类中. 类 抽象类:被abstract修饰的类,不能 实例化(创建对象). 语法: 修饰符 class 类名 [继承关系]{} 注意: 抽象类 不以创建对象:但是 可以声明引用(强制多态). 子类可以继承抽象类,但是 必须实现抽象类中的所有抽象方法: 除非 该子类又是抽象类. 抽象类中 可以有抽象方法 也可…
字节流读写适用于任何文件,包括图片,视频等. 基本字节流 一次读一个字节和一次读一个字节数组 FileInputStream fis = new FileInputStream(path); //一次读一个字节 int by; //read()==-1则代表文件读到了末尾 while ((by = fis.read()) != -1) { System.out.print((char) by); } //一次读一个字节数组 并转换成字符串 byte[] bytes = new byte[1024…
1.CDATA区在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理.遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出.语法:<![CDATA[ 内容 ]]> <![CDATA[ <book> <br/> </book> ]]> 2.处理指令处理指令,简称PI (processing instruction).处理指令用来指挥解析引擎如何解析XML文…
1. IO流的分类   流向:     (1)输入流:读取数据到内存     (2)输出流:写入数据到硬盘(磁盘)   操作的数据类型:    (1)字节流:操作的数据是字节                            输入流                            输出流        (2)字符流:操作的数据是字符,为了方便操作文本数据,Java就提供了字符流.                            输入流                      …
1. 开发的时候往往会出现很多问题(java内部系统框架中没有提供这些异常) 比如说:考试成绩必须在0~100之间. 很明显java没有对应的异常,需要我们自己来做一个异常. (1)继承自Exception(编译期) (2)继承自RuntimeException(运行期) 2. 自定义异常的案例: (1)自定义异常MyException继承自Exception,那么MyException属于编译期异常,如下: package com.himi.myexception; /** * java不可能…
1. BigDecimal类概述: 由于在运算的时候,float类型和double很容易丢失精度.所以为了能够精确的表达.计算浮点数,Java提供了BigDecimal. BigDecimal:不可变.任意精度的有符号十进制数. 2. BigDecimal构造方法 public BigDecimal(String val) 3. BigDecimal的使用(加减乘除) public BigDecimal add(BigDecimal augend):加 public BigDecimal sub…
1.JSP标签 替代jsp脚本,用于jsp中执行java代码1.1.内置标签:  <jsp:forward></jsp:forward>  相当于:request.getReuquestDispacher(“路径”).forWard(request,response);  <jsp:param></jsp:param>  参数标签      <jsp:include></jsp:include> 包含其他页面,动态包含       …
1.DOM4J对XML文件进行增删改操作 实现代码 package com.shore.code; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; impo…
1. 递归: 方法定义中调用方法本身的现象. e.g: public void show(int n ) { if(n <= 0) { System.exit(0); } System.out.println(n); show(--n); } 注意事项:     (1)递归一定要有出口,否则就是死循环     (2)递归的次数不能太多,否则就内存溢出 (3)构造方法不能递归使用…
1.JavaScript运算符 1.1.加减乘除法 加法:+(加法,连接符,正数)          true是1,false是0    减法:-    乘法:*    除法:/ 1.2.比较运算符 大于:>    小于:<    大于等于:>=    小于等于:<=    不等于:!= 字符串和字符串比较        情况1:能找到对应的位置上的不同字符,那么比较的是第一个不同字符的大小        情况2:不能找到对应位置上的不同字符,这个时候比较的是两个字符串的长度 1.…
本文就java基础部分容易混淆的一些知识点进行了一下总结.因为Java本身知识点非常多,不可能在很短的篇幅就能叙述完,而且就某一个点来讲,如欲仔细去探究,也能阐述的非常多.这里不做全面仔细的论述,仅做为一个引子,抛砖引玉.具体个例,还需各位看官自己验证一下,以增进理解和记忆.    这下面的一些是我当初在过Sun公司的程序员认证的时候仔细学习指定教材SL-275时自己做的一些总结,也有后来在不同公司面试求职者或去求职时在不同公司看到的一些试题所涉及部分知识点.拟将来时间将求职笔试和面试java试…
网络编程: 什么是网络编程: 网络通常指的是计算机中的互联网,是由多台计算机通过网线或其他媒介相互链接组成的 编写基于网络的应用程序的过程序称之为网络编程 为什么要学习网络编程: 我们已经知道计算机,由硬件 操作系统,应用程序组成,有了这三个元素,就可以在自己的电脑上运行一些应用程序了,比如玩玩纸牌,扫扫雷什么的 如果要想与其他计算机一起玩,就必须要让你的计算机和其他计算机能够互相传递数据 学习网络编程就是要学习利用网络来与另一台计算机相互传输数据, 开发出支持网络通讯的应用程序,这样即使足不出…
JAVA基础面试部分(多线程.算法.网络编程提出去了,详细分类见<面经>) 一.Java底层基础题 JDK和JRE区别? 1.JDK是整个JAVA的核心,包括了Java运行环境JRE,一堆Java工具和Java基础的类库. 通过JDK开发人员将源码文件(java文件)编译成字节码文件(class文件). 2.JRE是Java运行环境,不含开发环境,即没有编译器和调试器.将class文件 加载到内存准备运行. 初始化与清理 抽象类与接口的区别是什么? https://baijiahao.baid…
Windows 网络通讯开发 一.Windows网络开发API 由于C++标准库中没有网络库,所以进行网络开发的时候要调用系统API.Windows通讯开发API包括以下几个基本函数及成员类型: 1. Header:Winsock.h 和 Winsock2.h(最新的) 具体Winsock2.h包含两大块内容:Socket Functions和Microsoft Windows-Specific Extension Functions Socket Functions: socket:An in…