自定义博客皮肤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.5.1 异常章 Throwable

Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异常结构实现错误登录的抛异常//受查异常//这两个分别是两个类,一个类实现抛出名字错误异常,一个类实现抛出密码错误异常//这里会打印抛异常时传过来的信息内容//这里会打印抛异常时传过来的信息内容//非受查异常//这里会打印抛异常时传过来的信息内容//这里会打印抛异常时传过来的信息内容实现一个登录功能//登录函数if (!

2024-10-03 13:01:17 648

原创 1.5.1 文件操作章 File

【代码】1.5.1 文件操作章 File。

2024-10-03 12:59:54 145

原创 1.4.11 Java数据结构章 String

char类型//从后往前找,返回ch第一次出现的位置,没有返回-1从fromIndex位置开始找,从后往前找char第一次出现的位置//从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返回-1string类型//从后往前找,返回str第一次出现的位置,没有返回-1从fromIndex位置开始找,从后往前找string第一次出现的位置//从fromIndex位置开始找,从后往前找str第一次出现的位置,没有返回-1。

2024-10-03 12:56:26 855

原创 1.4.10 Java数据结构章 Stack

将栈顶元素出栈并返回。

2024-10-03 12:55:50 73

原创 1.4.9 Java数据结构章 Set

在使用迭代器的过程中,it.hasNext()方法不涉及指针的移动,只是判断当前指针是否超出下标,也就是判断是否还有下一元素。而it.next()方法从源码来看则是先将指针下移并且取得当前元素。整个过程中只有next()方法涉及指针的下移.it.next本质是先获取当前元素,在移动指针到下一个元素。

2024-10-03 12:54:48 296

原创 1.4.8 Java数据结构章 Queue

E poll();q.poll();peek();q.peek();int size();q.size();

2024-10-03 12:53:48 102

原创 1.4.7 Java数据结构章 PriorityQueue

我的理解是他建堆的时候,o1代表父节点,o2代表带调整的,当o1比o2大的时候返回1(那个比较函数的特性,因此会返回这个比较器为1)就会调整,那么就会把更小的往上换,从而建立小根堆o1点xxx(o1.compare(o2)) 相当于就是o1已在集合去跟要插入的o2比较使用比较器创建常规格式堆语法格式//使用比较器创建小根堆@Override//使用比较器创建大根堆@Override代码示例//整数@Override。

2024-10-02 12:43:27 530

原创 1.4.6 Java数据结构章 Map

返回所有的 key-value 映射关系,用类型为Entry的set去去接收。

2024-10-02 12:42:41 359

原创 1.4.5 Java数据结构章 LinkedList

在使用迭代器的过程中,it.hasNext()方法不涉及指针的移动,只是判断当前指针是否超出下标,也就是判断是否还有下一元素。而it.next()方法从源码来看则是先将指针下移并且取得当前元素。整个过程中只有next()方法涉及指针的下移.迭代器是LinkedList类的内部类,可以用这个类实现迭代的效果,这个类继承了ListIterator。it.next本质是先获取当前元素,在移动指针到下一个元素。**使用迭代器遍历—正向遍历 **

2024-10-02 12:41:34 239

原创 1.4.4 Java数据结构章 Entry

Map.Entry 是Map内部实现的用来存放键值对映射关系的内部类,该内部类中主要提供了 的获取,value的设置以及Key的比较方式。Entry是Map的内部静态类,任意地方都可以调用。Map.Entry并没有提供设置Key的方法。可以理解成c++的pair。

2024-10-02 12:40:41 126

原创 1.4.3 Java数据结构章 Buffer

返回最后一次出现str的位置从fromIndex位置开始找str最后一次出现的位置。

2024-10-02 12:40:01 308

原创 1.4.2 Java数据结构章 ArrayList

List接口无法实例化arraylist是顺序表,跟vector一类。

2024-10-02 12:39:19 214

原创 1.4.1 Java数据结构章 Array

list才有逆序函数。

2024-10-02 12:38:53 333

原创 1.3.1 Java函数章 常用函数

【代码】1.3.1 Java函数章 常用函数。

2024-10-02 12:36:34 116

原创 1.2.1 标准输出章 Scanner

/表示输出一自动换一行。

2024-10-02 12:34:36 187

原创 1.1.8 Java特性章 Polymorphic(多态)

多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态。

2024-10-02 12:31:54 411

原创 1.1.7 Java特性章 Object

Object是Java默认提供的一个类。Java里面除了Object类,所有的类都是存在继承关系的。默认会继承Object父 类。即所有类的对象都可以使用Object的引用进行接收。使用Object类可以接收所以在开发之中,Object类是参数的最高统一类型。但是Object类也存在有定义好的一些方法。

