自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL面试篇章——MySQL事务

例子:一个事务在进行转账50,另一个事务zhangsan在购买理财产品,转账事务执行到zhangsan转账的时候,另一个事务购买了理财,进行读取zhangsan的金钱发现为50,但是最低需要100能买,所以zhangsan买不了,但是转账事务可能出错了,导致回滚,那zhangsan就有100,但是理财产品显示不能购买,这就是脏读(一定要杜绝)事务是一个不可分割的整体,事务必须具有原子特性,即当数据修改时,要么全部执行,要么全不执行,那不允许事务部分的完成。:说明在提交前一个事务可以看到另一个事务的变化。

2024-07-21 16:18:44 695

原创 MySQL面试篇章——MySQL索引

当表中的数据量到达几十万甚至上百万的时候,SQL查询所花费的时间会很长,导致业务超时出错,此时就需要用索引来加速SQL查询。由于索引也是需要存储成索引文件的,因此对索引的使用也会涉及到磁盘I/O操作。如果索引创建过多,使用不当,会造成SQL查询时,进行大量无用的磁盘I/O操作,降低了SQL的查询效率,适得其反,因此需要掌握良好的索引创建原则!

2024-07-21 14:43:17 956

原创 MySQL面试篇章——MySQL存储引擎

MEMORY 类型的表访问非常快,因为它的数据是放在内存中的,并且默认使用 HASH 索引(不适合做范围查询),但是一旦服务关闭,表中的数据就会丢失掉。索引缓存和数据缓存:和 MySQL Server 的查询缓存相关,在没有对数据和索引做修改之前,重复查询可以不用进行磁盘I/O(数据库的性能提升,目的是为了减少磁盘I/O操作来提升数据库访问效率),读取上一次内存中查询的缓存就可以了。事务:多个SQL语句,保证它们共同执行的原子操作,要么成功,要么失败,不能只成功一部分,失败需要回滚事务。

2024-07-17 11:36:24 367

原创 MySQL面试篇章——MySQL核心SQL(基本语法)

扩展:group by 查询慢,explain 分析发现是 Using temporary,即产生了一个临时表,因此最好给分组列添加索引。数据控制语句,用于控制不同的许可和访问级别的语句。每次的 insert 操作都会有一个数据库连接操作,是占用资源的,一次连接完成的事情肯定比多次连接完成的事情所花费的时间短。数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括。低,pageNum的偏移所花费的性能,要先偏移到对应的位置,在进行分页拿去后面的数据记录。

2024-07-17 11:05:21 967

原创 MySQL面试篇章——MySQL基础复习

关系型数据库:建立在关系模型的基础上的数据库。数据被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)table:二维表(行:记录;列:字段/属性)熟悉的关系型数据库还有SQL Server、Oracle、MariaDB、DB2MySQL区别于其它关系型数据库很大的一个特点就是支持插件式的存储引擎,支持如InnoDB, MyISAM,Memory等MySQL的服务器模型采用的是I/O复用+可伸缩的线程池,是实现网络服务器的经典模型(磁盘I/O操作会极大的影响速率)关系。

2024-07-16 21:03:47 698

原创 算法通关村第一关—白银挑战—链表高频面试算法题—查找两个链表的第一个公共子节点

算法通关村第一关—白银挑战—链表高频面试算法题—查找两个链表的第一个公共子节点

2023-12-01 17:59:14 304

原创 算法通关村第一关—青铜挑战—用Java基本实现各种链表操作

算法链表是一种用于解决问题的数据结构,它包含了多个节点,每个节点都包含了一个值和一个指向下一个节点的指针。与数组不同,链表的节点在内存中不是连续存储的,而是通过指针链接在一起。通过使用算法链表,可以实现各种常见的算法操作,如插入、删除、查找等。由于链表的特殊结构,插入和删除操作的时间复杂度为O(1),而查找操作的时间复杂度则为O(n)。链表还可以用来解决一些特殊的问题,比如反转链表、判断链表是否存在环以及找到链表的中间节点等。这些问题在实际开发中经常会遇到,并且链表的特性使得解决方案变得相对简单。

