- 博客(90)
- 收藏
- 关注
原创 servlet基本使用
1.创建web项目(新版本idea中首先新创建新项目,再在新项目中选中添加框架支持,即可生成web项目)第二种方式(继承于GenericServlet类)1.第一种方式(继承于HttpServlet类)1.(重写doGet()和doPost())第三种方式(实现Servlet接口)请求转发与重定向(可跨域)的区别。1.Cookie的创建和发送。3.Cookie的到期时间。Session对象的销毁。4.Cookie的注意点。2.(生命周期的写法)2.Cookie的获取。5.Cookie的路径。
2023-07-27 14:30:12 223
原创 vue中插槽(默认插槽、具名插槽、作用域插槽)
3.1.理解:数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。(games数据在Category组件中,但使用数据所遍历出来的结构由APP组件决定)作用:让父组件可以给子组件指定位置插入HTML结构,也是一种组件间通信的方式,适用于。当我们想要复用组件,但是又想定制每个组件的结构时,我们可以用到插槽。父组件===>子组件。
2023-05-31 14:43:06 293
原创 vue中动画效果(动画效果、过渡效果、多个元素过渡、集成第三方库)
3.多个元素过渡(当一个transition标签里有多个元素时,我们可以采用transition-group的形式来实现)2.过渡效果,图中的hello为标签中的name属性,即name:'hello'
2023-05-29 23:27:53 285
原创 vue中实现任意组件间通信(全局事件总线、消息订阅与发布)
我们可以在new Vue()时,在其beforeCreate生命周期里,加上Vue.prototype.$bus=this,此时的this指向的是Vue,由于Vue只有一个,并且都在各组件的原型链上。1.全局事件总线,顾名思义,可以适用于任意组件间通信,我们需要通过$bus这个中间傀儡来实现,我们可以把$bus安装到Vue身上,这样可以让所有组件都能看到它,:我们可以给需要接收数据的一方加上。:我们可以给需要提供数据的一方加上。
2023-05-29 20:01:35 307
原创 Vue组件化、通过自定义指令子组件向父组件传递、$nextTick
使用子组件向父组件传递数据的第三种方式时,如果直接把回调函数写在this.$refs.student.$on('atguigu',function(name,...params){如果像下面这种情况,在APP.vue中配置了getStudentName方法,this就指向的是APP.vue中的getStudentName。})里,此时的this指向的是组件实例对象,即谁触发的事件,this指向的就是谁。当组件销毁后,它会拆卸身上所携带的监视属性,子组件,和监听事件,5.mixin(混入)
2023-05-29 12:51:18 808 2
原创 vue小案例TodoList
6.接下来我们来做删除模块,由于数据在APP中,我们在MyItem组件中给删除按钮添加点击事件,我们获取APP传来的todo对象数组中的id,我们将id传给爷组件APP,这时又是老生常谈的问题,孙组件向爷组件传递数据,我们可以让APP组件下方一个函数,依次传递给MyList和MyItem,通过props接收,再在子组件标签上带上该函数。我们这里可以采用爷传子,子传孙的方法,我们可以给APP(爷组件)绑定一个函数,将函数逐层传递到MyList(子组件),再传到MyItem(孙组件),例如下方。
2023-05-28 20:09:45 1100 2
原创 vue中基础属性(v-指令、Object.defineProperty()、数据代理初始、事件修饰符、键盘事件、计算属性、监视属性、过滤器、自定义指令、生命周期初识、单文件组件、Vue与vc间关系)
一个重要的内置关系 :VueComponent.prototype.__proto__===Vue.prototype。为什么要有这个关系:让组件实例对象(vc)可以访问到Vue原型上的属性、方法。14.Vue与VueComponent的关系。8.computed和watch直接的区别。3.vue中数据代理初识。9.Vue如何监视数据?
2023-05-27 19:48:06 226 2
原创 Javascript中常用方法
下面是JavaScript中实现继承的方法(需要注意的是当我们把一个包含函数的对象赋值给一个构造函数的原型对象时,此时构造函数的原型对象中的constructor已经不是指向了构造函数,这是因为对象属于复杂数据类型,它是有指针的,所以此时为了恢复指针的指向,我们此时需要把原型对象中的constructor重新指向构造函数,例如下图中的woman.prototype.constructor=woman)JavaScript中构造函数、原型对象、对象原型共同构成了JavaScript中的。
2023-05-27 10:55:22 2520
原创 JavaScript中构造函数、原型对象、对象原型的关系以及原型链(超详细)
下面是JavaScript中实现继承的方法(需要注意的是当我们把一个包含函数的对象赋值给一个构造函数的原型对象时,此时构造函数的原型对象中的constructor已经不是指向了构造函数,这是因为对象属于复杂数据类型,它是有指针的,所以此时为了恢复指针的指向,我们此时需要把原型对象中的constructor重新指向构造函数,例如下图中的woman.prototype.constructor=woman)JavaScript中构造函数、原型对象、对象原型共同构成了JavaScript中的。
2023-05-25 19:38:32 142
原创 MySQL中锁(全局锁、表级锁(表锁:表共享读锁,表独占写锁、元数据锁、意向锁:意向共享锁,意向排他锁)、行级锁(行锁:共享锁,排他锁、间隙锁、临键锁))
全局锁:表级锁:表锁:元数据锁:意向锁:行级锁:间隙锁总结:
2023-04-09 13:39:46 120
原创 MySQL中存储过程(系统变量、用户定义变量、局部变量、if、procedure、case、while、repeat、loop、cursor、handler)
图中的 SQLSTATE '02000' 可以改为not found。
2023-04-08 15:43:57 123
原创 MySQL中视图(with cascaded check option、with local check option、视图的更新、视图的作用)
视图的更新 :视图的作用:
2023-04-07 18:51:16 270
原创 MySQL中优化(插入数据、主键优化、order by优化、group by优化、limit优化、count优化、update优化)
select @@local_infile(查询load指令开关是否打开)
2023-04-07 14:25:22 122
原创 MySQL中索引使用规则(最左前缀法则、联合索引中,出现范围查询、索引列上进行运算操作、字符串不加引号、头部模糊查询、or连接的两边没有索引导致失效、数据分布影响、SQL提示、覆盖查询、前缀索引)
我们可以给username和password建立联合索引。
2023-04-05 15:54:25 172
原创 MySQL性能分析(查看执行频次、慢日志查询、show profiles、explain、验证索引效率)
1.查看执行频次2.慢日志查询4.explain。
2023-04-05 09:55:40 225
原创 MySQL中索引(B-Tree、B+Tree、索引分类、索引语法)
B-Tree:B+Tree:MySQL中对B+树进行了优化:Hash:SQL语法:
2023-04-04 22:34:25 165
原创 MySQL中体系结构(存储引擎、InnoDB、MyISAM、Memory)
存储引擎简介:InnoDB存储引擎:MyISAM存储引擎:Memory存储引擎:如何选择存储引擎?总结:
2023-04-03 13:50:48 173
原创 MySQL中多表查询(多表关系:一对多、多对多、一对一,分类:连接查询:内连接、外连接、自连接、联合查询,子查询:标量子查询、列子查询、行子查询、表子查询)
我们将两张表的结果联合起来,发现有重复的情况,因此这里我们可以把关键字union all中的all去掉。我们发现我们利用DQL中的select语句查询多张表的时候,会出现一个数学现象,叫做笛卡尔积。此处inner关键字可以省略。
2023-04-02 13:01:03 2765
原创 MySQL中约束(非空约束(not null)、唯一约束(unique)、主键约束(primary key)、默认约束(default)、检查约束(check)、外键约束(foreign key))
那么如何添加外键约束呢?
2023-04-01 13:34:55 205
原创 MySQL中SQL语法之函数(字符串函数、数值函数、日期函数、流程控制函数)
rpad:right pad (右填充)lpad:left pad(左填充)
2023-04-01 10:03:04 144
原创 MySQL中SQL语法(DDL、DML(insert、update、delete)、DQL(select、from、where、group of、having、order by、limit)、DCL)
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
2023-03-31 22:09:02 189
原创 Java数据结构与算法之(二分查找及改动版)
有,如果left或者right的数字很大时,它们相加的数超过了整型的取值范围,它们的二进制数字的首位会被解析成符号位,会导致数字出现负数的情况,这是我们可以使用移位运算符,(left+rigth)>>>1,这里的>>>是无符号右移,我们将二进制位往右移动时,无论正负,都在高位插入0。因为如果是left
2023-03-28 22:19:45 152
原创 Java中反射(获取class对象的三种方式、利用反射获取构造方法(newInstance)、成员变量(set、get)、成员方法(invoke)、反射的作用、两个小练习、动态代理)
以上我们都是通过获取class对象获取的,所以怎样能获得class对象呢?利用我们反射,我们可以直接改变文件中的内容来改变。动态代理:。练习一:。
2023-03-28 11:59:51 247
原创 Java中网络编程小练习(包含控制台版聊天室)
我们只需要在服务端利用工具类UUID为我们生成唯一文件ID就可以了。注意:此时浏览器为客户端,我们的Java代码就执行服务端。接上题,我们想要解决文件名重复的问题。我们这里只需改变上面服务端的代码即可。练习二:(需要结束标记)
2023-03-27 18:19:53 118
原创 Java中网络编程(TCP传输、解决传输乱码问题、三次握手、四次挥手)
但是我们发现当我们想要发送中文会出现乱码现象(由于在UTF-8中,一个中文占据三个字节,而我们读取的时候是一个字节一个字节读取的,所以会出现乱码的情况,我们可以利用转换流来转化,进而使用缓冲流提高效率),那我们应该如何解决呢?
2023-03-26 16:14:43 733
原创 Java中网络编程(网络编程三要素、getByName、getHostName、getHostAddress、UDP发送数据和接收数据、简易聊天室、UDP的三种通信方式(单播、组播、广播))
获取ip地址和主机名的方法:(gerByName(可以是主机名或者ip地址)、getHostName()、getHostAddress())但是如果想要达到聊天室的效果应该怎么办呢?(我们可以设置一个程序可以多次运行)广播:(广播只需把单播的ip参数改为255.255.255.255)ipv6:(因为ipv4不够使用,所以ipv6出现了)UDP的三种通信方式:(单播、组播、广播)选择上面的第一个选项,点击OK就可以了。我们前面实现的一对一的发送方式实际上就是。,接下来我们来实现组播和广播。
2023-03-26 15:19:51 378
原创 Java中线程池(自定义线程池)
我们实际使用时,创建多大的线程池合适呢?(cpu密集型运算:项目中计算比较多;I/O密集运算:项目中读取文件或者读取数据库的操作比较多)。由于我们也无法知道cpu计算时间和等待时间,我们可以通过threa dump工具类来获取cpu计算时间+等待时间。此处的最大并行数指的是cpu的线程数,我们可以利用方法来查看Java可用的处理器数目。
2023-03-25 19:01:53 245
原创 Java中多线程小练习
注意此处我们想要获得两个奖池中的最大奖金,那么必然要获得两个奖池中各自的最大奖金,来进行比较,所以我们要获得线程的结果,所以此处我们使用实现多线程的第三种方法,实现Callable接口,在main方法中获得线程管理者的对象,再来获取数据。
2023-03-25 13:19:13 181
原创 Java中线程安全的问题(同步代码块、同步方法、Lock锁(lock、unlock)、死锁、生产者和消费者(wait、notify、notifyAll)、阻塞队列(put、take)、线程的6种状态)
而此时打印厨师做了一碗面和面条的字样处于锁的外面,因此它们将会抢占cpu的执行权,它们运行的概率是随机的。注意此处可能会出现打印多次 厨师做了一碗面和面条的字样,因为。注意此处锁对象我们可以传递当前类的字节码,因为字节码是唯一的。我们发现这样的锁全是自动的,那有没有办法可以手动设置锁呢?此时我们可以利用同步代码块将操作共享数据的代码锁起来。当锁镶套时,有可能出现死锁现象。那是因为线程执行时,有随机性。我们通过上面的代码发现,(造成线程安全问题)
2023-03-24 15:20:16 196
原创 Java中多线程(实现方式:继承Thread类、实现Runnable接口、利用Callable接口和Future接口、setPriority、setDaemon、yield、join)
细节二:如果我们要给线程设置名字,可以使用set方法进行设置,也可以利用构造方法进行设置,但由于我们创建的是Thread类的子类对象,因此我们需要自己手动使用supre关键字调用父类的有参构造。细节:当JVM虚拟机启动之后,会自动启动多条线程,其中有一条线程就是main线程,它的作用就是去调用main方法,并执行里面的代码,在以前,我们写的所有的代码,其实都是运行在main线程当中。细节一:如果没有设置线程名称,将会使用线程默认的名字(格式Thread-x,x为序号,从0开始),最低为1,最高为10)
2023-03-23 21:43:41 287 2
原创 Java中打印流(printStream、printWriter)与压缩流(ZipInputStream(getNextEntry)、ZipOutputStream(putNextEntry))
字节打印流构造方法以及其成员方法。字符打印流构造方法以及其成员方法。
2023-03-17 22:27:12 217
原创 Java中序列化流(读取对象)(ObjectOutputStream:writeObject)、反序列化流(ObjectInputStream:readObject)
当我们利用反序列化流将数据写出文件中时,此时改变JavaBean的成员变量的数量时,在利用序列化流写入时,会出现序列化号不同的情况,从而代码会报错。利用反序列化流读取数据(注意读取时需要让JavaBean类实现Serializable接口)那么我们如何解决这种问题呢?利用序列化流写出数据。
2023-03-16 14:47:29 291
原创 Java中转换流(InputStream、OutputStream、Reader、Writer)
JDK11后可以使用FileReader来指定字符集进行读取。在JDK11后同样可以使用FileWrite来进行替换。
2023-03-16 13:24:32 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人