diff --git a/.gitignore b/.gitignore
index ec55baf87d..2a5296f902 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
*.class
-
# Mobile Tools for Java (J2ME)
.mtj.tmp/
@@ -14,3 +13,9 @@ hs_err_pid*
#ide config
.metadata
.recommenders
+.idea/
+*.iml
+rebel.*
+.rebel.*
+
+target
diff --git a/group17/1204187480/code/homework/basic/pom.xml b/group17/1204187480/code/homework/basic/pom.xml
new file mode 100644
index 0000000000..039af72d42
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ basic
+
+ com.coding
+ parent
+ 1.0-SNAPSHOT
+ ../parent/pom.xml
+
+
+
\ No newline at end of file
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/ArrayList.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/ArrayList.java
new file mode 100644
index 0000000000..35e9a2a05e
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/ArrayList.java
@@ -0,0 +1,85 @@
+package com.coding.basic;
+
+import java.util.Arrays;
+
+public class ArrayList implements List {
+
+ private int size = 0;
+
+ private Object[] elementData = new Object[100];
+
+ private int length() {
+ return elementData.length;
+ }
+
+ private static final int ENLARGE_LENGTH = 100;
+
+ private Object[] enlarge(Object[] origin) {
+ return Arrays.copyOf(origin, origin.length + ENLARGE_LENGTH);
+ }
+
+ private void enLargeElementData() {
+ if (size == length()) {
+ elementData = enlarge(elementData);
+ }
+ }
+
+ public void add(Object o) {
+ enLargeElementData();
+ elementData[size] = o;
+ size++;
+ }
+
+ public void add(int index, Object o) {
+ checkIndex(index);
+ enLargeElementData();
+ // 备份 index 处及后面的数据
+ Object[] elementsBehindIndex = backBehindElements(elementData, index);
+ // 给index处 设值
+ elementData[index] = o;
+ // 追加 备份的数据
+ appendElement(elementData, index, elementsBehindIndex);
+ size++;
+ }
+
+ private void appendElement(Object[] origin, int pos, Object[] append) {
+ System.arraycopy(append, 0, origin, pos, append.length);
+ }
+
+ private Object[] backBehindElements(Object[] elementData, int index) {
+ int backSize = size - index;
+ Object[] back = new Object[backSize];
+ System.arraycopy(elementData, index, back, 0, backSize);
+ return back;
+ }
+
+ public Object get(int index) {
+ checkIndex(index);
+ return elementData[index];
+ }
+
+ private void checkIndex(int index) {
+ if (index < 0 || index >= size) {
+ throw new ArrayIndexOutOfBoundsException(String.format("index=%s, size=%s", index, size));
+ }
+ }
+
+ public Object remove(int index) {
+ checkIndex(index);
+ Object[] back = backBehindElements(elementData, index + 1);
+ System.arraycopy(back, 0, elementData, index, back.length);
+ Object ret = elementData[index];
+ elementData[index] = null;
+ size--;
+ return ret;
+ }
+
+ public int size() {
+ return size;
+ }
+
+ public Iterator iterator() {
+ return null;
+ }
+
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/BinaryTreeNode.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/BinaryTreeNode.java
new file mode 100644
index 0000000000..d7ac820192
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/BinaryTreeNode.java
@@ -0,0 +1,32 @@
+package com.coding.basic;
+
+public class BinaryTreeNode {
+
+ private Object data;
+ private BinaryTreeNode left;
+ private BinaryTreeNode right;
+
+ public Object getData() {
+ return data;
+ }
+ public void setData(Object data) {
+ this.data = data;
+ }
+ public BinaryTreeNode getLeft() {
+ return left;
+ }
+ public void setLeft(BinaryTreeNode left) {
+ this.left = left;
+ }
+ public BinaryTreeNode getRight() {
+ return right;
+ }
+ public void setRight(BinaryTreeNode right) {
+ this.right = right;
+ }
+
+ public BinaryTreeNode insert(Object o){
+ return null;
+ }
+
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Iterator.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Iterator.java
new file mode 100644
index 0000000000..06ef6311b2
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Iterator.java
@@ -0,0 +1,7 @@
+package com.coding.basic;
+
+public interface Iterator {
+ public boolean hasNext();
+ public Object next();
+
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/LinkedList.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/LinkedList.java
new file mode 100644
index 0000000000..e2c4e5e795
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/LinkedList.java
@@ -0,0 +1,46 @@
+package com.coding.basic;
+
+public class LinkedList implements List {
+
+ private Node head;
+
+ public void add(Object o){
+
+ }
+ public void add(int index , Object o){
+
+ }
+ public Object get(int index){
+ return null;
+ }
+ public Object remove(int index){
+ return null;
+ }
+
+ public int size(){
+ return -1;
+ }
+
+ public void addFirst(Object o){
+
+ }
+ public void addLast(Object o){
+
+ }
+ public Object removeFirst(){
+ return null;
+ }
+ public Object removeLast(){
+ return null;
+ }
+ public Iterator iterator(){
+ return null;
+ }
+
+
+ private static class Node{
+ Object data;
+ Node next;
+
+ }
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/List.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/List.java
new file mode 100644
index 0000000000..10d13b5832
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/List.java
@@ -0,0 +1,9 @@
+package com.coding.basic;
+
+public interface List {
+ public void add(Object o);
+ public void add(int index, Object o);
+ public Object get(int index);
+ public Object remove(int index);
+ public int size();
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Queue.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Queue.java
new file mode 100644
index 0000000000..36e516e266
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Queue.java
@@ -0,0 +1,19 @@
+package com.coding.basic;
+
+public class Queue {
+
+ public void enQueue(Object o){
+ }
+
+ public Object deQueue(){
+ return null;
+ }
+
+ public boolean isEmpty(){
+ return false;
+ }
+
+ public int size(){
+ return -1;
+ }
+}
diff --git a/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Stack.java b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Stack.java
new file mode 100644
index 0000000000..a5a04de76d
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/main/java/com/coding/basic/Stack.java
@@ -0,0 +1,22 @@
+package com.coding.basic;
+
+public class Stack {
+ private ArrayList elementData = new ArrayList();
+
+ public void push(Object o){
+ }
+
+ public Object pop(){
+ return null;
+ }
+
+ public Object peek(){
+ return null;
+ }
+ public boolean isEmpty(){
+ return false;
+ }
+ public int size(){
+ return -1;
+ }
+}
diff --git a/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/ArraysTest.java b/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/ArraysTest.java
new file mode 100644
index 0000000000..eb41a7e262
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/ArraysTest.java
@@ -0,0 +1,22 @@
+package com.coding.api;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+
+/**
+ * Created by luoziyihao on 2/25/17.
+ */
+public class ArraysTest {
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+
+ @Test
+ public void testCopyOf(){
+ Object[] a = new Object[]{1, 2, 3, 4};
+ Object[] b = Arrays.copyOf(a, 10);
+ logger.info("a={}, b={}", Arrays.toString(a), Arrays.toString(b));
+ }
+}
diff --git a/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/SystemTest.java b/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/SystemTest.java
new file mode 100644
index 0000000000..efc4022378
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/test/java/com/coding/api/SystemTest.java
@@ -0,0 +1,24 @@
+package com.coding.api;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+
+/**
+ * Created by luoziyihao on 2/25/17.
+ */
+public class SystemTest {
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+ @Test
+ public void testArrayCopy() {
+ int[] a = new int[]{1, 2, 3, 4, 5, 6, 7};
+ int[] b = new int[]{11, 22, 33, 44, 55, 66, 77};
+ System.arraycopy(a, 2, b, 4, 3);
+ logger.info("b={}", Arrays.toString(b));
+
+ }
+}
diff --git a/group17/1204187480/code/homework/basic/src/test/java/com/coding/basic/ArrayListTest.java b/group17/1204187480/code/homework/basic/src/test/java/com/coding/basic/ArrayListTest.java
new file mode 100644
index 0000000000..9241fe72da
--- /dev/null
+++ b/group17/1204187480/code/homework/basic/src/test/java/com/coding/basic/ArrayListTest.java
@@ -0,0 +1,35 @@
+package com.coding.basic;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Created by luoziyihao on 2/25/17.
+ */
+public class ArrayListTest {
+
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+
+ private List list = new ArrayList();
+
+ @Before
+ public void before() {
+
+ }
+
+ @Test
+ public void add() throws Exception {
+ list.add(1);
+ }
+
+ @Test
+ public void get() throws Exception {
+ add();
+ logger.info("{}", list.get(0));
+ }
+
+}
\ No newline at end of file
diff --git a/group17/1204187480/code/homework/parent/pom.xml b/group17/1204187480/code/homework/parent/pom.xml
new file mode 100644
index 0000000000..9d29a4d93e
--- /dev/null
+++ b/group17/1204187480/code/homework/parent/pom.xml
@@ -0,0 +1,95 @@
+
+ 4.0.0
+
+ com.coding
+ parent
+ pom
+ 1.0-SNAPSHOT
+ https://github.com/luoziyihao/coding2017
+
+
+ UTF-8
+ UTF-8
+ UTF-8
+ 1.8
+ 1.8
+ 1.8
+ 3.0
+ 1.1.7
+ 1.2
+ 1.2.17
+ 4.12
+
+
+
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback-classic.version}
+
+
+
+ commons-logging
+ commons-logging
+ ${commons-logging.version}
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+
+
+ junit
+ junit
+ ${junit.version}
+
+
+
+
+
+ alimaven
+ aliyun maven
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+ true
+
+
+
+
+
+ alimaven
+ aliyun maven
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+ true
+
+
+
+
+
+ ${project.artifactId}
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/group17/1204187480/code/homework/pom.xml b/group17/1204187480/code/homework/pom.xml
new file mode 100644
index 0000000000..e939b51bd0
--- /dev/null
+++ b/group17/1204187480/code/homework/pom.xml
@@ -0,0 +1,14 @@
+
+
+ 4.0.0
+ com.coding
+ coding2017
+ 1.0-SNAPSHOT
+ pom
+
+ parent
+ basic
+
+
+
diff --git a/group17/876385982/.classpath b/group17/876385982/.classpath
new file mode 100644
index 0000000000..fb5011632c
--- /dev/null
+++ b/group17/876385982/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/group17/876385982/.gitignore b/group17/876385982/.gitignore
new file mode 100644
index 0000000000..ae3c172604
--- /dev/null
+++ b/group17/876385982/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/group17/876385982/.project b/group17/876385982/.project
new file mode 100644
index 0000000000..4062c6c28f
--- /dev/null
+++ b/group17/876385982/.project
@@ -0,0 +1,17 @@
+
+
+ 876385982
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/group17/876385982/src/test/Test.java b/group17/876385982/src/test/Test.java
new file mode 100644
index 0000000000..b023a3ea07
--- /dev/null
+++ b/group17/876385982/src/test/Test.java
@@ -0,0 +1,10 @@
+package test;
+
+public class Test {
+
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+ System.out.println("Test!");
+ }
+
+}
diff --git "a/group17/article/\345\206\231\344\270\200\347\257\207\346\226\207\347\253\240\344\273\213\347\273\215cpu, \345\206\205\345\255\230, \347\243\201\347\233\230, \346\214\207\344\273\244\344\273\245\345\217\212\344\273\226\344\273\254\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_20170226.md" "b/group17/article/\345\206\231\344\270\200\347\257\207\346\226\207\347\253\240\344\273\213\347\273\215cpu, \345\206\205\345\255\230, \347\243\201\347\233\230, \346\214\207\344\273\244\344\273\245\345\217\212\344\273\226\344\273\254\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_20170226.md"
new file mode 100644
index 0000000000..14217b5f64
--- /dev/null
+++ "b/group17/article/\345\206\231\344\270\200\347\257\207\346\226\207\347\253\240\344\273\213\347\273\215cpu, \345\206\205\345\255\230, \347\243\201\347\233\230, \346\214\207\344\273\244\344\273\245\345\217\212\344\273\226\344\273\254\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_20170226.md"
@@ -0,0 +1,56 @@
+# 写一篇文章介绍cpu, 内存, 磁盘, 指令以及他们之间的关系
+
+## 须知
+---
+
+交作业时请在QQ 号后面填上各自的文章链接, 比如:
+
+51075907 http://m.blog.csdn.net/article/details?id=57083764
+
+## 文章
+---
+
+1204187480
+
+102228177
+
+876385982 http://www.totoro-fly.com/?p=59
+
+785396327
+
+1059107701
+
+240094626
+
+82427129
+
+296910598
+
+1264835468
+
+516886559
+
+1282579502
+
+614982500
+
+865797761
+
+1540186032
+
+176653813
+
+116665530
+
+51075907 http://m.blog.csdn.net/article/details?id=57083764
+
+1158154002
+
+345450234
+
+919764878
+
+1368331120
+
+517970312
+