2024-10-02 12:31:18 302

原创 1.1.6 Java特性章 Lambda

基本语法: (parameters) -> expression 或 (parameters) ->{ statements;

2024-10-02 12:30:39 372

原创 1.1.5 Java特性章 Interface(接口)

接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。

2024-10-02 12:29:49 686

原创 1.1.4 Java特性章 Generics(泛型)

S, U, V 等等 - 第二、第三、第四个类型。//明确只能是边界类型或者边界类型的子类。E 表示 Element。N 表示 Number。V 表示 Value。

2024-10-02 12:29:10 271

原创 1.1.3 Java特性章 Extend(继承)

继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特 性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复用。例如:狗和猫都是动物,那么我们就可以将共性的内容进行抽取,然后采用继承的思想来达到共用。

2024-10-02 12:28:04 796

原创 1.1.2 Java特性章 Class(类和封装)

没有定义任何构造方法,编译器会默认生成一个不带参数的构造方法。构造方法中,可以通过this调用其他构造方法来简化代码,但是构造方法中调用构造方法一定要在第一行(即this(…)必须是构造方法中第一条语句)

2024-10-01 18:56:49 1132

原创 2.9.2 Servlet章 Servlet 部署

main文件下 java文件夹 放置java文件mian文件夹下的resources文件夹放置一些依赖的资源(比如图片,音频)

2024-10-01 18:53:56 723

原创 2.9.1 Servlet章 Servlet API

*json引号问题:**json格式,key一定是字符串类型,所以原则上key不写""也是完全可以的,但是有些库/程序,检查更加严格,就必须强制我们把key加上引号,js的ajax的方式来构造json时,此时key就没有引号,但是如果用postman构造就要加引号。响应对象是服务器要返回给浏览器的内容, 这里的重要信息都是程序猿设置的. 因此上面的方 法都是 “写” 方法.请求对象是服务器收到的内容, 不应该修改. 因此上面的方法也都只是 “读” 方法, 而不是 “写” 方法.

2024-10-01 18:53:06 978

原创 2.8.1 服务器配置章 tomcat

Maven是java世界中常用的构建工具一个程序在编写时往往要涉及到第三方库多的一些依赖,另外还需要争对这个写好的程序打包部署Maven存在的意义就是为了方便的进行依赖管理和打包除了Maven还有一些别的构建工具比如Maven后一个选项Gradle,不过Gradle在安卓后端开发比较用的多,java后端用的比较少Maven类似于python中的pip。

2024-10-01 18:51:38 860

原创 2.7.4 网络多层协议章 数据链路层

mac地址是6字节比ipv4(4字节)地址大很多,因此每一个网卡出场的时候,就会写死一个mac地址(保证每一个网卡都有一个独立的mac地址),因此mac地址就成为了互联网的一种互联网标识身份的方式。A:当时设计这些地址的大佬是分开设计的,ip地址和mac地址被同时设计了出来,因此就让ip地址负责网络层转发,让mac地址负责数据链路层转发,源地址和目的地址是指网卡的硬件(物理)地址(也叫MAC地址),6个字节,长度是48位,是在网卡出厂时固化的,mac地址作用也是用来区分不同主机的。帧末尾是CRC校验码。

2024-10-01 18:46:30 736

原创 2.7.3 网络多层协议章 网络层协议

同一个网段内(局域网中,同一路由器下,路由器连接着两个局域网lan连自己,wan连外部),主机之间具有相同网络号。在这个前提下,进行路由转发只能走一步算一步,相当于贪心,路由转发给的路径不一定是最优解,而是较优解。允许不同局域网的设备ip可以重复,同一个局域网的内的设备ip不能重复 10.数据报到达路由器的时候,就需要查询路由表(问路–这是个"启发式"的过程)数据报到达路由器的时候,就需要查询路由表(问路–这是个"启发式"的过程)ip地址分为两个部分,网络号和主机号。网络号必须相同,主机号必须不同。

2024-10-01 18:45:42 992

原创 2.7.2 网络多层协议章 传输层协议

*4位TCP首部长度:**这个是用来表示TCP报头有多长的 ,TCP报头是变长的, 单位是4字节 ,4位首部长度有4位(0-15) ,表示该TCP头部有多少个32位bit(有多少个4字节), 所以TCP报头最大长度是 15 * 4 = 60 字节 ,TCP报头的前20个字节是固定的(TCP报头最短长度,20字节)人如其名,要对数据的传输进行一个详细的 控制。返回ack的时候,拖延一点时间,利用拖延的这一点时间,就可以给程序腾出来更多的消费数据的时间,这样接收缓冲区的剩余空间就更大了。

2024-10-01 18:43:03 906

原创 2.7.1 网络多层协议章 应用层协议

这是后端开发必知必会,后端开发多数是围绕应用层和传输层的使用这一层有很多线程的协议(比如HTTP协议,java做网站离不开HTTP)也有很多时候,是需要程序员自己定义协议,下面展开讨论自定义协议先要有一个需求,有个场景(根据需求来,产品经理提好)明确具体的请求和响应的格式客户端给服务器发一个请求,服务器收到请求就给服务器返回一个响应,请求本质就是一个明确格式的字符串,通常结尾加’\n’好读取,数据要分隔特定的段会规定如读到’\3’ 就是分段的分隔协议。

2024-09-30 12:59:54 5147

原创 5.6.3 网络套接字章 TCP服务器客户端

IO操作是比较有开销的相比于访问内存,进行IO次数越多,程序越慢,为了提高效率,减少IO次数,使用一块内存充当缓冲区,写数据先写到缓冲区里,攒一波再进行IO,flush就可以刷新缓冲区,确保数据真的通过网卡发了出去,而不是残留在内存缓冲区,上述说的是全缓冲,而换行(‘\n’)刷新是行缓冲,行缓冲通常用于标准输入输出(控制台上打印和输入我们通常输入enter linux本质就是’\n’,windows 是 ‘\r\n’),//但我们现在是往网卡/网络文件中写(全缓冲,不会受到’\n’影响)

2024-09-30 12:54:43 791

原创 2.6.2 网络套接字章 UDP服务器客户端

操作系统用文件这样的概念,来管理一些软硬见资源,比如把键盘插到电脑上,键盘会被当做文件来处理,操作系统也是使用文件的方式来管理网卡的,表示网卡的这类文件我们就称为Socket文件。java 中的 socket对象,就对应系统里的socket文件(最终会落到网卡上,java做了封装)代表了系统中设定的 UDP 数据报的二进制结构 (java做了封装)要进行网络通信,就必须得先有 socket 对象。,这是一个Socket对象。表示了一个UDP数据报.

2024-09-30 12:54:00 1056

原创 2.6.1 网络编程套接字章 网络编程套接字概念

写一个程序,让这个程序可以使用网络通信这里我们就需要调用传输层的api(传输层及一下的api都是实现好的了)

2024-09-30 12:53:16 328

原创 2.5.2 网络原理章 网络通信基础

真实世界的情况为这个模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

2024-09-30 12:48:23 980

原创 2.5.1 网络远离章 网络的基本概念

局域网内的主机之间能方便的进行网络通信,机房内局域网,即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。

2024-09-30 12:46:41 448

原创 2.4.3 文件操作章 文件系统操作--File概述

【代码】2.4.3 文件操作章 文件系统操作--File概述。

2023-11-27 21:28:07 846

原创 2.4.2 文件操作章 文件内容的读写--数据流

说明InputStream 只是一个抽象类,要使用还需要具体的实现类。关于 InputStream 的实现类有很多,基本 可以认为不同的输入设备都可以对应一个 InputStream 类,我们现在只关心从文件中读取,且读取的文件不一定是.txt所以使用抽象方法修饰符及 返回值类 型方法签名说明intread()读取一个字节的数据,返回 -1 代表已经完全读完了(读到eof了)int最多读取 b.length 字节的数据到 b 中,返回实际读到的数量;-1 代表以及读完了int。

2023-11-27 21:25:36 754

原创 2.4.1 文件操作章 文件概念

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不 代表真实存在该文件.文件系统上存储的文件,具体来说又分两大类。

2023-11-27 21:25:05 371

原创 2.3.11 多线程章 JUC的常见类

concurrent 就是并发---->围绕多线程展开。

2023-11-20 16:04:20 49 1

原创 2.3.10 多线程章 CAS和原子类

CAS 关键点是比较 寄存器1 和内存的值 ,通过判断是否相等而决定是否修改,如果相等就修改,但是真的一定是没被修改吗?,可能别的线程修改后又改了回来–这就是ABA问题。

2023-11-20 16:03:23 31 1

原创 3.3.9 多线程章 锁的策略

这里的锁不是某个具体的锁,是个抽象的概念,描述的是锁的特性,描述的是"一类锁"

2023-11-20 16:01:35 25 1

空空如也

空空如也

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

TA关注的人

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