自定义博客皮肤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)
  • 问答 (3)
  • 收藏
  • 关注

原创 [18]JAVAEE-一文搞懂HTTPS协议

HTTPS是基于HTTP的一个协议,比HTTP多了一个“加密层”,简单来说,HTTPS=HTTP+加密层。

2023-10-29 14:00:00 443 2

原创 [17]JAVAEE-HTTP协议

描述了浏览器要访问的服务器是谁,这里写的不仅仅是地址,还可以是端口号,一般来说,URL和Host中的域名是一致的,但当我们访问的服务器不能直接访问,而是需要通过代理访问,就不一致了,URL表示当前访问的服务器,HOST表示最终访问的服务器。Cookie是浏览器在本地存储用户自定义数据的一种关键机制,Cookie的值也是键值对,这些键值对,都是开发者自定义的键值对,不同的网站,会根据不同的需求自行定义这里的键值对。描述了用户使用的客户端的操作系统的版本,这个键值对最大的作用是区分PC端和PE端。

2023-10-27 14:00:00 695 1

原创 [16]从零开始的JAVAEE-网络层

对于网络号和主机号的划分,主要分为两类。

2023-10-20 12:00:00 69 1

原创 [15]从零开始的JAVAEE-TCP

如同前文的UDP一样,TCP也是传输层提供给应用层的一组API,其特点是有连接可靠传输面向字节流全双工其特点的具体说明可移步前文TCP协议中,通信双方互相建立连接和结束连接的过程是较为复杂的,简单可以分为以下两种三次握手三次握手指的是,客户端和服务端之间,通过三次交互,完成建立连接的过程syn:同步报文段,是一方向另一方发起申请建立连接的请求简单来说可以这样理解,你向你的女朋友表白(syn)你->女朋友:我喜欢你,可以做我的唯一吗?(ack)女朋友->你:我愿意。

2023-10-18 09:24:35 61 1

原创 [14]从零开始的JAVAEE-UDP

/构造一个空的socket对象//构造器:因为是服务端,需要指定分配一个端口号。

2023-10-09 08:46:33 73 3

原创 [12]从零开始的JAVAEE-文件操作的一些案例

在我们的电脑中有很多的目录,每个目录中又存在许多文件,每个文件里又有许多的内容,现在假定某些文件中包含hello_world这个关键词。我们写一个程序,找出哪些文件中包含这些关键词。

2023-07-21 10:00:00 31 1

原创 [13]从零开始的JAVAEE-网络协议

作为一个程序员,我们要对自己有清晰的认知,我们只是一个程序员,实际上是无法对系统内核进行修改的(也有的大佬能改但是那已经是最顶级的大佬了),当然也无法对硬件层进行修改,我们可以操作的仅仅只是应用层,所以我们主要关注的点就在于应用层,其他层的协议,我们同样也需要有一定的理解。网络传输的过程主要就是封装&&分用。

2023-07-21 10:00:00 43 1

原创 [11]从零开始的JAVAEE-文件操作和IO

在前十章中,介绍了多线程的一些操作,从第十一章开始,会进行第二个部分的讲解:文件IO操作,这也是JAVAEE中一个非常重要的板块,但难度相比较于多线程会简单许多。一、什么是文件操作硬盘(外存)内存的区别速度:内存比硬盘快很多空间:内存比硬盘空间小很多成本:内存比硬盘贵很多持久化:内存断电后数据消失,外存断电后数据还在在JAVASE、数据结构这些板块中,主要操作的是内存,而MySQL和这里的文件操作,主要操作的就是外存。

2023-07-14 10:00:00 48 1

原创 [10]从零开始的JAVAEE-JUC库常用组件(八股文内容)

3.优化了扩容策略:HashMap在扩容时,会申请内存空间,然后把元素从旧的哈希表上删除,插入到新的哈希表上,如果元素非常多,每扩容一次,成本就会非常高,导致非常卡顿。下载一个比较大的文件,如果是单线程下载,速度就远远不如多线程下载,因为我们的带宽正常情况下是无法跑满的,受限于服务器设置,但是如果把这一个文件分多个线程去跑,每一个线程都跑满实际速度,这就可以跑满带宽,下载速度也就快了很多。信号量,本质上是一个计数器,描述了当前可用资源的个数,它的主要操作在于PV操作。V操作,释放资源,计数器+1。

2023-07-12 10:00:00 134 1

原创 [09]从零开始的JAVAEE-CAS

一、什么是CAS还记得线程安全那篇博客里关于两个线程自增5万次的典型案例吗,不使用CAS,就会导致线程不安全,使用CAS,就可以避免这个问题。

2023-07-10 10:00:00 33 1

原创 [08]从零开始的JAVAEE-常见锁策略(八股文内容)

八股文之常见锁策略

2023-06-12 10:08:21 87 6

原创 [07]从零开始的JAVAEE-线程池

