Song Blog

Move, move.

Android IPC 机制

IPC 机制全面解析

Android IPC 简介 进程间的通讯(Inter-Prosses communication),简称IPC 进程间通讯方式有很多,如Bundle、Socket、文件、管道、Messager、Provider、AIDL等 设置多进程方式,manifest 配置 android:process=":remote" 或者android:process="com.song.and...

Activity 的生命周期和启动模式

Activity 的生命周期全面解析

Activity 的生命周期全面解析 典型情况下的生命周期分析 Activity 生命周期的切换过程 onCreate:表示 Activity 正在被创建,且是 Activity 的第一个生命周期方法。可做一些初始化操作,如调用 setContentView 加载页面布局资源、初始化 Activity 所需数据。 onRestart:表示 Activity 正在重新启动,当...

ConcurrentHashMap 详细分析

从源码了解 ConcurrentHashMap 在 JDK 1.7 和 1.8 改变

ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析! 一、摘要 在之前的集合文章中,我们了解到 HashMap 在多线程环境下操作可能会导致程序死循环的线上故障! 既然在多线程环境下不能...

HashMap 为什么线程不安全?

从散列函数、哈希冲突、扩容方案、线程安全四部分分析

1.jdk1.7中的HashMap 1.1 扩容造成死循环分析过程 1.2 扩容造成数据丢失分析过程 2.jdk1.8中HashMap 总结 前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。 1....

HashMap 剖析

从散列函数、哈希冲突、扩容方案、线程安全四部分分析

HashMap是一个非常重要的集合,日常使用也非常的频繁,同时也是面试重点。本文并不打算讲解基础的使用api,而是深入HashMap的底层,讲解关于HashMap的重点知识。需要读者对散列表和HashMap有一定的认识。 HashMap本质上是一个散列表,那么就离不开散列表的三大问题:散列函数、哈希冲突、扩容方案;同时作为一个数据结构,必须考虑多线程并发访问的问题,也就是线程安全。这四大重...

Java 集合

深入分析 Java 集合,指导各种场景集合的选择

一、集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1、所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 2、集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 3、抽象类:5个抽象类(长...

深入分析 Java 中的中文编码问题

Java 编码格式的区别和常见场景介绍,以及如何避免编码问题

几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言...

Java IO

系统了解学习 IO

定义 数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。在Java中,主要就是涉及到磁盘 I/O 和网络 I/O。 分类 基于字节操作的 I/O 接口:InputStream 和 OutputStream; 基于字符操作的 I/O 接口:Writer 和 Reader; 基于磁盘操作的 I/O 接口:File; 基于网络操作的 I/O 接口:Socket; ...

Android Hook 检测

Android 安全检测

https://bbs.pediy.com/thread-247408.htm

虚拟机相关面试题

JVM 相关知识

https://zhuanlan.zhihu.com/shujujiegou https://zhuanlan.zhihu.com/p/78835327 https://www.jianshu.com/nb/12222242 https://www.jianshu.com/p/b3966428ef2f https://github.com/Homiss/Java-interview-...