摘要:
一、第一步 把服务器上得所有分支和tag先拉取到本地 拉去分支到本地 git branch -a 查看所有的分支 git checkout branch-name 检出指定分支到本地 拉去所有的TAG 到本地 git fetch --tags 二、 更换远端资源连接到新的连接 git remote 阅读全文
摘要:
之前下载三方包没有问题,这两天一直下不下来,最终更换包地址,解决此问题,做个记录。 //命令行输入 vim ~/.bash_profile //添加下面三行,保存 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORA 阅读全文
摘要:
try、catch、finally用法总结: 1、不管有没有异常,finally中的代码都会执行 2、当try、catch中有return时,finally中的代码依然会继续执行 3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管fina 阅读全文
摘要:
连接池 OkHttp实现了连接池的概念,即对于同一主机的多个请求,其实可以公用一个Socket连接,而不是每次发送完HTTP请求就关闭底层的Socket,这样就实现了连接池的概念。 线程池怎么复用 线程池的线程复用:就是任务在并不只执行创建时指定的firstTask第一任务,还会从任务队列的中自己主 阅读全文
摘要:
Android主流图片加载库 Picasso Glide Fresco 介绍& 对比 1.Picasso Picasso由Square公司开源的一个适用于Android的强大图像下载和缓存库. 功能介绍 图片的异步加载(最基础功能) 使用最少的内存完成复杂的图片转换,转换图片以适合所显示的Image 阅读全文
摘要:
ArrayList 和 LinkedList 两个类,这两者常被用来做比较,翻看他们的源码,发现ArrayList实现了一个叫做 RandomAccess 的接口,而 LinkedList 没有的。。。 打开源码后,发现接口里面什么也没有,这是个空的接口。。。 那么这个接口是做什么的? 通过官网知道 阅读全文
摘要:
创建和销毁线程非常损耗性能,那有没有可能复用一些已经被创建好的线程呢?答案是肯定的,那就是线程池。 另外,线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间,在线程销毁时需要回收这些系统资源,频繁地创建销毁线程会浪费大量资源,而通过复用已有线程可以更好地管理和协调线程的工作。 线 阅读全文
摘要:
什么是策略模式 策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变换。复制代码 举个栗子: 假设要出去旅游,而出行的方式有很多,可以步行,坐火车,坐飞机等。而如果不使用任何设计模式,代码大概就是这样子: public class 阅读全文
摘要:
传统方式: public static void main(String[] args) { IPlay iPlay = new PlayImpl(); long startMils = System.currentTimeMillis(); iPlay.play(); long endMils = 阅读全文
摘要:
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式,但是其中的坑却不少,很多都是一些老生常谈的问题,如何创建一个线程安全的单例?什么是双检锁?我们知道单例模式一般分两种,即懒汉式和饿汉式,以下逐一分析。 懒汉式,线程不安全 public class Singleton { private s 阅读全文