03 2020 档案
摘要:1、List,Set都是继承自Collection接口,Map则不是 2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的
阅读全文
摘要:首先要说一下JVM内存空间分为五部分,分别是:方法区、堆、Java虚拟机栈、本地方法栈、程序计数器 方法区主要用来存放类信息、类的静态变量、常量、运行时常量池等,方法区的大小是可以动态扩展的, 堆主要存放的是数组、类的实例对象、字符串常量池等。 Java虚拟机栈是描述JAVA方法运行过程的内存模型,
阅读全文
摘要:一、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄
阅读全文
摘要:通过Handler机制. private void one() { handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what
阅读全文
摘要:一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.synchronizedList(List list)函数返回一个线程安全的Array
阅读全文
摘要:什么是HTTP和HTTPS? HTTP是浏览器与服务器之间以明文的方式传送内容的一种互联网通信协议。 HTTPS是在HTTP的基础上主要基于SPDF协议结合SSL/TLS加密协议,客户端依靠证书验证服务器身份传递加密信息的通信协议。 1991年 HTTP/0.9 仅支持GET请求,不支持请求头 19
阅读全文
摘要:目录 1 保证内存可见性 2 禁止指令重排序 3 不保证原子性 1 保证内存可见性说到内存可见性就必须要提到Java的内存模型,如下图所示: 如上图所示,所有线程的共享变量都存储在主内存中,每一个线程都有一个独有的工作内存,每个线程不直接操作在主内存中的变量,而是将主内存上变量的副本放进自己的工作内
阅读全文
摘要:最近做项目时,发现未能完全的理解Fragment的生命周期,以致在处理逻辑上踩到到了一些坑。所以花了点时间去分析,也顺便整理下,下次再碰到Fragment时就可以避免一些坑了(大笑)。 项目有一个Activity类和3个Fragment类。Activity 中放置3个按钮(实质TextView)可以
阅读全文
摘要:引言:Map集合,以key-value形式存储的数据结构,是我们在Android开发过程中经常需要用到的。 除了java.util包下,为我们提供的HashMap是我们开发中经常使用的,Android也为我们提供了,两种以key-value形式存储的数据结构,一个是ArrayMap,一个是Spars
阅读全文
摘要:StringString在java编程中广泛应用,首先从源码进行分析 从这我们可以得知,String底层是一个final类型的字符数组,所以String的值是不可变的,每次对String的操作都会生成新的String对象,造成内存浪费而StringBuffer和StringBuilder就不一样了,
阅读全文
摘要:前言 Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等 今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的 本文秉着“结论先行
阅读全文
摘要:自定义View的时候难免会和这2个方法打交道,在之前的文章中我们已经介绍了invalidate方法,今天我们来对比下requestLayout方法和invalidate方法有什么不同之处 等不及的先给个结论: requestLayout方法会导致View的onMeasure、onLayout、onD
阅读全文
摘要:MVC MVC是Model(模型层)、View(视图层)、Controller的组成的一种android开发框架,用一种业务逻辑、数据、界面分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性格定制界面和用户交互的同时,不需要修改业务逻辑的代码。 Model(模型) 是应用程序中处理应用程
阅读全文
摘要:如何停止java的线程一直是一个开发多线程程序常遇到的一个问题。也有好多人问过我,所以今天在这里总结一下希望可以让更多的人知道在java中如何安全的结束一个正在运行的线程。 在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(T
阅读全文
摘要:原文 :https://blog.csdn.net/rabbit_in_android/article/details/50062271 android中的资源文件,主要分为两类: 一种出于assets目录下,称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的;
阅读全文