最近在做动态路由,登陆成功之后返回用户信息、权限信息、token.....前端要做的工作就是处理权限菜单,改成我们需要的路由菜单,非常简单的一件事情,可是却碰到了两个坑,说多了都是泪......终于可以早点下班,去取快递了。 点击左侧菜单页面跳转不过去,并没有报错信息 原因 router实例化之前未对route进行处理 解决方案 应该r...
Java语言高级特性前言 线程池原理与AsyncTask 什么是线程池?为什么要用线程池? Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。线程池就是将线程进行池化,需要运行任务时从池中拿一个线程来执行,执行完毕,线程放回池中。 在开发过程中,合理地使用线程池能够带来3个好处。 第一:降...
多线程与Android线程性能优化 线程间的共享和协作 线程间的共享 线程开始运行,拥有自己的栈空间,就如同一个脚本一样,按照既定的代码一步一步地执行,直到终止。但是,每个运行中的线程,如果仅仅是孤立地运行,那么没有一点儿价值,或者说价值很少,如果多个线程能够相互配合完成工作,包括数据之间的共享,协同处理事情。这将会带来巨大的价值。 J...
Java语言高级特性前言 多线程与Android线程性能优化 基础概念 CPU核心数和线程数的关系 多核心:也指单芯片多处理器( Chip Multiprocessors,简称CMP),CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。这种依靠多个CPU同...
Java语言高级特性前言 反射原理及动态代理模式 反射(Reflect) 反射之中包含了一个「反」字,所以了解反射我们先从「正」开始。 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。 反射则是一开始并不知道我要初始化的类对象是什么,自然也无法使用new关键字来...
Java语言高级特性前言 java知识是作为Android开发的语言基础,虽然现在我们已经推出了kotlin,但是基于以下原因我们还是需要好好牢牢掌握java: 1)SDK还是改成java,kotlin也需要编译成为java运行; 2)目前大量的第三方库和继承与前任的代码都是java所写的; 3)Java语言应用不仅仅在Android,...
ES6函数的扩展 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') //...
ES6 数值扩展 不同进制的字面量表示 Binary二进制 前缀:0b0B Octal八进制 前缀:00o0O Decimal十进制 无前缀 Hex十六进制 前缀:0x0X 常量 Number.EPLISION// 2.220446049250313e-16 EPSILON表示1与大于1的最小浮点数之间的差。 Number.MAX_SA...
ES6学习笔记(三)--字符串扩展 字符串扩展 for…of循环遍历字符串 let text = 'abc' for (let i of text) { console.log(i); } //a //b //c 新增确定一个字符串是否包含在另一个字符串中,es5中只有indexOf includes():返回布尔值,表示是否找到了参数...