自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java异常(异常体系 、try catch finally 、Exception ) Exception和RuntimeException区别

首先看一下异常的继承体系:所有的异常都是由Throwable继承而来,我们来看他下面的两个子类Error和Exception.Error (栈溢出异常):Error类描述Java运行时内部错误与资源耗尽错误。应用程序不抛出此类异常,这种内部错误(是JVM内部出现错误)一旦出现,除了告知用户并使程序安全终止之外,别无他法。在Exception之下又分为两个分支,RuntimeExceptio...

2018-10-31 18:14:55 3931

原创 单例设计模式&&多例设计模式

单例模式单例模式是 :一个类只允许产生一个实例化对象(如太阳类只有一个太阳对象)。如何只产生一个是实例化对象?构造方法私有化: 我们知道是构造函数是实例化对象,要只产生一个实例化对象,就需要把构造方法用private分装起来,那么外部就无法调构造方法。在类里实例化一个私有全局静态对象:既然类外部无法实例化对象,就必须在类里实例化对象,而且对象需要是静态属性,如果不是静态,还得实例化对象取...

2018-10-31 15:38:29 313 1

原创 Java中成员变量、局部变量、全局变量、静态变量存在位置及初始化

根据定义变量位置的不同,可以将变量分为成员变量和局部变量。成员变量是 定义在一个类的变量:类中方法外 局部变量是定义在一个方法内的变量:方法中成员变量分为:静态属性:随类的存在而存在,是在类加载的初始化非静态属性:随实例的属性存在而存在。局部变量:局部变量不能加static,包括protected, private, public这些也不能加。局部变量保存在栈中。局部编程必须在声明时...

2018-10-31 11:34:53 11425 2

原创 包(package/import/protected)