2023-11-29 21:46:04 303

原创 JavaWeb之Cookie和Session

:::tips:::tips方案二:::tipsCookie的生命控制指的是如何管理Cookie什么时候被销毁(删除):::tips**setMaxAge() ****正数,表示在指定的秒数后过期 ****负数,表示浏览器一关,Cookie 就会被删除(默认值是-1) **零,表示马上删除 Cookie用的是格林时间:::Cookie的path属性可以有效的过滤哪些Cookie可以发送给服务器,哪些不发path属性是通过请求的地址来进行有效的过滤:::tips**Co

2023-06-24 19:15:36 415

原创 JavaWeb之文件的上传和下载

基本操作:要有一个form标签,method=post请求form标签的encType属性值必须为multipart/form-data值在form标签中使用 input type=file 添加上传的文件编写服务器代码(Servlet程序)接受,处理上传的数据提示:encType=multipart/form-data表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼接,然后以二进制流的形式发送给服务器对于文件上传的方式,有很多第三方类已经很好的完成了。

2023-06-21 12:59:44 313

原创 JavaWeb之EL表达式和JSTL标签库

EL表达式的全称是:Expression Language,是表达式语言EL表达式的作用:EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出因为EL表达式在输出数据的时候,要比jsp的表达式脚本要简洁很多不存在的情况,EL表达式和表达式脚本输出不同EL表达式在输出null值得时候,输出的是空串,jsp表达式脚本输出null值的时候,输出的是null字符串:::infoEL表达式的格式:${表达式}:::JSTL由五个不同功能的标签库组成功能范围URI前缀。

2023-06-21 12:57:27 235

原创 JavaWeb之JSP

::tipsJSP的全称是Java Server Pages,Java的服务器页面JSP的主要作用就是代替Servlet程序回传html页面的数据因为Servlet程序回传html页面数据是一件非常繁琐的事情。开发成本和维护成本都极高Servlet回传html页面数据//通过响应的输出流回传html页面数据 resp . setContentType("text/html;writer . write(" 这是html页面数据>\r\n");} }

2023-06-14 13:24:24 1535

原创 JavaWeb之Servlet

Servlet是JavaEE规范之一,规范就是接口Servlet程序、Filter过滤器、Listener监听器Servlet是运行在服务器上的一个java小程序,它可以接受客户端发送过来的请求,并响应数据给客户端ServletConfig类从类名上来看,就知道是Servlet程序的配置信息类Servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责调用。

2023-06-14 12:49:03 779

原创 JavaWeb之Tomcat

JavaWeb是指所有通过Java语言编写可以通过浏览器访问的程序的总称,叫JavaWebJavaWeb是基于请求和响应来开发的请求是指客户端给服务器发送数据,叫请求Request响应是指服务器给客户端回传数据,叫响应Response:::tipsbin:专门用来存放 Tomcat 服务器的可执行程序conf:专门用来存放 Tocmat 服务器的配置文件lib:专门用来存放 Tomcat 服务器的 jar 包logs:专门用来存放 Tomcat 服务器运行时输出的日记信息。

2023-04-25 17:15:20 928

原创 XML技术

有两组数据转换成xml格式::::tipsXML的作用::::tips以上的格式就是xml的声明,version是版本的意思,encoding是文件编码格式:::xml文件可以在浏览器中显示:::tipshtml标签:格式:封装的数据单标签: 换行 :::tips元素是指从开始标签到结束标签的内容例如:Java编程思想::::::tipsxml的标签属性和html的标签属性是非常类似的,属性可以提供元素的额外信息在标签上可以书

2022-12-06 21:04:02 158

原创 jQuery

顾名思义,jQuery也就是JavaScript和查询(Query),它就是辅助JavaScript开发的 js 类库它的核心思想是 write less, do more(写得更少,做的更多),所以它实现了很多浏览器的兼容问题jQuery 现在已经成为最流行的 JavaScript 库,在世界前 10000 个访问最多的网站中,有超过 55%在使用 jQuery。jQuery 是免费、开源的,jQuery 的语法设计可以使开发更加便捷,例如操作文档对象、选择 DOM 元素、 制作动画效果、事件处理、使用

