- 博客(24)
- 收藏
- 关注
原创 集成MyBatis-Plus
在定义实体类中,需要注意:在mybatis-plus中,默认实体类中的属性名和表中的列名驼峰形式和下划线形式,是同一种转换模式。实体类名和表明之间的映射,也可以是驼峰和下划线之间的转换。如果有差异可以使用@TableName的注解,进行映射数据库中的表名。在实体类中,最常用注解@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法引入lambob依赖--实体对象工具类:低版本idea需要安装lombok插件-->定义。
2023-09-18 11:44:03
176
原创 微信支付介绍与支付证书
线下场所:商户展示一个支付二维码,用户使用微信扫描二维码后,输入需要支付的金额,完成支。后面的课程中,我们会通过编程的方式来获取。网站场景:在网站中展示二维码,用户使用微信扫描二维码,输入需要支付的金额,完成支。公众号场景:用户在微信内进入商家公众号,打开某个页面,选择某个产品,完成支付。缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交。特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有。证书是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。
2023-09-17 21:55:08
469
原创 Vue的简单学习
创建过程中,会让你选择(一般来说选择vue2,但Vue 2 将于 2023 年 12 月 31 日停止维护。数据会绑定到组件,组件的改变也会影响数据定义。是一个前端框架,帮助我们快速构建前端项目。脚本文件的方式,另一个是脚手架的方式。我们的项目,使用的是脚手架的方式。都会经过淘宝的镜像地址下载。有两种方式,一个是传统的在。经过下面的配置,所有的。),然后创建一个项目。
2023-09-17 15:59:54
91
原创 MySQL—索引
索引是一种用于快速查询和检索数据的数据结构。常见的索引结构:B树,B+树,Hash索引的作用相当于一个目录。比如说:我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。
2023-09-03 16:33:37
63
原创 并发——线程池
线程池本质上是一种池化技术,而池化技术是一种资源复用的思想,比较常见的有连接池、内存池、对象池。而线程池里面复用的是线程资源。线程池就是创建若干个可执行的线程放入一个池中,有任务需要处理时,会提交到线程池中的任务队列,处理完之后线程并不会被销毁,而是仍然在线程池中等待下一个任务。
2023-08-31 16:26:16
42
1
原创 对NIO、BIO、AIO的理解
I/O(Input/Output)是计算机系统中与外部设备进行数据交换的过程。它涉及从外部设备(如硬盘、键盘、鼠标、网络等)读取数据到计算机系统,以及将数据从计算机系统写入外部设备的操作。在计算机系统中,I/O 是非常重要的,因为它使得计算机能够与用户交互、处理文件、进行网络通信等。下面是对 I/O 的一些基本概念和理解:输入(Input):从外部设备读取数据到计算机系统的过程。例如,从键盘读取用户输入、从文件读取数据等。输出(Output):将计算机系统的数据发送到外部设备的过程。
2023-08-30 15:29:18
30
原创 Spring之循环依赖
一个或多个对象实例之间存在直接或间接的依赖关系,这种依赖关系构成了构成一个环形调用。第一种情况:自己依赖自己的直接依赖。A 依赖 A 形成了循环依赖。第二种情况:两个对象之间的直接依赖。A 依赖 B,B 又依赖 A,它们之间形成了循环依赖。第三种情况:多个对象之间的直接依赖。A 依赖 B,B 依赖 C,C 又依赖 A,形成了循环依赖。
2023-08-30 15:21:37
83
原创 公平锁和非公平锁
公平锁的获取方式是按照线程的申请顺序来获取锁,即先到先得。当多个线程同时竞争一个公平锁时,会按照线程的先后顺序依次获取锁资源。这种方式可以保证所有线程公平地访问共享资源,避免饥饿现象的发生。公平锁的实现通常会维护一个等待队列,记录等待锁的线程,当锁释放时,从等待队列中选择最先等待的线程来获取锁。公平锁的优点是保证了资源的公平分配,所有线程都有机会获取锁,避免了某些线程长时间无法获取锁的情况。但是,公平锁的实现需要维护一个等待队列,增加了额外的开销,并且在高并发场景下可能降低系统的吞吐量。
2023-08-30 15:19:38
37
原创 MySQL之事务
事务是基于重做日志文件(redo log)和回滚日志(undo log)实现的。每提交一个事务必须先将该事务的所有日志写入到重做日志文件进行持久化,数据库就可以通过重做日志文件来保证事务的原子性和持久性。每当有修改事务时,还会产生回滚日志,如果需要回滚,则根据回滚日志的反向语句进行逻辑操作,比如insert一条记录就对应一条delete记录。回滚日志主要实现数据库的一致性。
2023-08-22 22:57:36
38
1
原创 synchronized锁及锁升级
synchronized在jdk1.6之前,是通过重量级锁的方式,来实现线程之间的一个锁的竞争的。之所以称它为重量级锁,是因为它的底层依赖操作系统层面的Mutex Lock,来实现互斥锁的一个功能,Mutex是系统方法,由于权限隔离的关系,应用程序调用系统方法的时候,需要切换到内核状态来执行,那这样就涉及到用户态向内核态的一个切换,这个切换会带来一个性能上的损耗。在jdk1.6版本之后,synchronized增加了锁的升级这样一个机制来平衡数据安全和性能的一个关系。
2023-08-05 16:20:42
146
1
原创 Java设计模式——工厂模式
Override1)定义PC类,实现Computer@Override@Override@Override2)定义Service类,实现Computer@Override@Override@Override注意工厂类可以单例的(添加判断该对象是或否已经创建过)getComputer可以是静态的getComputer是工厂类的方法,基于相同的参数类型返回不同的对象。
2023-08-03 22:37:27
224
原创 Java设计模式——单例模式
单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。
2023-08-03 21:39:19
38
原创 ArrayList源码
首先进入add()方法,根据ensureCapacityInternal()方法,传入size+1的长度。初始化后,ArrayList的长度设为0。
2023-07-25 12:01:02
26
原创 Spring+Spring MVC+MyBatis框架整合
持久对象层(entity层):由若干实体类组成;对象访问层(Dao层/mapper层):由若干DAO/mapper接口和MyBatis映射文件组成。业务逻辑层(Service层):由若干Service接口和实体类组成。用于实现业务逻辑。Web表现层(Controller层和页面):由若干Controller类和页面组成。Controller类用于处理页面请求,并于业务逻辑层进行交互。页面对业务数据进行呈现,并对用户的非法操作进行适当的控制。
2023-07-23 11:21:06
103
1
原创 深度解析“128陷阱”
默认范围是(-128~127)的结果,原因是:Integer在初始化的时候有一个cache数组,这个数组默认范围是-128~127之间。所以用==判断时,返回的结果为true(判断的是同一个对象的地址)。如上图所示,Integer数据类型的值在(-128~127)之间,用==比较返回true;如果new一个Integer对象的话,那么比较的是两个不同的对象,返回false(new出来的对象,不存在“128陷阱”)128陷阱指的是,两个Integer数据类型在一定范围内用==判断,会返回true。
2023-07-18 11:19:03
55
1
原创 eclipse中前后端交互方式
能发起get请求方式:(浏览器的地址栏,a标签,jquery+ajax,form) 应用:查询数据能发起post请求方式:(jquery+ajax,form) 应用:删除添加修改数据。
2023-03-14 17:06:38
936
原创 使用eclipse创建web项目+配置环境
eclipse文件,解压即使用链接: https://pan.baidu.com/s/1cUCGMKx9wzw16bPSK92iYg提取码: 6666。
2023-03-14 15:39:17
1087
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人