什么是包?因为在同一文件夹中,不能出现同名文件,包的出现是避免同名文件问题,就是定义不同的包,在不同的包可存在相同的文件夹。包的本质是文件夹。包的存在是为了更好的管理文件。简单定义一个包:package www.code;public class Pack{ public static void main(String[] args) { System.o...

2018-10-30 18:20:45 252

原创 包装类(Integer/Boolean等、字符串与基本数据类型转化,-127-128自动装箱入池)

为什么要有包装类?Object类可以接收所有引用数据类型。然而在Java中,数据类型分为基本数据类型和引用数据类型,那么基本数据类型如何处理呢?使用包装类 :包装类是将基本数据类型封装到类中,因为Object无法接受基本数据类型,封装成类后就可以用Object类来接收。简单定义一个int的包装类:class IntDemo{ private int num; public...

2018-10-30 11:31:27 1014

原创 Object类(覆写toString/equals/接收引用数据类型)

什么是Objetc类?Object是JAVA默认提供的类。在Java中除了Object类,所有的类都有继承关系,默认会继承Object父类,所有类对象都可以通过Object类进行接收,即向上转型。取得对象信息...

2018-10-30 09:45:47 510

原创 StringBuffer类、StringBuilder

为什么要有StringBuffer和StringBuilder?任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已,并不能对该字符串常量进行修改,为了方便字符串的修改,有了StringBuffer类。总之,StringBuffer是为了修改字符串。StringBuffer修改字符串public StringBuffer ...

2018-10-29 21:22:32 116

原创 String 类(toCharArray/charAt/equalsIgnoreCase/ startWith/indexOf/split/trim/toLowerCase/substring)

字符与字符串的相互转换: 字符数组转化为字符串 用构造函数:public String(char[ ] value) :将字符数组中所有内容变为字符串public String(char[ ] value,int offset,int count);:将字符数组中部分内容变为字符串将字符串转为字符数组public char[ ] toCharArray( );取得字符串中单个字...

2018-10-29 20:14:34 260

原创 String类(对象实例化、字符串比较、对象池、字符串常量不可变更)

String的两种实例化方式 直接赋值和传统实例化:public class Stringob{ public static void main(String[] args) { String str1="hello"; //直接赋值 str是一个对象,那么"hello" 就应该保存在堆内存中,String类可以直接赋值,JDK所做的简化 St...

2018-10-29 11:07:11 402

原创 抽象类、内部抽象类、模板设计算法

抽象类的定义与使用 定义: 抽象类只是在普通类的基础上扩充了一些抽象方法而已。抽象方法:只声明未定义的方法(没有方法体)所有抽象方法要求使用abstract来定义,并且抽象方法所在类必须用abstract来定义,表示抽象类。 抽象类的使用原则:所有抽象类必须有子类(abstract与final不能同时使用,是因为final声明的类不能有子类);抽象类的子类必须覆写抽象类的所有抽象...

2018-10-23 21:00:52 243

原创 Java内部类(成员内部类、静态内部类、方法内部类、匿名内部类)

内部类 内部类是定义在一个类内部进行其他类结构的嵌套的操作。

2018-10-21 19:26:23 534

原创 Java代码块(构造块、静态代码块、普通代码块)

在Java中根据代码块出现的位置以及关键字,分为下列四中代码块:1.普通代码块定义在方法中的代码块2.构造块定义在类中的代码块,不加任何修饰符{}在对象产生时,优先于构造方法执行,有几个对象产生,就调用几次构造块。用于在构造方法执行前完成一些属性的初始化操作3.静态代码块A.非主类中的静态代码块static{ }在类加载时执行(什么时候用到类)优先于构造块执行,无论有多少对...

2018-10-21 17:42:45 216

原创 Java中this、static、super、final

thisclass Person{ public String _name; public int _age; public Person() //无参构造 { System.out.println("Person()"); } public Person(String name) ...

2018-10-21 17:04:48 120

原创 传输层(Udp协议 Tcp协议)

传输层是负责数据能够从发送端传输接收端。负责端与端之间的传输。端口号是唯一表示

2018-10-20 21:47:51 1200

原创 应用层(http协议) http与https区别

在协议分层的TCP/IP(或四层)通讯协议采用了5层的层级结构,5层分别包括:应用层、传输层、网络层、数据链路层、物理层。5层具体一.应用层 程序员写的一些网络程序都在应用层。...

2018-10-20 19:06:00 2436

原创 非类型的模板参数

对于模板参数一般会有class 或者typeneme类型,但也可以是已知类型,即非类型的模板参数,但是非类型的类模板参数不能是double/float/自定义类型#include<iostream>#include<stdlib.h>#include<string>#include<time.h>#include&

2018-10-14 21:18:23 627

原创 继承里既有虚继承也有虚函数继承(即既有虚基表,也有虚函数表)

菱形继承

2018-10-14 20:26:13 337

原创 容器适配器(栈容器适配器、队列容器适配器)

我们已有的容器(比如vector、list),这个容器支持的操作很多,比如插入,删除,迭代器访问等等。而我们希望这个容器表现出来的是栈的样子:先进后出,入栈出栈等等,此时,我们没有必要重新动手写一个新的数据结构,而是把原来的容器重新封装一下,改变它的接口,就能把它当做栈使用了。c++定义了三种容器适配器,他们让容器提供的接口变成了我们常用的数据结构:栈(先进后出),队列(先进先出),优先级队列...

2018-10-14 20:02:28 403

原创 顺序表模板和双向带头循环链表模板

类的类名和类型从在类内定义顺序表模板的构造函数和类内声明类外定义构造函数来区别类名和 类型:#include<iostream>#include<stdlib.h>#include<string>using namespace std;//顺序表模板//Seqlist 是类名//Seqlist<T&g

2018-10-14 19:51:46 173

原创 函数模板、函数模板实例化、函数模板重载

模板是泛型编程的基础。所谓泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板分为模板函数和模板类。如果是交换两个数据,我们会定义对应类型的函数,比如要交换int类型数据,我们会定义int类型swap函数,如果是交换double类型数据,会再定义double类型交换函数。void Swap(int& a, int &b){ int c = a; a = b; b...

2018-10-14 19:39:34 2832

原创 Java初认识--基本数据类型(int 和byte之间赋值)默认值 类型强转

主类和主方法 Test.java–是源文件,源文件必须与主类名(public class )保持一致,一个源文件只能有一个主类 ,主方法存在与主类中。Test.java 源文件主类:public class Test主方法 : public static void main(String[] args)Java程序编译–执行流程编译:javac Test.java —>Te...

2018-10-11 17:16:40 14651 2

原创 菱形继承和多态区别

对于菱形继承可参考这篇博客:

2018-10-05 18:47:51 220

原创 tcp三次握手建立连接和4次挥手断开连接

我们知道tcp协议是有连接、可靠、面向字节流传输。接下来将会介绍具体建立连接过程,即三次握手。服务端状态改变:[CLOSED -> LISTEN] 服务器端调用listen后进入LISTEN状态, 等待客户端连接;[LISTEN -> SYN_RCVD] ⼀旦监听到连接请求(同步报文段), 就将该连接放入内核等待队列中, 并向 客户端发送SYN确认报文.[SYN_RCVD ..

2018-10-04 15:01:43 668

原创 多进程和多线程简单tcp聊天程序

如果需要一个服务端可以连接多个客户端,并同时与多个(不超多listen第二个参数及最大同时并发数)客户端通信,可以利用多进程即创建子进程,子进程来完成服务端的接受和发送数据;也可以创建多个线程。tcp客户端代码//tcp 客户端代码//1.创建套接字//2.绑定地址信息//3.向服务端发送连接请求//4.发送数据//5.接受数据//6.关闭socket描述符#include&l...

2018-10-02 21:50:58 753

空空如也

空空如也

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

TA关注的人

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