2022-12-06 21:00:46 294

原创 JavaScript

JavaScript语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码。JS是Netscape网景公司的餐品,最早取名为LiveScript,为了吸引更多的Java程序员,更名为JavaScriptJS的特点JavaScript和html代码的结合方式第一种方式只需要在head标签中,或者在body标签中,使用script标签来书写JavaScript代码alert是JS语言提供的一个警告框的函数注意:script标签可以用

2022-12-06 20:57:13 282

原创 HTML+CSS

JavaSE:C/S Client ServerB/S Browser Server页面由三部分内容组成:内容(结构)、表现、行为Hyper Text Markup Language(超文本标记语言),简写:HTMLHTML通过标签来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理、画面如何安排、图片如何显示等)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-faF5qI1Y-1

2022-12-06 20:55:38 195

原创 JDBC和数据库连接池

JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作JDBC的基本原理图一般将实现接口打包成jar包,只需要调用接口即可表示数据库结果集的数据表,通常通过执行查询数据库的语句生成ResultSet对象保持一个光标指向其当前的数据行。最初,光标位于第一行之前。

2022-10-29 21:30:14 829

原创 老杜MySQL第四天笔记

索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引,索引就相当于一本书的目录,是为了缩小扫描范围而存在的一种机制就好比一本字典来说,查找某个汉字有两种方式:第一种方式:一页一页挨着找,直到找到为止,这种查找方式属于全字典扫描。效率比较低。​第二种方式:先通过目录(索引)去定位一个大概的位置,然后直接定位到这个位置,做局域性扫描,缩小扫描的范围,快速的查找。这种查找方式属于通过索引检索,效率较高。

2022-10-29 21:23:31 247

原创 老杜MySQL第三天笔记

存储引擎是MySQL中特有的一个术语,其它数据库中没有。(Oracle中有,但是不叫这个名字)存储引擎这个名字高端大气上档次。实际上存储引擎是一个表存储/组织数据的方式。不同的存储引擎,表存储数据的方式不同。一个事务其实就是一个完整的业务逻辑,是一个最小的工作单元。不可再分一个完整的业务逻辑:假设转账,从A账户向B账户中转账10000,将A账户的钱减去10000(update语句),将B账户的钱加上10000(update语句),这就是一个完整的业务逻辑以上的操作是一个最小的工作单元。

2022-10-29 21:22:34 121

原创 老杜MySQL第二天笔记

从一张表中单独查询,称为单表查询而emp表和deptiao联合起来查询数据,从emp表中取员工名字,从dept表中取部门名字这种跨表查询,多张表联合起来查询数据,被称为连接查询如果当两张表进行连接查询时,没有任何条件的限制会发现什么现象?案例:查询每个员工所在部门名称:select ename, dname from emp, dept;//error部分数据:我们发现,当两张表进行连接查询,没有任何条件限制的时候,最终查询结果条数,是两张表条数的乘积。这种现象就被称为“笛卡尔积现象”

2022-10-29 21:21:27 537

原创 老杜MySQL第一天笔记

英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据数据处理函数又被称为单行处理函数单行处理函数的特点:一个输入对应一个输出多行处理函数的特点:多个输入,对应1个输出多行处理函数的特点:输入多行,最终输出一行注意:分组函数在使用的时候必须先进行分组,然后才能用。如果没有对数据进行分组,那么整张表默认为一组分组查询只要涉及到两个子句:group by 和 having。

2022-10-29 21:20:11 592

原创 Java反射

Class也是类**,因此****也继承Object类**Class对象****不是new出来的,而是系统创建的注意:类加载里有个loadClass()方法,通过这个方法来完成类加载//对Class类特点的梳理 public class Class01 {//看Class类对应的类图 //1. Class也是累,因此也继承Object类 // Class //2. Class类对象不是new出来的,而是系统创建的 //(1) 传统new对象 /* ClassLoader类}

