很多高校的校园网是IPv4收费的,并且宽带费价格还不便宜,限制还多,但是IPv6却是不计流量不收费的。如果利用ss将IPv4产生的流量都转成IPv6就可以实现免流,从而达到免费上网的目的了。找个VPS搭个ss作为代理,可…
置顶推荐
第20章 注解
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。 20.1.1 定义注解 @Target(ElementType.METHOD) @Retention(…
如何下载Google Play上的APK
打开APK Downloader,输入你的Google Play APK的链接,点击Generate Download Link,例如我这里以shadowsocks为例,粘贴https://play.google.com…
第18章 I/O系统
20170707 IO部分和NIO部分感觉讲的有点不太好理解,没有细看。有一篇博客讲的挺详细的,有时间可以去瞅瞅 http://www.cnblogs.com/rollenholt/archive/2011/09/29/…
第17章 容器
集合类库图: 可选操作 执行各种不同的添加和移除的方法在Collection接口中都是可选操作,这意味着实现类并不需要为这些方法提供功能定义。简单来说,就是抽象类的某些派生类实现里,或者接口的某个实现类里面,某个方法是无…
第15章 泛型
即使使用了接口,就要求代码必须使用特定的接口,对程序的约束也还是太强了。我们希望达到的目的是编写更通用的代码,要使代码能够应用与“某种不具体的类型”,而不是一个具体的接口或类。泛型这个术语的意思就是适用于许多许多的类型。…
第14章 类型信息
RTTI(Runtime Type Information),运行时类型信息使得你可以在程序运行时发现和使用类型信息。 14.2 Class对象 类是程序的一部分,每个类都有一个Class对象。换言之,每当编写并且编译了…
第11章 持有对象
11.3 添加一组元素 Arrays.adList()方法接受一个数组或是一个用逗号分隔的元素列表 Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分割的列表,将元…
第10章 内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类。它了解外围类,并能与之通信。 10.1 创建内部类 如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象(如静态方法中),必须具体致命这个对象的类型:Out…
第9章 接口
9.1 抽象类和抽象方法 抽象类可以没有任何抽象方法,但是包含一个或多个抽象方法的类必须被限定为抽象的。 抽象类不能实例化。 如果从一个抽象类继承,并想创建该新类的对象,那么必须为基类中的所有抽象方法提供定义。如果不这么…
第8章 多态
8.2 转机 绑定:将一个方法调用通一个方法主体(方法所在的类)关联起来。 在程序执行前进行绑定叫做前期绑定;在运行时根据对象的类型进行绑定叫做后期绑定(动态绑定or运行时绑定)。后期绑定机制随着语言的不同有着差异,但是…
第7章 复用类
7.1 组合语法 将对象引用置于新类中即可。 每个非基本类型的对象都有一个toString()的方法,新建一个类对象的时候,可以重写这个方法。 7.2 继承语法 得到基类中的所有的域和方法。 当创建了一个导出类的对象时,…