- 博客(31)
- 收藏
- 关注
原创 高端性能:节流、防抖、重绘、回流
节流节流:指定时间间隔内只会执行一次任务。这有点像我们刷抢购一样,当我们在某段时间间隔内触发了多次事件,其实,它只执行一次请求!防抖防抖:任务频繁触发的情况下,只有任务触发的间隔超过制定的时间间隔的时候,任务才会被执行。节流和防抖的区别防抖是需要等待多久时间才能再触发一次事件!节流是多久时间内只能触发一次事件!重绘重绘(repaint):当元素样式的改变不影响布局时,浏览器将使用重绘对元素进行更新,此时由于只需要 UI 层面的重新像素绘制,因此损耗较少。回流回流(re
2020-07-09 20:31:31
212
原创 React使用过程中问题解决(1)
1,环境介绍:通过create-react-app搭建React项目,添加路由组件React-Router,样式组件Antd Design(简称antd),状态管理机react-redux 等组件。2,问题出现:我在index.js中添加<a>点击进入首页</a>,保存后npm start运行项目,出现问题。3,警告描述:The href attribute is required for an anchor to be keyboard accessible.Provi
2020-07-08 10:31:49
313
原创 React框架之生命周期函数
React组件的生命周期组件的生命周期可分成三个状态:Mounting:已插入真实 DOMUpdating:正在被重新渲染Unmounting:已移出真实 DOM生命周期的方法有:componentWillMount 在渲染前调用,在客户端也在服务端。componentDidMount : 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setT
2020-07-01 17:13:32
136
原创 Java基础之StringBuffer类
当对字符串进行修改时需要用到SpringBuffer类一个小的案例:字符串逆序输出package com.zrz.nowcoder.character;import java.util.Scanner;//将字符串内容逆序输出:逐个输出public class demo_02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.h
2020-06-03 23:10:07
98
原创 数据库之花里胡哨的排序
1 排序普通查询语句: select * from tr_menu;查询结果如下:查询所有菜品,按照价格升序排序: select * from tr_menu ORDER BY menu_price asc;查询结果如下:注意:升序排序的时候关键字asc可以去掉;查询所有菜品,按照价格降序排序: select * from tr_menu ORDER BY menu_price desc;查询结果如下:查询价格>=20的菜品,并按照添加时间排序:...
2020-05-29 21:00:51
249
原创 迷宫回溯问题算法实现
使用递归给迷宫找路说明:1.map表示地图,i,j表示从地图的哪一点出发2.如果能找到map[6][5]位置,说明通路找到3.约定:当map[i][j]为0时,表示该点没有走过;当为1时,表示为墙;2表示通路可以走;3表示该点已走过但是走不通4.策略:走迷宫遵守:下-》右-》上-》左,如果该点走不通,再回溯5.如果找到通路就返回true,否则返回false。代码实现如下:package com.zrz.Recursion;public class MiGong { publi
2020-05-13 19:04:36
155
原创 数据结构之递归思想
递归的概念简单地说,递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。两个小案例,帮助理解递归:package com.zrz.Recursion;//递归public class RecursionTest01 { public static void main(String[] args) { test1(4);//2,3,4 test2(4);//2 System.out.pri
2020-05-13 17:32:29
331
原创 Java基础之集合(set接口)
java.util.Set接口和java.util.List接口一样,同样继承自Collecion接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了,与List接口不同的是,set接口中的元素无序,并且都会以某种规则保证存入的元素不会出现重复。Set集合有多个子类,其中最常见的有:java.util.HashSet和java.util.LinkedHashSet这两个集合。Set集合取出元素的方法可以采用:迭代.
2020-05-12 11:13:31
221
原创 数据库的事务特征和隔离级别
如果一个数据库支持事务的操作,那么该数据库必须要具备以下四个特征(ACID):(1)原子性(Atomicity)原子性指的是事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。(2)一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执...
2020-05-08 14:56:11
56
原创 2020应届毕业Java面试持续更新
1.jquery中 $.get()提交和 $.post()提交有区别吗?相同点:都是异步请求的方式来获取服务端的数据;异同点:1,请求方式不同: $.get() 方法使用GET方法来进行异步请求的。 $.post() 方法使用POST方法来进行异步请求的。2,参数传递方式不同:get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传...
2020-05-08 14:30:47
147
原创 Spring家族之HTTP状态码
当浏览者访问一个页面时,浏览者的浏览器会向网页所在的服务器发送请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。状态码的分类HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种...
2020-05-07 17:18:01
351
原创 Java基础之集合(List)
java.util.List 接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的;2.有索引,包含了一些带索引的方法;3.允许存储重复的元素。List接口中带索引的方法有:1.public void add(int index,E element):将指定的元素添加到该集合中的指定位置;2.public E get(i...
2020-05-06 22:36:44
78
原创 Java基础之多线程系列六:线程池
我们使用线程的时候就去new一个线程,这样实现起来非常简便,但是就会出现一个问题:如果并发的线程数量很多,每个线程执行完一个任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建和销毁线程都是需要时间的。那么有没有一种办法可以使线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?线程池的概念其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创...
2020-05-06 19:10:27
96
原创 Java基础之多线程系列五:线程通信(等待唤醒)
等待唤醒案例等待唤醒案例:线程之间的通信:创建一个顾客线程(消费者),告知老板要买包子的种类和数量,调用wait方法,放弃CPU的执行,进入到无限等待(WAITING)状态;创建一个老板线程(生产者),花了五秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子。注意:顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只能有一个在进行;同步使用的锁对象必须保证唯一;只...
2020-05-06 17:05:38
107
原创 Java基础之多线程系列四:线程状态
Java线程和操作系统中说的线程状态不大一样,操作系统中说的线程状态共有五种(新建,就绪,运行,阻塞,死亡),但是Java线程的线程状态有六种(新建,运行,阻塞,休眠,无限等待,死亡),具体如下图描述:新建(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程...
2020-05-06 13:28:38
98
原创 Java基础之多线程系列三:线程安全
为什么会出现线程安全问题举个例子:电影院上映一部电影,共一百张票:一个窗口:只有一个窗口卖100张票不存在问题,所以单线程程序是不存在线程安全问题的;多个窗口分段卖票:第一个窗口卖1到33号票,第二个窗口卖34到66号票,第三个窗口卖67到100号票,卖的票不同也不会出现问题,多线程程序没有访问共享资源,不会出现问题;多个窗口同时卖所有票:卖到最后一张票,三个窗口抢最后一张票,或者三个窗...
2020-05-06 01:08:29
105
原创 Java基础之多线程系列二:创建(匿名内部类)
什么是匿名内部类?这章主要说的是匿名内部类方式实现线程的创建:匿名:没有名字;内部类:写在其它类内部的类。匿名内部类作用:简化代码把子类继承父类,重写父类的方法,创建子类对象合一步完成;把实现类、实现类接口、重写接口中的方法、创建实现类对象合成一步完成;匿名内部类最终产物:子类/实现类对象,而这个类没有名字。格式:new 父类/接口(){ &...
2020-05-05 23:13:57
106
原创 Java基础之多线程系列二:创建(实现Runnable接口)
创建多线程程序的第二种方法:实现Runnable接口java.lang.Runnable Runnable接口应该由那些打算通过某一线程执行其实例的类来实现,类必须定义一个称为 run 的无参数方法。实现步骤:创建一个Runnable接口的实现类;在实现类中重写Runnable接口的run方法,设置线程任务;创建一个Runnable接口的实现类对象;创建Thread类对象,构造方...
2020-05-05 16:24:16
421
原创 Java基础之多线程系列二:创建(继承Thread类)
创建多线程的第一种方式:创建Thread的子类java.lang.Thread类:是描述线程的类,要实现多线程,首先继承Thread。实现步骤:创建一个Thread的子类;在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?);创建Thread类的子类对象;调用Thread类中的start方法,开启新的线程,执行run方法。注意:5. vo...
2020-05-04 19:14:39
364
原创 Java基础之多线程系列一:原理
并发和并行并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。进程与线程两者的概念区别如下:...
2020-05-04 19:10:47
72
原创 Java基础之预定义注解
注解描述注解(annotation),也叫元数据,一种代码级别的说明,JDK1.5之后出来的新特性,它可以声明在包,类,字段,方法,局部变量,方法参数等的前面,用来对这些元素进行说明注释。作用分类:编写文档:通过代码里标识的注解生成文档【生成doc文档】;代码分析:通过代码里标识的注解对代码进行分析【使用反射】;编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【@Overr...
2020-05-04 16:45:34
272
原创 Java基础之Socket实现
socket套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。TCP通信客户端代码实现TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据。表示客户端的类:java.net.Socket...
2020-05-04 12:50:44
162
原创 Java基础之网络编程三要素
1 软件结构C/S结构:Client/Server结构,客户端和服务器结构,常见的有QQ,迅雷等;B/S结构:Browser/Server结构,浏览器和服务器结构,常见的浏览器谷歌,火狐等。无论是哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机通讯的程序。网络通讯协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通讯时需要遵守一定的...
2020-05-02 13:19:47
240
原创 Java基础之IO缓冲流
Java基础之IO字节流Java基础之IO字符流以上两个链接是IO流的字节流和字符流,这篇文章将见识更加强大的流。缓冲流也叫高效流,是对四个基本流的增强,按数据类型分为:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedIReader,BufferedWriterBufferedOutputStream字节缓冲输出流...
2020-05-01 22:15:26
86
原创 Java基础之IO字符流
使用字节流读取中文文件,总是存在一些问题,比如,GBK占用两个人字节,UTF-8占用三个字节,这样的话可能会出现乱码问题,所以我们就引入了字符流。Java基础之IO字节流字符流有些方面和字节流有异曲同工之妙,具体请参考上面链接。字符输入流(Reader)字符输入流的使用步骤创建FileReader对象,构造方法中绑定要读取的数据源;使用FileReader对象中的reader方法读取...
2020-05-01 20:30:55
76
原创 Java基础之IO字节流
1 什么是IO?I:input 输入(读取),把硬盘中的数据读取到内存中使用;O:output 输出(写入),把内存中的数据写入到硬盘中保存;流:数据(字符、字节),一个字符=两个字节,一个字节=8个二进制位输入流输出流字节流字节输入流InputStream字节输出流OutputStream字符流字符输入流Reader字符输出流Writer2 字节...
2020-05-01 16:35:09
113
原创 Spring家族之常用注解(持续更新)
@Controller标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.@Controllerpublic class UserLoginController {}@RestControllerSpring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestControlle...
2020-04-30 20:52:09
189
原创 Spring家族之MyBatis工作原理
什么是MyBatis?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。MyBat...
2020-04-30 20:13:27
174
原创 Spring家族之SpringMVC
SpringMVC出现之前在早期的Java web 开发中,统一把显示层,控制层和数据层的操作全部交给了JSP或者JavaBean来处理,这样的话,存在以下几个弊端:JSP和JavaBean之间严重耦合,Java代码和HTML代码也耦合在了一起;对开发者的要求不仅仅要会写后端Java代码,前端语法也要很精通;前端和后端相互依赖,后端代码完成之后前端代码才能开始编写;后台代码要依赖或等待...
2020-04-30 19:54:44
171
原创 Spring家族之spring工作原理
Spring家族之spring工作原理什么是Spring?Spring的特点和工作原理什么是Spring?Spring是一种多层的J2EE应用程序框架,核心是提供一种新的机制,管理业务对象及其依赖关系,是一种容器框架,用于创建bean和维护bean之间的关系,可以管理持久层,web层,业务层等,可以配置各个层的组件和维护各个层的关系。Spring的特点和工作原理以下是对Spring特点和工...
2020-04-30 18:40:39
153
原创 登录发生问题提出:Expected one result (or null) to be returned by selectOne(), but found: 2
看到标题就已经很明了了:两种情况:1.你想查询一条数据,但返回两条数据:2.你想查询多条数据,但是前台限制只能查询一条(1) 检查自己的数据sql语句写对没有(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据(3) dao层接口要与mybaties中返回值和接收值都要保持一致返回多条数据是多个Map,多个Map放在Lis...
2020-02-29 09:15:34
525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人