随笔分类 -  Java知识图谱

Collection HashTable
摘要:HashTable原理(数据结构等同于HashMap) Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。Hashtable中的方法是同步的,而HashMap方法(在缺省情况下)是非同步的。 Hashtable 它的key、value 阅读全文

posted @ 2018-05-18 17:36 齊帥 阅读(230) 评论(0) 推荐(0)

Collection Set&HashSet&TreeSet(HashMap实现,去重特性)
摘要:一、HashSet 1. 虑重功能特性(HashMap实现) 2. put(key) 如果重复返回false 二、TreeSet(有序的,基于TreeMap红黑树实现) 问题1: 如果试图把一个对象添加到TreeSet时,则该对象的类必须实现Comparable接口,否则程序会抛出异常java.la 阅读全文

posted @ 2018-05-17 21:44 齊帥 阅读(520) 评论(0) 推荐(0)

Collection Vector&Stack
摘要:一、 源码分析(同ArrayList实现,增删查加锁) 二、 与ArrayList区别 1. Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问A 阅读全文

posted @ 2018-05-17 20:18 齊帥 阅读(149) 评论(0) 推荐(0)

java 浅拷贝和深拷贝
摘要:clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1. 使用new操作符创建一个对象 2. 使用clone方法复制一个对象  阅读全文

posted @ 2018-05-17 11:30 齊帥 阅读(335) 评论(0) 推荐(0)

Collection ArrayList
摘要:一、 源码分析 1. ArrayList 类组成 2. add(E)方法 * 1. 自动判断是否需要增加存储空间,如果需要,增加数组长度的一半(oldSize + oldSize>>1); * 2. mouCount++,如果在迭代器遍历是数据结构发生变化,报异常; * 3. Arrays.copy 阅读全文

posted @ 2018-05-17 06:20 齊帥 阅读(329) 评论(0) 推荐(0)

Java 集合
摘要:1. 集合框架 概要图: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap 详细图: 2. 介绍 Collection接口 是List、Set和Queue接口的父接口 阅读全文

posted @ 2018-05-16 08:10 齊帥 阅读(178) 评论(0) 推荐(0)

retrofit2.0
摘要:一、 优势 1. 超级解耦,利用n多设计模式。 Retrofit能从众多框架中脱颖而出,其优势主要有:1.Retrofit比较好的把几个框架的功能组合起来,并没有重复自造轮子,而是高效的把轮子进行组合。其利用OkHTTP进行网络请求。并且Retrofit与异步请求框架和类解析框架解耦,使得Retro 阅读全文

posted @ 2018-04-09 22:38 齊帥 阅读(155) 评论(0) 推荐(0)

Android 知识图谱
摘要:一、开源项目 网络框架: okhttp retrofit 依赖注入: butterknife dagger2 异步处理: rxjava eventbus 图片框架: glide picasso 性能优化: leakcanary blockcanary 1. retrofit http://www.c 阅读全文

posted @ 2018-04-09 17:24 齊帥 阅读(178) 评论(0) 推荐(0)

设计模式-代理模式
摘要:代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对 阅读全文

posted @ 2018-04-06 15:17 齊帥 阅读(187) 评论(0) 推荐(0)

多线程-lock
摘要:摘要: 我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方 阅读全文

posted @ 2018-04-06 11:33 齊帥 阅读(252) 评论(0) 推荐(0)

多线程-Callable&Future
摘要:Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从 阅读全文

posted @ 2018-04-06 11:09 齊帥 阅读(155) 评论(0) 推荐(0)

多线程-synchronized
摘要:扎好马步:线程的状态 先来两张图: 线程状态 线程状态 线程状态转换 线程状态转换 各种状态一目了然,值得一提的是"blocked"这个状态:线程在Running的过程中可能会遇到阻塞(Blocked)情况 此外,在runnable状态的线程是处于被调度的线程,此时的调度顺序是不一定的。Thread 阅读全文

posted @ 2018-04-05 23:49 齊帥 阅读(190) 评论(0) 推荐(0)

多线程-volatile
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文

posted @ 2018-04-05 22:07 齊帥 阅读(217) 评论(0) 推荐(1)

多线程-内存模型
摘要:Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 阅读全文

posted @ 2018-04-05 20:39 齊帥 阅读(2363) 评论(0) 推荐(0)

设计模式-单例模式
摘要:涉及知识点 一、 单例实现方式 1. 利用Jvm类加载机制规避多线程问题 JVM内部的机制能够保证当一个类被加载时,这个类的加载过程是线程互斥的。 静态内部类实现; 2. 双重校验锁 synchronized; volatile: 对 volatile 变量的写操作,不允许和它之前的读写操作打乱顺序 阅读全文

posted @ 2018-04-05 11:31 齊帥 阅读(162) 评论(0) 推荐(0)

Java知识图谱
摘要:一、设计模式 自学地址: http://www.runoob.com/design-pattern/design-pattern-tutorial.html 1. 单例模式 http://www.cnblogs.com/qishuai/p/8721626.html 2. 代理模式 http://ww 阅读全文

posted @ 2018-04-05 11:21 齊帥 阅读(688) 评论(0) 推荐(0)

导航