0%

表达式

定义:

表达式:是运算符和操作数所构成的序列。a = [1,2,3]、a > b是表达式,1 + 1也是表达式,a = 1 + 2 * 3也是表达式,=也是运算符(赋值运算符)。

阅读全文 »

变量与运算符

1,基本的运算

假如有列表A[1,2,3,4,5,6]和列表B[1,2,3]两个列表,对这两个列表做以下运算:A乘以3,再加上B,最后再加上列表A。我们容易可以写出如下代码:

阅读全文 »

1,python的基本数据类型

python是一门很灵活的语言,俗称”胶水语言”。”人生苦短,我用python”。

python之禅

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

python的基本数据类型:int、float(单精度和双精度都是用float表示,不像java一样有float和double之分)。

阅读全文 »

一、基本网络相关概念

1,网络分层
分层为了将网络节点所要完成的数据的发送或转发、打包或拆包,以及控制信息的加载或拆出工作,分别由不同的硬件和模块来完成,这样分层的好处是可以可以将通信和网络互联这一原本复杂的问题简单化,网络分层有经典的七层网络和五层,一般来说五层协议更加常用,应用更广泛,因为它更好理解。网络分层的每一层都是为了完成某一种功能而设计的。为了实现这些功能就要遵守共同的规则,就是协议规则。

阅读全文 »

一、ViewRoot和DecorView

ViewRoot对应ViewRootImpl类,它是连接WindowManager和DecorView的纽带。View的三大流程均是通过ViewRoot来完成的。在ActivityThread中,当activity对象创建完毕后,会将DecorView添加到Window中,同时创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView建立关联。

阅读全文 »

一、volatile的使用

我们先理解可见性、有序性以及原子性三个概念,通常我们用synchronized关键字来解决这些问题,不过synchronized是重量级锁,对系统的性能有比较大的影响,所以如果有其他解决方案,我们都会优先考虑其他方案,避免使用synchronized关键字。而volatile关键字是就是java提供的解决可见性和有序性问题的关键字。注意:对于原子性,volatile变量的单次读写操作可以保证原子性,如long、double类型变量,但是不能保证i++这种操作的原子性,因为i++本质上是读、写两次操作。

阅读全文 »

一、观察者模式简介

观察者模式的定义

本文章学习自刘望舒的博客。
观察者模式也叫发布–订阅模式,属于行为模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。同时观察者模式还是效率很高的模式,常用语GUI系统,订阅—发布系统,这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得他们之间的依赖性更小,甚至做到毫无依赖。以GUI系统来说,应用的UI更有易变性。

阅读全文 »

一、先看ViewGroup类中的dispatchTouchEvent方法,其中关于拦截事件的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Check for interception.
final boolean intercepted;
if (actionMasked == MotionEvent.ACTION_DOWN
|| mFirstTouchTarget != null) {
final boolean disallowIntercept = (mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0;
if (!disallowIntercept) {
intercepted = onInterceptTouchEvent(ev);
ev.setAction(action); // restore action in case it was changed
} else {
intercepted = false;
}
} else { // There are no touch targets and this action is not an initial down
// so this view group continues to intercept touches.
intercepted = true;
}
阅读全文 »