在线视频:MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板官方资料: 尚硅谷MySQL入门到高级-宋红康版
代码仓库Gitee:https://gitee.com/an_shiguang/learn-mysql
为什么使用索引索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教科书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一条地查找记录,直到找到与条件符合的记录。
如上图所示,数据库没有索引的情况下,数据分布在硬盘不同的位置上面,读取数据时,摆臂需要前后摆动查询数据,这样操作非常消耗时间。如果数据顺序摆放,那么也需要从1到6行按顺序读取,这样就相当于进行了6次IO操作,依旧非常耗时。如果我们不借助任何索引结构帮助我们快速定位数据的话,我们查找 Col 2 = 89 这条记录,就要逐行去查找、去比较。从Col 2 = 34 开始,进行比较,发现不是,继续下一行。我 ...
前言使用yum安装软件时始终无法找到镜像源,导致下载失败
12Error downloading packages: keepalived-1.3.5-19.el7.x86_64: [Errno 256] No more mirrors to try.
尝试更改镜像源,结果不生效而且恢复配置文件后仍提示如下错误
123456789101112131415161718192021222324252627282930313233Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured repositories failed (未知), and yum doesn't have enough ca ...
学习笔记
未读
在线视频:尚硅谷Nginx教程由浅入深(一套打通丨初学者也可掌握)
课堂资料:尚硅谷Nginx教程
代码仓库
Gitee: https://gitee.com/an_shiguang/learn-nginx
GitHub: https://github.com/Shiguang-coding/learn-nginx
Nginx介绍Nginx概述Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx作为web服务器
https://lnmp.org/nginx.html
Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50,000个并发连接数。
正向代理
在客户端(浏 ...
在线视频:尚硅谷3小时速通Docker教程,雷神带练docker部署到实战!课程资料: 尚硅谷2024新版3小时速通Docker教程雷神笔记:Docker - 快速通关 (3h)
代码仓库Gitee: https://gitee.com/an_shiguang/learn-dockerGitHub: https://github.com/Shiguang-coding/learn-docker
Docker介绍
Docker 官网: https://www.docker.com/
Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个轻量级的、可移植的容器中。
Docker优势一致的环境开发与生产环境一致性:Docker 确保应用程序在开发、测试和生产环境中运行一致。无论在哪个环境中,应用程序的行为都是相同的,因为所有的依赖项和配置都打包在容器中。
避免“在我的机器上可以运行”的问题:由于环境一致性,开发者可以避免因环境差异导致的运行问题。
隔离性资源隔离:每个 Docker 容器都是独立的,它们之间相互隔离,不会相互干扰。这意味着你可以运行多个容器, ...
在线视频:尚硅谷2024最新Java入门视频教程(下部)-JDK新特性课程资料:尚硅谷2024新版Java基础随堂代码:https://gitee.com/an_shiguang/learn-java
重点内容:Lambda表达式 Stream流
Lambda表达式函数式编程思想和Lambda表达式定义格式1234567891011121314151617181.面向对象思想:是Java的核心编程思想 强调的是找对象,帮我们做事儿 比如:去北京 -> 强调的是怎么去,火车,高铁,飞机,汽车,自行车,腿儿 2.jdk8开始又了个新的思想:函数式编程思想: 强调的是结果,不强调过程 比如:去北京 -> 只强调去了还是没去 3.Lambda表达式: 可推导的就是可省略的 a.定义格式: ()->{} b.各部分解释: () : 重写方法的参数位置 -> : 将参数传递到方法体中 {} : 重写方法的方法体
1234567891011121314 ...
在线视频:尚硅谷2024最新Java入门视频教程(下部)-网络编程课程资料:尚硅谷2024新版Java基础随堂代码:https://gitee.com/an_shiguang/learn-java
重点内容:
1.了解三次握手和四次挥手 2.客户端和服务端的交互过程 3.会使用TCP协议写一个简单的程序 4.知道正则表达式的基本使用 5.会单例模式 6.会Lombok的使用
网络编程123概述:在网络通信协议下,不同计算机上运行的程序,进行数据传输 比如:通信,视频通话,网游,邮件等 只要是计算机之间通过网络进行数据传输,就有网络编程的存在
软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、红蜘蛛、飞秋等软件。
B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐等。
两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。
服务器概念 ...
在线视频:尚硅谷2024最新Java入门视频教程(下部)-IO流课程资料:尚硅谷2024新版Java基础随堂代码:https://gitee.com/an_shiguang/learn-java
学习笔记
未读
在线视频:尚硅谷2024最新Java入门视频教程(下部)-集合课程资料:尚硅谷2024新版Java基础随堂代码:https://gitee.com/an_shiguang/learn-java
重点内容:
1.知道集合的特点以及作用 2.会使用Collection接口中的方法 3.会使用迭代器迭代集合 4.会ArrayList以及LinkedList的使用 5.会使用增强for遍历集合
集合框架(单列集合)123456789101112131.之前我们学了保存数据的有:变量,数组,但是数组定长,所以如果添加一个数据或者删除一个数据,数组并不好使,需要创建新数组,所以接下来我们学一个长度可变的容器,集合 2.集合的特点 a.只能存储引用数据类型的数据 b.长度可变 c.集合中有大量的方法,方便我们操作 3.分类: a.单列集合:一个元素就一个组成部分: list.add("张三") b.双列集合:一个元素有两部分构成: key 和 value map.put("涛哥","金莲&quo ...
在线视频:尚硅谷2024最新Java入门视频教程(下部)-多线程课程资料:尚硅谷2024新版Java基础随堂代码:https://gitee.com/an_shiguang/learn-java
重点内容: 1.会使用多线程方法,主要是start() 2.会使用继承Thread的方式创建多线程 3.会使用实现Runnable接口的方式实现多线程 4.会使用同步代码块解决线程不安全问题 5.会使用同步方法解决线程不安全问题
多线程基本了解多线程_线程和进程1进程:在内存中执行的应用程序
1234线程:是进程中最小的执行单元线程作用:负责当前进程中程序的运行.一个进程中至少有一个线程,一个进程还可以有多个线程,这样的应用程序就称之为多线程程序 简单理解:一个功能就需要一条线程取去执行
1.使用场景: 软件中的耗时操作 -> 拷贝大文件, 加载大量的资源
所有的聊天软件
所有的后台服务器
一个线程可以干一件事,我们就可以同时做多件事了,提高了CPU ...
StringBuilder与StringBuffer的区别StringBuilder 和 StringBuffer 都是 Java 中用于处理字符串的可变类,但它们之间有一些关键的区别:
1. 线程安全性StringBuffer: 是线程安全的。它的所有公共方法都是同步的(即使用了 synchronized 关键字),这意味着在多线程环境中,多个线程可以安全地访问同一个 StringBuffer 实例,而不会导致数据不一致或其他并发问题。
StringBuilder: 不是线程安全的。它的方法没有使用 synchronized 关键字,因此在多线程环境中使用 StringBuilder 可能会导致数据不一致或其他并发问题。
2. 性能StringBuilder: 由于没有同步开销,StringBuilder 在单线程环境中的性能通常比 StringBuffer 更好。如果你确定你的代码只会在单线程环境中运行,使用 StringBuilder 可以获得更好的性能。
StringBuffer: 由于方法的同步,StringBuffer 在多线程环境中的性能可能会稍差一些,但它在多线程环境中 ...