《Java编程思想》读书笔记 —— 字符串、数组及枚举类型。
第13章 字符串1.不可变的 StringString 对象是不可变的,每当修改 String 对象的时候,实际上都是创建了一个新的 String 对象,最初的 String 对象丝毫未动。
2.重载“+”与 StringBuilderString 对象的不可变性带来一定的效率问题,例如为 String 对象重载的“+”操作符。(用于String的“+”、“+=”是 Java 中仅有的两个重载过的操作符,而 Java 并不允许程序员重载任何操作符)。
public class WhitherStringBuilder { public String implicit(String[] fields) { String result = ""; for(int i = 0; i < fields.length; i++) result += fields[i]; return result; } public String ...
《Java编程思想》读书笔记 —— 异常处理。
第12章 通过异常处理错误
Java的基本理念是“结构不佳的代码不能运行”。
Java 中的异常处理都是围绕着 try-catch-finally, throw, throws 这几个展开的,也就是:
try-catch-finally:捕获异常并处理。throw:遇到错误的时候抛出一个异常。throws:声明一个方法可能抛出的异常(所有可能抛出的异常都需要声明)。
class ThreeException extends Exception {}public class FinallyWorks { static int count = 0; public static void main(String[] args) { while(true) { try { // Post-increment is zero first time: if(count++ == 0) throw new ThreeException(); ...
《Java编程思想》读书笔记 —— 集合。
这部分只是还是挺重要的,面试题里面有好多。
第11章 持有对象
Java 容器类提供了完善的方法保存对象,并经其划分为 Collection 和 Map 两个不同的概念。
Collection 一个独立的元素序列;Map 一组成对的“键值对”对象。
Collection1.Collection 一个独立的元素序列,这些元素服从一条或者多条规则。
List 必须按照插入的顺序保存元素,而 Set 不能有重复的元素。Queue 按照排队规则来确定对象产生的顺序。
public class SimpleCollection { public static void main(String[] args) { Collection<Integer> c = new ArrayList<Integer>(); for(int i = 0; i < 10; i++) c.add(i); // Autoboxing for(Integer i : c) Syst ...
前端技术
未读一款基于 Three.js 全景显示的 Hexo 插件。
Threejs 介绍three.js The aim of the project is to create an easy to use, lightweight, 3D library. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.
var camera, scene, renderer;
var isUserInteracting = false,
onMouseDownMouseX = 0, onMouseDownMouseY = 0,
lon = 0, onMouseDownLon = 0,
lat = 0, onMouseDownLat = 0,
phi = 0, theta = 0;
init();
animate();
function init() {
...
让数据栩栩如生
var chart = new G2.Chart({
container: 'antv9782',
height: 300,
forceFit: true,
data:[
{ genre: 'Sports', sold: 275 },
{ genre: 'Strategy', sold: 115 },
{ genre: 'Action', sold: 120 },
{ genre: 'Shooter', sold: 350 },
{ genre: 'Other', sold: 150 }
],
options: {
scales: {
'genre': {
alias: '游戏种类'
},
'sold': {
alias: '销售量'
}
},
geoms: [
{
type: 'interval',
posi ...
《Java编程思想》读书笔记 —— 类与接口。
第5章 初始化与清理1.构造器初始化 initialize()Java 采用构造器(constructor)初始化和创建对象,两个过程捆绑在一起。类中没有构造器即构造函数时,编译器会自动创建一个默认构造器;反之,则不会自动创建。
2.方法重载:每个重载方法都有一个独一无二的参数类型列表。
3.this 关键字只能在方法内部使用,表示“调用方法的那个对象”。static 方法就是没有 this 的方法,可以在没有创建对象的情况下仅仅通过类名本身调用 static 方法。
4.垃圾回收 finalize()
对象可能不被垃圾回收。
垃圾回收并不等于“析构”。
垃圾回收只与内存有关。
5.成员初始化及构造器初始化Java 尽力保证:所有变量在使用前都能的到恰当的初始化。
6.初始化顺序:在类的内部,成员变量会在任何方法(包括构造器)调用之前初始化。含静态数据的初始化:先静态对象后非静态对象。
7.声明数组变量
int[] a; // 首选的方法int a[]; // 效果相同,但不是首选方法
初始化:
int[] a = new ...
《Java编程思想》读书笔记 —— 基础知识部分。
第3章 操作符Java 中的数据是通过使用操作符来操作的。
赋值操作符
算术操作符
关系操作符
逻辑操作符
按位操作符
其他操作符
第4章 控制执行流程1.Java 中有三种主要的循环结构:
while 循环
do…while 循环
for 循环
2.Foreach 语法,用于数组或容器
int [] numbers = {10, 20, 30, 40, 50};for(int x : numbers ){ System.out.print( x ); System.out.print(",");}// 10,20,30,40,50,
3.return、break、continue
return:指定方法的返回值或者退出当前方法。
break:主要用于循环或者 switch 语句,退出整个语句块。continue:跳转到下一次循环迭代。
4.Java 分支结构:swich 语句与 if 语句
《Java编程思想》读书笔记 —— 一切皆对象。
第1章 对象导论本章主要介绍 OOP 面向对象的思想以及抽象、封装、继承、多态的概念。
JAVA 是一种面向对象编程语言:
万物皆对象,每一个对象都会存储数据,并且可以对自身执行操作。因此,每一个对象包含两部分:成员变量和成员方法。在成员方法中可以改变成员变量的值。
程序是对象的集合,他们通过发送消息来告知彼此所要做的事情,也就是调用相应的成员函数。
每一个对象都有自己的由其他对象所构成的存储,也就是说在创建新对象的时候可以在成员变量中使用已存在的对象。
每个对象都拥有其类型,每个对象都是某个类的一个实例,每一个类区别于其它类的特性就是可以向它发送什么类型的消息,也就是它定义了哪些成员函数。
某一个特定类型的所有对象都可以接受同样的消息。
第2章 一切都是对象1.Java 中一切都被视为对象,但是操作的标识符实际是对象的引用。
String s; // s 为引用,并不是对象。String s = new String("wshunli"); // s 与新的对 ...
前面学习前端技术一方面是为项目做准备,另一方面也是为现在跨平台开发打基础。
我选择的是先看 《React Native开发指南》 入门。
第1章 初识 React NativeReact Native 是一款用来开发真正原生、可渲染 iOS 和 Android 移动应用的 JavaScript 框架。React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。
第2章 React Native 工作原理React Native 使用 Virtual DOM 作为中间层,介于开发者描述的视图与实际页面渲染的视图之间。Virtual DOM 不仅能提升性能,而且提供了强大的抽象能力,在开发者代码和实际渲染之间加入一个抽象层。
React Native 调用 Objective-C 的 API 渲染 iOS 组件,调用 Java 接口渲染 Android 组件,而不是渲染到浏览器 DOM 上。 ...
继续学习 《深入浅出React和Redux》
第3章 从 Flux 到 ReduxFluxRedux 是 Flux 单向数据流思想的另一种实现方式,先介绍 Flux 的优缺点。
MVC 介绍MVC 框架是业界广泛接受的一种前端应用框架类型,这种框架把应用分为三个部分:
Model (模型)负责管理数据,大部分业务逻辑也应该放在Model 中;
View (视图)负责渲染用户界面,应该避免在View 中涉及业务逻辑;
Controller (控制器)负责接受用户输入根据用户输入调用对应的Model 部分逻辑,把产生的数据结果交给View 部分,让View 渲染出必要的输出。
MVC 框架提出的数据流很理想,用户请求先到达 Controller ,由 Controller 调用 Model 获得数据,然后把数据交给 View,但是在实际框架实现中,总是允许 View 和 Model 可以直接通信,MVC 很快就变得非常复杂。
Flux 执行更严格的数据流控制。一个 Flux 应用包含四个部分:
Dispatcher ,处理动作分发,维持Store 之间的依赖关系;
Store ...





