自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 Day08MySQL 面试题 (五)

答:存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。可以对视图进行增,改, 查,操作,视图通常是有一个或者多个表的行或列的子集。1、Where 子句中:where 表之间的连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量记录的条件必须写在 Where 子句的末尾.HAVING 最后。3、参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。

2024-07-23 13:52:21 112

原创 学习Java的日子 Day55 事务,批处理

1.事务1.SQL命令2.在JDBC中操作事务3.事务封装DBUtil – 重要4.事务的特性(ACID) – 一定要会用自己的语言描述清楚(跟面试有关)5.事务的隔离界别 – 做实验2.批处理。

2024-07-23 08:47:53 598

原创 Day07 MySQL 面试题(四)

Datatime:以 YYYY-MM-DD HH:MM:SS 格式存储时期时间,精确到秒,占用 8 个字节得存储空间,datatime 类型与时区无关Timestamp:以时间戳格式存储,占用 4 个字节,范围小 1970-1-1 到 2038-1-19,显示依赖于所指定得时区,默认在第一个列行的数据修改时可以自动得修改timestamp 列得值。左外连接,也称左连接,左表为主表,左表中的所有记录都会出现在结果集中,对于那些在右表中并没有匹配的记录,仍然要显示,右边对应的那些字段值以NULL 来填充。

2024-07-22 15:26:35 202

原创 Day07 MySQL 面试题 (三)

事务就是被绑定在一起作为一个逻辑工作单元的 SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。主键,是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度,因为在执行这些写操作时,还要操作索引文件。

2024-07-22 08:51:46 363

原创 Day06 MySQL 面试题 (二)

在缺省模式下,MySQL 是 autocommit 模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,MySQL 是不支持事务的。在 SELECT 语句的列比较中使用=,,,,,AND,OR 或 LIKE 运算符。5、MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY() – 从日期值中提取给定数据。7、DATEDIFF(A,B) – 确定两个日期之间的差异,通常用于计算年龄。NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。

2024-07-20 11:41:34 447

原创 Day06 MySQL 面试题(一)

一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制;主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;2、CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255 当 CHAR值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。锁定粒度大,发生锁冲突的概率最高,并发度最低。

2024-07-20 08:57:35 369

原创 Day05 Redis 面试题 终

如果你想返回用户及用户的分数, 你需要这样执行: ZRANGE user_scores 0 10 WITHSCORES Agora Games 就 是一个很好的例子,用 Ruby 实现的,它的排行榜就是使用 Redis 来存储数据的, 你可以在这里看到。这个时候可以使用 scan 指令,scan 指令可以无阻塞的提取出指定模式的 key 列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用 keys 指令长。这时候你要给予惊讶的反馈:唉,是喔,这个锁就永远得不到释放了。

2024-07-19 11:14:29 683

原创 Day05 Redis 面试题 下

答:尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。比如你的 web 系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的 key,而是应该把这个用户的所有信息存储到一张散列表里面.答:如果你使用的是 32 位的 Redis 实例,可以好好利用 Hash,list,sorted set,set 等集合类型数据,因为通常情况下很多小的 Key-Value 可以用更紧凑的方式存放 到一起。

2024-07-19 08:43:57 605 1

原创 Day04 Redis 面试题 中

答:Jedis 是 Redis 的 Java 实现的客户端,其 API 提供了比较全面的 Redis 命令 的支持;答:尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。注意这里的 6 种机制,volatile 和 allkeys 规定了是对已设置过期时间的数据集淘汰数据还是从全部数据集淘汰数据,后面的 lru、ttl 以及 random 是三种不同的淘汰策略,再加上一种 no-enviction 永不回收的策略。

2024-07-18 10:54:41 391

原创 Day04 Redis 面试题 上

同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。1、RDBRedis DataBase)持久化方式: 是指用数据集快照的方式半持久化模式)记录 redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化 结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。1、Master 最好不要写内存快照,如果 Master 写内存快照,save 命令调度 rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务。

2024-07-18 08:52:09 438

原创 Day03 Dubbo 面试题 中

2、DubboMonitor 将数据进行聚合后(默认聚合 1min 中的统计数据)暂存到ConcurrentMap statisticsMap,然后使用一个含有 3 个线程(线程名字:DubboMonitorSendTimer)的线程池每隔 1min 钟,调用 SimpleMonitorService 遍历发送 statisticsMap 中的统计数据,每发送完毕一个,就重置当前的 Statistics 的 AtomicReference。

2024-07-17 13:55:07 582

原创 Day03 Dubbo 面试题 上

默认是阻塞的,可以异步调用,没有返回值的可以这么做。也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。:封装多个提供者的路由和负载均衡,并桥接注册中心,以 Invoker 为中心,扩展接口为 Cluster、Directory、Router 和 LoadBlancce。:封装服务地址的注册和发现,以服务 URL 为中心,扩展接口为 RegistryFactory、Registry、RegistryService。

