- 博客(41)
- 收藏
- 关注
原创 解构赋值
解构赋值概述在 ES6 中新增了变量赋值的方式:解构赋值。允许按照一定模式,从数组和对象中提取值,对变量进行赋值。注意:解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错。数组解构赋值例子:// 数组解构赋值 ----------------let arr = [1, 2, 3]let aa = arr[0]let bb = arr[1]let cc = arr[2]console.log
2020-12-29 18:11:44
305
原创 Reflect
Reflect概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。将Object属于语言内部的方法放到Reflect上修改某些Object方法的返回结果,让其变得更合理让Object操作变成函数行为Reflect对象的方法与Proxy对象的方法一一对应,只要是Proxy对象的方法,就能在Reflect对象上找到对应的方法Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法,这些方法与处理器对象的方法相同。Reflect不是一个
2020-12-29 17:24:59
145
原创 Number
Number概述JavaScript 的 Number 对象是经过封装的能让你处理数字值的对象。语法let a = new Number('123'); console.log(a === 123); // falselet b = Number('123'); console.log(b === 123); // trueconsole.log(a instanceof Number) // is trueconsole.log(b instanceof Number); // is f
2020-12-29 17:14:11
208
原创 String
String字符串字面量 也叫 模板字面量基本语法String(thing)new String(thing)参数 thing : 任何能被转化为字符串的值从字符串中获取单个字符使用 for…of 对字符串进行遍历:// ES6为字符串添加了遍历器接口for (const item of "mayunhan") { console.log(item); //m a y u n h a n}使用charAt():// 取字符串某个字符的方法// charAt()con
2020-12-29 16:21:50
183
原创 WeakSet 和 WeakMap
WeakSet 和 WeakMapWeakSet 只能存对象,且没有size属性,不能遍历。WeakSet 中的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用,也就是说,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于 WeakSet 之中。WeakMap 的键值只能存对象,WeakMap的键名所指向的对象,不计入垃圾回收机制...
2020-12-28 17:53:42
144
原创 Generator
Generator 学习概念Generator 函数是 ES6 提供的一种异步编程解决方案。Generators 是可以用来控制迭代器的函数。它们可以暂停,然后在任何时候恢复。执行 Generator 函数会返回一个遍历器对象。例子简单例子:function* helloWorldGenerator() { yield 'hello'; yield 'world'; return 'ending';}let hw = helloWorldGenerator();con
2020-12-28 17:47:21
147
原创 Proxy
Proxy的学习概念在 ES6 标准中新增的一个非常强大的功能是 Proxy,它可以自定义一些常用行为如查找、赋值、枚举、函数调用等。通过 Proxy 这个名称也可以看出来它包含了“代理”的含义,只要有“代理”的诉求都可以考虑使用 Proxy 来实现。可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。基本语法let p = new Proxy(target,handler)参数含义targ
2020-12-28 17:07:51
146
原创 Promise
Promise 对象Promise的三种状态一个 Promise 必然处于以下几种状态之一:状态不可逆待定(pending): 初始状态,既没有被兑现,也没有被拒绝。已兑现(fulfilled): 意味着操作成功完成。已拒绝(rejected): 意味着操作失败Promise 常用的方法promise a) then 参数为回调函数 成功时 result b) catch 参数为回调函数 失败时 error c) finally 参数为回调函数 任何情况 d) all 这个方法
2020-12-25 18:03:07
232
2
原创 javascript内置对象Object
Object语法:// 对象初始化器(Object initialiser)或对象字面量(literal)// key-value 结构,key 字符串、value 任何值{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }// 以构造函数形式来调用// value 任何值new Object([value])在JavaScript中,几乎所有的对象都是Object类型的实例,它们都会从Object.prototyp
2020-12-25 17:41:05
199
原创 JS编译的几种情况要打;号
问题今天写代码时,看着JS代码没有问题,却总是报错,单独一行行执行却成功了。现场:源码:let user1 = {}[user1.firstName, user1.secondName] = 'Kobe Bryant'.split(' ')console.log(user1.firstName, user1.secondName) 报错:[user1.firstName, user1.secondName] = 'Kobe Bryant'.split(' ') ^ReferenceE
2020-12-24 10:54:10
191
原创 作用域 和 setTimeout 遇到的问题
作用域 和 setTimeout问题1:描述:结果:原因:方案:问题1:描述:该循环中的输出结果为?for (var i = 0; i < 3; i++) { setTimeout(function() { console.log(i) })}console.log(i)结果:3333原因:可以百度搜到 setTimeout是异步的,往任务队列里面添加一个任务,只有主线上的全部执行完,才会执行任务队列里的任务;同时 i 是全局的所以等
2020-12-23 16:19:41
122
原创 学习ES6作用域中,动态作用域:遇到的问题
学习ES6作用域中,动态作用域:遇到的问题问题1:描述:vscode输入:网页控制台输入:问题1:描述:在控制台输入并无问题。在js中写 会在执行 test1() 时,报错:TypeError: Cannot read property ‘a1’ of undefinedvscode输入:// 动态作用域window.a1 = 3function test1() { console.log(this.a1) }test1.bind({ a1: 2})()
2020-12-23 15:03:14
171
原创 进程与线程
什么是线程阻塞线程在运行的过程中因某些原因发生阻塞,阻塞状态的线程特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除后才回到就绪状态。或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException异常。阻塞原因大致为三种:一般线程中的阻塞socket客户端的阻塞socket服务器端的阻塞...
2020-11-16 14:40:38
85
原创 使用InputStream遇到的傻事
调用 输入流的read()方法 读取数据,想用inputStream.read()=-1来判断文件是否读取完,却犯了一个 弱智错误。已知 read()方法每调用一次就会读取一个字节,在循环中 多次调用 read()方法,当然打印的数据不完整啦!!
2020-11-13 11:47:36
195
原创 线程创建的四种方式
线程都是Thread类或它的子类的实例继承Thread类实现Runable接口使用Callable和Future使用线程池继承Thread类继承Thread类
2020-11-12 20:12:45
135
原创 java集合框架常用的数据结构
在程序中,如果出现了多个数据需要存储,解决方就是数组,但数组也有缺点:长度固定,数组一旦创建长度不可改变数组里的元素的类型太单调,都是统一的数组的遍历方式单一,用下标遍历所以在需要的情况下,可以使用集合。所有的集合类都在java.util包下Java的集合 主要由两个接口类派生出来,分别是Collection和MapCollectionCollection接口,是用来存放对象的数据结构。其中长度可变,而且集合中可以存放不同类型的对象。并提供了一组操作成批对象的方法。Set是一组不
2020-11-11 20:59:27
841
1
原创 StringBuffer和StringBuilder有什么区别
StringBufferStringBuffer是由synchronized修饰的,线程安全,比较适合用于多线程对同一个StringBuffer操作的场景。StringBuffer类的声明: public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence{类的成员变量private transient char[] toStr
2020-11-10 19:48:01
926
1
原创 String
String的特性不变性:String是只读字符串,是一个典型的immutable对象,对它进行任何操作,其实都是创建一个新的对象,再把引用指向该对象。不变模式的主要作用在于当一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性。常量池优化:String对象创建之后,会在字符串常量池中进行缓存,如果下次创建同样的对象时,会直接返回缓存的引用。final:使用final来定义String类,表示String类不能被继承,提高了系统的安全性。String定义//jdk1.8public f
2020-11-03 21:01:28
102
原创 idea的rest-client工具,环境配置文件不生效
http-client.env配置了没有生效的问题将环境配置文件放在 测试项目的resource目录下即可
2020-11-02 17:21:20
608
原创 学习NIO
美团技术团队 Java NIO浅析NIO(Non-blocking I/O,在Java中,也叫New I/O),是一种同步非阻塞I/O模型,也是I/O多路复用的基础,被应用到大型应用服务器,有效解决高并发与大量连接、I/O处理问题。从JDK1.4开始,Java提供了一系列改进的输入/输出处理的新特性,被统称为NIO(及New I/O)。新增了用于处理输入输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写,新增了满足NIO的功能。NIO采用内存映射文件的方式来处理
2020-11-02 02:13:25
109
原创 Failed to convert from type java.lang.String to type java.util.Date for value ‘2017-12-06‘;
报错:org.springframework.core.convert.ConversionFailedException:Failed to convert from type java.lang.String to type java.util.Date for value ‘2017-12-06‘; nested exception is java.lang.IllegalArgumentException]解决办法:在pojo的属性上加注解 @DateTimeFormat(patt
2020-10-17 17:20:47
554
2
原创 练习:递归删除树形结构
service:@Servicepublic class SysMenuServiceImpl implements SysMenuService { @Autowired private SysMenuDao sysMenuDao; @Autowired private SysMenuRoleDao sysMenuRoleDao; @Override public JsonResult findObjects() { List<M
2020-09-14 16:25:09
494
原创 Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property ‘__
异常信息:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_i
2020-09-14 15:35:31
8371
1
原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):xxxxxxx
MyBatis绑定异常抛出的异常:2020-09-07 16:41:21.566 ERROR 9664 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is
2020-09-07 17:02:21
189
原创 参数是引用类型需注意
遇到的练习题:public class Value{ public int i=15;}public class Test{ public static void main(String argv[]){ Test t=new Test( ); t.first( ); } public void first( ){ int i=5; Value v=new Value( ); v.i=25; seco
2020-08-27 16:56:32
226
原创 Page分页records有数据,total=0,需要配置mybatis-plus分页拦截器
Controller: @RequestMapping({"", "/", "index"}) public String index() { //设置 pn 默认值 int pn = ServletRequestUtils.getIntParameter(request, "pn", 1); //设置 size 默认值 int size = ServletRequestUtils.getIntParameter(request, "
2020-08-22 17:08:57
4397
原创 使用mybatis-config.xml配置MyBatis,设置数据库访问路径有坑
mybatis-config.xml配置文件配置:<!--MyBatis的全局配置文件--><configuration> <!--1.配置开发环境--> <environments default="test"> <environment id="test"> <transactionManager type="JDBC"></transactionManager>
2020-08-20 11:20:57
1290
原创 try...catch...finally
代码执行出异常,由对应的Exception捕获try{ //代码...} catch(XxxException e){ //代码...} catch(AaaException e){ //代码...}有finally{ }finally{ }一定会执行,无论是否try. . .catchfinally{ }之前有return,会先执行return语句,并保存下来,再执行finally{ },最后returnfinally{ }前有return、finally{ }中也有return
2020-08-19 11:32:36
96
原创 面向对象
OOP (Object Oriented Programing)面向对象编程拓展:OOD(面向对象的设计)、OOA(面向对象的分析)面向对象和面向过程的区别
2020-08-15 17:42:24
120
原创 Mybatis-plus配置执行SQL分析打印报错,yml配置无问题
yml配置文件:#DataSource Configspring: datasource:# driver-class-name: com.mysql.cj.jdbc.Driver# url: jdbc:mysql://rm-bp1q9fqtiuhw6zbrweo.mysql.rds.aliyuncs.com:3306/eblog?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezon
2020-08-14 17:04:07
2279
原创 Servlet
Servlet 概述Servlet是动态Web资源开发技术Servlet程序无法单独运行,需要放在服务器中,由服务器调用。他是运行在服务器中的java程序,其作用是对服务器接收的请求进行处理。Servlet //接口 GenericServlet //抽象类 HttpServlet //继承该类,重写doGet()、doPost()方法request和responserequest是Http请求信息的对象,response是Http响应信息的对象浏览器发出请求访问服务器中的Servle
2020-08-10 20:55:41
3710
原创 redis的有序集合
redis的有序集合(SortedSet)redis2.8中文命令参考ZADDZCARDZCOUNTZINCRBYZRANGEZRANGEBYSCOREZRANKZREMZREMRANGEBYRANKZREMRANGEBYSCOREZREVRANGEZREVRANGEBYSCOREZREVRANKZSCOREZUNIONSTOREZINTERSTOREZSCAN例子:统计每个文章最近7天的阅读数量,怎么运用redis有序集合存储,存入每篇文章最近7天每天新增的阅读数
2020-08-07 11:54:51
154
原创 基础排序算法
插入排序直接插入排序图解选一个数据作为有序,把无序的数据依次与有序比较排序,直至排序完成public class InsertSort { public static void main(String[] args) { int[] nums = {3, 11, 4, 25, 26, 20}; int[] insertSort = method.insertSort(nums); System.out.println(Arrays.toStrin
2020-07-27 20:44:43
108
原创 泛型
上界<? extends T> 和 下界<? super T>例如List<? extends Father>,只能取不能添加。List<? super Father>,可以添加Father的子类类型的数据
2020-07-25 11:40:45
100
原创 反射(Reflection)
反射反射可以在运行时获取一个类的所有信息,(包括成员变量,成员方法,构造器等),并且可以操作类的字段、方法、构造器等部分获取Class对象的三种方法private static void method() throws ClassNotFoundException { //类.class Class<Test1_Reflection> class1 = Test1_Reflection.class; //Class.forName
2020-07-25 11:24:24
136
原创 运算符+=、-=等等
a=a+b和a+=b一样吗不一样的,+=是一个运算符,它会将两个变量的数据类型自动进行转化。而当a,b都为byte类型时,a=a+b编译不能通过,类型不对,需要进行强转。同理 *=、-=、/=、%=
2020-07-24 20:35:44
1754
原创 单例设计模式
单例设计模式 Singleton只有一个实例对象public class TestSingleton { public static void main(String[] args) { MySingleton mySingleton = MySingleton.getMySingleton(); System.out.println(mySingleton); MySingleton singleton = MySingleton.getMySi
2020-07-24 17:37:11
84
原创 Java多线程
Java线程1.进程和线程进程:程序运行依赖一个或多个线程线程:进程运行依赖多个线程,线程是操作系统能够调度的最小单位2.并发和并行并发:一个CPU同时执行多个程序并行:多个CPU同时执行多个程序3.线程的状态和现成的生命周期多线程例子继承Thread类public class MyThread { public static void main(String[] args) { Thread1 t1 = new Thread1(); Thread
2020-07-24 11:07:21
718
原创 idea中的springboot项目访问不到jsp
解决方案 https://blog.youkuaiyun.com/admin1973/article/details/80119696其中第二种方法添加配置类,springboot 2.x版本,废弃了原来的 EmbeddedServletContainerCustomizer 替换成了 WebServerFactoryCustomizerTomcatEmbeddedServletContainerFact...
2020-04-08 20:27:32
326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人