03 2016 档案

摘要:转载: Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来 阅读全文
posted @ 2016-03-31 02:39 Andrew.Zhou 阅读(276) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:Thread类的使用 今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 ##一.线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态, 阅读全文
posted @ 2016-03-31 02:37 Andrew.Zhou 阅读(320) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:如何创建线程? 在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。 ##一.Java中关于应用程序和进程相关的概念 在 阅读全文
posted @ 2016-03-31 02:26 Andrew.Zhou 阅读(257) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上 阅读全文
posted @ 2016-03-31 01:53 Andrew.Zhou 阅读(358) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后 阅读全文
posted @ 2016-03-31 01:37 Andrew.Zhou 阅读(402) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:同步容器 为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。 ##一.为什么会出现同步容器? 在Java的集合容器框架中,主 阅读全文
posted @ 2016-03-31 01:17 Andrew.Zhou 阅读(602) 评论(0) 推荐(0) 编辑
摘要:转载: Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论 阅读全文
posted @ 2016-03-31 01:07 Andrew.Zhou 阅读(112238) 评论(4) 推荐(13) 编辑
摘要:转载: Java并发编程:并发容器之ConcurrentHashMap JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时 阅读全文
posted @ 2016-03-31 00:56 Andrew.Zhou 阅读(803) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:并发容器之CopyOnWriteArrayList Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。 阅读全文
posted @ 2016-03-31 00:44 Andrew.Zhou 阅读(343) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者 阅读全文
posted @ 2016-03-30 23:50 Andrew.Zhou 阅读(210) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:阻塞队列 在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。 在前 阅读全文
posted @ 2016-03-30 23:06 Andrew.Zhou 阅读(240) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:线程池的使用 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中 阅读全文
posted @ 2016-03-30 22:44 Andrew.Zhou 阅读(279) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 阅读全文
posted @ 2016-03-30 22:07 Andrew.Zhou 阅读(257) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必 阅读全文
posted @ 2016-03-30 19:45 Andrew.Zhou 阅读(286) 评论(0) 推荐(0) 编辑
摘要:转载: Java常用排序算法/程序员必须掌握的8大排序算法 分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 阅读全文
posted @ 2016-03-30 03:22 Andrew.Zhou 阅读(368) 评论(0) 推荐(0) 编辑
摘要:转载: KMP算法 阅读全文
posted @ 2016-03-30 03:01 Andrew.Zhou 阅读(186) 评论(0) 推荐(0) 编辑
摘要:转载: Java NIO:浅析I/O模型 ##一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多。以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法 阅读全文
posted @ 2016-03-30 02:13 Andrew.Zhou 阅读(355) 评论(0) 推荐(0) 编辑
摘要:转载: Java NIO:NIO概述 ##一.NIO中的几个基础概念 在NIO中有几个比较关键的概念:Channel(通道),Buffer(缓冲区),Selector(选择器)。 首先从Channel说起吧,通道,顾名思义,就是通向什么的道路,为某个提供了渠道。在传统IO中,我们要读取一个文件中的内 阅读全文
posted @ 2016-03-30 00:01 Andrew.Zhou 阅读(365) 评论(0) 推荐(0) 编辑
摘要:转载: Java异常处理和设计 ##一.什么是异常 异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在 阅读全文
posted @ 2016-03-29 03:18 Andrew.Zhou 阅读(266) 评论(0) 推荐(0) 编辑
摘要:转载: JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分 阅读全文
posted @ 2016-03-29 03:09 Andrew.Zhou 阅读(445) 评论(0) 推荐(0) 编辑
摘要:转载: 深入剖析Java中的装箱和拆箱 ##一.什么是装箱?什么是拆箱? 在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer 阅读全文
posted @ 2016-03-29 03:01 Andrew.Zhou 阅读(358) 评论(0) 推荐(1) 编辑
摘要:转载: Java 如何有效地避免OOM:善于利用软引用和弱引用 ##一.了解 强引用、软引用、弱引用、虚引用的概念 在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的错误)就需要 阅读全文
posted @ 2016-03-29 02:50 Andrew.Zhou 阅读(322) 评论(0) 推荐(0) 编辑
摘要:转载: 浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是 阅读全文
posted @ 2016-03-29 02:42 Andrew.Zhou 阅读(268) 评论(0) 推荐(0) 编辑
摘要:转载: 浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制。考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果 阅读全文
posted @ 2016-03-29 02:34 Andrew.Zhou 阅读(303) 评论(0) 推荐(0) 编辑
摘要:转载: 浅谈Java中的对象和引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引用之间的区别和联系。 ##1.何谓对象? 在Java中有一句比较流行的话,叫 阅读全文
posted @ 2016-03-29 02:25 Andrew.Zhou 阅读(179) 评论(0) 推荐(0) 编辑
摘要:转载: 浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1==str2); Sys 阅读全文
posted @ 2016-03-29 02:21 Andrew.Zhou 阅读(294) 评论(0) 推荐(0) 编辑
摘要:转载: Java输入输出流 ##1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方 阅读全文
posted @ 2016-03-29 01:44 Andrew.Zhou 阅读(404) 评论(1) 推荐(0) 编辑
摘要:转载: MySQL通用优化手册 ###内容提纲 MySQL的特点; 硬件、系统优化; MySQL 配置优化; SCHEMA设计优化; SQL 优化; 其他优化。 ##MySQL 的特点 首先,需要明确的是。想要做好MySQL优化,需要先了解MySQL都有哪些特点: 简言之,MySQL一般用于互联网业 阅读全文
posted @ 2016-03-29 00:31 Andrew.Zhou 阅读(517) 评论(0) 推荐(0) 编辑
摘要:转载: Java 字节流与字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。 下面以两个写文件的操作为主进行比 阅读全文
posted @ 2016-03-28 19:03 Andrew.Zhou 阅读(477) 评论(0) 推荐(0) 编辑
摘要:转载: Java垃圾回收机制 ##一.如何确定某个对象是“垃圾”? 在这一小节我们先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所占的空间供新的对象使用,那么垃圾收集器如何确定某个对象是“垃圾”?—即通过什么方法判断一个对象可以被回收了。 在java中是通过引 阅读全文
posted @ 2016-03-28 18:55 Andrew.Zhou 阅读(457) 评论(0) 推荐(0) 编辑
摘要:转载: Java中的static关键字解析 ##一.static关键字的用途 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这 阅读全文
posted @ 2016-03-28 18:43 Andrew.Zhou 阅读(289) 评论(0) 推荐(0) 编辑
摘要:转载: Java:类与继承 ##一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允 阅读全文
posted @ 2016-03-28 18:23 Andrew.Zhou 阅读(247) 评论(0) 推荐(0) 编辑
摘要:转载: 深入理解Java的接口和抽象类 ##一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: abstract void fun(); 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为 阅读全文
posted @ 2016-03-28 18:20 Andrew.Zhou 阅读(217) 评论(0) 推荐(0) 编辑
摘要:转载: 浅谈Java中的深拷贝和浅拷贝 假如说你想复制一个简单变量。很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。 但 阅读全文
posted @ 2016-03-28 18:14 Andrew.Zhou 阅读(349) 评论(0) 推荐(0) 编辑
摘要:转载: 八大排序算法的 Python 实现 本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 ##1、插入排序 ####描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数 阅读全文
posted @ 2016-03-28 16:58 Andrew.Zhou 阅读(395) 评论(0) 推荐(0) 编辑
摘要:转载: Bash脚本15分钟进阶教程 这里的技术技巧最初是来自谷歌的“Testing on the Toilet” (TOTT)。这里是一个修订和扩增版本。 ###脚本安全 我的所有bash脚本都以下面几句为开场白: #!/bin/bash set -o nounset set -o errexit 阅读全文
posted @ 2016-03-28 15:54 Andrew.Zhou 阅读(580) 评论(0) 推荐(0) 编辑
摘要:转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 2.让进程转入后台: Ctrl + z 3.将进程转到前台: fg 4.产生随机的十六进制数,其中n是字符数: 阅读全文
posted @ 2016-03-28 15:23 Andrew.Zhou 阅读(565) 评论(0) 推荐(0) 编辑
摘要:转载: 什么是堆和栈,它们在哪儿? ##问题描述 编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 在通 阅读全文
posted @ 2016-03-28 15:14 Andrew.Zhou 阅读(380) 评论(0) 推荐(0) 编辑
摘要:转载: 如何精确地测量java对象的大小-底层instrument API 关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多 阅读全文
posted @ 2016-03-28 01:40 Andrew.Zhou 阅读(912) 评论(0) 推荐(0) 编辑
摘要:转载: JVM调优总结(一)-- 一些概念 转载: JVM调优总结(二)-- 一些概念 转载: JVM调优总结(三)-- 基本垃圾回收算法 转载: JVM调优总结(四)-- 垃圾回收面临的问题 转载: JVM调优总结(五)-- 分代垃圾回收详述1 转载: JVM调优总结(六)-- 分代垃圾回收详述2 阅读全文
posted @ 2016-03-27 23:01 Andrew.Zhou 阅读(197235) 评论(20) 推荐(72) 编辑
摘要:转载: Markdown 语法说明 阅读全文
posted @ 2016-03-27 21:26 Andrew.Zhou 阅读(225) 评论(0) 推荐(0) 编辑
摘要:转载: 理解Java虚拟机体系结构 ##1 概述 众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚拟机,它号称的“一次编译,到处运行”才能有所保障。 ## 阅读全文
posted @ 2016-03-27 21:15 Andrew.Zhou 阅读(293) 评论(0) 推荐(0) 编辑
摘要:转载: Java集合框架:HashMap ##Java集合框架概述 Java集合框架无论是在工作、学习、面试中都会经常涉及到,相信各位也并不陌生,其强大也不用多说,博主最近翻阅java集合框架的源码以及搜索一些相关资料整理出Java集合框架的系列。一方面是做一个总结,方便以后查阅,另一方面希望各位小 阅读全文
posted @ 2016-03-27 19:00 Andrew.Zhou 阅读(371) 评论(0) 推荐(0) 编辑
摘要:转载: Java内部类详解 ##一.内部类基础 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 #### 1.成员内部类 成员内部类是最普通 阅读全文
posted @ 2016-03-27 18:08 Andrew.Zhou 阅读(232) 评论(0) 推荐(0) 编辑
摘要:转载: 浅析Java中的final关键字 ##一.final关键字的基本用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 #### 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说 阅读全文
posted @ 2016-03-27 16:18 Andrew.Zhou 阅读(310) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:Lock ##一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该 阅读全文
posted @ 2016-03-27 16:03 Andrew.Zhou 阅读(238) 评论(0) 推荐(0) 编辑
摘要:转载: Timer与TimerTask的真正原理&使用介绍 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: Timer timer = new Timer(); timer.schedule(new 阅读全文
posted @ 2016-03-27 15:32 Andrew.Zhou 阅读(1374) 评论(1) 推荐(1) 编辑
摘要:转载: JAVA多线程和并发基础面试问答 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。 ###1. 进程和线程之间有什么不同? 一个进程是一个独立(self conta 阅读全文
posted @ 2016-03-27 12:21 Andrew.Zhou 阅读(259) 评论(0) 推荐(1) 编辑
摘要:转载: Java线程面试题 Top 50 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Ja 阅读全文
posted @ 2016-03-27 11:43 Andrew.Zhou 阅读(234) 评论(0) 推荐(0) 编辑
摘要:转载: 三张图彻底了解Java中字符串的不变性 ###定义一个字符串 String s = "abcd"; s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。 ###使用变量来赋值变量 String s2 = s; s2保存了相同的引用值,因为他们代表同一个对象。 ###字符串 阅读全文
posted @ 2016-03-27 01:43 Andrew.Zhou 阅读(274) 评论(0) 推荐(0) 编辑
摘要:转载: Java虚拟机类加载机制——案例分析 在《Java虚拟机类加载机制》一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬念。建议先看完《Java虚拟机类加载机制》这篇再来看这个,印象会比较深刻,如若不然,也没什么关系~~ 下面是程序代码 阅读全文
posted @ 2016-03-27 01:31 Andrew.Zhou 阅读(270) 评论(0) 推荐(0) 编辑
摘要:转载: Java虚拟机类加载机制 看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的。随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性。闲话不多说,老规矩,先来一段代码吊吊胃口。 public class SSClass 阅读全文
posted @ 2016-03-27 01:16 Andrew.Zhou 阅读(2023) 评论(1) 推荐(0) 编辑
摘要:转载: Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。 以下是本文的目录 阅读全文
posted @ 2016-03-27 00:48 Andrew.Zhou 阅读(242) 评论(0) 推荐(0) 编辑
摘要:转载: 对一致性Hash算法,Java代码实现的深入研究 ##一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。 算法的具体原理这里 阅读全文
posted @ 2016-03-26 23:39 Andrew.Zhou 阅读(360) 评论(0) 推荐(0) 编辑
摘要:转载: 在Xcode中使用Git进行源码版本控制 在应用程序开发过程中,很重要的一部分工作就是如何进行源码的版本控制。当代码出现问题时,我们就需要将代码恢复到原先正常的版本。如果是多个人共同开发一个项目,那么代码的控制就会非常复杂。幸运的是,开发者不需要自己控制这些,因为有专门的软件来负责,叫做版本 阅读全文
posted @ 2016-03-26 22:12 Andrew.Zhou 阅读(367) 评论(0) 推荐(0) 编辑
摘要:转载: 这些 Git 技能够你用一年了 用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。 ####git设置关闭自动换行 git config --global core.autocrlf fal 阅读全文
posted @ 2016-03-26 21:08 Andrew.Zhou 阅读(355) 评论(0) 推荐(0) 编辑
摘要:转载: 简明 Git 命令速查表 ##创建 复制一个已创建的仓库: $ git clone ssh://user@domain.com/repo.git 创建一个新的本地仓库: $ git init ##本地修改 显示工作路径下已修改的文件: $ git status 显示与上次提交版本文件的不同: 阅读全文
posted @ 2016-03-26 19:08 Andrew.Zhou 阅读(263) 评论(0) 推荐(0) 编辑
摘要:转载: Git 分支管理是一门艺术 ###1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码。 ###2 “辅助分支”,大体包括如下几类:“管理功能开发”的分支、“帮助构建可发布代码”的分支、“可以便捷的修复发布 阅读全文
posted @ 2016-03-26 18:49 Andrew.Zhou 阅读(498) 评论(0) 推荐(0) 编辑
摘要:转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正。:) ##HTML/CSS部分 ###1、什么是盒子模型? 在网页中,一个元素占有空间的大小 阅读全文
posted @ 2016-03-26 04:05 Andrew.Zhou 阅读(324) 评论(0) 推荐(0) 编辑
摘要:转载: iOS 面试基础题目 题目来自博客:面试百度的记录,有些问题我能回答一下,不能回答的或有更好的回答我放个相关链接供参考。 ##1面 Objective C runtime library:Objective C的对象模型,block的底层实现结构,消息发送,消息转发,这些都需要背后C一层的描 阅读全文
posted @ 2016-03-26 03:24 Andrew.Zhou 阅读(448) 评论(0) 推荐(0) 编辑
摘要:转载: 阿里Linux Shell脚本面试25个经典问答 ###Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任 阅读全文
posted @ 2016-03-26 03:03 Andrew.Zhou 阅读(15728) 评论(0) 推荐(0) 编辑
摘要:转载: 编程面试的10大算法概念汇总 以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念: 字符串 链表 树 图 排序 递归 vs. 迭代 动态规划 位 阅读全文
posted @ 2016-03-26 02:06 Andrew.Zhou 阅读(393) 评论(0) 推荐(0) 编辑
摘要:转载: 如何写出杀手级简历(针对程序员) 这几年,我在Google工作,是一名软件工程师(之前是在微软做一个开发团队的队长),我曾浏览过成百上千的简历,从中挑选出可以进行下一步面试过程的 应聘者。 有些人的简历给我留下了很深的印象,而另一些则没有感觉。 慢慢的,有越来越多的朋友和亲人向我咨询如何优化 阅读全文
posted @ 2016-03-26 01:59 Andrew.Zhou 阅读(411) 评论(0) 推荐(0) 编辑
摘要:转载: 国外程序员是如何准备面试的? ##一、开门见山 一般来说,你(求职者)在面试中会花很多时间谈论以前的经历。如果你还没有想出你的最具代表性的经历/案例,那么你现在是时候该做了。下面有张问题表,虽然很多问题看似比较低级,但相信我,看完这些问题后,你应当反思自己。即便面试时没有碰到类似这张列表上的 阅读全文
posted @ 2016-03-26 01:50 Andrew.Zhou 阅读(414) 评论(0) 推荐(0) 编辑
摘要:转载: 应聘公司的时候,你也需要向面试官提出的5个杀手锏问题 也许你是个JavaScript巨星,为了防止被那些烦人的猎头骚扰,不得不删除你在LinkedIn上的个人资料。又或者,也许你是一个普通、可靠的合作伙伴,一年到头也只会收到2到3次的面试邀请。 不管你去面试的频率如何,下面这五个问题是每个软 阅读全文
posted @ 2016-03-26 01:13 Andrew.Zhou 阅读(476) 评论(0) 推荐(0) 编辑
摘要:转载: iOS响应式编程:ReactiveCocoa vs RxSwift 选谁好 内容来自stack overflow的一个回答:ReactiveCocoa vs RxSwift – pros and cons? 要直接比较这两个有点难。Rx 是 Reactive Extensions 的一部分, 阅读全文
posted @ 2016-03-26 01:08 Andrew.Zhou 阅读(2190) 评论(0) 推荐(0) 编辑
摘要:转载: Objective-C中的集合类 下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习。 在Objective-C中的集合类中主要包括不可变的数组–NSAr 阅读全文
posted @ 2016-03-25 17:24 Andrew.Zhou 阅读(362) 评论(0) 推荐(0) 编辑
摘要:转载: Objective-C与JavaScript交互的那些事 最近公司的运营瞎搞了个活动,其活动要服务端提供数据支持,web前端在微信公众账号内作为主要的运营阵地,而iOS、Android要提供相应的入口及页面进行配合。一个活动,动用了各个端的程序猿。而在这里面技术方面主要就是涉及到web端和服 阅读全文
posted @ 2016-03-25 00:58 Andrew.Zhou 阅读(279) 评论(0) 推荐(0) 编辑
摘要:转载: 深入Java虚拟机(4)——网络移动性 ##一、软件应用程序发展的几个阶段 ####软件应用程序发展经历了如下几个阶段: ####服务于多个终端用户的大型计算机系统 ####孤立的个人计算机上运行孤立的软件 ####客户机/服务器模式 ####分布式处理模式 ####内容服务模式(网络移动性 阅读全文
posted @ 2016-03-25 00:53 Andrew.Zhou 阅读(344) 评论(0) 推荐(0) 编辑
摘要:转载: 深入Java虚拟机(3)——安全 因为网络允许多台计算机共享数据和分布式处理,所以它提供了一条入侵计算机系统的潜在途径,使得其他人可以窃取信息,改变或破坏信息,盗取计算机资源等等。为了解决由网络引起的安全问题,Java体系结构采用了一个扩展的内置安全模型,这个模型随着Java平台的主要版本不 阅读全文
posted @ 2016-03-25 00:51 Andrew.Zhou 阅读(332) 评论(0) 推荐(0) 编辑
摘要:转载: 深入Java虚拟机(2)——Java的平台无关性 ##一、平台无关性的好处 Java技术在网络环境下非常有用,其中一个关键理由是,用Java创建的可执行二进制程序,能够不加改变地运行于多个平台。 这样的平台无关性随之带来许多的好处。这将极大地减轻系统管理员的工作;此外Java的平台无关性在嵌 阅读全文
posted @ 2016-03-25 00:49 Andrew.Zhou 阅读(1581) 评论(0) 推荐(0) 编辑
摘要:转载: 深入Java虚拟机(1)——Java体系结构 ##Java体系结构 ####Java体系结构包括四个独立但相关的技术: ####1. Java程序设计语言 ####2. Java class文件格式 ####3. Java应用编程接口(API) ####4. Java虚拟机 ####当编写并 阅读全文
posted @ 2016-03-25 00:28 Andrew.Zhou 阅读(215) 评论(0) 推荐(0) 编辑
摘要:转载: Java8所有的包介绍(由英文文档翻译而来) 阅读全文
posted @ 2016-03-25 00:14 Andrew.Zhou 阅读(280) 评论(0) 推荐(0) 编辑
摘要:转载: 关于Java,那些我心存疑惑的事(不断更新中...) 本文主要列出一些Java常用到确又让大家不怎么注意的问题。 将会不断更新,欢迎关注…… 如有觉得不合理之处,欢迎评论交流,没有火花怎么印象深刻? ####(1)Java到底是值传递?还是引用传递? 揪出这个问题是因为有同学说开始写博客了, 阅读全文
posted @ 2016-03-25 00:11 Andrew.Zhou 阅读(269) 评论(0) 推荐(0) 编辑
摘要:转载: Spring中@Transactional事务回滚 ##一、使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用。下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除某个部门的时候,假设我们默认删除对应 阅读全文
posted @ 2016-03-25 00:02 Andrew.Zhou 阅读(19587) 评论(0) 推荐(1) 编辑
摘要:转载: Java中synchronized的使用实例 ##一、使用场景 在负责后台开发的时候,很多时候都是提供接口给前端开发人员去调用,会遇到这样的场景: 需要提供一个领奖接口,每个用户名只能领取一次,我们可以将成功领取的用户在数据库用个标记保存起来。如果这个用户再来领取的时候,查询数据库看该用户是 阅读全文
posted @ 2016-03-24 23:46 Andrew.Zhou 阅读(7298) 评论(1) 推荐(2) 编辑
摘要:转载: Javaweb异常提示信息统一处理 ##一、前言 后台出现异常如何友好而又高效地回显到前端呢?直接将一堆的错误信息抛给用户界面,显然不合适。 先不考虑代码实现,我们希望是这样的: (1)如果是页面跳转的请求,出现异常了,我们希望跳转到一个异常显示页面,如下: 当然,这里的界面不够美观,但是理 阅读全文
posted @ 2016-03-24 23:40 Andrew.Zhou 阅读(46758) 评论(0) 推荐(2) 编辑
摘要:转载: Java异常封装 Java里面的异常在真正工作中使用还是十分普遍的。什么时候该抛出什么异常,这个是必须知道的。 当然真正工作里面主动抛出的异常都是经过分装过的,自己可以定义错误码和异常描述。 在给出异常分装例子之前,需要给大家普及Java里面的checked异常和unchecked异常的个概 阅读全文
posted @ 2016-03-24 23:22 Andrew.Zhou 阅读(4405) 评论(0) 推荐(0) 编辑
摘要:转载: Java经典设计模式之十一种行为型模式 Java经典设计模式共有21中,分为三大类:创建型模式(5种)、结构型模式(7种)和行为型模式(11种)。 本文主要讲行为型模式,创建型模式和结构型模式可以看博主的另外两篇文章:Java经典设计模式之五大创建型模式(附实例和详解)、 Java经典设计模 阅读全文
posted @ 2016-03-24 18:53 Andrew.Zhou 阅读(287) 评论(0) 推荐(0) 编辑
摘要:转载: Java经典设计模式之七大结构型模式 博主在大三的时候有上过设计模式这一门课,但是当时很多都基本没有听懂,重点是也没有细听,因为觉得没什么卵用,硬是要搞那么复杂干嘛。因此设计模式建议工作半年以上的猿友阅读起来才会理解的比较深刻。当然,你没事做看看也是没有坏处的。 总体来说设计模式分为三大类: 阅读全文
posted @ 2016-03-24 18:30 Andrew.Zhou 阅读(353) 评论(0) 推荐(0) 编辑
摘要:转载: SQL实例整理 本文适合将w3school的SQL教程都基本看过一遍的猿友阅读。 说说博主的情况吧。毕业找工作之前确实有大概看过w3school的SQL教程,然后参加校园招聘,每次遇到一些SQL笔试题,立马懵逼了(大写的)。其实我那时候大概知道怎么写的,只是总是写不正确,或者是对一些特定的而 阅读全文
posted @ 2016-03-24 17:42 Andrew.Zhou 阅读(363) 评论(0) 推荐(1) 编辑
摘要:转载: Servlet再度学习 虽然Servlet已经使用很多了,但是一直都仅局限在其使用操作上。 最近有空想对它进行一个相对全面的了解。 下面是博主整理的一篇博文。 ##一、Servlet简介 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编 阅读全文
posted @ 2016-03-24 17:21 Andrew.Zhou 阅读(303) 评论(0) 推荐(0) 编辑
摘要:转载: JSP九大内置对象 虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的。像request、response、session这些对象,即便使用其他框架也是会经常用到的。因此十分有了解的必要。 这些对象可以在JSP页面中调用 阅读全文
posted @ 2016-03-24 17:17 Andrew.Zhou 阅读(460) 评论(0) 推荐(0) 编辑
摘要:转载: Java I/O学习 ##一、Java I/O类结构以及流的基本概念 在阅读Java I/O的实例之前我们必须清楚一些概念,我们先看看Java I/O的类结构图: Java I/O主要以流的形式进行读写数据。 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备 阅读全文
posted @ 2016-03-24 17:04 Andrew.Zhou 阅读(372) 评论(0) 推荐(0) 编辑
摘要:转载: Java内存管理 前一段时间粗略看了一下《深入Java虚拟机 第二版》,可能是因为工作才一年的原因吧,看着十分的吃力。毕竟如果具体到细节的话,Java虚拟机涉及的内容太多了。可能再过一两年去看会合适一些吧。 不过看了一遍《深入Java虚拟机》再来理解Java内存管理会好很多。接下来一起学习下 阅读全文
posted @ 2016-03-24 16:31 Andrew.Zhou 阅读(4504) 评论(1) 推荐(2) 编辑
摘要:转载: 数据库面试常问的一些基本概念 ###1、超键、候选键、主键、外键 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键:是最小超键,即没有冗余元素的超键。 主键:数据库表中对储存数据对象予以唯 阅读全文
posted @ 2016-03-24 16:20 Andrew.Zhou 阅读(8523) 评论(0) 推荐(1) 编辑
摘要:转载: JVM类加载原理学习笔记 (1)类的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)七个阶段 (2)当Java程序需要 阅读全文
posted @ 2016-03-24 16:06 Andrew.Zhou 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:转载: Ajax原理学习 ##一、AJAX 简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 阅读全文
posted @ 2016-03-24 16:03 Andrew.Zhou 阅读(304) 评论(0) 推荐(0) 编辑
摘要:转载: Java基础之泛型 ##一、泛型的理解与简单使用 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 阅读全文
posted @ 2016-03-24 15:51 Andrew.Zhou 阅读(346) 评论(0) 推荐(0) 编辑
摘要:转载: Java基础之集合 参考文章: Java集合框架List,Map,Set等全面介绍 Java 集合类详解 Java集合类详解 ##一、Java集合结构图 但是本文只介绍在实际工作中比较经常使用的集合类型,下面是Java常用集合结构图: ##二、Collection及其子类型介绍 ####2. 阅读全文
posted @ 2016-03-24 15:12 Andrew.Zhou 阅读(327) 评论(0) 推荐(0) 编辑
摘要:转载: Java经典设计模式之五大创建型模式 ##一、概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 (2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 (3)行为型模式,共 阅读全文
posted @ 2016-03-24 14:13 Andrew.Zhou 阅读(456) 评论(0) 推荐(0) 编辑
摘要:转载: 初探Java字符串 ##String印象 String是java中的无处不在的类,使用也很简单。初学java,就已经有字符串是不可变的盖棺定论,解释通常是:它是final的。 不过,String是有字面量这一说法的,这是其他类型所没有的特性(除原生类型)。另外,java中也有字符串常量池这个 阅读全文
posted @ 2016-03-22 18:58 Andrew.Zhou 阅读(294) 评论(0) 推荐(0) 编辑
摘要:转载: Java并发编程:性能、扩展性和响应 ##1、介绍 本文讨论的重点在于多线程应用程序的性能问题。我们会先给性能和扩展性下一个定义,然后再仔细学习一下Amdahl法则。下面的内容我们会考察一下如何用不同的技术方法来减少锁竞争,以及如何用代码来实现。 ##2、性能 我们都知道,多线程可以用来提高 阅读全文
posted @ 2016-03-22 18:50 Andrew.Zhou 阅读(581) 评论(0) 推荐(0) 编辑
摘要:转载: Java开发必会的Linux命令 本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。 ##1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 fin 阅读全文
posted @ 2016-03-22 18:24 Andrew.Zhou 阅读(496) 评论(0) 推荐(0) 编辑
摘要:转载: 133个Java面试问题列表 Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Vector 与 Array 的区别、 阅读全文
posted @ 2016-03-22 17:08 Andrew.Zhou 阅读(362) 评论(0) 推荐(0) 编辑
摘要:转载: https://www.zhihu.com/question/20564224/answer/47629009 有网友在知乎提问: 最近在思考一个问题,为什么跳槽往往意味着加薪? 如果一个人确有价值,为什么在原来的公司没有在薪水上体现出来? 如果没有价值,为什么跳槽以后就会加薪?还是可以单纯 阅读全文
posted @ 2016-03-22 16:41 Andrew.Zhou 阅读(417) 评论(0) 推荐(0) 编辑
摘要:转载: 程序员跳槽的最佳时机选择 常有程序员问我什么时候辞职合何,如果现在辞职是不是一个好选择。这个问题我一般都不会决定性意见,因为这有可能会对你的职业和生活造成影响。 一些程序员怕被贴上不稳定、爱跳槽的人,所以常选择在一个公司一待就是好多年,但有些程序员就是只有不如意就会选择另谋职业,两者相比,总 阅读全文
posted @ 2016-03-22 16:34 Andrew.Zhou 阅读(322) 评论(0) 推荐(0) 编辑
摘要:转载: 推荐!国外程序员整理的Java资源大全 阅读全文
posted @ 2016-03-22 16:28 Andrew.Zhou 阅读(168) 评论(0) 推荐(0) 编辑
摘要:转载: MarkDown 语法备忘 简书是支持Markdown的,在 iOS 项目中也经常用 markdown 为项目写说明,下面是常见的备忘一些常见的的 markdown语法. 语法 分级标题:行首加“#”表示不同级别的标题 (H1-H6)。“#”后最好空一格。H1最大,H6最小。# H1## H 阅读全文
posted @ 2016-03-22 16:24 Andrew.Zhou 阅读(433) 评论(0) 推荐(0) 编辑
摘要:转载: JavaScript最全编码规范 ##类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo = 1; var bar = foo; bar = 9; console.log(foo, bar) 阅读全文
posted @ 2016-03-22 16:03 Andrew.Zhou 阅读(250) 评论(0) 推荐(0) 编辑
摘要:转载: Java注解教程:自定义注解示例,利用反射进行解析 Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响。在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解。 注解是Java 1.5引入的,目前已被广泛应用于各种Java框架, 阅读全文
posted @ 2016-03-22 15:32 Andrew.Zhou 阅读(451) 评论(0) 推荐(0) 编辑
摘要:转载: 40个Java集合面试问题和答案 ##1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保 阅读全文
posted @ 2016-03-22 15:07 Andrew.Zhou 阅读(351) 评论(0) 推荐(0) 编辑
摘要:转载: Java 性能优化手册 — 提高 Java 代码性能的各种技巧 ##Java 6,7,8 中的 String.intern - 字符串池 这篇文章将要讨论 Java 6 中是如何实现 String.intern 方法的,以及这个方法在 Java 7 以及 Java 8 中做了哪些调整。 ## 阅读全文
posted @ 2016-03-22 14:38 Andrew.Zhou 阅读(512) 评论(0) 推荐(0) 编辑
摘要:转载: Java String、StringBuilder和StringBuffer ##概览 在Android/Java开发中,用来处理字符串常用的类有3种: String、StringBuilder、StringBuffer。 它们的异同点: 都是 final 类, 都不允许被继承; Strin 阅读全文
posted @ 2016-03-22 13:05 Andrew.Zhou 阅读(308) 评论(0) 推荐(0) 编辑
摘要:转载: Java内存原型分析:基本知识 ###java虚拟机内存原型 寄存器:我们在程序中无法控制 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对象中用static定义的静态成员 常量池:存放常量 非RAM存储:硬盘等永久存储 阅读全文
posted @ 2016-03-22 12:14 Andrew.Zhou 阅读(405) 评论(0) 推荐(0) 编辑
摘要:转载: 面试感悟 一名3年工作经验的程序员应该具备的技能 ##前言 ###因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的。 ###简单先说一 阅读全文
posted @ 2016-03-22 01:21 Andrew.Zhou 阅读(334) 评论(0) 推荐(0) 编辑
摘要:转载: iOS应用架构谈 组件化方案 #简述 ###前几天的一个晚上在infoQ的微信群里,来自蘑菇街的Limboy做了一个分享,讲了蘑菇街的组件化之路。我不认为这条组件化之路蘑菇街走对了。分享后我私聊了Limboy,Limboy似乎也明白了问题所在,我答应他我会把我的方案写成文章,于是这篇文章就出 阅读全文
posted @ 2016-03-21 19:19 Andrew.Zhou 阅读(394) 评论(0) 推荐(0) 编辑
摘要:转载: iOS动态部署方案 #前言 ###这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容、新的业务流程部署进已发布的App。因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的手段来达到动态部署方案的目的。这篇文章主要的目的就是给大家列举一下目前业界做动态部署的手段, 阅读全文
posted @ 2016-03-21 19:16 Andrew.Zhou 阅读(1670) 评论(0) 推荐(0) 编辑
摘要:转载: iOS应用架构谈 本地持久化方案及动态部署 #前言 ###嗯,你们要的大招。跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区。每一个issue和PR以及评论我都会回复的。 ###持久化 阅读全文
posted @ 2016-03-21 15:20 Andrew.Zhou 阅读(285) 评论(0) 推荐(0) 编辑
摘要:转载: iOS应用架构谈 网络层设计方案 #前言 ###网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都 阅读全文
posted @ 2016-03-21 11:10 Andrew.Zhou 阅读(2264) 评论(1) 推荐(0) 编辑
摘要:转载: iOS应用架构谈 view层的组织和调用方案 #前言 ###当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。 ###一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必须清楚认识到:V 阅读全文
posted @ 2016-03-20 19:03 Andrew.Zhou 阅读(289) 评论(0) 推荐(0) 编辑
摘要:转载: iOS应用架构谈 开篇 #缘由 ###之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? ###当时看到这个问题正好在乘公车回家的 阅读全文
posted @ 2016-03-20 16:51 Andrew.Zhou 阅读(320) 评论(0) 推荐(0) 编辑
摘要:转载: Xcode + Swift 制作动态原型 #为什么是 Xcode 和 Swift ###我们尝试过的动态原型设计工具,Origami, Form, Hype, FramerJS,Pixate 等,但都不适合。我们想要的是像 Sketch 这样简洁好用的工具,目前来看只有 Pixate 比较合 阅读全文
posted @ 2016-03-20 01:41 Andrew.Zhou 阅读(743) 评论(0) 推荐(0) 编辑