From 30a6ab9cb7c3bc477e02b75f79c1efbdb8fccb39 Mon Sep 17 00:00:00 2001
From: chenpan <13396073613@163.com>
Date: Thu, 17 Nov 2016 16:26:01 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=87=E7=9A=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/ddb/javacore/reflect/ClassDemo.java | 152 +++++++++---------
.../ddb/javacore/reflect/ConstructorDemo.java | 64 ++++----
.../src/com/ddb/javacore/reflect/Person.java | 80 ++++-----
.../javacore/thread/WriteArticleRunable.java | 32 ++--
4 files changed, 162 insertions(+), 166 deletions(-)
diff --git a/JavaCore/src/com/ddb/javacore/reflect/ClassDemo.java b/JavaCore/src/com/ddb/javacore/reflect/ClassDemo.java
index f1c98a1..030d4fa 100644
--- a/JavaCore/src/com/ddb/javacore/reflect/ClassDemo.java
+++ b/JavaCore/src/com/ddb/javacore/reflect/ClassDemo.java
@@ -1,76 +1,76 @@
-package com.ddb.javacore.reflect;
-
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-public class ClassDemo {
-
- public static void main(String[] args)
- throws ClassNotFoundException, NoSuchFieldException, SecurityException, InstantiationException,
- IllegalAccessException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
- PrintStream out = System.out;
- // 第一种得到Class 实例的方式
- Class> class1 = Class.forName("com.ddb.javacore.reflect.Person");
- // 第二种得到Class 实例的方式
- Class> class2 = Person.class;
- // 第三种得到Class 实例的方式
- Class> class3 = new Person().getClass();
-
- out.println(class1);
- out.println(class2);
- out.println(class3);
-
- out.println(class1.getName());
- out.println(class2.getName());
- out.println(class3.getName());
-
- out.println("class1.getComponentType() : " + class1.getComponentType());
- out.println("class1.getModifiers() :" + class1.getModifiers());
- out.println("class1.getSimpleName() :" + class1.getSimpleName());
- out.println("class1.getTypeName() :" + class1.getTypeName());
- out.println("class1.getClassLoader() : " + class1.getClassLoader());
- out.println("class1.getDeclaredMethods() :");
- out.println("该类拥有的方法:");
- Method[] methods = class1.getDeclaredMethods();
- for (Method method : methods) {
- out.println("method : " + method);
- }
-
- Field[] fields = class1.getDeclaredFields();
- out.println("该类拥有的字段:");
- for (Field field : fields) {
- out.println("field : " + field);
- }
-
- // 利用反射创建Person类的实例
- Person obj = (Person) class1.newInstance();
-
- // 访问指定的字段
- out.println("访问指定的字段 :age");
- Field fname = class1.getDeclaredField("name");
- Field fage = class1.getDeclaredField("age");
-
- fname.setAccessible(true);
- out.println("fname.get(obj) :" + fname.get(obj));
- fage.setAccessible(true);
- out.println("fage.get(obj) :" + fage.get(obj));
-
- out.println("通过反射设定属性:");
- fname.set(obj, "zhangsan01");
- fage.set(obj, 32);
- out.println("fname.get(obj) :" + fname.get(obj));
- fage.setAccessible(true);
- out.println("fage.get(obj) :" + fage.get(obj));
- out.println("obj.toString() :" + obj.toString());
-
- out.println("通过反射唤醒或执行被反射对象的方法:");
- Method method = class1.getMethod("printPersonSelf");
-
- out.println("唤醒printPersonSelf:");
- method.invoke(obj);
-
- }
-
-}
+package com.ddb.javacore.reflect;
+
+import java.io.PrintStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class ClassDemo {
+
+ public static void main(String[] args)
+ throws ClassNotFoundException, NoSuchFieldException, SecurityException, InstantiationException,
+ IllegalAccessException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
+ PrintStream out = System.out;
+ // 第一种得到Class 实例的方式
+ Class> class1 = Class.forName("com.ddb.javacore.reflect.Person");
+ // 第二种得到Class 实例的方式
+ Class> class2 = Person.class;
+ // 第三种得到Class 实例的方式
+ Class> class3 = new Person().getClass();
+
+ out.println(class1);
+ out.println(class2);
+ out.println(class3);
+
+ out.println(class1.getName());
+ out.println(class2.getName());
+ out.println(class3.getName());
+
+ out.println("class1.getComponentType() : " + class1.getComponentType());
+ out.println("class1.getModifiers() :" + class1.getModifiers());
+ out.println("class1.getSimpleName() :" + class1.getSimpleName());
+ out.println("class1.getTypeName() :" + class1.getTypeName());
+ out.println("class1.getClassLoader() : " + class1.getClassLoader());
+ out.println("class1.getDeclaredMethods() :");
+ out.println("该类拥有的方法:");
+ Method[] methods = class1.getDeclaredMethods();
+ for (Method method : methods) {
+ out.println("method : " + method);
+ }
+
+ Field[] fields = class1.getDeclaredFields();
+ out.println("该类拥有的字段:");
+ for (Field field : fields) {
+ out.println("field : " + field);
+ }
+
+ // 利用反射创建Person类的实例
+ Person obj = (Person) class1.newInstance();
+
+ // 访问指定的字段
+ out.println("访问指定的字段 :age");
+ Field fname = class1.getDeclaredField("name");
+ Field fage = class1.getDeclaredField("age");
+
+ fname.setAccessible(true);
+ out.println("fname.get(obj) :" + fname.get(obj));
+ fage.setAccessible(true);
+ out.println("fage.get(obj) :" + fage.get(obj));
+
+ out.println("通过反射设定属性:");
+ fname.set(obj, "zhangsan01");
+ fage.set(obj, 32);
+ out.println("fname.get(obj) :" + fname.get(obj));
+ fage.setAccessible(true);
+ out.println("fage.get(obj) :" + fage.get(obj));
+ out.println("obj.toString() :" + obj.toString());
+
+ out.println("通过反射唤醒或执行被反射对象的方法:");
+ Method method = class1.getMethod("printPersonSelf");
+
+ out.println("唤醒printPersonSelf:");
+ method.invoke(obj);
+
+ }
+
+}
diff --git a/JavaCore/src/com/ddb/javacore/reflect/ConstructorDemo.java b/JavaCore/src/com/ddb/javacore/reflect/ConstructorDemo.java
index 37346ce..fa17065 100644
--- a/JavaCore/src/com/ddb/javacore/reflect/ConstructorDemo.java
+++ b/JavaCore/src/com/ddb/javacore/reflect/ConstructorDemo.java
@@ -1,32 +1,32 @@
-package com.ddb.javacore.reflect;
-
-import java.lang.reflect.Constructor;
-
-public class ConstructorDemo {
- public static void main(String[] args) {
- Class> demo = null;
- try {
- demo = Class.forName("com.ddb.javacore.reflect.Person");
- } catch (Exception e) {
- e.printStackTrace();
- }
- Person per1 = null;
- Person per2 = null;
- Person per3 = null;
- Person per4 = null;
- // 取得全部的构造函数
- Constructor> cons[] = demo.getConstructors();
- try {
- per1 = (Person) cons[3].newInstance();
- per2 = (Person) cons[2].newInstance("Rollen");
- per3 = (Person) cons[1].newInstance(20);
- per4 = (Person) cons[0].newInstance("Rollen", 20);
- } catch (Exception e) {
- e.printStackTrace();
- }
- System.out.println(per1);
- System.out.println(per2);
- System.out.println(per3);
- System.out.println(per4);
- }
-}
+package com.ddb.javacore.reflect;
+
+import java.lang.reflect.Constructor;
+
+public class ConstructorDemo {
+ public static void main(String[] args) {
+ Class> demo = null;
+ try {
+ demo = Class.forName("com.ddb.javacore.reflect.Person");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Person per1 = null;
+ Person per2 = null;
+ Person per3 = null;
+ Person per4 = null;
+ // 取得全部的构造函数
+ Constructor> cons[] = demo.getConstructors();
+ try {
+ per1 = (Person) cons[3].newInstance();
+ per2 = (Person) cons[2].newInstance("Rollen");
+ per3 = (Person) cons[1].newInstance(20);
+ per4 = (Person) cons[0].newInstance("Rollen", 20);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ System.out.println(per1);
+ System.out.println(per2);
+ System.out.println(per3);
+ System.out.println(per4);
+ }
+}
diff --git a/JavaCore/src/com/ddb/javacore/reflect/Person.java b/JavaCore/src/com/ddb/javacore/reflect/Person.java
index e1ccaec..5bc336b 100644
--- a/JavaCore/src/com/ddb/javacore/reflect/Person.java
+++ b/JavaCore/src/com/ddb/javacore/reflect/Person.java
@@ -1,40 +1,40 @@
-package com.ddb.javacore.reflect;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter@Setter
-public class Person {
-
- private String name;
- private int age;
-
- //构造方法
- public Person() {
-
- }
-
- public Person(String name) {
- this.name = name;
- }
-
- public Person(int age) {
- this.age = age;
- }
-
- public Person(String name, int age) {
- this.age = age;
- this.name = name;
- }
- //构造方法结束
-
- @Override
- public String toString() {
- return "[" + this.name + " " + this.age + "]";
- }
-
- public void printPersonSelf() {
- System.out.println(this.toString());
- }
-
-}
+package com.ddb.javacore.reflect;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter@Setter
+public class Person {
+
+ private String name;
+ private int age;
+
+ //构造方法
+ public Person() {
+
+ }
+
+ public Person(String name) {
+ this.name = name;
+ }
+
+ public Person(int age) {
+ this.age = age;
+ }
+
+ public Person(String name, int age) {
+ this.age = age;
+ this.name = name;
+ }
+ //构造方法结束
+
+ @Override
+ public String toString() {
+ return "[" + this.name + " " + this.age + "]";
+ }
+
+ public void printPersonSelf() {
+ System.out.println(this.toString());
+ }
+
+}
diff --git a/JavaCore/src/com/ddb/javacore/thread/WriteArticleRunable.java b/JavaCore/src/com/ddb/javacore/thread/WriteArticleRunable.java
index 28d6790..2f0d4a4 100644
--- a/JavaCore/src/com/ddb/javacore/thread/WriteArticleRunable.java
+++ b/JavaCore/src/com/ddb/javacore/thread/WriteArticleRunable.java
@@ -4,7 +4,7 @@ public class WriteArticleRunable implements Runnable {
private Paper paper;
private Pen pen;
private boolean isRunning = true;
- private int count = 20;//循环次数
+ private int count = 20;// 循环次数
public WriteArticleRunable(Paper paper, Pen pen) {
super();
@@ -15,27 +15,24 @@ public WriteArticleRunable(Paper paper, Pen pen) {
@Override
public void run() {
while (isRunning) {
- //synchronized (paper) {
+ // synchronized (paper) {
if (!paper.getIsPrivated()) {
paper.setIsPrivated(true);
paper.setOwner(Thread.currentThread().getName());
}
- //}
- //synchronized (paper) {
- /*try {
- if (Thread.currentThread().getName().equals("zhangsan")) {
- Thread.sleep(1);
- }
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }*/
+ // }
+ // synchronized (paper) {
+ /*
+ * try { if (Thread.currentThread().getName().equals("zhangsan")) {
+ * Thread.sleep(1); } } catch (InterruptedException e) { // TODO
+ * Auto-generated catch block e.printStackTrace(); }
+ */
// 判断Pen资源是否可以得到
if (!pen.getIsPrivated()) {
pen.setIsPrivated(true);
pen.setOwner(Thread.currentThread().getName());
}
- //}
+ // }
Boolean getPaper = paper.getOwner().equals(Thread.currentThread().getName());
Boolean getPen = pen.getOwner().equals(Thread.currentThread().getName());
synchronized (getPen) {
@@ -52,7 +49,7 @@ public void run() {
System.out.println(Thread.currentThread().getName() + "得到了纸,我缺少笔!");
System.out.println(Thread.currentThread().getName() + "我要等待钢笔资源!");
--count;
- if (count <=0) {
+ if (count <= 0) {
System.out.println(Thread.currentThread().getName() + " :我检测到形成死锁 ,算了 我先礼让 一下 ");
paper.setIsPrivated(false);
try {
@@ -62,7 +59,7 @@ public void run() {
// TODO Auto-generated catch block
e.printStackTrace();
}
- }
+ }
} else if (!getPaper && getPen) {
System.out.println(Thread.currentThread().getName() + "得到了钢笔,我缺少纸张!");
@@ -78,8 +75,7 @@ public void run() {
}
public void stop() {
- this.isRunning= false;
+ this.isRunning = false;
}
-
-
+
}
From ce896c8c8115dd8f5d97852baaf17ba12ee39ef9 Mon Sep 17 00:00:00 2001
From: chenpan <13396073613@163.com>
Date: Thu, 17 Nov 2016 16:46:25 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
WebCore/.classpath | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/WebCore/.classpath b/WebCore/.classpath
index c229b99..f6d7f25 100644
--- a/WebCore/.classpath
+++ b/WebCore/.classpath
@@ -1,12 +1,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+