- 博客(13)
- 收藏
- 关注
原创 IPC基础概念
IPC基础概念主要包括三方面:Serializable接口、Parcelable接口及Binder。1.Serializable接口 Serializable接口是Java提供的一个序列化接口,它是一个空接口,为对象提供序列化和反序列化操作。使用Serializable来实现序列化非常简单,只需在一个类的声明中指定一个类似下面的标识即可自动实现默认的序列化过程。p...
2019-01-11 15:45:02
232
原创 Android中的异步消息处理机制
Android的异步消息处理主要由四部分组成:Message、Handler、Messagequeue和Looper。1.Message Message是线程之间传递的消息,它可以在内部携带少量信息,用于在不同线程之间交换数据。2.Handler Handler主要用于发送和消息的处理。发送消息使用Handler的sendMessage()方法,发...
2019-01-10 10:48:03
228
原创 Android隐藏状态栏、标题栏和导航
//去标题栏 this.requestWindowFeature(Window.FEATURE_NO_TITLE); Viewdecor View = getWindow().getDecorView(); // Hide both the navigation bar and the status bar. // SYSTEM_...
2018-10-22 08:45:44
175
原创 Android学习笔记——IPC机制
IPC是Inter-Process Communication的缩写,含义为进程间通信或者跨进程通信。IPC基础概念介绍主要包含三个方面内容:Serializable接口、Parcelable接口以及BinderSerializable接口Serializable是Java所提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作,序列化 (Serializati...
2018-10-10 16:28:43
169
原创 Android学习笔记——Activity的生命周期和启动模式
Activity的生命周期(懒得画图)此图来源于:https://blog.youkuaiyun.com/RoseChan/article/details/51486513大家再熟悉不过的图了,下面就说说什么情况下会发生切换过程。1.Activity发生第一次启动 ,会调用:onCreate->onStart->onResume2.当用户打开新的Activity或者切换回桌面,...
2018-10-10 10:46:35
238
原创 取消与关闭
任务取消如果外部代码能在某个操作正常完成之前将其置入“完成”状态,那么这个操作就可以称为可取消的。取消的原因:用户请求取消:点击取消按钮或管理接口发出取消请求。有时间限制的操作:有限时间内完成某些任务,当计时器超时,需要取消所有未完成的任务。应用程序事件:例如应用程序对某个问题空间进行分解并搜索,使不同的任务可以搜索问题空间中的不同区域。当其中一个任务找到了解决方案时,其他任务...
2018-09-11 10:07:02
302
原创 树
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root). For example:Given binary tree{3,9,20,#,#,15,7}, ...
2018-07-30 09:49:49
176
原创 强引用、软引用、弱引用、幻想引用有什么区别?具体使用场景?
不同的引用类型,主要体现的是对象不同的可达性状态和垃圾收集的影响。强引用:就是我们常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还“活着”,垃圾收集器不会碰这种对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显示地将相应(强)引用赋值为null,就是可以被垃圾收集的了,当然具体回收时机要看垃圾收集策略。软引用:是一种相对强引用弱化一些的引用,可以让对象豁免...
2018-05-19 13:56:51
1066
原创 Java中的垃圾收集
为什么要了解GC和内存分配?答案很简单:当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。先介绍一下Java虚拟机运行时的几个区域:1.程序计数器:线程私有的,可以看作当前线程所执行的字节码的行号指示器。2.Java虚拟机栈:线程私有的,生命周期与线程相同。描述Java执行的内存模型 :每个方法在执行时都会被创建...
2018-05-04 16:18:36
118
原创 HashMap和HashTable的区别
简单分析一下它们的区别:(1)HashTable是同步的,HashMap不能同步。(2)HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。(3)HashTable有一个contains()方法,功能和containsValue()功能一样。(4)HashTable使用Enumeration遍历,HashMap使用Iterat...
2018-04-13 13:58:08
117
原创 Java多线程编程基础2
一、线程的生命周期新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Dead)。线程类有以下成员函数:1.void start();//启动线程2.void join(); //等待被join的线程执行完成3.void join(long millis);//等待被join的线程时间最长为millis毫秒,没完成也不再等了。4.void join(lo...
2018-04-12 18:51:43
99
原创 Java多线程编程基础1
java语言提供了非常多的优秀的多线程支持,程序可以通过非常简单的方式来启动多线程。本篇会介绍创建、启动线程、控制线程、以及多线程的同步操作,并会介绍如何利用Java内建支持的线程池来提高多线程性能。一、线程和进程当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并具有一定的独立性,进程是系统进行资源分配的和调度的一个独立单位。1.进程的三个特征独立性:进程是系统独立存在的...
2018-04-11 15:35:14
178
原创 用构造器确保初始化
最近正在学习Thinking in Java,以下是对书中知识点做一个简单的整理,分享给大家,同时也有助于自己加深记忆。 “不安全”的编程方式已逐渐成为编程代价昂贵的主因之一,而初始化和清理正是涉及安全的两个问题。 在java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果其类具有构造器,java就会在用户有能力操作对象之前自动调用构造器,从而
2018-01-17 10:59:08
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人