2024-07-17 10:46:58 339

原创 Day03 ZooKeeper 面试题 下

并携带工 作的进度数据,这样汇总的进程可以监控目录子节点的变化获得工作进度的实时 的全局情况。命名服务是指通过指定的名字来获取资源或者服务的地址,利用 zk 创建一个全局的路径,即是唯一的路径,这个路径就可以作为一个名字,指向集群中的集群,提供的服务的地址,或者一个远程的对象等等。命名服务是指通过指定的名字来获取资源或者服务的地址,利用 zk 创建一个全局的路径,这个路径就可以作为一个名字,指向集群中的集群,提供的服务的地址,或者一个远程的对象等等。

2024-07-17 08:52:38 697

原创 Day02 ZooKeeper 面试题 中

当新的 Leader 服务器发现某个 Learner 服务器包含了一条自己没有的事务记录,那么就需要让该 Learner 服务器进行事务回滚–回滚到 Leader 服务器上存在的,同时也是最接近于 peerLastZxid 的 ZXID。如果一个客户端设置了 Chroot,那么该客户端对服务器的任何操作,都将会被限制在其自己的命名空间下。在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行leader 选举。

2024-07-16 17:13:34 272

原创 Day02 ZooKeeper 面试题 上

当整个 zookeeper 集群刚刚启动或者 Leader 服务器宕机、重启或者网络故障导 致不存在过半的服务器与 Leader 服务器保持正常通信时,所有进程(服务器)进入崩溃恢复模式,首先选举产生新的 Leader 服务器,然后集群中 Follower 服务器开始与新的 Leader 服务器进行数据同步,当集群中超过半数机器与该 Leader服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader 服务器开始 接收客户端的事务请求生成事物提案来进行事务请求处理。通常这是完全 透明的。

2024-07-16 09:51:04 470

原创 Day02 MyBatis 面试题 下

它的原理是,使用 CGLIB 创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调用 a.getB().getName(),拦截器 invoke()方法发现 a.getB()是null 值,那么就会单独发送事先保存好的查询关联 B 对象的 sql,把 B 查询上来,然后调用 a.setB(b),于是 a 的对象 b 属性就有值了,接着完成 a.getB().getName()方法的调用。当然了,不光是 Mybatis,几乎所有的包括 Hibernate,支持延迟加载的原理都是一样的。

2024-07-16 08:52:42 566

原创 Day01 MyBatis 面试题 中

有了列名与属性名的映射关系后,Mybatis 通过反射创建对象,同时使用反射给对象的属性逐一赋值并返回,那些找不到映射关系的属性,是无法完成赋值的。17、Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复;使用的,如果没有 namespace,就剩下 id,那么,id 重复会导致数据互相覆盖。//映射文件的命名空间.SQL 片段的 ID,就可以调用对应的映射文件中的。

2024-07-15 17:13:37 648

原创 Day01 MyBatis 面试题 上

Mapper 接口的工作原理是 JDK 动态代理,Mybatis 运行时会使用 JDK动态代理为 Mapper 接口生成代理对象 proxy,代理对象会拦截接口方法,转而执行 MapperStatement 所代表的 sql,然后将 sql 执行结果返回。分页插件的基本原理是使用 Mybatis 提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的 sql,然后重写 sql,根据 dialect 方言,添加对应的物 理分页语句和物理分页参数。接口方法内的参数,就是传递给 sql 的参数。

2024-07-15 16:34:11 890

原创 Day54 JDBC

Day54 JDBCJDBC:SUN公司提供的一套操作数据库的标准规范,就是使用Java语言操作关系型数据库的一套APIJDBC与数据库驱动的关系:接口与实现的关系给大家画一个jdbc的工作模式图。

2024-06-14 08:39:35 677

原创 Day53 触发器,存储过程,预定义函数,自定义函数

理解:MySQL给我们提供的函数注意:函数必须有返回值注意:MySQL的函数必须有返回值需求:创建一个函数,传入学生id,返回学生信息BEGINEND xxdelimiter;调用函数。

2024-06-13 11:15:06 372 1

原创 MySQL练习题

创建学生表 - id、姓名、生日、性别创建老师表 - id、姓名创建课程表 - id、课程名、老师id成绩表 - id、学生id、课程id、成绩。

2024-06-12 18:59:56 217

原创 学习java的日子 Day52 多表联合查询,DCL,数据类型,约束,索引,视图

