--java知识点---
2017/06/08 Java_从指定的目录下拷贝所有指定类型文件到output目录
2017/04/20
===导入的包的源码加入方法===============================
导入的包的源码加入方法(如mybatis的源码):
properties->Java Build Path->Libraries->mybatis包-Source attachment ...-edit-下载的源码的根目录层mybatis-3-mybatis-3.4.4-OK
===LOG4J===========================
Log4j:日志输出 。Jar包和配置文件(log4j.properties放入src根目录下,(指定其他路径时,需要配置))
MyBatistsjar包的logging.LogFactory.class源码,定义了各种LOG的接口,其中包含Log4j,所以配置好Log4j 之后就可以打印LOG了
properties文件 key=value
//级别
logger log;
//级别由低到高
log.debug("adf");
log.info(message);
log.warn(message);
log.error(message);
//大于等于DEBUG级别的都输出
log4j.rootLogger=DEBUG,Console//整个工程的级别//Console,输出位置是控制台。DEBUG级别的原因:参照jar包的logging.jdbc下的类的源码,比如ConnectionLogger.class的源码里,是用debug()出力的,所以不能高于这个级别,否则不会打印Log。
log4j.appender.Console=org.apache.log4j.ConsoleAppender//配置此类才会输出到控制台(log4j.rootLogger=DEBUG,A
log4j.appender.A)
log4j.appender.Console.layout=org.apache.log4j.PatternLayout//布局
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n//布局自定义
(%d [%t] %-5p [%c] - %m%n,%开头的有特殊含义,[]空格-等都是原样输出。%d产生时间 %t所处线程名称,%-5p:%p输出的级别,-5表示输出的字符至少占5位,不足用空格补齐,“-”表示补齐的空格在右边,没有“-”的话,空格就在左边。%c输出日志时的类全名+包名 %n换行%m输出时附加的信息)
log4j.logger.org.apache=INFO//org.apache为包名,为org.apache包下配置为INFO级别
导入的包的源码加入方法(如mybatis的源码):
properties->Java Build Path->Libraries->mybatis包-Source attachment ...-edit-下载的源码的根目录层mybatis-3-mybatis-3.4.4-OK
===LOG4J==============================
---日期格式-------------------------------------------------------
package spring.test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Set; import org.junit.Test; public class TestJ1 {
@Test
public void te1() {
int[] xArry = new int[4];
xArry[3] = 1;
System.out.println(xArry[3] + ":: " + xArry.length);
ArrayList<Object> sl = new ArrayList<Object>();
sl.add("hello");
HashMap x = new HashMap();
x.put(1, "X");
Set m = x.entrySet();
m.getClass();
System.out.println(m.getClass());
}
@Test public void te2() throws ParseException { Date dd = new Date(); String x = "2015年12月11日"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); dd = sdf.parse(x); System.out.println(dd); System.out.println(sdf.format(dd));
Date dd2 = new Date();
System.out.println(sdf.format(dd2)); } }
console print:
1:: 4
class java.util.HashMap$EntrySet
Fri Dec 11 00:00:00 CST 2015
2015年12月11日
2017年04月18日
----------------------------------------------------------
2017/04/12
浅析Java中的final关键字 http://www.cnblogs.com/dolphin0520/p/3736238.html
Java内部类详解 http://www.cnblogs.com/dolphin0520/p/3736238.html
public class BouncingBall { public static void main(String[] args) { MyClass myClass = new MyClass(); StringBuffer buffer = new StringBuffer("Hello"); myClass.changeValue(buffer); MyClass mc2 = new MyClass(); StringBuffer buffer2 = new StringBuffer("Hello"); mc2.changeValue(buffer2); System.out.println(buffer.toString() + ":" + buffer.hashCode()); } } class MyClass { static String x; // public void changeValue(final StringBuffer buffer) { public void changeValue(StringBuffer buffer) { buffer.append(" world"); x += buffer.toString(); // buffer = new StringBuffer("Hello"); System.out.println(x); } }
nullHello world
nullHello worldHello world
Hello world:780173189
---Eclipse-------------------------------------------------------------------------------
20170414
Eclipse:重写superClass的方法 source-override/Implement Method
select method you want to override
----------------------------------------------------------------------------------
1. Set Map HashMap Tree ArrayList LinkedList List collection
2. iterator
Collection(I) Map(I)
| |
---------------------------- ---------
| | | | |
List(I) Queue(I) Set(I) HashMap SortedMap
| | | | |
-------------- | -------------- HashTable TreeMap
| | | | |
ArrayList LinkedList HashSet SortedSet
0.尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果以后需要将ArrayList换成LinkedList时,客户端代码不用改变。这就是针对抽象编程。
1. 对象只有一种创建方式
String s = new String();
2. 所有数值类型都有正负号,没有无符号类型
3. 对象数组:String s[] 每个引用为null
基本类型数组: int a[] 每个0
4. 永远不要释放对象
5. 每个类都必须存放在包中
com.mycompany.xxx
6. 不要引用对引用赋值(除了参数传递),修改一个影响另一个
7. clone() 定义在Object中的protected方法,其它类要使用它,要重写Clone()并且定义为public. 返回值是Object类型,所以要强制转换下
编写可克隆类:(1)implements Cloneable (2)重写clone,调用super.clone() (3)clone声明为public (4)捕获CloneNotSupportedException异常
8. ArrayList的clone只能做到外面拷贝,内部对象还是同一个的对象
9. Random rand = new Random()
rand.newInt(100); //生产0 - 99的随机数
10. 对象的== 比较的是引用
对象的equal() 比较的是实际内容相同
自定义类equal() 比较的是对象的引用,所以要重载
11. 不能把非布尔值当成布尔值使用(与CC++不同)
12. >>>移位运算符,高位填0
13. 字符串与非字符串使用+连接,则必须以字符串开始
14. 0x 0
15. char byte short 做算术运算,会转成ini
16. this(...) 调用构造器, 构造器中只能使用一个,并且放在第一句
17. finalize()并不一定被调用,可用来检测错误,所以只能手动代替析构函数
18. ini[] a = new int[10] 尽量使用这种方式, 数组间可以赋值,是复制引用
a.length()
19. 在子类中重新方法不会屏蔽基类的同名方法(C++会屏蔽)
20. 只有非private方法才能被重写
21.
[22]---20171207 str.split("\s+") str..split("[,\s]+")
“\s“ 可不是什么空格,它就是一个字符串,由 和 s 组成。' ' 才是空格。
这个字符串是一个正则表达式,表示一个空白字符,也就是空格、 、 等字符。
之所以要写成 \s 是因为 是转义字符,它要把它和它后面的一个字符转义成另外一个特殊的字符,像 ,就不再是 和 0 了,
而是 它俩一起表示空格这个字符了。那既然 是转义字符,它要和它后面的一个字符一起表示另外一个字符了,那要表示它自己怎么办呢?
按规定,\ 就表示 这个字符了。第一个 是转义字符,第二个 还是转义字符,只不过它被第一个 转义了
正则表达式, \d表示 0-9 的数字, \s表示 空格,回车,换行等空白符, \w表示单词字符(数字字母下划线) +号表示一个或多个的意思
[22]---20171207正则表达式 regular expression
正则表达式, \d表示 0-9 的数字, \s表示 空格,回车,换行等空白符, \w表示单词字符(数字字母下划线) +号表示一个或多个的意思 core java volume 1: c The character c unnnn, xnn, n, nn, nnn The code unit with the given hex or octal value , , , f, a, e The control characters tab, newline, return, form feed, alert, and escape cc The control character corresponding to the character c Character Classes [C1C2. . .] Any of the characters represented by C1, C2, . . . The Ci are characters, character ranges (c1-c2), or character classes [^. . .] Complement of character class [ . . . && . . .] Intersection of two character classes Predefined Character Classes . Any character except line terminators (or any character if the DOTALL flag is set) d A digit [0-9] D A nondigit [^0-9] s A whitespace character [ fx0B] S A non-whitespace character w A word character [a-zA-Z0-9_] W A nonword character p{name} A named character class—see Table 12-9 P{name} The complement of a named character class Boundary Matchers ^ $ Beginning, end of input (or beginning, end of line in multiline mode) A word boundary B A nonword boundary Syntax Explanation A Beginning of input z End of input End of input except final line terminator G End of previous match Quantifiers X? Optional X X* X, 0 or more times X+ X, 1 or more times X{n} X{n,} X{n,m} X n times, at least n times, between n and m times Quantifier Suffixes ? Turn default (greedy) match into reluctant match + Turn default (greedy) match into possessive match Set Operations XY Any string from X, followed by any string from Y X|Y Any string from X or Y Grouping (X) Capture the string matching X as a group The match of the nth group Escapes c The character c (must not be an alphabetic character) Q . . . E Quote . . . verbatim (? . . . ) Special construct—see API notes of Pattern class
--java知识点---
浅析Java中的final关键字 http://www.cnblogs.com/dolphin0520/p/3736238.html
Java内部类详解 http://www.cnblogs.com/dolphin0520/p/3736238.html
css篇
1. 选择器 p 代表 段落标签 #p 代表 id="p" 的标签 .p 代表 class="p" 的标签 三者可以嵌套 #nav .li {...}