线程的创建,虽然相比于进程更为轻量,但在频繁创建的情况下,开销也是不可忽略的,为了提高效率,可以引入线程池,提前将线程创建好,放入池子中,后续需要用到线程时,直接从线程池中申请,用完以后还回去即可,这样就免去了一直创建销毁线程,提高了效率。

2023-06-09 11:00:00 48 6

原创 [06]从零开始的JAVAEE-定时器

定时器相当于一个闹钟,可以设定一个时间,当时间到了就可以执行一段指定代码标准库中提供的定时器Timer:在java.util包下。

2023-06-07 10:00:00 48 4

原创 [05]从零开始的JAVAEE-阻塞队列及模拟实现

生产者消费者模型为了更好的理解阻塞队列的使用常见,首先来理解这个假设现在是过年期间,大家其乐融融,围在一起包饺子假设四个滑小稽用这种模式来包饺子:自己擀一个面皮-包一个饺子。这样虽然可以完成包饺子的任务,但并不高效,并且只有一个擀面杖,四个滑小稽还需要对这个擀面杖进行竞争。为了提高效率,他们换了一种包饺子策略一个滑小稽负责擀面皮,三个滑小稽负责包生产者负责生产资源,消费者负责消耗资源,(这里的资源指的就是饺子皮)而两者需要一个交易场所进行交互资源,而这里桌子又具有这样的特性。

2023-06-05 11:00:00 90 13

原创 [04]从零开始的JAVAEE-单例设计模式

在编程语言发展的这些年中,前人踩过了无数的坑,也总结了无数宝贵的经验,试过了无数的错。而在这么多年的发展中,就有一些大佬们,针对一些常见案例,设计出来了一些代码编写的经典套路,按照这些套路来写代码,不说代码写的多好,但起码下限摆在那里,也不会差到哪去。我们把这些套路就称为设计模式设计模式有很多种,但在我们的校招阶段,重点只讨论两种:单例模式和工厂模式。

2023-06-03 11:00:00 100 4

原创 [03]从零开始的JAVAEE-线程安全

在这段代码中,t1线程创建之后执行wait方法,此时t1方法输出wait开始后阻塞等待,随后t2线程输出notify开始,然后开始执行notify,结束后输出notify结束,随后唤醒t1,输出wait结束。但是在cpu上,线程是抢占式执行的,也就是说,他们三个上厕所,并不是一个先来后到的顺序,而是需要抢的,三个人在上厕所时,谁先抢先一步进入到厕所里,谁就拿到了锁,这就是cpu的抢占式执行。不参与下一次的竞争。,所以操作2的效率会比1快很多很多倍,换而言之,在这两条cpu指令中,1的操作占了绝大部分资源。

2023-06-01 11:00:00 71 2

原创 [02]从零开始的JAVAEE-多线程编程

在上文中我们介绍了什么是进程和线程,在JAVA这门语言中,比较流行的是多线程开发,而对于多进程开发,JAVA虽然支持,但进程是一个相对来说比较重量级的存在,,且JAVA对于多进程的开发并不流行和完善,所以选择更为轻量的多线程开发更为高效。

2023-05-30 11:00:00 153 14

原创 [01]从零开始的JAVAEE-线程与进程

通俗来说,进程可以理解为计算机正在运行的程序,每一个进程都有一块独立的内存空间进程中还包含许许多多的东西程序代码数据栈上下文状态系统资源......可以按ctrl+alt+.打开任务管理器,就可以看到当前计算机中正在运行的进程。

2023-05-28 20:55:58 113 8

原创 万字图解(小白向):手把手教你从零开始理解并学会数据库!(内含八股文内容)

目录数据库介绍什么是数据库?数据库分类 关系型数据库 非关系型数据库Mysql的安装与使用常用数据类型数据库的操作显示当前数据库创建数据库选中数据库删除数据库创建表结构数据库的增删查改(CRUD)数据库表的插入全列插入 多列插入数据库表的查询1.全列查询2.单列查询3.查询列为表达式 4.别名 5.去重6.排序7.条件查询:where8.分页查询:limit数据库表的修改 数据库表的删除Delect数据库约束约束类型:NULL类型UNIQUE类型:唯一值约束DEFAULT:默认值约束PRIMARY

2023-05-16 12:27:29 507 9

原创 【JAVA】从零开始的剑指offer 01-从头到尾打印链表

很简单的啦,第一步,首先创建一个栈,然后我们回头一看 ,给出的初始代码中,方法的返回值是ArrayList<Integer>,题目中说了要返回一个数组,而顺序表的底层结构就是一个数组,显而易见,我们还需要创建一个顺序表用来接收这个链表的元素。这是我写的第一个系列,我会尽可能详细的将剑指offer-JAVA板块的所有题目从多个角度写出全面的题解,我会将其描述的简易直白,将每一段代码解释清楚,希望大家可以通过我文章对这套题目有透彻的理解,点个关注么么哒。然后就是喜闻乐见的链表遍历,别跟我说你不会这个!

2023-05-09 23:20:20 182 2

seeting.xml

seeting.xml文件

2024-03-07

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

TA关注的人

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