1.多表联合查询 – 重要一对多多对多2.DCL3.数据类型(整数、浮点、字符串、日期时间)4.约束(主键、唯一、非空、外键)5.索引(主键、唯一、普通、全文,面试题) – 重要age INT(3)> 创建视图> or replace 如果视图名相同就替换> with check option修改数据时如果违反条件就不允许修改```mysql查询视图数据修改视图数据删除视图数据删除视图注意:修改虚拟表,原表也会发生改变。

2024-06-04 14:38:15 909

原创 学习Java的日子 Day51 数据库,DDL,DML

数据库(database)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效地组织和管理存储在数据库中的数据MySQL就是数据库管理系统,操纵和管理数据库的大型软件。

2024-06-01 07:03:44 731

原创 学习Java的日子 Day50 BOM

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”

2024-05-30 09:51:12 1026

原创 学习Java的日子 Day49 DOM_节点,DOM案例

用良心做教育如需删除 HTML 元素,您必须首先获得该元素的父元素。//获取到输入框的value是string类型。并为其绑定****onchange****事件。//创建节点 -

2024-05-27 08:37:26 424

原创 学习Java的日子 Day48 函数,DOM

parseInt():试图将其收到的任何输入值转换成整数类型,转换失败则返回NaNparseFloat():同上类似isNaN(xxx):判断是否为非数字isFinite(xxxx):判断输入的是否是一个既非Infinity也非NaN的数字eval():会将其输入的字符串当作javascript代码来执行 (重要!!!!

2024-05-23 09:58:39 721

原创 学习Java的日子 Day47 HTML5新特性,JS基础

1.JavaScript的构成:标准script、DOM、BOM2.作用:事件响应、操作对象Javascript是基于对象和事件驱动的脚本语言,主要是嵌入到HTML中,应用在客户端,动态操作网页元素,也可以作用于服务端。**特点:**交互性(表单校验,信息提示,动态数据图表,ajax异步提交,解析服务端响应数据等等)安全性(不可以直接访问本地硬盘)跨平台性(由浏览器解析执行,和平台无关)一个完整 JavaScript实现由以下3个部分组成注意:Javascript vs Java。

2024-05-18 08:40:47 911

原创 学习Java的日子 Day46 常用CSS属性,盒子模型,定位,浮动

font-family(字体)font-size(大小)font-style(风格)---- normal标准样式---- italic斜体---- oblique倾斜---- inherit从父类继承的字体样式font-weight(字体加粗)–normal标准样式----bold粗体----bolder更粗----lighter更细。

2024-05-17 07:28:56 882

原创 学习Java的日子 Day45 CSS 概述,选择器

1.CSS 概述2.选择器。

2024-05-16 15:22:48 336

原创 学习Java的日子 Day44 初识前端,HTML常用标签

HTML:超文本标记语言——HyperText Markup Language超文本:链接标记语言:标记网页的结构和内容标记:标签,带尖括号的文本。

2024-05-10 11:21:23 601 1

原创 Day43 JDK1.8新特性 下 接口的类优先原则和接口冲突,日期时间组件,重复注解

包路径类名描述java.time针对日期和时间操作的包LocalDate用于表示日期的类LocalTime用于表示时间的类用于表示日期时间的类Instant时间戳类(1970.1.1 0:0:0 到现在的毫秒数)Period两个日期间隔类Duration两个时间间隔类针对日期时间特殊格式操作的包日本帝国历法系统类泰国佛教日历系统类针对时间日期时间格式化操作的包格式化日期时间类针对时间矫正操作的包针对时区操作的包1.接口的类优先原则 和 接口冲突2.日期时间组件。

2024-04-28 10:35:06 491 1

原创 Day42 JDK1.8新特性 中 方法、构造方法和数组引用,Stream流

Stream(流)是数据渠道,用于操作数据源(集合、数组等),生成元素序列。换言之,集合是存储数据的容器,流使用操作这些数据的Stream可以对集合进行非常复杂的查找、过滤、映射数据等操作,类似于SQL执行数据库查询。Stream提供了一种高效且易于使用的处理数据的方式Stream不会存储数据Stream不会改变源数据,通过一系列操作数据源会返回一个持有结果的新StreamStream操作是延迟执行的,意味着流会等到需要结果的时候才执行1.方法、构造方法和数组引用。

2024-04-28 10:33:33 917

原创 Day41JDK1.8新特性 上 lambda表达式,函数式接口

Lambda是一个匿名函数(方法), 允许把函数作为一个方法的参数。利用Lambda表达式可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。一般都是优化匿名内部类!!!!!函数式接口是指仅仅只包含一个抽象方法的接口,jdk1.8提供了一个@FunctionalInterface注解来定义函数式接口,如果我们定义的接口不符合函数式的规范便会报错。配合Lambda表达式一起使用1.lambda表达式(其实就有优化匿名内部类的方案)

2024-04-24 16:48:31 278

原创 学习JavaEE的日子 Day40 反射案例

1.反射案例 – 万能数组扩展注意:1.泛型的使用2.利用Array操作数组2.反射案例 – 业务与逻辑分离的思想注意:1.理解思想2.灵活使用配置文件3.理解数据中心DataCenter3.反射案例 – 操作注解注意:1.理解注解是可以给类、属性、方法提供额外信息。

2024-04-19 10:48:05 443

原创 学习JavaEE的日子 Day39 注解,反射

使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口分析:@interface用来声明一个注解,格式:public @interface注解名{定义内容}其中的每一个方法实际上是声明了一个配置参数.方法的名称就是参数的名称.返回值类型就是参数的类型(返回值只能是基本类型、Class、String、enum)可以通过default来声明参数的默认值如果只有一个参数成员,一般参数名为value()

2024-04-17 15:17:46 999

原创 学习JavaEE的日子 Day38 网络编程

实现多台计算机之间实现数据的共享和传递,网络应用程序主要组成为:网络编程+IO流+多线程。

2024-04-14 15:20:54 876 1

原创 学习javaEE的日子 Day36 字符流

*** 知识点:利用对象输出流 向文件写入自定义对象*///1.创建流对象//2.写入自定义对象//3.关闭资源User类public class User implements Serializable{//要实现序列化接口(Serializable)//无参构造,有参构造,get,set方法省略//1.创建流对象//2.读取自定义对象User user;= null){//3.关闭资源内存流打印流随机访问流。

2024-04-13 09:02:08 605

原创 学习JavaEE的日子 Day37 各种流

*** 知识点:利用对象输出流 向文件写入自定义对象*///1.创建流对象//2.写入自定义对象//3.关闭资源User类public class User implements Serializable{//要实现序列化接口(Serializable)//无参构造,有参构造,get,set方法省略//1.创建流对象//2.读取自定义对象User user;= null){//3.关闭资源。

2024-04-12 11:13:53 774

原创 学习JavaEE的日子 Day35 字节流

1.BufferedInputStream 和 BufferedOutputStream理解底层理解缓冲区是如何提高效率。

2024-04-11 15:00:00 627

原创 学习javaEE的日子 Day34 阶段测试

区别1:获取key的hash值:JDK1.7 – 调用key的hashCode() + 位运算 JDK1.8 – 将key的hash值(int-32)分为高16位和低16位,两者进行异或的位运算。当JVM接收到异常对象时,会寻找能处理这一异常的代码,找到了:把当前异常对象交给其处理,这一过程称为捕获(catch)异常和处理异常。当JVM接收到异常对象时,会寻找能处理这一异常的代码,找到了:把当前异常对象交给其处理,这一过程称为捕获(catch)异常和处理异常。a.开辟空间,然后就是new对象();

2024-04-08 12:47:17 318

mybatis基本使用

以下是一个基本的 MyBatis 测试使用的描述: 1. 环境准备 首先,确保你已经安装了 Java 和 Maven,并且有一个可用的数据库环境(如 MySQL)。然后,在 Maven 项目中添加 MyBatis 的依赖。 2. 配置 MyBatis 在项目的 src/main/resources 目录下创建一个 MyBatis 的配置文件 mybatis-config.xml。在这个文件中,你需要配置数据库连接信息、事务管理器以及映射文件的位置。 3. 创建实体类 根据你的数据库表结构,创建相应的 Java 实体类。这些类将用于映射数据库中的记录。 4. 创建 Mapper 接口和 XML 映射文件 Mapper 接口定义了与数据库交互的方法。每个方法都对应一个 SQL 语句。这些 SQL 语句可以在 XML 映射文件中定义,也可以使用注解的方式直接写在接口方法上。 5. 编写测试代码 在测试类中,首先加载 MyBatis 的配置文件,然后获取 SqlSession。通过 SqlSession,你可以获取 Mapper 接口的实例,并调用其方法执行数据库操作。

2024-03-14

面向对象版本的学生管理系统(文档已放入博客中)

面向对象版本的学生管理系统是一种软件系统设计方式,它采用面向对象的程序设计思想和方法,将学生管理的相关元素(如学生等)抽象为类,并通过实例化对象来实现对学生信息的创建、查询、更新和删除等操作。 在这个系统中,主要包含以下几个核心类: 1. 学生类(Student):封装了学生的属性,如学号、姓名、性别、年龄、专业等基本信息,以及选课列表、成绩等动态信息。同时提供添加课程、查询成绩、修改个人信息等相关方法。 2. 管理类(StudentManager):负责整个系统的业务逻辑处理,包括添加学生、删除学生、修改学生信息、进行成绩管理等操作。 通过面向对象的设计,使得系统具有良好的扩展性和可维护性,每个类可以独立地完成自身的职责,不同类之间通过相互调用接口实现数据交互和功能协作,从而实现了对学生信息的全方位、高效、便捷的管理。

2024-01-26

.turing.dat

.turing.dat

2022-04-13

空空如也

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

TA关注的人

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