自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么会有websocket(由来)

用户在使用淘宝、京东这样的网站的时候,每当点击一个按钮其实就是发送一个http请求。那我们先来回顾一下http请求的请求方式。但是有的时候我们在玩一些单机游戏的时候,游戏上的人物总是能将供给数据发送给我们,那么像是这种服务器主动给浏览器不断发送数据的场景是怎么实现的呢?

2024-05-28 21:24:12 1189

原创 java死锁

System.out.println(Thread.currentThread().getName()+"获取了资源A的锁");try {System.out.println(Thread.currentThread().getName()+"获取了资源B的锁");}).start();System.out.println(Thread.currentThread().getName()+"获取了资源A的锁");try {

2024-04-19 00:11:55 616

原创 并发执行一定比串行执行快吗?

在多线程编程中一般线程的个数都大于cpu的核心数,而一个cpu核心在任意时刻都只能被一个线程使用,CPU通过时间片分配算法来循环执行线程,当前线程执行完一个时间片后会切换到下一个线程。但是,在切换前会需要保存上一个线程的状态,以便下次切换回这个线程时,可以再加载这个线程的状态。所以线程从保存到再加载的过程就是一次上下文切换。CPU分配给各个线程的时间非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几到几十毫秒(ms)。

2024-04-19 00:07:21 1471

原创 synchronized到底锁住的是谁?

我们使用synchronized关键字是用来实现线程同步的,当多个线程同时去争抢同一个资源的时候在资源上边加一个synchronized关键字,能够使得线程排队去完成操作。

2024-04-04 19:44:22 954

原创 java的 static和this关键字

类当中只有关于信息的定义而对象有这些信息的值类是对象的模板,我们可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼,由类构造对象的过程叫做类的实例化。

2024-03-24 08:00:00 908

原创 计算机底层结构

人类的祖先从树上下来以后开始了一轮新的生存挑战。与其他动物相比人类没有尖牙厉爪,只能去发展大脑,随着大脑的发展人类逐渐的站在了食物链的顶层。但是受制于人类活动和自然因素的发展,许多大型动物越来越少,所有人类从最开始的狩猎生活逐步发展成了定居的生活,人类开始种植粮食和养殖一些动物,那么统计和记录这些动物的方式就出现了。

2024-03-24 00:15:24 1318

原创 并发编程所需的底层基础

并发编程所需的底层基础

2024-03-21 08:00:00 1041

原创 线程和进程的区别和联系

一个线程就是一个指令流,将指令集合中的一条条的指令以一定的顺序交给CPU去执行。线程指的是进程中一个单一顺序的控制流。线程是进程中真正执行任务的基本单位。线程是操作系统进行运算调度的最小单元,它是进程的子任务,用于保证程序的实时性,实现进程内部的并发,它不能独立拥有系统资源,但它可与同属一个进程的其他线程共享该进程所拥有的全部资源。

2024-03-20 00:23:46 1233

原创 深入学习NIO三大核心:缓冲区 Buffer、通道Channel、Selector选择器

通道(Channel)是java.nio的第二个创建概念。Channel用于在缓冲区和位于通道另一侧的实体(通常是一个文件或者是一个套接字)之间有效的传输数据。只不过Channel本身不能直接访问数据,Channel只能和Buffer进行交互。NIO的通道和流的区别通道可以同时进行读写,但是流只能读或者只能写通道可以实现异步读写数据通道可以从缓冲读取数据,也可以写数据到缓冲区;BIO中的stream是单向的,

2024-03-19 00:47:37 1638

原创 NIO简介以及用NIO实现一个群聊系统

NIO简述并用NIO实现一个聊天系统

2024-03-19 00:24:34 743

原创 mybatis注解开发和事务配置以及mybatis缓存

mybatis注解开发

2024-03-18 08:00:00 1923

原创 Java BIO (同步阻塞型IO)

java BIO学习上集

2024-03-18 00:03:44 1165

原创 Mybatis的简介和实现增删改查

Mybatis的简介和实现增删改查以及sql注入

2024-03-16 08:00:00 909

原创 mybatis实现动态sql和关联映射以及延迟加载策略

mybatis实现动态sql和关联映射以及延迟加载策略

2024-03-16 00:13:35 1094

原创 SpringMVC基本原理

SpringMVC原理解析

2024-03-15 08:00:00 755

原创 SpringMVC请求、响应和拦截器的使用

SpringMVC请求、响应和拦截器

2024-03-15 00:02:39 1443 1

原创 Spring框架--IOC容器全集

IOC容器全集

2024-03-14 08:30:00 1562

原创 Spring框架----AOP全集

Spring框架AOP全集

2024-03-14 00:01:50 815 2

原创 java中的集合(List、Set、Map集合使用大解析)

List、Set、Map集合使用大解析

2024-03-13 08:45:00 1512

原创 java中的代理模式

java代理模式的学习:静态代理、JDK动态代理、CGLIB动态代理

2024-03-13 00:17:43 1924

原创 JDBC详解

JDBC详解 + SQL注入相关问题

2024-03-12 08:49:21 1057

原创 mysql5.6---windows和linux安装教程和忘记密码怎么办

解压完成之后将其放到你喜欢的地址当中去,这里我默认放在了D盘,这是我的根目录。

2024-03-12 08:48:53 1822

原创 算法学习---栈和队列算法学习

栈和队列常见算法题10道

2024-03-11 11:32:04 671

原创 算法学习---双指针算法

算法学习--双指针算法

2024-03-11 11:06:55 841

原创 CSS重点

CSS学习重点

2024-02-26 10:05:15 3197

原创 盒子模型与布局理论知识

盒子模型与布局理论知识

2024-02-25 14:15:56 1490

原创 前端学习---- 前端HTML基本元素的介绍

前端HTML基本元素的介绍

2024-02-25 13:56:28 1792 1

原创 JVM运行时数据区域

JVM运行时数据区域

2024-02-21 08:43:41 2316

原创 Servlet原理学习

全网最全的servlet学习资料

2024-02-19 10:57:03 3422

原创 MySQL事务的概念

详尽的Mysql事务的学习

2024-02-18 09:07:18 1640

原创 Linux指令学习

linux指令学习

2024-02-17 08:56:25 544

原创 sql语句学习--增删改查sql语句

基础sql语句学习,查询语句

2024-02-15 20:46:45 4810 2

原创 哈夫曼树和哈夫曼编码

一、在通讯领域中信息处理的方式(1)定长编码我们要传输一条数据:i like like like java do you like a java //共40个字符通过Ascii码将其转化为对应的二进制形式http://tool.alixixi.com/ascii2/按照二进制来传递数据,总长度为359(包括空格)通常我们不会这么去做,主要是因为我们要传输的数据太长了,很不划算(2)变长编码我们要传输一条数据:i like like like java do you like a

2021-06-25 17:45:41 1188 1

原创 B树的简介

一、认识2-3查找树二叉排序树简单的实现在多数情况能够达到预期的查找效率,但是每个节点只能存储一个元素和只能有两个孩子,使得在大量数据下会造成二叉排序树的深度特别大,那么在进行查找时多次的访问会造成查找效率的下降,同时,在对二叉查找树进行插入时,可能会破坏二叉查找树的平衡。为了降低对于树的访问次数,实现树的平衡,我们需要新的数据结构来处理这样的问题。2-3查找树的定义2-节点包含一个键(及其对应的值)和两条链,左连接指向2-3树中都小于该节点,右链接所指向的值都大于该节点。3-节点包含两个键(及

2021-06-24 17:12:19 496

原创 linux安装Nginx并实现反向代理和负载均衡

一、linux安装Nginx首先准备2台linux虚拟机,安装jdk和tomcat(略),并保证tomcat处于开启状态下载完成之后,把它上传到服务器上,我这里上传到服务器的/opt这个位置上.开始安装Nginx1. 使用命令 tar -zxvf nginx-1.14.2.tar.gz 进行解压nginx 得到2.Nginx 安装环境Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境.1)gcc安装nginx需要先将官网下载的源码进行编译,编译依

2021-01-01 18:07:14 234

原创 认识jdk、jre和JVM

首先我们新建一个名为Hello.java的文件,然后进行运行首先我们需要键盘上的windows键 + R键,然后输入cmd这里边我们用到了两个java命令分别是 javac和java这两个命令javac命令:编译命令,生成 .class文件java命令:执行命令,执行 .class文件下图是我们java文件的加载流程不同的操作系统上有不同的虚拟机,JVM屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。JDK 和 JRE和JVM的联系JDK 它包含JRE,还包括编译器(ja

2020-12-17 17:53:49 363 1

王道408计算机组成原理笔记整理!

根据408王道考研计算机组成原理的视频,制作的计算机组成原理的笔记!2024考研的同学们可以自取

2024-02-14

空空如也

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

TA关注的人

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