- 博客(25)
- 收藏
- 关注
原创 Redis学习总结
redis是一种支持Key-Value等多种数据结构的高性能存储系统,和Memcached类似,可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用(ANSI)C语言编写,支持网络,提供string(字符串),hash(哈希),list(列表),set(集合)及sortset(有序集合)等5种数据结构直接存取,基于内存,可持久化.
2024-08-26 16:54:09
568
原创 前后端分离项目的登录实现
系统启动时读取缓存(redis)或者数据库(mysql)中的验证码功能设置参数(key:sys.account.captchaOff)如果缓存中有值,直接返回;@z,z为验证码答案)使用createImage方法生成对应文本的验证码图片。如果验证码类型为char则调用captchaProducer的createText方法生成验证码文本(字母加数字)使用createImage方法生成对应文本的验证码图片。如果查询到的验证码功能的参数为(false)则直接返回参数值,如果为true则开始生成验证码。
2024-07-28 23:42:24
327
原创 Vue-vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
2024-07-22 10:12:29
371
原创 vue-计算属性
计算(computed)属性是Vue3中的一个响应式计算属性,它可以根据其他响应式数据的变化而自动更新其自身的值。计算属性可以接收一个计算函数,并在计算函数中使用其他响应式数据的值进行计算。当任何一个参与计算的响应式数据发生变化时,计算属性会自动重新计算其值,并触发相应的依赖更新。在computed函数中定义属性名和getter(必要)setter(非必要)方法computed:{fullName:{get(){},computed:{
2024-07-14 22:49:37
329
原创 Spring单例Bean的生命周期(面试重点)
回调自定义的initMethod,比如通过@Bean(initMethod = "xxx")指定的初始化方法。的构造方法中,根据构造器参数个数、类型匹配程度等综合打分,选择一个匹配参数最多,类型最准确的构造方法。Spring会根据bean的注入模型,选择根据名称自动注入还是根据类型自动注入。在完成初始化之后,bean会被放到单例池中,并且可以被通过spring获取到。等,会注册为可销毁的bean,在容器关闭时,调用对应的方法进行bean的销毁。2.再判断是否提供工厂方法,如果提供,则使用工厂方法产生对象。
2024-05-13 00:31:41
2275
原创 Mybatis的入门与细节
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
2024-04-24 14:49:50
272
原创 HTML的基本结构和常用标签以及CSS
颜色表示方式: 1.英语单词 2.十六进制 例如: #00FFFF 3.rgb(0,255,255) 4.rgb(0,255,255,0.3)-text(文本框) -password(密码框) -submit(提交) -reset(重置) -button(普通) -image(图片按钮)注意: a:link > a:visited > a:hover > a:active。:提供有关HTML文档的元信息。E>F : 选择E元素的子F元素设定样式 【子类选择器】
2023-12-31 20:08:11
1704
1
原创 第一阶段项目(嗖嗖移动业务大厅)
通过MySQL和JDBC实现基本的移动业务(包括新用户注册,本月账单查询,套餐余量查询,打印消费详情,套餐变更,办理退网,话费充值,查看消费记录,查看话费说明等功能 )
2023-12-25 14:31:41
626
原创 JDBC(12.11)
JDBC就是通过java对数据库建立连接DriverManager(驱动管理者)1. 注册驱动:这可以让JDBC知道要使用的是哪个驱动;2. 获取Connection:如果可以获取到Connection,那么说明已经与数据库连接上了。
2023-12-18 12:11:24
78
原创 Java11.27(反射)
运行状态中动态获取一个类的所有信息(方法,属性,构造方法,注释,注解,泛型)的行为。对象名.getClass();1.获取单个构造方法。2.获取所有构造方法。
2023-12-03 20:39:54
80
1
原创 Java11.13
Java 8引入了Stream流的概念,它是对集合对象(Collection)进行操作的高级抽象1. HashMap:底层使用哈希表实现,允许键和值为null。2. HashTable:底层使用哈希表实现,线程安全,不允许键和值为null。3. TreeMap:底层使用红黑二叉树实现,按照键的自然排序进行排序。4. ConcurrentHashMap:线程安全的哈希表实现。
2023-11-21 11:46:32
85
原创 Java(11.1)
同一个引用类型,使用不同的实例而执行不同的操作接口是一种需要强制遵守的约束(规范),如果不遵守规范就无法使用该接口1.自定义异常类2.抛出异常对象throw new 异常()注意:方法内部抛出异常,要么try ...catch处理,要么throws将异常抛出后由调用者处理。
2023-11-03 17:36:29
108
1
原创 Java入门(10.17~10.19)类和对象
类:具有共同的特征和行为的对象的集合,是对象的模板。【抽象】对象:是实际存在的事物。【具体】[访问修饰符] class 类名{//1.类的特征//2.类的行为//1.类的特征(成员变量)//类型 1 2 3 4 5//价格//是否入住//楼层//编号//2.类的行为(成员方法)return sit;类名要参照命名规则对象的定义:类名 对象名 = new 类名();对象的特征调用对象名.成员变量对象行为的调用对象名.方法名(参数)
2023-10-20 15:40:27
53
1
原创 Java入门(9.14):数组
当前有大量的相同的数据需要存储,需要定义大量的变量,可能导致:代码可读性差,无法提现数据之间的联系,操作性差。new 数据类型[数组长度] 开辟空间完成初始化后将数组的首地址赋值给数组名称的引用。数据类型+数组名称+[]={数值列表} / 数计类型+[]+数组名称={数值列表}new 数据类型[数组长度] 的真实意思是在堆中开辟数组长度的空间。数据类型+数组名称+[] = new 数据类型[]{数值列表}数据类型+数组名称+[] = new 数据类型[数组长度](1).数组在堆中开辟的内存空间是连续的。
2023-10-09 16:23:10
58
1
原创 Java入门(5.18)
1.位运算符:&(短路/按位与【不同为0】) |(短路/按位或 【不同为1】) ^(异或【相同为0】) ~(按位取反) <<(左移) >>(右移) <<<(带符号左移) >>>(带符号右移)值1:值2(当表达式的值为TRUE时结果为值1否则为值2)
2023-05-29 19:37:00
44
1
原创 Java入门(5.16)
整数+小数-->小数;整数+char-->整数;整数+字符串-->字符串(字符串拼接)2.条件运算符[true|false]【算数运算符优先级大于条件运算符】: < > ==!3.逻辑运算符【条件运算符的优先级大于逻辑运算符】:&&(并且) ||(或者)!总结:*byte,short,char在算术运算时会被JVM转化为int;1.算数运算符: + - * / % ++ --*当++或--在变量后时,一定是最后进行运算。*当++或--在变量前时,一定是最先进行运算。
2023-05-16 17:30:33
108
1
原创 Java入门(5.15)
1.数据范围小的类型转换为范围大的类型,类型自动转换。(byte->short[char]->int->long->float->double)(这一步由JVM执行)2.创建扫描器对象【Scanner 名字 = new Scanner(System.in)】【byte,short,char类型的数据,JVM在运算过程中会自动将其转换为int类型】1.导入扫描器类【import java.util.Scanner】2.范围大转范围小,需要进行强制转换(发生数据溢出)作用:扫描用户的输入数据,从中获取信息。
2023-05-15 20:20:40
41
1
原创 Java入门(2023.05.10)
5.javadoc +文件名.java: 生成开发文档。1.类名首字母必须大写+驼峰命名(单词首字母大写)。3.javac+文件名.java :编译源文件。4.java +文件名:执行字节码文件。1.cd 盘符路径 : 修改当前路径。第一个HelloWorld程序。2.cd.. :返回上一级路径。2.java严格区分大小写。
2023-05-10 19:58:10
39
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人