自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 垃圾回收相关知识(垃圾回收算法及垃圾收集器)

文章目录前言一、如何判断对象已死/是垃圾?1. 引用计数算法2. 可达性分析算法二、垃圾回收算法1. 标记-清除算法2. 复制算法3. 标记-整理算法4. 分代收集算法三、垃圾收集器1.CMS:老年代收集器2.G1收集器(唯一一款全区域的垃圾回收器)四、JMM1.如何划分2.回顾volatile作用前言上面写了Java运行时内存的各个区域。对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言,其生命周期与相关线程有关,随线程而生,随线程而灭。并且这三个区域的内存分配与回收具有确定性(当方法结束或者线程

2022-05-13 11:17:58 570

原创 类加载过程以及类加载的机制(双亲委派模型)

一、类加载的时机java 类名:java程序的入口类,需要先执行类加载,再执行main()运行时,执行静态方法调.

2022-05-08 22:13:57 926

原创 浅谈JVM运行时数据区及其中的异常问题

文章目录一、Java虚拟机是什么二、JVM运行流程三、JVM运行时数据区1.堆(线程共享)2.Java虚拟机栈(线程私有)3.本地方法栈(线程私有)4.程序计数器(线程私有)5.方法区(线程共享)6.内存布局中的异常问题一、Java虚拟机是什么Java虚拟机是指啥?通过“java 类名”启动一个java进程运行java.exe(启动:加载java.exe文件的内容到内存,执行其中的指令)这个静态的可执行文件(程序)——全局path路径中,找是否有一个java.exe的文件,找到就运行系统为

2022-05-08 11:34:52 571

原创 传输层重点协议(二)之UDP协议及二者对比

文章目录一、UDP协议端格式二、UDP的特点三、扩展问题四、TCP和UDP区别一、UDP协议端格式二、UDP的特点无连接不可靠: 没有任何的连接可靠机制面向数据报: 一次发送的数据报,也只能一次接收有接收缓冲区,没有发送缓冲区: 发送缓冲区: 发送端不关心接收端是否接收到数据,发送数据以后,就不管了,所以不用发送缓冲区来记录数据编号(用于重传);接收缓冲区: 接收端还是可以接收到多个数据报,接收端处理速度可能比接收到的数据慢(类似流量控制说的生产速度快于消费速度),用缓冲区就可以临时保存,

2022-05-07 10:00:04 350

原创 经典面试题:浏览器输入url,发生了哪些事情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、网络基础1.IP地址补充2.子网掩码一、网络基础1.IP地址补充IP地址,由网络号+主机号构成网络号:表示网段(一个局域网,可能是只有一个网段,也可能有多个网段)大型网络,是由多个小型网络构成的公网,就是由多个局域网构成网络号,就是标识某个网络中某个子网的主机号:标识主机(某个网络号的网络中,唯一的一台主机)Ip地址划分:A~E五类A~E类的IP地址划分中,网络号和主机号是说的范围特殊IP:主机.

2022-05-07 08:58:28 341

原创 传输层重点协议(一)之TCP协议

文章目录前言一、TCP协议段格式二、TCP协议的特点三、TCP原理1.可靠传输机制2.效率机制四、粘包问题前言这里在前言简单了解一下应用层重点协议:1.NAT: 把局域网ip转换为公网ip(路由器中的技术)2.NAPT: 把局域网主机ip+port转换为路由器公网ip+port(路由器中的技术)一、TCP协议段格式二、TCP协议的特点TCP,即Tranamission Control Protocol(传输控制协议),传输层协议流套接字:使用传输层TCP协议以下为TCP的特点(细节后

2022-05-06 20:31:24 672

原创 初识网络协议

文章目录一、关于网络通信二、网络通信基础1.IP地址2.端口号3.认识协议4.五元组三、协议分层1.OSI七层模型2.TCP/IP 五层/四层模型四、封装和分用一、关于网络通信网络通信: 网络中主机进程间的数据传输网络划分:(1)局域网一般来说,某个小范围组建的网络,内部可以传输数据典型:家里的路由器,连接多台主机(2)广域网多个局域网构建的一个大型网络全球公认的广域网(一般是通过网络运营商提供的网络服务,来访问):公网,外网——广域网的子集能够ping通,就是可以访问对应主机一个

2022-05-03 16:56:43 1289

原创 关于文件操作和IO

文章目录前言一、IO的特性二、Java中操作文件1.File概述三、文件内容的读写——数据流1.InputStrean概述2.FileInputStream概述总结前言IO操作:文件操作——文件IO(对硬盘上的文件进行操作)网络IO:网络通信,接收数据: 主机网卡接收到数据,转发到对应端口(url中包含端口字段),由进程来接收;发送数据: 进程把发送的数据,转发到对应端口,再发送到网卡,再发送到远程主机我之前写到web开.

2022-05-03 11:35:55 285

原创 多线程进阶(Callable接口、JUC、线程安全的集合类以及死锁)

文章目录一、Callable接口二、JUC的常见类1.Lock系统2.CountDownLatch3.信号量Semaphore4.相关面试题三、线程安全的集合类四、死锁1.什么叫死锁2.如何避免死锁3.如何检测程序是否出现死锁4.如何解决死锁五、web开发中的多线程一、Callable接口类似Runnable,用于定义任务的描述接口但是提供一个返回值,可以用于获取线程执行的结果例如:int i=0;Thread t = new Thread(new Runnable(){ public vo

2022-05-02 15:28:51 464

原创 多线程进阶(常见的锁策略、CAS以及Synchronized原理)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、常见的锁策略1.乐观锁 VS 悲观锁2.自旋锁(Spin Lock)3.重量级锁 VS 轻量级锁4.可重入锁5.独占锁6.非公平锁 VS 非公平锁二、CAS1.什么是CAS2.CAS原理3.CAS的应用4.CAS的ABA问题三、Synchronized原理1.加锁工作过程2.其他的优化操作四、JUC的常见类1.Lock系统一、常见的锁策略1.乐观锁 VS 悲观锁悲观锁:大多数时间看,存在线程冲突(悲观地看待问题),每.

2022-05-02 09:04:05 275

原创 浅谈线程通信以及多线程的相关案例(阻塞式队列、线程池)

文章目录一、线程通信二、实现面包房案例三、阻塞式队列1.阻塞队列是什么2.生产者消费者模型3.阻塞队列实现四、线程池1.相关api线程池的工作流程五、定时器一、线程通信线程是并发并行执行,表现是线程间随机执行线程是共享Java进程的内存,可以使用共享变量为什么还需要线程通信?由于线程之间是抢占式执行的,因此线程之间执行的先后顺序难以预知但是实际开发中有时候我们希望合理的协调多个线程之间的执行先后顺序假如有这样一个场景:Java中,设置进程的优先级(setPriority)不行!因为判断

2022-05-01 10:53:37 342

原创 线程安全问题

三、线程安全(重点)对于多个线程,操作同一个共享数据(堆里边的对象,方法区中的数据,如静态变量)如果都是读操作:没有赋值操作,只是获取值——没有安全问题如果一个读,一个写多个写(至少一个线程写操作,就会存在线程安全问题)产生线程安全的原因:原子性: 表示一组操作(可能是一行或多行代码),是不可拆分的最小执行单位,就表示这组操作是原子性的某个线程对共享变量的多次操作,中间存在并发并行执行其他线程的对同一个共享变量的操作,就不具有原子性例子1:例子2:public class

2022-04-30 10:52:02 363

原创 线程常用api以及线程的状态

文章目录一、Thread常用api1.activeCount()2.run()3.start()4.static Thread currentThread()5.getName()6.static void sleep(long millis)7.static void yield()8.isAlive()9.getPriority()(了解)10.isDaemon()11.中断一个线程12.join()二、线程的状态一、Thread常用apiThread中有静态方法,实例方法当前线程——某个执行

2022-04-27 21:20:52 705

原创 如何创建线程以及多线程的特征/优势

多线程Java中的线程,是以轻量级进程来实现的其他语言,可以是其他方式来实现,比如go,是协程的方式来实现(用户自己编写程序来实现线程,及线程的调度)进程和线程的关联关系:进程包含线程,一个进程至少包含一个线程进程是系统分配资源的最小单位(基本单位),线程是操作系统调度cpu执行的最小单位(基本单位)进程状态的改变会耗费很多时间,线程的效率更.

2022-04-26 20:34:46 236

原创 Linux常用命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Linux背景知识二、Linux常用命令1.cd2.ls3.pwd总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Linux背景知识Linux是一个操作系统,和Windows是“并列”的关系和windows同级的操作系统:unix、li.

2022-04-24 08:26:11 505

原创 Java项目——个人博客系统

文章目录一、项目背景二、项目功能三、项目的基本流程1.准备工作2.数据库设计3.准备前端页面4.实现前端匹配的Servlet所需功能5.项目难点6.存在缺陷一、项目背景在学习完JavaWeb相关知识后,有了基础能力就想通过完成一个Javaweb项目来回顾和加强已经学过的知识,并且希望在这个过程中发现自己的不足并加以改正。由于之前一直都在优快云上分享自己的学习过程,对优快云博客系统的功能有了一定的了解,因此便尝试完成了个人博客系统。二、项目功能1.用户登录:2.用户主页:3.查看全文:

2022-03-11 15:16:59 24824 18

原创 动态网页的模板引擎

文章目录一、什么是模板引擎?二、流程三、Thymeleaf使用流程1.通过maven引入依赖2.创建html版本文件3.编写Servlet代码四、Thymeleaf模板语法1.设置标签属性五、只创建一个引擎实例1.什么是ServletContext?2.什么是监听器(Listener)一、什么是模板引擎?jdbc预编译的操作命令对象,类似模板引擎:select * from emp where id=?这里的?就是占位符这整个就相当于模板preparedStatement.setInt..

2022-02-27 21:22:04 825

原创 Cookie和Session

文章目录一、Cookie二、Session一、Cookie客户端保存数据的技术,存放在本地硬盘浏览器指定的某个目录如何设置Cookie:服务端返回的响应头Set-Cookie:xxx=xxx(Cookie数据格式,也是多组键值对)如何使用Cookie:本地保存的Cookie数据,每次请求都携带在请求头Cookie:xxx=xxx(和网站路径:ip或域名绑定)二、Session服务端保存会话数据的技术web服务器启动后,创建了一个Map<String,Session>这..

2022-02-26 21:28:17 377

原创 Servlet响应[httpServletResponse]

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2022-02-26 20:15:08 2522

原创 Servlet获取请求 [HttpServletRequest]

文章目录前言一、重点方法1.了解方法2.getParamter二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、重点方法1.了解方法System.out.println("请求协议名:"+req.getProtocol())

2022-02-23 17:43:01 1479

原创 Maven的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、项目构建工具二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、项目构建工具作用:编译:编译时和运行时的程序结构,可能是不一样的(web服务器开发体现更明显)依赖管理:可以通过配置来使用相同的依赖,构造工具

2022-02-19 17:54:31 257

原创 Tomcat的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、Tomcat是什么?二、Tomcat的使用1.目录结构2.启动服务器3.部署web应用一、Tomcat是什么?web服务器:提供web(http、https)服务器程序。web服务器产品有很多,Tomcat是其中应用非常广泛的一个产品针对web开发,我们已经了解过客户端和服务端(二者都是主机中的应用程序)客户端:浏览器服务端:web服务器二者使用HTTP、HTTPS(相当于约定好了双方通信的协议)web服务

2022-02-19 16:51:44 5691

原创 谈谈HTTPS的加密过程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、HTTPS是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、HTTPS是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下

2022-02-18 15:24:51 518

原创 通过form表单、ajax构造HTTP请求

文章目录一、通过form表单构造HTTP请求二、通过ajax构造HTTP请求1.发送GET请求2.发送POST请求3.封装ajax方法一、通过form表单构造HTTP请求form(表单)是HTML中的一个常用标签,可以用于给服务器发送GET或者POST请求不要把form拼写成fromform的重要参数:action:构造的HTTP请求的URL是什么method:构造的HTTP请求的方法是GET还是POST(form只支持GET和POST)<!-- form表单提交数据到服务..

2022-02-17 17:18:35 3659 1

原创 关于HTTP中的“方法”和响应“状态码”

文章目录一、认识“方法”1.GET方法2.POST方法3.其他方法二、认识请求“报头”(header)三、HTTP响应详解认识“状态码”1.200 OK2.404 Not Found3.304 Not Modified4.403 Forbidden5.405 Method Not Allowed6.500 Internal Server Error7.504 Gateway Timeout8.302 Move temporaily9.301 Moved Permanently10.状态码总览一、认识..

2022-02-17 17:12:51 1718

原创 初识HTTP

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、HTTP是什么?二、理解客户端和服务端交互的过程三、HTTP协议格式2.读入数据总结一、HTTP是什么?处于应用层的协议应用层:客户端和服务端的应用程序,所在的网络分层,这样两个程序处于应用层(网络分层的同一层),需要使用相同的应用层协议(http就是应用层其中一种协议)协议:http自己的文本格式HTTP诞生于1991年,目前已经发展为最主流使用的一种应用层协议目前我们主要使用的还是HTTP1.1和HTTP2

2022-02-17 17:05:14 1850

原创 初识网络原理

文章目录一、网络划分1.局域网2.广域网3.网络通信二、IP地址1.格式三、端口号四、协议一、网络划分1.局域网使用某些网络设备连接多台主机,这些主机就可以互相通信,即互相访问对方提供的资源,如:html网页css文件js文件图片视频音乐注意:如果局域网没有连接到公网,局域网中的主机,就不能访问公网的资源2.广域网大家公认的开放的网络,连接上的主机都能访问3.网络通信通过网络,获取在网络中的某个主机上的某个资源二、IP地址标识网络上某个主机的网络地址1.格式分为..

2022-02-10 15:38:31 1384

原创 多张动图带你详细了解JavaScript[WebAPI]

文章目录一、WebAPI背景知识1.什么是WebAPI2.什么是API二、DOM基本概念1.什么是DOM2.DOM树三、获取元素1.querySelector2.querySelectorAll四、事件初识1.基本概念2.事件三要素3.简单示例五、操作元素1.获取/修改元素内容2.读入数据总结一、WebAPI背景知识1.什么是WebAPI前面学习的JS分成三个大的部分ECMAScript:基础语法部分DOM API:操作页面结

2022-01-25 17:38:10 1237

原创 JavaScript[基础语法]

文章目录一、初识JavaScript1.JavaScript是什么2.JavaScript运行过程3.JavaScript的组成二、前置知识1.第一个程序2.JavaScript的书写形式三、输入输出1.输入:prompt2.输出:alert3.输出:console.log2.读入数据总结一、初识JavaScript1.JavaScript是什么JavaScript(简称JS)是世界上最流行的编程语言之一是一个脚本语言,通过解

2022-01-22 16:10:48 8062

原创 CSS[元素显示模式、盒模型、弹性布局相关讲解]

文章目录一、Chrome调试工具--查看CSS属性二、元素的显示模式1.块级元素2.行内元素/内联元素3.行内元素和块级元素的区别4.改变显示模式三、盒模型1.边框2.内边距3.外边距4.去除浏览器默认样式四、弹性布局1.初体验2.flex布局基本概念3.常用属性一、Chrome调试工具–查看CSS属性1.打开浏览器有两种方式可以打开Chrome调试工具直接按F12键鼠标右键页面=>检查元素2.标签页含义elements查看标签结构console查看控制台source查看..

2022-01-19 21:20:24 588 2

原创 CSS[基本语法、选择器以及常用元素属性讲解]

一、CSS是什

2022-01-19 21:18:30 509

原创 HTML基础2:其他标签(表格、列表、表单标签)

文章目录一、表格标签1.基本使用2.合并单元格二、列表标签三、表单标签1.from标签2.input标签3.label标签4.select标签5.textarea标签四、无语义标签:div&span五、Emmet快捷键六、HTML特殊字符一、表格标签1.基本使用table标签:表示一个表格tr:表示表格的一行td:表示一个单元格th:表示表头单元格,会居中加粗thread:表格的头部区域(注意和th区分,范围是比th要大的)tbody:表格得到主体区域table包含tr,..

2022-01-11 16:57:42 972 5

原创 HTML基础1:[常见标签]

文章目录前言一、HTML结构1.认识HTML标签2.HTML文件基本结构3.标签层次结构4.开发者工具二、使用步骤1.引入库2.读入数据总结前言要开发一个网站,需要学习的技术:(1)前端——网页相关的前端三剑客:html(页面的元素,如按钮、下拉菜单等等)css(页面的样式)javascript(用户交互的动态的动作)更形象的方式形容这三个:html是骨,css是皮,javascript是魂。(2)后端Java w

2022-01-11 15:54:04 1393 1

原创 MySQL:JDBC编程

文章目录前言一、数据库编程的必备条件二、Java的数据库编程:JDBC三、JDBC工作原理四、JDBC开发步骤五、JDBC操作步骤五、优化JDBC的部分代码1.获取数据库连接对象2.操作命令对象Statement总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、

2022-01-07 13:01:48 1870 5

原创 动态规划1:概念及简单例题[入门篇]

文章目录前言一、概念篇1.定义2.特点3.本质二、使用步骤1.引入库2.读入数据总结一、概念篇1.定义动态规划是分治思想的延伸,通俗的来说就是大事化小,小事化无的艺术。在将大问题化解为小问题的分治过程中,保存对这

2022-01-05 17:55:09 282

原创 MySQL索引事务

文章目录一、索引1.概念2.作用3.缺陷4.使用场景5.使用6.案例二、事务1.为什么使用事务2.事务的概念3.使用4.特性一、索引1.概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针,可以对表中的一列或者多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现.(这里对于索引也只是简单了解,写了些皮毛)更浅显易懂的来说:数据库的数据保存在硬盘,硬盘不知道具体保存在哪个位置,索引就是用来告诉硬盘数据在哪个位置.2.作用数据库中的表、数据、索引之间的关系,类似于书架上的图..

2021-12-28 21:51:24 418 2

原创 MySQL表的增删改查(进阶)

文章目录前言一、数据库约束1.约束类型二、表的设计1.一对一2.一对多3.多对多2.一对多三、新增四、查询1.聚合查询一、数据库约束1.约束类型1.NOT NULL: 指示某列不能存储NULL值-- 创建一个学生

2021-12-25 19:38:50 1017

原创 数据库的增删改查功能详解(初阶)

文章目录一、SQL注意事项二、新增(Create)1.单行数据+全列插入2.多行数据+指定列输入三、查询(Retrieve)1.创建一个案例2.全列查询3.指定列查询4.查询字段为表达式5.别名6.去重:DISTINCT7.排序:ORDER BY8.条件查询:WHERE9.分页查询:LIMIT四、修改(Update)五、删除(DELETE)一、SQL注意事项1.在命令行工具写sql时,最后用“;”表示结束整个语句;本质是输入“;”+回车,客户换才会发送sql语句到服务端,由服务端执行这条语句2...

2021-12-03 11:00:44 4697

原创 解决哈希冲突——闭散列和开散列(数据结构)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、闭散列二、开散列1.引入库2.读入数据三、再散列(了解)前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、闭散列当发生哈希冲突时,从发生哈希冲突的位置开始按照某种方式找“下一个”空位置。1.通过哈希函数计算哈希地址2.插入元素----注意:可能

2021-11-29 11:01:18 1616 1

原创 详解二叉搜索树的查找、插入、删除操作(数据结构)

文章目录一、概念二、操作——查找三、操作——插入四、操作——删除(难点)一、概念二叉搜索树又称二叉排序树,它可能是一棵空树,也可能是具有以下性质的二叉树:1.若它的左子树不为空,则左子树上所有结点的值都小于根结点的值2.若他的右子树不为空,则右子树上所有结点的值都大于根结点的值3.它的左右子树也分别为二叉搜索树例如下图:二、操作——查找步骤:1.假如根结点不为空:如果根结点.key==查找.key,返回true如果根结点.key>查找.key,在其左子树中查找..

2021-11-26 19:25:12 2279 2

空空如也

空空如也

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

TA关注的人

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