2022-10-23 15:50:48 95

原创 Java网络编程

基于客户端——服务端的网络通信底层使用的是TCP/IP协议应用场景距离:客户端发送数据,服务端接受并显示到控制台基于Socket的TCP编程,是可靠的注意:一定要关闭Socket,因为它的连接数是有限的类DatagramSocket 和 DatagramPacket[数据包/数据报]实现类****基于UDP协议网络程序UDP数据报通过数据报套接字DatagramSocket发送和接受,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达,即是不可靠****的。

2022-10-23 15:50:00 228

原创 JavaIO流

/等价于 fileOutputStream.write(str.getBytes());处理流(包装流)是"连接"在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,也更加灵活。(2) 编写Dog 类(name,age,color) 创建一个dog对象,读取dog.properties 用相应的内容完成属性初始化, 并输出。in.close();

2022-10-23 15:46:53 184

原创 Java多线程基础

Java语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性每个对象都对应于一个可称为"互斥锁"的标记,整个标记用来保证在任一时刻,只能有一个线程访问该对象关键字synchronized来与对象的互斥锁联系。当某个对象要用synchronized修饰时,表明该对象在任一时刻只能由一个线程访问同步的局限性:导致程序的执行效率要降低【由于会堵塞,只有抢到锁才能出去】同步方法(非静态的)的锁可以是this,也可以是其他对象(但要求是同一对象)同步方法(静态的)的锁为当前类本身。

2022-10-23 12:24:51 348

原创 Java泛型

泛(广泛)型(类型) ==> Integer, String, Dog泛型又称参数化类型,是jdk5.0出现的新特性,解决数据类型的安全性问题在类声明或实例化时只要指定好需要的具体的类型即可Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClassCastException异常。同时,代码更加简洁、健壮泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型分析泛型的作用。

2022-10-23 12:24:14 148

原创 Java集合

集合可以动态保存任意多个对象,使用比较方便提供了一系列方便的操作对象的方法:add、remove、set、get使用集合添加、删除新元素的示意代码 - 简洁集合的框架体系Java的集合类很多,主要分为两大类【重要,背】Collection接口和常用方法Collection接口实现类的特点public interface Collection extends Iterable****Iterator iterator = coll.iterator(); //得到一个集合的迭代器/

2022-10-07 21:40:06 254

原创 Java常用类

JDK5之后(含JDK5)的自动装箱和拆箱方式自动装箱底层调用的是valueOf方法,比如Integer.valueOf(),自动拆箱底层调用的是intValue()方法自动装箱 - Integer.valueOf()包装类型和String类型的相互转换Integer类和Character类的常用方法Integer类和Character类有些常用的方法注意:只要有基本数据类型,那么判断的就是值是否相同String类String类的理解和创建对象String类

2022-10-07 21:38:06 104

原创 Java异常-Exception

基本概念:Java语言中,将程序执行中发生的不正常情况称为"异常"。(注意开发过程中的语法错误和逻辑错误不是异常)执行过程中所发生的异常事件可分为两大类**Error(错误)****:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError[栈溢出]和OOM(out of memory)[内存不足],**注意:Error是严重错误,程序会崩溃。

2022-10-05 20:19:28 128

原创 Java枚举和注解

枚举对应英文(enumeration,简写enum)枚举是一组常量的集合枚举属于一种特殊的类,里面只包含一组有限的特定的对象枚举的两种实现方式自定义类实现枚举使用enum关键字实现枚举枚举的要求:不需要提供setXxx方法,因为枚举对象值通常为****只读对枚举对象/属性使用共同修饰,实现****底层优化枚举对象名通常使用全部大写,常量的命名规范枚举对象根据需要,也可以有多个属性} } //演示自定义枚举实现 class Season {

2022-10-02 09:18:51 620

原创 Java面向对象编程(高级部分)

