移动学习 AndroidStudio内存优化分析—hprof文件分析

1、移动学习在主界面时按如下顺序点击: 2、其实和 android内存分析 outOfMemoryError错误定位及分析策略(非显示图片造成) 中用eclipse前7步的设置一样,只不过这个速度更快一些,更方便一些(eclipse ddms模式下卡的要死要死~~~~) 3、用mat for mac(下载地址:http://www.eclipse.org/mat/downloads.p
分类: 其他 发布时间: 06-05 23:51 阅读次数: 5

Http协议深入学习

1、Http底层竟然是TCP,用wireShark抓包get和post请求 get方式的报文发送格式: 响应格式: post请求方式报文发送格式: 响应格式: 2、若Connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接; 若connection 模式为keep-alive,则该连接会保持一段时间,在该时间内可
分类: 其他 发布时间: 06-05 23:51 阅读次数: 5

有关Android Handler内存泄漏分析及解决办法

Android的开发工具是java,这能帮助我们解决很底层的问题 包括:内存管理,平台依赖。然而,有时候项目依然会报OOM错误,so垃圾收集器在哪? 我主要研究一种情况:内存中较大对象很长一段时间内不能被释放。这方面并不完全算作内存溢出,对象会在某一时间点上被收集,so我们不屌它。虽然有时候他也会导致oom,所以不建议这么干滴。(这话咋说的这么矛盾,作者精分了?) 简单例子: 这是一
分类: 其他 发布时间: 06-05 23:50 阅读次数: 3

androidstudio配置和使用greenDao3.2.2遇到的坑!!!

整了快仨点,在此记录一下,也顺带给后人指个路: 1、个人比较懒,随便百度了两篇3.0的配置文章,按照文中的方法配置了一下: http://www.jianshu.com/p/4986100eff90 http://blog.csdn.net/njweiyukun/article/details/51893092 将 apply plugin: 'org.greenrobot.gre
分类: 其他 发布时间: 06-05 23:50 阅读次数: 5

给2011年的MacBook Pro和MacBook Air升级到最新系统和做双系统时遇到的问题

1、老板让给7年前的电脑升级到最新系统,并做win7双系统。2、拿来就干,点升级到10.13,说此版本不支持,最低支持10.8,查了查系统,是10.7,好尴尬,那就只能用U盘做了,这个666啊,之前被坑过好多次了(参照原博客http://blog.csdn.net/jbb0403/article/details/54880186)3、首先想到的就是用usb2.0的U盘,可是找来找去没有合适的,偶然...
分类: 其他 发布时间: 06-05 23:50 阅读次数: 5

SPRING-Mock方式进行单元测试

编写测试Controller:package com.wartao.test.mock.controller;import java.util.ArrayList;import java.util.Collections;import java.util.List;import org.springframework.web.bind.annotation.PathVariable;import ...
分类: 其他 发布时间: 06-05 23:49 阅读次数: 3

JAVA-中英文字符编码集

英文字母和中文汉字在不同字符集编码下的字节数英文字母:字节数 : 1;编码:GB2312字节数 : 1;编码:GBK字节数 : 1;编码:GB18030字节数 : 1;编码:ISO-8859-1字节数 : 1;编码:UTF-8字节数 : 4;编码:UTF-16字节数 : 2;编码:UTF-16BE字节数 : 2;编码:UTF-16LE 中文汉字:字节数 : 2;编码:GB2312字节数 : 2;编...
分类: 其他 发布时间: 06-05 23:49 阅读次数: 5

JAVA-不同类型Set比较

1.HashSet的值不能重复且乱序排列,可以存储null值。它的内部维护了一个HashMap,添加的值作为HashMap的key进行插入,所以保证了它的这些特性。2.LinkedHashSet保证了插入有序,它继承了HashSet类,通过调用HashSet的一个构造方法,创建一个LinkedHashMap对象以此通过LinkedHashMap来保证插入有序。3.TreeSet保证了字典有序排列,...
分类: 其他 发布时间: 06-05 23:49 阅读次数: 5

JAVA-类的实例化过程

1.初始化父类静态变量、静态代码块(静态变量和静态代码块的初始化顺序由编写顺序决定)2.初始化子类静态变量、静态代码块(静态变量和静态代码块的初始化顺序由编写顺序决定)3.初始化父类非静态变量、非静态代码块(非静态变量和非静态代码块的初始化顺序由编写顺序决定)4.初始化父类构造函数 .5.初始化子类非静态变量、非静态代码块(非静态变量和非静态代码块的初始化顺序由编写顺序决定)6.初始化子类构造函数...
分类: 其他 发布时间: 06-05 23:48 阅读次数: 5

JAVA-类的加载过程

类加载分为三个部分:1.加载2.链接 可以细化为:验证、准备、解析3.初始化加载:把class字节码文件通过类加载器装载入内存中重点:字节码来源:本地路径下编译的class文件,jar包中的class文件,通过网络远程获取的class文件,动态代理实时编译的class文件类加载器:启动类加载器(bootstrap ClassLoader):负责加载JAVA_HOME/lib目录下能被虚拟机识别的j...
分类: 其他 发布时间: 06-05 23:48 阅读次数: 2

JAVA内存模型-内存分配策略

1.对象优先在Eden区分配内存:当Eden区没有足够内存分配时,会触发一次Minor GC,采用复制算法进行垃圾回收2.大对象直接进入老年代,比较典型的比如比较长的字符串以及数组,虚拟机提供一个参数来做配置-xx:pretenureSizeThreshold3.长期存活的对象进入老年代:虚拟机为每个对象定义了一个年龄计数器,从Eden移入Survivor区的对象年龄值设为1,以后每发生一次Min...
分类: 其他 发布时间: 06-05 23:48 阅读次数: 4

JAVA源码分析-ThreadLocal

我们对ThreadLocal的两个主要公共方法set和get方法进行分析:一、首先看下set方法:  public void set(T value) {        Thread t = Thread.currentThread(); //根据当前线程获取ThreadLocal的内部类ThreadLocalMap实例        ThreadLocalMap map = getMap(t);...
分类: 其他 发布时间: 06-05 23:48 阅读次数: 4

JAVA-NIO之FileChannel

FileChannel:连接到文件的通道,通过该通道读写文件获取FileChannel1、通过InputStream/OutputStream获取,读写是单向的2、通过RandomAccessFile获取,读写是双向的支持通道间数据传输1、transferTo/transferFrom两个方法常用方法1、close:关闭通道2、postion:获取通道当前位置,也可以通过position(inde...
分类: 其他 发布时间: 06-05 23:47 阅读次数: 3

JAVA-NIO之SocketChannel

SocketChannel:基于tcp网络套接字的通道创建方式1、打开一个SocketChannel并连接到服务器2、一个新连接到达ServerSocketChannel时,创建一个SocketChannel非阻塞模式下1、connect():调用该方法可能在连接建立之前就返回值了,需要通过finishConnect()进一步判断2、write():调用该方法可能在未写入数据前就返回了,需要在循环...
分类: 其他 发布时间: 06-05 23:47 阅读次数: 4

JAVA-NIO之Selector

选择器:能够检测多个NIO通道,能够知晓通道是否为读写连接等事件做好准备,单线程下可以管理多个Channel使用Selector的优点:1.创建较少线程来处理多个Channel,可以减少上下文切换的开销使用过程:1、Selector创建:Selector.open()2、向Selector注册Channel:channel.regist(selector,SelectKey.操作),注意,chan...
分类: 其他 发布时间: 06-05 23:47 阅读次数: 5

JAVA-NIO之Buffer

Buffer属于java nio包下,是一个抽象类支持如下Buffer类型:ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer、ShortBuffer有三个重要参数:capacity:内存固定大小值position:写模式下,position最大为capacity-1,切换到读模式下,position被重置为0li...
分类: 其他 发布时间: 06-05 23:47 阅读次数: 3

SPRING-IOC及DI

IOC:Inversion of Control,控制反转的简称,是一种思想,传统的程序设计是应用程序去主动创建依赖对象,IOC是指将依赖对象的创建交给spring容器去控制管理,相当于应用程序被动接受依赖对象。DI:Dependency Injection,和IOC是指同一种思想,但是更具体一些,依赖注入的具体含义:程序依赖于容器,容器为程序注入其依赖的对象IOC类型:Spring支持两种注入方...
分类: 其他 发布时间: 06-05 23:46 阅读次数: 5

SRPING-事务管理

事务的四个特性ACID:原子性(Atomic):事务是一个原子操作,要么都完成,要么不起作用一致性(Consistency):事务无论成功还是失败,必须保证业务处于一致状态,不能是部分完成部分失败隔离性(Isolation):事务会处理相同的数据,事务不能相互影响持久性(Durablity):事务的结果被写到持久化存储器中Spring事务管理高层抽象主要包括三个接口:platformTransac...
分类: 其他 发布时间: 06-05 23:46 阅读次数: 3

JAVA-HashMap源码-常量及构造器

HashMap(jdk1.8)HashMap的类定义:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, SerializableHashMap继承了AbstractMap抽象类,实现了Map接口、可克隆接口、可序列化接口AbstractMap...
分类: 其他 发布时间: 06-05 23:46 阅读次数: 5

JAVA-HashMap源码-扩容

HashMap(1.8)HashMap的resize方法: 代码如下: final Node<K,V>[] resize() {        Node<K,V>[] oldTab = table; //获取旧表的容量值        int oldCap = (oldTab == null) ? 0 : oldTab.length;        //获取旧的阈值 in...
分类: 其他 发布时间: 06-05 23:46 阅读次数: 3