- 博客(33)
- 收藏
- 关注
原创 mysql进阶
如果创建表没有指定主键,InnoDB会默认选择一个唯一的非空索引作为主键索引,如果没有合适的索引,会为其创建一个隐藏的主键。持久性实现依赖redo log,记录操作,异常终止后重新打开会执行相关信息,保证事务提交后,数据不可撤销。一个事务中的所有操作,要么全部完成,要么全部不完成。二级索引需要回表,若只需要自身数据,不需要回表,此时也可以将其当做一级索引。一个事务多次读取同一个数据是一致的,即使别的事务修改提交了数据,也是一致的。:使用组合索引的列作为条件时,必须出现最左侧列为条件,否则索引不生效。
2024-01-26 09:33:43
951
原创 并发编程
若已有元素,第一个元素作为锁对象,使用sync加锁,这样会降低锁的粒度,可以同时有多个方法进入到put中操作,提高并发效率。为每个线程创建一个ThreadLocalMap对象,用来保存磁县城拥有的变量,在每个线程中的ThreadLoacl中,用当前操作的ThreadLoacl对象作为键。当一个线程进入到一个同步方法中,然后再次方法中要调用另一个同步方法,而且两个方法共用一把锁,此时线程是可以进入到另一个同步方法中的。每次为线程赋值时,首先获取当前线程对象,拿到当前线程对象中的ThreadLocalMap。
2024-01-21 09:40:19
858
原创 redis
将一台redis服务器(主节点)数据复制到其他的redis服务器(从节点),数据是单向的,只能由主节点到从节点。 延时双删:先删除redis缓存,再更新mysql,延迟几百毫秒再次删除redis缓存。 主从模式可以解决数据备份问题,写入数据分给主机,从机负责读取数据,实现读写分离。 某个key过期后有大量的请求过来,每个请求都会从访问数据库,导致服务器宕机。 在数据库中并不存在的数据,每次请求都会到数据库,导致服务器被攻击。 定期想服务器发送命令,能接收到响应,则正常,否则为故障。
2024-01-21 09:39:25
367
原创 spring
EJB:Enterprise Java Bean 企业级的javaBean部署条件:tomcat WebLogic(Oracle) WebSphere(IBM)Spring目的:让javaEE开发更加容易一些,04年发布版本1.0是一个轻量级的IoC、AOP的一站式java开发框架轻量级:体积小,运行环境没有要求,代码移植性高,非侵入式设计。
2023-12-02 08:32:32
53
原创 mybatis
持久层框架原名ibatis将jdbc做了轻量级的封装 封装Connection可通过xml和注解执行sql可以将数据库中的记录映射到Java对象中orm(object relational mapping)对象关系映射支持动态sql(逻辑处理)以及数据缓存。
2023-12-02 08:31:46
118
原创 环境搭建
/允许跨域的请求头。创建filter包--创建filter类--dofilter方法--处理后调用fc.dofilter使请求继续执行--配置xml。配置tomcat--选择tomcat路径--选择jre--修改http端口--配置deployment--修改访问路径。class--servlet文件地址 url--前端访问地址。
2023-10-21 08:31:00
49
原创 vue_js
Vue (读音 /vjuː /,类似于 view) 是一套用于构建用户界面的渐进式框架. 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。Vue.js 是前端的主流框架之一,和 Angular.js、React.js 一起,并成为前端三大主流框架!
2023-10-03 21:00:00
51
原创 javaScript
javaScript是由Netscape公司(美国网景公司)开发的一种脚本语言起初命名为LiveScript,与java类似,也是面向对象的语言,而且无需编译,由浏览器直接解释运行。LS发展速度很快,于是Ns公司与sun公司签订协议,将LIveScript改为javaScriptjs是一种直译式脚本语言,不需要编译可以直接通过浏览器进行解释运行,通常js脚本是通过嵌入在html中来实现自身功能的使用var关键字 变量没有类型,值有类型function定义函数可以有返回值。
2023-10-03 16:42:13
51
原创 .css.
● 内容区指的是盒子中放置内容的区域,也就是标签 中的文本内容,子标 签都是存在于内容区中的。css处理网页时,他认为标签都在一个不可见的盒子里,如果把所有标签想象成盒子,那么我们对网页的布局相当于摆放盒子。只占内容的大小,不会占一行,不能设置宽高,设置了也是无效的,主要用来包裹(选中)文字内容,对文字内容进行修饰。左边扩展10px padding-top:10px;相对于离他最近的开启的定位的父标签,以及浏览器的窗口进行定位(不建议使用)padding:10px 20px(上下10px,左右20px)
2023-10-03 16:41:36
54
原创 html.
browser(浏览器)+(服务器)-->B/s结构Client(客户)+server(服务器)-->C/s结构web学习1.html(超文本标记语言)2.css(级联样式表)4.vue.js。
2023-10-03 16:40:35
61
原创 前端---
只占内容的大小,不会占一行,不能设置宽高,设置了也是无效的,主要用来包裹(选中)文字内容,对文字内容进行修饰。ps:有的标签会占用一行,例如标题标签,这样的标签可以使用左右中对齐;若想要文本框互斥,则需要给定相同的名称即可,例如name="gender",男女性别选项就可以互斥。type="radio" 单选框,name相同为一组,选择性组件,需要给定默认的value。<link href="地址" rel="stylesheet" />cols="列数" rows="行数" name="名称"
2023-09-04 18:09:17
52
1
原创 数据结构算法
数据结构研究的是如何在计算机中进行组织和存储,使得我们可以高效地获取数据和修改数据数据结构可分为三类:线性结构:数组、队列、栈、链表、哈希表等树形结构:二叉树、二分搜索树、AVL树、红黑树、堆、Trie、线段树、并查集等圈结构:邻接矩阵、邻接表为什么学习数据结构:根据不同的应用,灵活选择合适的数据结构数据结构+算法=程序,讲解过程中,并不是简单的实现,而是强调比较和优化。
2023-09-04 18:08:16
53
1
原创 MYSQL
为了方便数据存储和管理,按照特定规则将数据存储到硬盘上。DB:数据库(DataBase):存储+管理sql(结构化查询语言):对数据库进行操作管理数据库分类。
2023-09-04 18:06:17
115
1
原创 11章笔记
JFrameJPanelJTextFieldJLabelJPasswordFieldJButton JTextAreaJScrollPaneJMenuBar JMenu在一个类的内部定义一个类,称为内部类内部类一般不对外使用匿名内部类在不会多处使用时可以使用特点:内部类可以直接访问外部类的成员,即使成员是私有的静态内部类:只能访问静态成员局部内部类:定义在方法/作用域里的类匿名内部类:没有名字的类,是内部类的简化写法作用:隐藏实现多继承询问用JOptionPane.showMessageDialog是否确定
2023-09-04 17:52:45
63
1
原创 第十章笔记
线程通讯指的是多个线程通过相互牵制,相互调度,即线程间的相互作用。.notify一旦执行此方法,就会唤醒被wait的一个线程。线程分为用户线程和守护线程. 守护线程是为其他线程提供服务的,最大的特点是,当系统其他的所有线程结束后,守护线程会自动结束 jvm中的垃圾回收线程,就是一个守护线程 daemonThread.setDaemon(true);修饰一段代码块 synchronized(同步对象) 同步对象要求: 多个线程对应的是同一个对象 用对象头中的一块区域来记录有没有线程进入到同步代码块中。
2023-07-02 20:33:35
56
1
原创 第七章笔记
V put(K key,V value) key为键,val为值,存入之后若键重复,则会返回上个值并覆盖为新值。for循环 for循环可以遍历也可以进行增删改,增删改需要注意下标的变化。Set> entrySet( 创建一个集合,包括键和值,效率高。V get(Object key) 获取对应键的值并返回。增强for循环 不允许增加删除元素,不然会报错。Set keySet() 创建一个键集合,效率低。默认长度16,负载因子0.75。键不能重复,值可以重复。
2023-07-02 20:28:50
72
1
原创 第七章笔记
V put(K key,V value) key为键,val为值,存入之后若键重复,则会返回上个值并覆盖为新值。for循环 for循环可以遍历也可以进行增删改,增删改需要注意下标的变化。Set> entrySet( 创建一个集合,包括键和值,效率高。V get(Object key) 获取对应键的值并返回。增强for循环 不允许增加删除元素,不然会报错。Set keySet() 创建一个键集合,效率低。默认长度16,负载因子0.75。键不能重复,值可以重复。
2023-06-18 09:29:33
46
原创 第七章笔记
V put(K key,V value) key为键,val为值,存入之后若键重复,则会返回上个值并覆盖为新值。for循环 for循环可以遍历也可以进行增删改,增删改需要注意下标的变化。Set> entrySet( 创建一个集合,包括键和值,效率高。V get(Object key) 获取对应键的值并返回。增强for循环 不允许增加删除元素,不然会报错。Set keySet() 创建一个键集合,效率低。默认长度16,负载因子0.75。键不能重复,值可以重复。
2023-06-16 19:02:16
76
1
原创 第五章笔记 X 第六章笔记
此外,数组中的所有元素都必须相互可比较 (即, e1.compareTo(e2)不能为ClassCastException中的任何元素e1和e2 ),此类中有个比较方法,根据指定的比较器引发的顺序对指定的对象数组进行排序。如果两个数组都包含相同数量的元素,则两个数组被认为是相等的,并且两个数组中所有对应的元素都相等。换句话说,如果两个数组以相同的顺序包含相同的元素,则它们是相等的。将指定的值分配给指定的数组的指定范围的每个元素。复制指定的数组,用空值截断或填充(如有必要),以便复制具有指定的长度。
2023-05-20 15:47:48
60
1
原创 StringAPI
如果极限n大于0,则模式最多应用n -1次,数组的长度不大于n ,数组的最后一个条目将包含超出最后一个匹配分隔符的所有输入。当调用intern方法时,如果池已经包含与equals(Object)方法确定的相当于此String对象的字符串,则返回来自池的字符串。1.返回一个新的字符串,由CharSequence elements的副本组成,并附有指定的delimiter的delimiter\;用给定的替换与给定的regular expression匹配的此字符串的每个子字符串。返回字符串对象的规范表示。
2023-05-19 18:31:46
84
1
原创 Arrays API笔记
此外,数组中的所有元素都必须相互可比较 (即, e1.compareTo(e2)不能为ClassCastException中的任何元素e1和e2 ),此类中有个比较方法,根据指定的比较器引发的顺序对指定的对象数组进行排序。数组中的所有元素必须通过指定的比较器相互比较 (即c.compare(e1, e2)不能为ClassCastException中的任何元素e1和e2 )。如果两个数组都包含相同数量的元素,则两个数组被认为是相等的,并且两个数组中所有对应的元素都相等。将指定数组的指定范围复制到新数组中。
2023-05-12 11:45:09
49
原创 第三章笔记
java中的方法一个程序只需要一个main方法 c语言称为函数,面向对象语言中为方法方法:用于解决某一问题的代码集合,可以被多次调用,。
2023-05-06 13:06:04
50
1
原创 第四章笔记
面向对象特点:代码量不大,概念多面向过程:步骤逐一进行实现面向对象:先对整体关系分类,对不同类深度分析String类:对字符串操作的方法Arrays类:关于数组操作的类类表示同一类事物相同属性和行为的集合class:修饰内容是一个类创建一个类的对象:类名 变量名=new 类名()类和对象关系:类是模板,对象是具体实例。
2023-04-22 13:39:16
66
1
原创 第二章笔记
基本数据类型:整数类型(int long byte short) 浮点型(float double) 字符型(char) 布尔型(boolean)int 4字节 -2^31-2^31-1。short 2字节 -2^15-2^15-1。引用数据类型: 类(class) 接口(interface) 数组([ ])浮点数默认字面量为double类型。
2023-04-16 16:41:27
54
1
原创 第一章笔记
1991 James Gosling在sun公司的Green项目组开发Oak语言(java前身),最终1995年正式确立java,1996 java1.0发布;java特点:开源,免费,简单,高效,跨平台,面向对象,支持网络编程,支持多线程,动态内存管理机制。//单行注释 /* */多行注释 /** * */文档注释。变量名、方法名:首字母小写,多单词组成时,其他单词首字母大写。标识符:java中对类、包、变量、方法等进行命名的字符序列。类名首字母大写,多单词组成时,每个单词首字母大写。
2023-04-16 16:32:59
44
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