传统的方法来解决思路:问题分析:有些书说在方法区,和JDK版本有关,但是记住一点:static变量是对象共享,不管static变量在哪里共识:什么是类变量如何定义类变量如何访问类变量当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量):比如:定义学生类,统计所有学生共交多少钱。Student(name, static fee)类变量是该类的所有对象共享的,而实例变量是每个对象独享的类方法的语法形式**:**类方法的调用使用方式:比如:工具类中的方法utils、Math类、A

2022-10-01 20:55:09 143

原创 Java面向对象编程(中级部分)

引入现在有两个程序员共同开发一个java项目,项目员xiaoming希望定义一个类取名Dog,程序员xiaoqiang也想定义一个类也叫Dog,这下那该怎么办包的三大作用区分相同名字的类当类很多时,可以很好的管理类:如Java API文档控制访问范围包的基本语法解读:package 关键字,表示打包com.zanedu,表示包名java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):公开级别:用public修饰,对外开发。

2022-09-23 15:57:10 372

原创 Java面向对象编程(基础部分)

类与对象引入看一个养猫猫问题:张老太养了两只猫猫:一只名字叫小白,今年 3 岁,白色。还有一只叫小花,今年 100 岁,花色。请编写一个程序,当用户 输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示 张老太没有这只猫猫使用现有技术解决单独的定义变量解决使用数组解决public class Object { //编写一个main方法 public static void main(String[] args) { //张老太养了两只猫猫:一只名字叫

2022-09-13 15:15:56 452

原创 Java数组、排序和查找

数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型即:数(数据)组(一组)就是一组数据//编写一个main函数 public static void main(String [ ] args) {//一个养鸡场有 6 只鸡,它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg。//请问这六只鸡的总体重是多少?平均体重是多少?

2022-09-10 22:30:46 364

原创 Java程序控制结构

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句1)顺序控制2)分支控制3)循环控制让程序有选择地执行,分支控制有三种1)单分支 if2)双分支 if-else3)多分支 if-else if -…-elseswitch (表达式) {case 常量1:语句块1;break;case 常量2:语句块2;break;…case 常量n:语句块n;break;default:default语句块;break;}

2022-09-08 22:36:57 445

原创 Java运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等算术运算符赋值运算符关系运算符(比较运算符)逻辑运算符位运算符(需要二进制基础)三元运算符算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多+号的使用 - 字符串相加(相关内容在《变量》里的【+号的使用】)关系运算符的结果都是boolean型,也就是要么是true,要么是false关系表达式经常用在 if 结构的条件中或循环结构的条件中instanceof在面向对象中。

2022-09-05 16:34:26 444

原创 Java变量

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)ASCII码:上个世纪60年代,美国制定了一套字符编码(使用一个),对英语字符与二进制位之间的关系,做了统一规定,这被称为ASCII码,ASCII码一共规定了128个字符的编码,只占用了一个字节的后面7位,最前面的1位统一规定为0。注意:一个字节可以表示256个字符,而ASCII码只用了128个字符(因为够用)缺点:不能表示所有的字符。...

2022-08-30 21:57:58 388

原创 Java概述

JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令、管理数据、内存、寄存器,包含在JDK中对于不同的平台,有不同的虚拟机Java虚拟机机构屏蔽了底层运行平台的差别,实现了“一次编译、到处运行”JDK(Java Development Kit Java开发工具包)JDK = JRE + Java的开发工具(java、javac、javadoc、javap)JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包含了 JRE。...

2022-08-27 22:03:05 3512

原创 C语言指针就该这么学——C语言进阶【指针的进阶】

字符指针用char*来定义return 0;}将ch的地址传到pc中,*pc(解引用pc)就为’w’(字符w),将其改变为’s’(字符s)一种指向数组的指针(本质是指针)P1和p2又表示什么呢?由于[]的优先级要高于*号的,因此p1先和[10]结合,返回类型为int**类型,所以p1是一个指针数组p2先和*结合,说明p2是一个指针变量,然后指向的是一个大小为10个整型的数组。所以p2是一个指针,指向一个数组,叫数组指针指向函数的指针,存放函数地址的指针return 0;......

2022-08-14 10:15:32 312

空空如也

空空如也

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

TA关注的人

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