- 博客(33)
- 收藏
- 关注
原创 <avue-crud/>,二级表头,children下字典项的dicUrl失效问题
实现二级表头时,在children下配置字典项:只有dicData可以生效、但是dicUrl不生效,既然处在children下的dicUlr失效,那么我们可以单独把该属性拎出来(那问题来了:怎么拎),这里使用插槽来实现。祝大家早日解决bug!
2023-11-30 10:09:54 770
原创 AVUE做二级联查,本次需求:地市、市县做二级联动
表结构一定要设计好, 包括:主键、编号(code-> 含义:地市、市县的唯一标识)、父类编码(在本次需求中,地市的编码即为市县的父类编码),名称。-> /abujtkdarea/getAreaName: 根据地市得到对应的市区。:在新增和编辑时,级联会失效,数据尽管已经取到,但是二级框的数据却没有回填?-> /abujtkdarea/getCityName: 得到'地市'代码:在avue.js中添加强制刷新的代码,了解一下。
2023-04-28 11:09:35 1297 2
原创 MP:使用步骤、分页、queryWrapper
mybatis-plus是一个插件,它不能单独使用,必须配合mybatis使用,作用是简化mybatis操作,通过使用MP提供的方法,自动生成SQL语句进行CRUD。乐观锁:乐观锁在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果冲突,则返回给用户异常信息,让用户决定如何去做*//****************Mybatis-Plus注解**********************/like:’%值%’,notLike:’%值%’,likeLeft:’%值’,likeRight:‘值%’
2023-03-22 23:31:59 2010
原创 avue导出Excel,使用当前日期做文件名,可以批量导出、全量导出、搜索后的全量数据导出
【代码】avue导出Excel,使用当前日期做文件名,可以批量导出、全量导出、搜索后的全量数据导出。
2023-02-24 18:15:14 1199
原创 JavaScript常用事件详解
onclickonmouseoveronmouseoutonkeyuponchangeonfocusonblur
2022-11-16 10:07:19 288
原创 JavaScript常用事件详解
onclickonmouseoveronmouseoutonkeyuponchangeonfocusonblur
2022-11-16 10:03:57 445
原创 @Autowired的实现原理
在这之前你得了解SpringIOC容器的相关知识。作用:完成bean的自动装配自动装配有两种实现方式:通过xml配置的方式与注解的方式。@Autowired相比于xml配置方式替换:autowire属性,自动装配(按照类型装配,通过set方法,且方法可以省略)位置:修饰属性,set方法语法:@Autowired(required="true")注意:1.如果容器中没有一个可以与之匹配且required属性为true则会报异常 NoSuchBeanDefinitionException。
2022-10-24 22:12:29 1557
原创 如何从gitee上拉项目?
如何从gitee上拉项目?第一步:下载git软件第二步:一直下一步,傻瓜式安装第三部:使用新建一个文件夹2. 右击,打开命令窗口3. 复制项目下载url4.命令窗口输入这样一串命令
2022-10-23 19:35:19 2947
原创 TCP和UDP的区别
TCP通过校验和、确认号、确认应答、超时重传、快重传、流量控制、拥塞控制、滑动窗口、连接管理、ARO协议保证了可靠性;UDP无连接,通过发送数据包来传输数据,只管发送,不管对方有没有收到,同时由于他发送少量数据包的原因,不处理拥塞控制问题,就好比,A同学向B同学发送:“放学我等你,一起吃饭。UDP尽管他无连接,但是因为它的高效性,应用于一些对性能要求较高的场景,一般用于即时通信例如QQ语音、QQ视频、直播等;TCP由于需要维护可靠性,流量控制,拥塞控制等,所以需要消耗性能为代价,故它的性能较UDP低。
2022-09-25 23:29:05 3021
原创 浏览一个网站时的整个过程
服务器收到浏览器发送过来的密文,通过自己持有的私钥对该密文进行解密,得到“随机秘钥”,基于“随机秘钥”加密网页内容,发送至浏览器,浏览器通过自己持有的“随机秘钥”进行解密,最后通过浏览器将内容呈现给用户。:首先,HTTP协议的传输层基于TCP协议的,用户向浏览器发送一个HTTP请求,浏览器向服务器发送请求连接,这时处于等待连接的服务器,接受连接,接下来就是服务器和客户端的信息交互阶段。:浏览器收到数字证书并得到该公钥,浏览器生成一个“随机秘钥”,通过得到的公钥对该“随机秘钥”进行加密,发送至服务器。
2022-09-22 19:22:45 232
原创 CopyOnWriteArrayList源码分析
它的实现原理是在读操作的方法不加锁,而在写操作加锁,每个写操作都是赋值一份原内容,在复制的数组上进行增删改操作,最后将修改后的数组引用指向原数组的引用,这样在一个线程没修改完之前,读操作都读取的是原数组的内容,不会读取脏数据。它的特点是,保证了数据的最终一致性,而不能保证数据的实时一致性,也就是说他最终获取的数据一定是正确的,但不鞥保证时刻获取的数据都是最新的数据。它支持多个线程并发地读,但不支持多线程并发写,也就是说当一个线程在进行增、删、改的操作时,其他线程不能进行写操作,它适用于读多写少的场景,
2022-09-18 22:15:28 184
原创 《Session会话追踪的实现机制》
我们把这种基于唯一ID识别用户身份的机制称为Session。每个用户第一次访问服务器后,会自动获得一个Session ID。如果用户在一段时间内没有访问服务器,那么Session会自动失效,下次即使带着上次分配的Session ID访问,服务器也认为这是一个新用户,会分配新的Session ID。一次Session会话中往往包含着若干次request请求。
2022-08-24 18:49:02 268
原创 Servlet的生命周期
3.第三步:tomcat会自动调用HttpServlet类的service()方法(一般子类不会重写该方法),在该方法中会判断客户端发起的请求方法类型,然后根据类型执行相应的逻辑,值得注意的是在service()方法中,他对每种方法的执行逻辑都是返回一个错误的页面,而我们想要执行正确的逻辑,需要在子类中去实现doGet(),doPost()方法,这样客户端在请求后,才会执行我们想要的逻辑。2.第二步:紧接着,tomcat会自动调用init()方法,进行第一次实例化,同样也只有第一次请求时才进行初始化。
2022-08-21 11:42:27 329 2
原创 MyBatis框架学习总结
- fetchType="lazy" 懒加载,只有在用该sql语句的时候才加载,不用不加载--> 解决:首先,我们要创建两张表对应的两个实体类,使用resultMap属性,在resultMap中将字段名和实体属性对应起来。
2022-08-17 21:29:39 594
原创 当添加一个键值对元素时,HashMap发生了什么?
1. 首先,我们要知道HashMap底层维护了Node类型的数组table,默认为null,2. 当创建对象时,将加载因子(loadfactor)初始化为0.753. 当添加key-vale时,通过key的哈希值得到在table的索引,然后判断该索引处是否有元素,如果没有元素直接添加,如果该索引处有元素,继续判断该元素的key和准备加入的key是否相等,如果相等,则直接替换value,如果不相等需要判断是树结构还是链表结构,做出相应处理,如果添加时发现容量不够,则需要扩容。...
2022-08-13 20:04:59 244
原创 对称式加密与非对称式加密的对比
加密算法的思维导图。的私钥,A看成甲的公钥,b看成乙的私钥,B看成乙的公钥,DH算法的本质就是双方各自生成自己的私钥和公钥,私钥仅对自己可见,然后交换公钥,并根据自己的私钥和对方的公钥,生成最终的密钥secretKey,DH算法通过数学定律保证了双方各自计算出的secretKey是相同的。密钥长度由算法设计决定,AES的密钥长度是128/192/256位;非对称加密就是加密和解密使用的不是相同的密钥,只有同一个公钥-私钥对才能正常加解密。加密和解密使用的不是相同的密钥,只有同一个公钥-私钥对才能正常加解密。
2022-07-21 20:34:17 369
原创 两种常用的哈希算法与Hmac算法
哈希算法又称摘要算法,它的作用是对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希算法的目的为了验证原始数据是否被篡改。最主要的特点是相同的输入一定得到相同的输出不同的输入大概率得到不同的输出。...
2022-07-19 20:36:22 922 1
原创 对HTTP的初步认识
HTTP就是目前使用最广泛的Web应用程序使用的基础协议,例如,浏览器访问网站,手机App访问后台服务器,都是通过HTTP协议实现的。HTTP是HyperTextTransferProtocol的缩写,翻译为超文本传输协议,它是基于TCP协议之上的一种请求-响应协议。...
2022-07-18 21:08:07 308
原创 对UDP编程的初步认识
2.1类DatagramSocket和DatagramPacket[数据包/数据报]实现了基于UDP协议网络程序2.2UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。2.3DatagramPacket对象封装了UDP数据包,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号2.4UDP协议中每个数据报给出了完整的地址信息,因此无须建立发送方和接收方的连接。...
2022-07-17 21:43:34 522 5
原创 对Java Email的初步认识
如何实现邮件发送,就是编写一个MUA的软件,把邮件发送到MTA上。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接受邮件服务器,用来接收电子邮件的。POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作,不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的。5.4发送一个内嵌图片的HTML邮件。..
2022-07-17 18:25:43 1727 1
原创 操作Zip压缩文件,即Zip压缩包的“读操作“和”写操作“
1.1.1 理论定义上:ZipInputStream流是FilterInputStream的间接子类,可以说明它是""装饰流“,即在FileInputStream的基础上增加了某种逻辑得到了新的功能。形式上: 和其他“装饰流”一样,创建它的实例时,需要传入一个InputStream的子类作为参数,这也证实了它是在InputStream的基础上添加某种功能特殊方法:getNextEntry() -> 可以返回一个ZipEntry类型的变量,该返回值拥有多个方法,可以得到你所需的内容。实现“读”的理论基础:压缩
2022-05-31 21:38:37 597
原创 Properties的“读操作”和“写操作”
首先介绍一下Properties,它是专门用于读写配置文件的集合类,配置文件的格式: 键=值键=值,它是map的特殊的集合类 : 可以把输入流和键值对集合连接起来 接下来,谈一谈Properties的“读操作”与“写操作”~~ 读操作 作用:用于读取配置文件里的内容 步骤 创建Properties对象 加载指定配置文件(流的形式传入参数) 使用get(),通过Key获取值 示例代码:public class Tes...
2022-05-30 20:54:49 713
原创 FileInputStream与BufferedInputStream有哪些区别?
区别一:FileInputStream是InputStream的子类,而BufferedInputStream的子类,是InputStream的间接子类 代码依据:FileInputStream:public class FileInputStream extends InputStream{}BufferedInputStream :public class BufferedInputStream extends FilterInputStream {}区别二:他们两个在使用执行re...
2022-05-18 16:10:48 1113
原创 Integer的缓存池
Integer的缓存池1 定义:Integer中定义了-128~127的初始化,如果存入的值在这个范围内,就不用新创建,直接指向内存中初始化好的值。在jdk源码中缓存池表现在一个静态内部类中(如下):private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high v...
2022-02-21 19:06:29 341
原创 String、StringBuilder、StringBuffer的区别。和StringBuilder的方法
1.String、StringBuilder、StringBuffer的区别。和StringBuilder的方法1.1.1 String 与 StringBuilder、StringBuffer相同点:都是存储字符串不同点:String是不可变的,而StringBuilder、StringBuffer是可变的1.1.2 StringBuilder与StringBuffer相同点:都是可变字符串,都是AbstractStringBuilder类的子类不同点:StringBuil..
2022-02-21 18:43:49 170
原创 字符串常见方法总结:方法的作用、参数、返回值
1. 字符串的构造方法字符串常用构造方法有四种:1.1 String str = "abc";1. 2 String str = new String("abc");1.3 String str = new String(new char[]{'a', 'b', 'c'});1.4.1byte[] bts = "中国".getBytes();String str = new String(bts);1.4.2byte[] bts = "中国”.getBytes(Stand
2022-02-20 19:58:37 1160
原创 抽象类与接口的区别
1.包含内容不同抽象类:可以有变量,构造方法,普通方法,抽象方法,接口:可以有常量、抽象方法、default默认方法、静态方法abstract class PersonA { //1.抽象方法 public abstract void run(); public abstract String getName(); //2. 可以有成员变量 public String str; // 3. 有构造方法 pub
2022-02-16 19:07:45 120
原创 重写和重载的区别
重写和重载的区别 语法不同 重载:方法名一致、参数必须不一致、返回类型不做要求、访问修饰符不做要求重写:方法名一致、参数一致、返回类型是相同的或其子类、访问修饰符不能缩小权限 存在的位置不同 重载:同类中重写:父类与子类中...
2022-02-16 18:54:31 53 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人