日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SCJP培训笔记

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SCJP培训笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Initialization
  初始化
  * All class-level (member) variables are initialized before they can
  be used.
  All local variables are not initialized until it is done explicitly.
  * 所有的主成員在他們使用之前被初始化
  所有的局部變量必須通過顯式的賦值來初始化
  * An array object (as distinct from reference) is always initialized
  (with zeroes or s)
  * 數組對象總是能夠初始化(零或者)
  * Member initialization with the declaration has exception problems:
  - cannot call methods that throw a checked exception.
  - cannot do error recovery from runtime exceptions.
  - If you need to deal with errors you can put the initialization code
  along with try/catch statements in either a ctor (for instance fields)
  or in a static initialization block for static fields. You can also have
  instance (non-static) initialization blocks but ctors are more
  recognizable.
  * 需要處理異常的成員初始化
  - 不能調用會拋出異常的方法
  - 不能對基本異常做任何處理
  - 如果你需要處理錯誤,將初始化的代碼放到構造器或者靜態初始化塊的
  try/catch塊中,當然,你也可以放到非靜態的代碼塊中,但是構造器似乎更為通用。
  ------------------------------------------------------------------------
  Strings
  字符串
  * The String class
  - Because string is an immutable class, its instance methods that
  look like they would transform the object they are invoked upon,
  do not alter the object and instead return new String objects.
  - String has methods concat(String),trim(),replace(char,char)
  - String has static valueOf methods for a whole bunch of primitives
  and for Object too (equivalent to Object.toString()).
  - in substring(int,int), the second arg is exclusive.
  - indexOf methods returns -1 for 'not found'
  * 類String
  - 類String是不可變的,即使他的某些方法看起來會改變字符串的內容,但實際
  上他們返回的是一個新的字符串,而不是改變原來的字符串
  - 類String的方法:cancat(String),trim(),replace(char,char)
  - 類String的靜態方法valueOf能處理所有的基本類型和對象(調用對象的
  toString()方法)
  - 在substring(int,int)方法中,第二個參數是"不包括"的(譯者注:第一個參
  數是"包括"的,例如substring(1,4)將會返回字符串從第二個字符開始(包括
  第二個字符),到第五個字符結束(不包括第五個字符)的子字符串)
  - 如果沒有找到,indexOf方法將返回-1
  * String Pool:
  A JVM has a string pool where it keeps at most one object of any
  String. String literals always refer to an object in the string
  pool. String objects created with the new operator do not refer to
  objects in the string pool but can be made to using String's intern()
  method. Two String references to 'equal' strings in the string pool
  will be '=='.
  * 字符串池
  虛擬機有一個字符串池,保存著幾乎所有的字符串對象。字符串表達式總是指向
  字符串池中的一個對象。使用new操作創建的字符串對象不指向字符串池中的對象
  但是可以使用intern方法使其指向字符串池中的對象(譯者注:如果池中已經有
  相同的字符串--使用equals方法確定,則直接返回池中的字符串,否則先將字符串
  添加到池中,再返回)。池中兩個相等的字符串如果使用'=='來比較將返回真
  * StringBuffer doesn't override equals.

  * 類StringBuffer沒有覆蓋equals方法
  ------------------------------------------------------------------------
  Arrays
  數組
  * Arrays are objects .. the following create a reference for an int array.
  int[] ii;
  int ii[];
  * 數組是一個對象 .. 下面的代碼創建一個整型數組的引用:
  int[] ii;
  int ii[];
  * You can create an array object with new or an explicit initializer:
  ii = new int[3];
  ii = new int[] { 1,2,3 };
  int[] ii = { 1,2,3 ); // only when you declare the reference.
  * 你可以通過new操作或者顯式的初始化創建一個數組對象:
  ii = new int[3];
  ii = new int[] { 1,2,3 };
  int[] ii = { 1,2,3 }; // 只有聲明的時候
  * CAREFUL: You can't create an array object with:
  int iA[3];
  * 小心:你不能象下面這樣創建一個數組對象:
  int iA[3];
  * If you don't provides values, the elements of obj arrays are
  always initialized to and those of primitive arrays are
  always initialized to 0.
  * 如果你不提供初始值,對象數組的元素總是初始化成,基本類型數組的元素
  總是初始化成零
  ------------------------------------------------------------------------
  Primitive Types
  基本類型
  * Primitive types:
  - short and char are both 2 bytes.
  int and float are both 4 bytes.
  long and double are both 8 bytes.
  - char is the only unsigned primitive type.

  * 基本類型:
  - short和char的長度是兩個字節。
  int和float的長度都是四個字節。
  long和double的長度都是八個字節。
  - char是唯一的無符號基本類型
  * Literals:
  - You can have boolean, char, int, long, float, double and String
  literals.
  You cannot have byte or short literals.
  - char literals: 'd' 'u0c20' (the 0c20 must be a 4-digit hex number).
  - int literals: 0x3c0 is hex, 010 is octal(for 8).
  - You can initialize byte, short and char variables with int literals
  (or const int expressions) provided the int is in the appropriate range.
  * 表達式
  - 只有boolean,char,int,long,float,double和字符串的表達式;沒有byte
  和short的表達式
  - 字符(char)表達式:'d'、'u0c20'(0c20必須是四位的十六進制數字)
  - 整型(int)表達式:0x3c0是十六進制形式,010是八進制形式
  - 可是使用合法范圍內的整型表達式對byte、short和char變量初始化
  * CAREFUL: can't assign a double literal to a float .. float fff = 26.55;
  * 小心:不能將一個double表達式賦給一個float變量 .. float fff = 26.55;
  * The only bit operators allowed for booleans are &^| (cant do ~ or
  shift ops)
  * 位運算只有&^|(不能使用~或者移位操作)
  * Primitive wrapper classes
  - are immutable.
  - override equals.
  - the static valueOf(String) methods in primitive wrapper classes return
  wrapper objects rather than a primitives.

  * 基本類型的包裝類
  - 不可變的
  - 覆蓋equals方法
  - 靜態方法valueOf(String)返回的是包裝類而不是基本類型
  ------------------------------------------------------------------------
  Conversions and Promotions
  類型轉換
  * boolean->anything but boolean or string is not allowed.
  * All other primitive conversions are allowed with an explicit cast.
  * char/byte/short/int/long to float/double is a widening conversion even
  if some precision is lost (the overall magnitude is always preserved).
  * Narrowing conversions require an explicit cast.
  - integral narrowing conversions simply discard high-order bits.
  - anything to char is a narrowing conversion (inc byte) because its
  signed to unsigned and negative numbers get messed up

  * 所有的基本類型之間可以通過顯式的類型轉換而轉變成其它類型
  * char/byte/short/int/long到float/double的轉換是寬轉換,即使有可能丟掉部
  分信息
  * 窄轉換需要顯式的轉換
  - 整型的窄轉換只簡單的去掉高位比特
  - 所有到char的轉換都是窄轉換(包括byte)因為轉換是從有符號數到無符號數
  的轉換,負數將會得到一個混亂的結果
  * Widening primitive and reference conversions are allowed for assignment
  and in matching the arguments to a method (or ctor) call.
  * 對象和基本類型的寬轉換允許在賦值和匹配的方法調用中(非顯式的)使用
  * For assignment (but not method invocation), representable constant
  int expressions can be converted to byte, char or shorts (eg. char c =
  65).
  * 賦值時,合法的整型表達式能被自動轉換成byte、char或者short(例如:
  char c = 65)
  * Unary numeric promotions: byte/short/char to int
  * 一元運算時,byte/short/char將自動轉換成int
  * Binary numeric promotions:
  - both arguments are made (in order of preference)
  double/float/long/int.
  - include (in)equality operators.
  * 二進制數據類型轉換:
  - 所有的參數自動轉換成(按循序的)double/float/long/int
  - 包括比較運算
  * char/byte/short are promoted to int for nearly every operator ... be
  careful not to assign the uncast int return value to a narrower type,
  bytesum = byte1 + byte2; // won't compile without a cast.
  bytesum += byte2; // is ok.
  - applies to bitshift operators (as a unary promotion on each arg).
  - applies to unary + and - (eg. byte b = +anotherByte; needs a cast).
  - there are no promotions for ++, --, += etc.
  byte b=10;
  char c = b++; //explicit cast needed to convert byte to char
  char c = b++ +10; //explicit cast needed to convert int to char
  char c = b++ +10L; //explicit cast needed to convert long to char
  * char/byte/short幾乎在所的運算中都被轉換成int … 要當心不要將int類型的
  返回值在沒有顯式轉換之前賦給一個更小的類型:
  bytesum = byte1 + byte2; //沒有顯式的轉換不能通過編譯
  bytesum += byte2; // 沒有問題
  - 本規則適合于位運算(以及每個一元運算的參數)
  - 本規則不適用于++,--,+=等操作
  byte b = 10;
  char c = b++; //需要顯式的將byte轉換成char
  char c = b++ + 10; //需要顯式的將int轉換成char
  char c = b++ + 10L; //需要顯式的將long轉換成char
  * A switch argument can be any type that can implicit-cast to an int
  (byte/char/short/int but not boolean or long).

  - The argument and cases can also be compile-time constant
  expressions.
  * switch的參數可以是任何可以自動轉換成int型的基本類型(
  byte/char/short/int是合法的參數,但是boolean和long型是不合法的)
  - switch的參數和case的參數可以是常量表達式
  * Explicit Casting:
  - Impossible casts are detected at compile time.
  Other bad casts cause runtime exceptions rather than messes.
  * 顯式的轉換
  - 不可能的轉載編譯期間就能檢測到。其他錯誤的轉換將拋出異常以防止數據的
  混亂
  * Array casts:
  - The only implicit conversion for arrays is: Base[] base = new Der[5];
  - a runtime exception is thrown if you try to add anything but Derived
  - There are no implicit casts for arrays of primitives.
  - You can make an explicit array cast:
  String[] strs = (String[]) ObjectArray;
  * 數組轉換:
  - 對象數組唯一的自動轉換的情況是:Base[] base = new Der[5];
  - 如果你嘗試添加Derived以外的對象,將會得到一個運行期異常
  - 基本類型數組沒有自動轉換的情況
  - 可以使用顯式的數組類型轉換:
  String[] strs = (String[]) ObjectArray;
  ------------------------------------------------------------------------
  Bitshift operators
  位移操作
  - The left-hand argument to a bitshift operator can be an int, long
  or any type that can be implicit cast to int (byte,char,short).
  - 左側的參數必須為int,long,或者任何可以自動轉換成int的類型(byte,
  char,short)
  - char, byte, or short arguments will be promoted to int before the shift
  takes place, and the result will be an int (so has to be cast to get back
  to the original type).
  - char,byte或者short型的參數在位移操作之前被自動轉換成int型,結果類型為
  int(所以你需要顯式的將返回類型轉換成原來的類型)
  - You can't shift futher than the number of bits in the left-hand argument
  (int or long). Only the five (six) low-order bits of the right-hand
  argument will be used to shift an int (long).

  - 你不能移動比左側參數(int或者long)的長度長的位數。右邊參數只有低五(
  六)位被用來移動左側的int(long)類型數據
  - Each left-shift (signed-right-shift) for positive numbers is equivalent
  to multiplication (division) by 2. The division is rounded down.
  - 左移(有符號數右移)操作相當于乘(除)二運算。(…)
  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  Object-oriented concepts
  面向對象的概念
  * The signature of a method is its name, argument type and argument order.
  - an overload is legal provided the two methods have different signatures.
  - an override must have the same signature and return type, throw no new
  checked exceptions and be at least as accessible as the method it is
  overriding.
  * 一個方法通過它的名字,參數類型以及順序來標識
  - 有不同標識的方法重載是合法的
  - 方法覆蓋必須有相同的標識和返回值,不能拋出新的普通異常,不能比他要覆
  蓋的方法擁有更少的權限
  * Fields do not act polymorphically:
  - whenever you access a field from outside the class, the declared type of
  the reference is used rather than the type of the object it refers to.
  - regardless of the type of the reference, a method will always access its
  own fields rather than those of a derived class.
  * 變量成員沒有多態性
  - 當你從類外面引用變量成員時,你總是得到定義的類型,而非實際指向的類型
  - 不管變量成員的類型是什么,方法總是使用類自己的變量成員,而不是其他的
  繼承過來的變量成員
  * Private method calls are statically bound ... a method will call
  the private method in the class where it is defined .. even if the
  calling method is inherited by a derived class and the derived
  class defines a method with the same signature as the private method.
  * 私有方法的調用是靜態綁定的 … 方法可以調用他所在類之內的私有方法 .. 即
  使調用的方法的夫類中有與此私有方法標識相同的方法
  * Calls to public and protected methods in the same class are dynamically
  bound ... even for constructors (and from private methods). This is
  different to C++.
  * 對公共的和保護的方法的調用是動態綁定的 … 同樣構造函數(不同于私有方法?)
  也是動態綁定的。這是與C++不同的地方
  * Re-using a static method's name in a derived class:
  - A static method cannot be overriden by a non-static method
  - A static method can be overriden by a static method but does not
  dynamically bind (therefore static methods can't be abstract)
  - You can overload a static method with a non-static method.
  * note also that a static method can be inherited.
  * note that a static var can be 'overriden' by a non-static var.
  * 重用夫類中的靜態方法的名字:
  - 靜態方法不能被非靜態的方法覆蓋
  - 靜態方法可以被靜態方法覆蓋,但是不能動態綁定(所以靜態方不能是抽象的)
  - 可以使用非靜態的方法重載靜態的方法
  * 注意靜態方法是可以繼承的
  * 注意靜態的變量可以被非靜態的變量"覆蓋"
  * It's legal to assign any reference type including an Interface reference
  to an Object reference .. which makes sense because the interface ref
  must point to an Object (or ).
  * 講任何類型的引用包括接口的引用付給一個Object的引用是合法的 .. 應為一個
  接口的引用總是指向一個Object(或者)
  ------------------------------------------------------------------------
  Nested classes
  -> from the Java Language Specification
  -> from Sun's Java Tutorial
  嵌套類
  -> 來自Java語言規范
  -> 來自Sun的Java教程
  *** A nested class is a class that is defined inside another class.
  *** 嵌套類是定義在另外一個類的內部的類
  * There are two distinct types of nested classes:
  - static nested classes (or top-level nested classes)
  - inner classes (which are always associated with an instance of
  an enclosing class).
  * 有兩種截然不同的嵌套類
  - 靜態的嵌套類(或者說頂層的嵌套類)
  - 內部類(總是定義在其他類的實例里面)
  * (Nested) inner class types:
  - member classes,
  - local classes (method or code block),
  - anonymous classes.
  * (嵌套的)內部類:
  - 成員類
  - 局部類(方法或者代碼塊)
  - 匿名類
  * Top-level classes (all classes are either top-level or inner)
  - static nested classes,
  - package member classes.
  * 頂層類(所有的類不是頂層類就是內部類)
  - 靜態的嵌套類
  - 包成員類
  * Access to enclosing class:
  - all outer-class members (inc. private) are accessible to an inner
  class [Usually without scope modifiers, but if they are hidden by
  an inner class name, you can use Outer.this.outerVar]
  - static nested classes cannot acccess instance variables from enclosing
  classes (there is no instance), but can access their static variables
  (and classes i would think).
  * 內部類的權限
  - 外部類所有的成員(比如私有的)都有權限訪問內部類 [通常沒有任何的權限
  修飾,但是如果對內部類是隱藏的,可以通過Outer.this.outerVar來引用]
  - 靜態內部累不可以引用外部類的實例變量(沒有實例),但是可以引用外部類
  的靜態變量(我想,引用靜態的類也是允許的)
  * Instantiation:
  - For accessible inner classes: Outer.Inner i = new Outer().new Inner();
  Even if you are in Outer's scope, you need to have an Outer instance.
  - For accessible static nested classes:

  Outer.Nested nested = new Outer.Nested();
  * 實例化:
  - 內部類的引用:Outer.Inner i = new Outer().new Inner();
  即使在外部類的范圍內,你也需要一個外部類的實例
  - 靜態內部類的引用:Outer.Nested nested = new Outer.Nested();
  * Local inner classes cannot access non-final local variables or method
  arguments.
  * 局部內部類不能引用非最終(final)的局部變量和方法參數
  * Nested classes generally have the same options with regard to
  modifiers as do variables declared in the same place.
  * 嵌套類可以與同等位置上的變量擁有相同的權限修飾
  * Unlike class-level nested classes, local classes are executed in the
  method's sequence of execution so you can't create an instance of the
  local class before it is declared.
  * 與類一級的內部類不同的是,局部類是按次序執行的,所以你不能在定義之前創
  建一個類的實例
  * The static keyword marks a top-level construct (class, method or
  field) and can never be subject to an enclosing instance.
  - no inner class can have a static member.
  - no method can have a static member.
  * 關鍵字static使一個頂層的構造(類,方法或者成員變量)不屬于他的外部類實例
  - 內部類不能有靜態成員
  - 方法不能有靜態成員
  * Interfaces automatically attach 'public static final' to field and
  class members (thus making them top-level nested rather than member
  inner classes).
  * 接口自動將"public static final"的權限修飾賦予所有的成員變量和方法(這
  將保證它們是頂層嵌套的而不是內部成員類)
  * A nested class cannot have the same simple name as any of its
  enclosing classes (note: there is no similar restriction on method
  or variable names).
  * 嵌套類不能使用與它的任何外部類的名字相同的名字來命名(注意:方法和變量
  并沒有這個限制)
  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  Threads
  線程
  * Know where the basic thread methods are:
  - wait, notify and notifyAll are Object instance methods.
  - start, stop, suspend, resume and interrupt are Thread instance methods.
  - sleep and yield are Thread static methods

  * 了解基本的線程方法的位置:
  - wait,notify和notifyAll是Object的實例方法
  - start,stop,suspend,resume和interrupt是Thread的實例方法
  - sleep和yield是Thread的靜態方法
  * Thread states:
  - Bruce Eckel lists 4 thread states: new, runnable, blocked, dead.
  * 線程的狀態
  - Bruce Eckel 列出四種線程狀態:創建,可運行的,堵塞的,死亡
  * Blocking
  - There are 5 ways a thread can be blocked - sleep, wait, suspend,
  synchronization, io blocking.
  - sleep and suspend do not release locks held by the thread.
  * 堵塞的
  - 有五種方法可以使一個線程堵塞 - sleep,wait,suspend,同步,io堵塞
  - sleep和suspend期間線程不釋放對象的鎖
  * Deprecated methods
  - stop is unsafe because it releases all locks and may leave objects in
  an inconsistent state.
  - suspend is deprecated because its failure to release locks makes it
  prone to deadlock. Calling wait in a sync block is safer.
  * 不推薦使用的方法
  - stop方法因為釋放所有的鎖而導致有可能使線程進入不一致的狀態,不安全
  - suspend不推薦使用是因為它不能釋放鎖而導致有可能進入死鎖狀態。在同步
  代碼里使用wait會更安全
  * The isAlive method returns false for new threads as well as dead threads.
  * isAlive方法在線程創建和死亡的狀態下都返回false
  * Threads inherit their priority from the thread that calls their ctor.
  * 線程繼承調用他們的構造函數的線程的優先級
  ------------------------------------------------------------------------
  Exceptions
  異常
  * Non-runtime exceptions are called checked exceptions.
  * 非運行期異常叫普通異常
  * Even if a method explicitly throws a runtime exception, there is no
  obligation for the caller to acknowledge the exception. One consequence
  of this is that the restriction on exceptions thrown by an overriding
  method only applies to checked exceptions.
  * 如果方法拋出運行期異常,調用者沒有必要知道。由此推論出,方法覆蓋拋出異
  常的限制只適用于普通異常
  * A try block's finally clause is called unless the JVM is exited (i think).
  - a return in try or catch does not prevent finally from being executed.
  * try塊的fanally字句總是被執行,除非程序推出虛擬機(我想是這樣的)
  - try或者catch里面的語句不能阻止finally字句的執行
  * A try block's finally statement will be executed (unless the thread dies)
  before control leaves the try/catch/finally scope. It will be executed
  before unhandled exceptions (from try or catch) are passed back up the
  calling stack.
  * try塊的finally字句在退出try/catch/finally之前執行(除非線程已經死亡)。
  它將會在將沒有捕捉的異常(產生于try或者catch)送回調用堆棧之前執行
  * If you return from a try and finally does not return ... 1) the return
  value is calculated, 2) finally executes and 3) the method returns with
  the value calculated prior to executing finally.
  * 如果你從try字句返回并且finally字句不包含返回 … 1) 計算返回值,2) 執行
  finally字句, 3) 方法返回執行finally之前計算的結果
  * If you have a return in both try and finally, the finally's value
  is always returned.
  * 如果你同時在try和finally中返回,則總是返回finally中的返回值
  * If try/catch excludes continuation following finally, it is a compile
  error to have any statements there.
  * 在try/catch和finally之間放置任何語句將會導致編譯錯誤
  * Primitive floating point operations do not throw exceptions. They use
  NaN and infinity instead.
  * 基本的浮點運算不會拋出異常,它們使用NaN和infinity來表示異常的結果
  * A constructor can throw any exception.
  * 構造函數可以拋出任何異常
  ------------------------------------------------------------------------
  Streams
  流
  * System.in is an InputStream and out and err are PrintStreams.
  * System.in是一個InputStream,out和err是PrintStream
  * Beware of instances of the abstract OutputStream and InputStream.
  * 慎防實例化抽象的OutputStream和InputStream
  * Some OutputStreams:
  OutputStream
  - write(int) writes the eight low-order bits to the underlying stream
  - write(byte[]) write(byte[],int off,int len)
  - flush()
  - close()
  BufferedOutputStream
  - has two ctors: (OutputStream) (OutpuStream, int size)
  DataOutputStream
  - writes primitives and strings to a byte-based stream.
  ObjectOutputStream
  - writes primitives, strings and serializable objects (inc arrays).
  - is not a FilterOutputStream (seems strange).
  PrintStream
  - two ctors: (OutputStream) (OutputStream, boolean autoflush)
  - never throws IOExceptions (sets internal flag instead)
  - print and println for primitives and strings.

  - print(Object) prints Object.toString().
  - System.out and System.err are printstreams.
  FileOutputStream
  - 4 constructors: (File) (FileDescriptor) (String)
  (String, boolean append)
  PipedOutputStream
  - two ctors: () (PipedInputStream)
  - method to connect(PipedInputStream)
  ByteArrayOutputStream
  - 2 ctors: () (int size)
  * 一些OutputStream:
  OutputStream
  - write(int) 將int的低八位寫入底層的流
  - write(byte[]) write(byte[],int off,int len)

  - flush()
  - close()
  BufferedOutputStream
  - 兩個構造函數:(OutputStream) (OutpuStream, int size)
  DataOutputStream
  - 將基本類型和字符串寫入基于字節的流
  ObjectOutputStream
  - 寫入基本類型,字符串和串行化的對象(例如數組)
  - is not a FilterOutputStream (seems strange).

  PrintStream
  - 兩個構造函數:(OutputStream) (OutputStream, boolean autoflush)
  - 永遠不會拋出IOException(取而代之的是設置某些標記位)
  - print and println的參數可以是基本類型和字符串
  - print(Object)打印Object.toString().
  - System.out和System.err是PrintStream
  FileOutputStream
  - 四個構造函數:(File) (FileDescriptor) (String)(String, boolean append)
  PipedOutputStream
  - 兩個構造函數:() (PipedInputStream)
  - 方法connect(PipedInputStream)
  ByteArrayOutputStream
  - 兩個構造函數:() (int size)
  * Some Writers
  - OutputStreamWriter
  - StringWriter, CharArrayWriter - like ByteArrayOutputStream
  - FileWriter, BufferedWriter, PrintWriter, FilterWriter
  - There is no ObjectWriter, DataWriter.
  - PrintWriter can be constructed with an OutputStream or Writer.
  * 一些Writer
  - OutputStreamWriter
  - StringWriter, CharArrayWriter - 與ByteArrayOutputStream相似
  - FileWriter, BufferedWriter, PrintWriter, FilterWriter
  - 沒有ObjectWriter, DataWriter.
  - PrintWriter可以使用OutputStream或者Writer來構造
  * Some Readers:
  - LineNumberReader doesn't attach numbers, it has getLineNumber().
  - CharArrayReader is ctd with the char[] that it reads from and
  optional int start position and length args.
  * 一些Reader:
  - LineNumberReader并不會附加行號,可以通過getLineNumber()方法取得行號
  - CharArrayReader使用char[]來構造,從char[]中讀取數據,參數int start和
  length是可選的
  * RandomAccessFile
  - does not extend File or any type of stream.

  - two ctors: ( File or String name, String mode="r","rw" )
  - checks for read/write access at construction (unlike File).
  - has read/write methods for primitives and strings (and a couple of
  others).
  - has a (long//mahachanged fm byte to long) file-pointer: seek(long),
  long length().
  * RandomAccessFile
  - 并非繼承自File或者任何類型的流
  - 連個構造函數:( File or String name, String mode="r","rw" )
  - 在初始化時檢查文件的讀寫權限(不同于File)
  - 對基本類型和字符串(還有其他的)有專門的讀寫方法
  - 有一個long型的文件指針:seek(long), long length().
  * FileDescriptor
  - just a handle to a sink/source of bytes.

  - only has two methods: sync() and valid()

  * FileDescriptor
  - 只是作為字節接收器/源的一個句柄
  - 只有兩個方法:sync() and valid()
  * File
  - represents an abstract file or dir pathname (file/dir doesnt have
  to exist).
  - 3 ctors: (File or String parent, String child) (String pathname)
  * File
  - 對抽象的文件或者目錄的描述(文件/目錄不一定存在)
  - 三個構造函數:(File or String parent, String child) (String pathname)
  ------------------------------------------------------------------------
  Collections
  集合
  * The Collection interface is extended by Set and List (and SortedSet).
  - a set contains no duplicates.
  - a list is a sequence and can have duplicates.
  * The Map interface does not extend Collection and is extended by
  SortedMap.
  * Set、List和SortedSet繼承自Collection
  - Set不包含重復的元素
  - List是有序的,可以包含重復的元素
  * Map并非Collection的子類,SortedMap繼承自Map
  * There are abstract classes for each of the main interfaces (Collection,
  Set, List and Map) and implementations extend these.
  * 主要的接口都有相對應的抽象類,具體的實現從抽象類繼承
  * Set implementations
  - HashSet
  - TreeSet (implements SortedSet)
  * List implementations
  - ArrayList
  - LinkedList
  * Map implementations
  - HashMap
  - TreeMap (implements SortedMap)
  * 實現Set的類
  - HashSet
  - TreeSet(實現SortedSet)
  * 實現List的類
  - ArrayList
  - LinkedList
  * 實現Map的類
  - HashMap
  - TreeMap(實現SortedMap)
  * Vector and Hashtable (extends Dictionary) are older collection classes.
  - Vector has been made to extend AbstractList and is like a sync'd
  ArrayList (maha:set)z.
  - Hashtable still extends Dictionary but it implements Map.
  - In contrast to other collection types, Vector and Hashtable are
  synchronized.
  * Vector和Hashtable(繼承自Dictionary)是較老的集合類
  - Vector繼承自AbstractList,與同步的ArrayList相像
  - Hashtable仍然繼承自Dictionary但是實現了Map接口
  - 與其他集合類型相比較,Vector和Hashtable是同步的
  * There are Collections and Arrays classes to provide static methods for
  general algorithms on collections and arrays.
  * Collection和Array都提供了靜態的方法處理集合和數組的運算
  * Stack extends Vector
  - it has methods push(Object), pop, peek and search(Object).
  - Push is identical to addElement but also returns the added Object.
  - The top of a stack is the last element in the vector (and has index 1 as
  far as the search method is concerned).
  * Stack繼承自Vector
  - 方法:push(Object),pop,peek和search(Object)
  - push方法與addElement的效果相似,同時返回剛剛添加過的對象
  - 棧頂是Vector里面最后一個元素(search方法將返回1)
  ------------------------------------------------------------------------
  Math methods
  Math的方法
  * most act on and return double values
  - note that floor(double), ceil(double) and rint(double) return doubles
  not ints
  * 大部分的方法都是對double類型數據作處理并返回double型的結果
  - 注意floor(double),ceil(double)和rint(double)返回的是double類型而不
  是int
  * abs, max and min can take double, float, int or long arguments and the
  return type matches the argument type.
  * abs,max和min方法可以處理double,float,int或者long型的參數并且返回與
  參數類型一樣的返回值
  * There are three rounding methods:
  - int round( float ); // note both are 32-bit
  - long round( double ); // note both are 64-bit
  - double rint( double );
  * 三個取整方法:
  - int round(float); // 注意兩者都是32位
  - long round(double); // 注意兩者都是64位
  - double rint(double);
  * log returns natural log.
  * log方法返回自然對數
  * trig functions take double arguments in radians.
  * trig函數的參數是double型的弧度
  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  AWT
  抽象窗口工具包
  * Component is abstract ... Container is not abstract.
  * Component是抽象的 … Container不是抽象的
  * Checkbox has 5 ctors: no-arg + four with String as first arg and
  combinations of boolean initialState and CheckboxGroup.
  * Checkbox有五個構造函數:一個沒有任何參數,其他四個都以字符串為第一個參
  數,以及boolean型的初始化狀態、CheckboxGroup
  * CheckboxMenuItem has nothing to do with Checkbox or CheckboxGroup.
  - i think they generate both Item- and ActionEvents.
  * CheckboxMenuItem與Checkbox和CheckboxGroup沒有任何關系
  - 我想他們都產生ItemEvent和ActionEvent
  * Listeners:
  - InputEvent (super for MouseEvent and KeyEvent) has a 'long getWhen()'
  method.
  - MouseEvent has 'int getX', 'int getY' and 'Point getPoint' methods.
  - ActionEvent and ItemEvent are not ComponentEvents so have to use
  getSource().
  - MenuItems (inc. menus) can produce ActionEvents but not ItemEvents.
  - ActionListener,Adjustment, ItemListener and TextListener only have
  one method and therefore don't have Adapters.
  - KeyListener: Pressed/Released/Typed
  - FocusListener: Lost/Gained
  - ComponentListener: Shown/Hidden Moved Resized
  - ContainerListener: component- Added/Removed
  - WindowListener: Opened/Closing/Closed

  Activated/Deactivated ... keyboard focus.
  Iconifed/Deiconified
  - MouseListener: Pressed/Released/Clicked

  Entered/Exited
  - MouseMotionListener: Dragged/Moved
  * 接收器:
  - InputEvent(MouseEvent和KeyEvent的父類)有方法:long getWhen()
  - MouseEvent的方法:int getX,int getY,Point getPoint
  - ActionEvent和ItemEvent不屬于ComponentEvent,只能使用getSource()
  - MenuItem(例如菜單)產生的是ActionEvent而不是ItemEvent
  - ActionListener,Adjustment,ItemListener和TextListener只定義了一個方法
  ,所以不需要適配器
  - KeyListener:鍵的按下/釋放/敲擊
  - FocusListener: 焦點的失去/獲得
  - ComponentListener: 顯示/隱藏,移動,改變大小
  - ContainerListener: 添加/刪除組件
  - WindowListener: 打開/關閉中/已經關閉
  激活/無效 ... 鍵盤焦點
  最小化/恢復
  - MouseListener: 鍵的按下/釋放/點擊
  鼠標進入/退出
  - MouseMotionListener: 拖動/移動
  ------------------------------------------------------------------------
  Layout
  布局
  * BorderLayout is the default layout for Window/Frame/Dialog.
  - add( component, BorderLayout.NORTH ) == add( "North", component )
  - adding a component without an explicit position is identical to
  adding a component at BorderLayout.CENTER.
  - if more than one component is added to the same position, the most
  recently added component is displayed there.

  - north,south,east and west components only expand on one axis.
  * BorderLayout是Window/Frame/Dialog的默 喜季 管理器
  - add(component,BorderLayout.NORTH) == add("North",component)
  - 如果不說明位置,組件將按默認的設置添加到CENTER的位置
  - 如果超過一個組件添加到一個位置上,最后添加的將被顯示
  - north,south,east和west上的組件只在一個方向上延伸
  * FlowLayout is the default layout for Panels (including Applets).
  - if the panel is bigger than its components, they are centered
  horizontally and at the top (ie. north position).
  * Panel(包括Applet)的默 喜季 管理器是FlowLayout
  - 如果panel比組件大,組件將被水平居中并置于頂端
  * GridLayout with container larger than components expands to fill its
  container provided that the number of components matches the
  rows*columns.
  - Empty rows are given space, while empty cols are not.
  - If there aren't enough components, it will try to fill its rows first.
  * 當GridLayout的容器比組件大時,組件將被擴充到填滿整個容器,需要提供
  rows*columns個組件
  - 空行將被分配空間,但時空列不分配空間
  - 如果組建的數目不夠,首先嘗試填充所有的行
  * Ctors for BorderFlow- and GridLayout can take int hgap and vgap args.
  - FlowLayout(int align, hgap, vgap)
  * BorderFlow以及GridLayout的構造函數可以帶參數hgap和vgap
  - FlowLayout(int align, hgap, vgap)
  * Be careful with nested layout questions ... eg Button to panel to frame,
  the panel fills the whole frame, but the button will be its preferred size
  at north position in the panel (and thus the frame).
  * 對嵌套的布局管理器要小心 … 例如一個frame包含一個panel,panel包含一個
  Button,panel填充整個frame,但是button仍然只有預定的大小,位于frame的
  北面
  * GridBagLayout
  - There are two ways to set the constraints for a component in a gbl:
  container.add( Component c, Object gbc ) or
  gbl.setConstraints( Component c, GridBagConstraints gbc )
  - weightx and weighty are doubles (0 to maxDouble, default 0) and determine
  where extra width or height is added if a row or column is smaller than
  the container.
  - gridwidth and gridheight are ints (1 to maxInt) ... RELATIVE, REMAINDER.
  - gridx and gridy are ints (0 to maxInt) ... RELATIVE
  - RELATIVE can apply to gridx/gridy (=next) or

  gridwidth/gridheight (=second last)
  * GridBagLayout
  - 有兩種方法可以將一個組件使用constraints添加到GridBagLayout中去:
  container.add(Component c,Object gbc) 或者

  gbl.setConstraints(Component c,GridBagConstraints gbc)
  - weightx和weighty是double類型(0到maxDouble,默認是0)的屬性,它們決
  定額外的寬度或者高度是否添加到當前的行或者列
  - gridwidth和gridheight是整型的數據類型(從1到maxInt) … 相對的,剩余
  的
  - gridx和gridy是整型的(從0到maxInt) … 相對的
  - …
  * A Component added to a layout won't display unless you set its
  bounds ... this is the only place where a component can control its
  parent's layout directly.
  * 如果將一個組件添加到一個空的布局管理器中,只有設置組件的范圍才能夠顯示
  * Illegal arguments (eg. adding a container's parent to the container, adding
  a window) get through the compiler but throw an exception at runtime.
  * 不正確的參數(例如,添加一個容器的容器到自身,添加一個window)可以通過
  編譯,但是將會在運行期間拋出異常
  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  Miscellaneous
  雜錦
  * A class type's name is valid as an identifier, eg. int Boolean = 5;
  * Modifiers:
  - Automatic variable = local variable = variable declared in a method.
  - Transient fields are not written out when a class is serialized.
  - Transient and Volatile can only be applied to fields.
  - Native can only be applied to methods.
  - You can have a static synchronized method .. it is synchronized on the
  class object.
  - static transient is legal but doesn't effect anything.
  * 一個類的名稱是合法的標識名,例如:int Boolean = 5;
  * 修飾符:
  - …
  - 當序列化一個類時,以transient修飾的字段不會寫進數據流
  - transient和volatile只能修飾字段
  - native修飾符只能用于方法
  - 可以有同步的靜態方法,它使用類對象作為同步鎖
  - static transient是合法的,但是并不去起作用
  * The right-hand-side of an assignment can be a reference to .
  - You can println a reference (and add it to another string).
  - What you can't do with a reference is ... Ref.aMethod();
  * 賦值操作的右側可以是
  - 可是打印空的引用(還可以賦給一個字符串變量)
  - 你不能做的是 … Ref.aMethod();
  *
  1. ++,--,unary +,unary -,~,!,()
  2. *,/,%
  3. +,-   4. >>, >>>, <<
  5. >, >=, <, <=, instanceof
  6. == , !=
  7. &
  8. ^
  9. |
  10 &&
  11 ||
  12 ? :   13 =,+=,-=,*=,/=,%=, &=,^=,|=, >>= ,<<= ,>>>=
  * Order of Operation
  - arithmetic before &^|
  - & then ^ then |
  * 運算順序
  - 先數學運算,后&^|
  - 先&然后^最后|
  * Garbage Collection
  - unreachable objects can become reachable (if their finalize method
  causes another object to have a reference to them) .. but i think
  finalize if guaranteed to not run again.

  - objects referenced by block-level variables are probably not available
  for garbage collection until their enclosing method's scope is exited.
  * 內存回收
  - …
  - …
  * The compiler never object to creating a local instance of the
  the class being constructed in its constructor. If the call produces
  an infinite loop, a runtime error will occur.

  * 編譯器從不反對在構造函數中創建一個本類的實例,但是如果這導致無限的循環
  ,一個運行期間的錯誤將會被拋出
  * Labelled break and continue statements:

  - The label referred to by a labelled break statement is attached to
  a statement block, which could be a loop or switch but doesnt have
  to be.
  - The label referred to by a labelled continue statement must be
  attached to a loop.(A "continue" statement must be enclosed in a "while",
  "do" or "for" statement.)
  * 帶標號的break和continue聲明
  - 帶標號的break可用于標識循環和開關語句,但不是必須的
  - 帶標號的continue只能用于循環語句(continue必須出現在while、do或者
  for子句中)
  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  Things to look out for
  *** Read the answers before going through code samples.
  ****** LOOK FOR NON-STATIC METHODS/VARS ACCESSED FROM MAIN
  ****** WHEN YOU FINISH THE EXAM GO BACK AND CHECK FOR NON-STATIC
  METHODS/VARS FROM MAIN AND OTHER STATIC METHODS
  * if (...)
  statement1;
  statement2; //...always executed
  * Beware of an otherwise legal override having a more restrictive
  access modifier.
  * Beware of missing return statements.
  * Look for static modifiers and make sure they don't contain refs to
  instance vars.
  * Beware of standard methods (eg. main, paint, run) with the wrong
  args or return type.
  * With array declarations, look out for "int intArray[5] = ..."
  * Beware of adding a primitive to a Vector.
  - more generally, you can't use a primitive where an Object is
  required (eg. the equals method).
  * System.out.println( aReferenceToNull ); // is fine
  * Beware of local vars from a try block used in its catch block
  (out of scope).
  需要留意的
  *** 先讀答案在看代碼段
  ****** 尋找在main中調用的非靜態的變量和方法
  ****** 當你完成考試時,回頭檢查main和其他靜態方法中的非靜態變量和方法調用
  * if (...)
  statement1;
  statement2; //...總是運行
  * 留意那些合法的方法覆蓋,即使它們的權限變小
  * 留意沒有返回值的方法
  * 保證靜態代碼不能引用類實例變量
  * 留意標準方法(例如,main,print和run)的不正確的參數類型和返回值
  * 數組聲明,留意形如"int intArray[5] = ..."的語句
  * 小心不要將基本類型添加到Vector中
  - 更普遍的情況,當需要用Object的時候不要用基本類型(例如equals方法)
  * System.out.println( aReferenceToNull ); // 代碼將運行得很好
  * 小心不要在catch中使用try中定義的局部變量(超出范圍)

轉載于:https://www.cnblogs.com/antony1029/archive/2006/09/16/506277.html

總結

以上是生活随笔為你收集整理的SCJP培训笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天射一射 | 久久不射电影网 | 久草在线资源观看 | 国产97视频在线 | 久久精品国产99国产 | www国产亚洲精品久久麻豆 | aaa亚洲精品一二三区 | 中文字幕在线网址 | 久草免费在线视频 | 激情av网 | 一区二区三区电影 | 久草在在线视频 | 五月激情久久 | 精品国产一区二区三区在线观看 | 中文资源在线播放 | 在线精品亚洲一区二区 | 综合av在线 | 一区免费观看 | 激情欧美一区二区免费视频 | 亚洲 欧美日韩 国产 中文 | 国产美女永久免费 | 国产免费影院 | 亚洲精品视频在线观看免费视频 | 爱射综合 | 欧美精品被 | 亚洲高清激情 | 亚洲 综合 国产 精品 | 中文在线字幕免费观 | 久久免费在线观看 | 91在线免费观看网站 | bbbb操bbbb| 色99久久 | 天天爱天天射天天干天天 | 日本黄色免费在线观看 | 久久亚洲人 | 成人免费毛片aaaaaa片 | 韩日精品视频 | 一级a毛片高清视频 | 在线看国产视频 | 中文字幕久久亚洲 | 99自拍视频在线观看 | 中文字幕在线视频第一页 | 亚洲国产资源 | 国产理论一区二区三区 | 久久久久久福利 | 国产 一区二区三区 在线 | 91日韩精品视频 | 国内精品在线看 | 国产午夜精品福利视频 | 久久婷婷一区二区三区 | 国产精品mm | 欧美在线视频一区二区三区 | 夜夜骑日日操 | 亚洲国产影院av久久久久 | 日韩中文字幕在线看 | 日韩在线网址 | 日韩激情影院 | 国产高h视频 | 久久九九国产视频 | 久久久久久97三级 | 国产第一页福利影院 | 高清不卡毛片 | 草久草久 | 国产精品成人aaaaa网站 | 国产日韩欧美综合在线 | 国产成人精品久久二区二区 | 超碰97在线资源 | 黄a在线 | 91香蕉视频720p | 久久免费的精品国产v∧ | 人人澡人人添人人爽一区二区 | 国产一二区在线观看 | 国产精品夜夜夜一区二区三区尤 | 99久久99久久精品 | 亚洲自拍偷拍色图 | 人人看黄色 | 久久久伊人网 | 一级成人在线 | avav99| 国产一区私人高清影院 | 欧美韩国日本在线观看 | 色综合久久中文综合久久牛 | 国产精品午夜久久久久久99热 | 草久在线 | 欧美日韩在线电影 | 亚洲高清久久久 | 天天射天天舔天天干 | 伊人永久| 国产91精品看黄网站 | 国产 中文 日韩 欧美 | 欧美综合色在线图区 | 久久综合爱| 国产精品一区二区中文字幕 | 精品自拍av | 一级黄色在线视频 | 九九色网 | 久久8| 天天色视频 | 深爱激情综合 | 国产韩国日本高清视频 | 精品一区二区三区久久 | 久久免费视频在线 | 综合网久久 | 国产福利一区二区三区视频 | 欧美亚洲精品一区 | 欧美极品一区二区三区 | 免费h漫在线观看 | 日本中文字幕免费观看 | 成年人在线视频观看 | 四虎最新入口 | 色九九在线 | 成年人在线观看视频免费 | 免费特级黄色片 | 久久综合婷婷国产二区高清 | 伊人手机在线 | 欧美日韩一区二区三区视频 | 欧美成人手机版 | 碰超人人| 视频在线99 | 91精品国产麻豆国产自产影视 | 美女视频黄免费 | 97品白浆高清久久久久久 | 国产一级电影免费观看 | 黄色大全在线观看 | 久久久91精品国产一区二区三区 | 国产成人在线看 | 久久99久久99精品免观看粉嫩 | 国产精品久久久久久久免费 | 一区二区三区日韩在线 | 日本aa在线| 日本中文不卡 | 亚洲性少妇性猛交wwww乱大交 | 久久精品人人做人人综合老师 | 日韩成人免费观看 | www.国产在线观看 | 久久dvd| 98超碰人人| 色吊丝在线永久观看最新版本 | www视频免费在线观看 | 国产高清专区 | 国产手机在线精品 | 97在线视频免费看 | 免费黄色激情视频 | 一本一道久久a久久综合蜜桃 | 久久国产免费视频 | 久久综合狠狠综合 | 国产小视频国产精品 | 日日夜夜91| 久久er99热精品一区二区 | 精品美女在线视频 | 久草线| av成人免费观看 | 色久综合 | 激情 一区二区 | 成人a在线观看高清电影 | 日本一区二区三区免费看 | 国产系列在线观看 | 欧美日韩一区二区三区免费视频 | 在线久草视频 | 国产精品 视频 | 天天操天天射天天插 | 91日韩精品视频 | 日韩在线激情 | 精品一二三区视频 | 日韩在线 | 日韩欧美一区二区三区在线观看 | 久久久午夜精品理论片中文字幕 | 18岁免费看片 | 午夜久久久久久久久久影院 | 成人a免费看 | 国产精品自产拍在线观看中文 | 在线视频区 | 中文日韩在线 | 亚洲涩涩色 | 六月天综合网 | 亚洲精品2区 | 天无日天天操天天干 | 99久久精品免费看 | 国产剧情在线一区 | 97超碰影视 | 日本在线成人 | 国产中年夫妇高潮精品视频 | 亚洲资源在线 | 欧美日韩在线免费观看视频 | 综合久久久久久久久 | 国产精品久久网 | 91在线国内视频 | 深爱五月网| 99精彩视频在线观看免费 | 色资源网免费观看视频 | 精油按摩av | 久久久久国产免费免费 | 天堂网av 在线| 国产成人av一区二区三区在线观看 | 91精品国产欧美一区二区 | 亚洲综合色视频在线观看 | 五月婷婷激情五月 | 亚洲国产一区在线观看 | 黄色软件视频网站 | 国产成免费视频 | 日日夜夜添 | 亚洲成人在线免费 | 国产又粗又猛又黄又爽的视频 | 亚洲国产大片 | 久久视频网 | 欧美激情亚洲综合 | 最新av免费在线观看 | 欧美另类成人 | 黄色小网站在线观看 | 婷婷精品在线 | 国产精品一区二区三区免费看 | 久久久久久久久黄色 | 亚州精品国产 | 国产午夜麻豆影院在线观看 | 免费观看91| 国产精品日韩久久久久 | 天天爱综合 | 亚洲欧美综合精品久久成人 | 天天操天天射天天插 | 一区二区三区四区五区在线视频 | 久久国产成人午夜av影院潦草 | 精品在线你懂的 | 激情婷婷在线观看 | 午夜久久久影院 | 97精品超碰一区二区三区 | 天天插夜夜操 | 永久黄网站色视频免费观看w | 天天摸天天舔天天操 | 午夜视频欧美 | 91av福利视频 | 久久久.com | 99精彩视频在线观看免费 | 亚洲欧美成人在线 | 91成人看片 | 色婷婷综合成人av | 日韩一区二区三区在线看 | 国产高清视频免费在线观看 | 操操操人人人 | 国产精品美女久久久久久免费 | 免费91麻豆精品国产自产在线观看 | 欧美日韩网址 | 麻豆观看 | 欧美精品久久99 | 午夜精品视频免费在线观看 | 免费黄色网址大全 | 九九99 | 天天综合色 | 久久精品久久精品久久精品 | 蜜臀一区二区三区精品免费视频 | 亚洲人在线7777777精品 | .国产精品成人自产拍在线观看6 | 超碰公开97 | 中文字幕久久网 | 午夜av免费在线观看 | 国产99久久九九精品 | 国产在线中文字幕 | 午夜精品一二三区 | 国产成人av一区二区三区在线观看 | 天天射天| 日韩av在线影视 | 欧美激情精品久久久久久免费 | 国产黄色片网站 | 成人av资源站 | 在线观看视频一区二区三区 | 成年人视频在线观看免费 | 中文字幕在线观看完整 | 日批网站在线观看 | 中文字字幕在线 | 国产精品久久久久久久久久久久午夜 | 欧美成人一区二区 | 午夜视频免费在线观看 | 涩涩网站在线观看 | 久久精品久久久久久久 | 四虎国产精品免费观看视频优播 | 国产精品嫩草影院99网站 | 日韩成人不卡 | 中文字幕一区二区在线播放 | 久久久www成人免费精品张筱雨 | 国产精品国产自产拍高清av | 在线a人片免费观看视频 | 国产精品高清一区二区三区 | 久久美女免费视频 | 91漂亮少妇露脸在线播放 | 激情欧美一区二区免费视频 | 日日天天av| 夜夜澡人模人人添人人看 | 欧美一级免费高清 | 国产成人在线综合 | 99精品色 | 国产精品视频久久久 | 91在线观看欧美日韩 | 毛片久久久| 片网站 | 日韩在线观看网站 | 日韩精品中文字幕在线播放 | 天天色草 | 91久草视频 | 一区二区视频电影在线观看 | www日韩视频 | 日韩精品国产一区 | 九九久久久久久久久激情 | 婷婷色中文| 久草视频在线观 | 超级碰99| 久久精品国产一区 | 国产一区免费观看 | 69中文字幕| 日韩免费b | 成年人在线观看 | 日韩手机在线观看 | 伊人五月天综合 | 亚洲清纯国产 | 日韩视频精品在线 | 亚洲精品乱码久久久久久按摩 | 免费在线视频一区二区 | 最近中文字幕完整视频高清1 | 中文字幕在线免费看 | 午夜av日韩 | 97在线超碰 | 国内外成人在线视频 | 久久99久久99精品免视看婷婷 | 日韩av在线不卡 | 91精品久久久久久综合乱菊 | 日韩免费区 | 91成年人在线观看 | 97超碰免费在线 | 一级黄网 | 美女久久网站 | 黄色小说免费观看 | 狠狠色噜噜狠狠狠狠2021天天 | av在线a| 日韩毛片在线一区二区毛片 | 又湿又紧又大又爽a视频国产 | 久久一区国产 | 亚洲一级片在线看 | 91精品视频在线免费观看 | 国产在线观看你懂得 | 久久人人97超碰国产公开结果 | 99c视频高清免费观看 | 91麻豆精品91久久久久同性 | 中文字幕 国产专区 | 色综合久久久久综合体桃花网 | www国产亚洲 | 久久精品视频在线播放 | 亚洲人视频在线 | 97超碰在线久草超碰在线观看 | 中文字幕 成人 | 日韩欧美一区二区三区免费观看 | 成人av影院在线观看 | 亚洲最新av在线网址 | 日韩综合一区二区 | 午夜12点 | 色综合天天狠狠 | 国产精品免费看 | 成人sm另类专区 | 天天操福利视频 | 国产精品 国内视频 | 天天视频色 | 国产a视频免费观看 | 久热只有精品 | av一区二区三区在线 | 国产精品乱看 | 91pony九色丨交换 | 深夜国产福利 | 日韩免费一二三区 | 久久99精品久久久久久秒播蜜臀 | 97视频人人 | 麻豆视传媒官网免费观看 | 国产精品成人一区 | 国产精品v欧美精品 | 日韩精品久久久久久 | 天天干天天在线 | 91视频免费国产 | 国产视频 久久久 | 色综合天天综合在线视频 | 久久久久五月 | 欧美高清视频不卡网 | 欧美在线视频免费 | 美女精品在线观看 | 91九色老 | 亚洲日本va午夜在线电影 | 天无日天天操天天干 | 男女啪啪网站 | 欧美日韩天堂 | 亚洲精品视频中文字幕 | 亚洲国产一区在线观看 | 91视频免费| 国产国产人免费人成免费视频 | 天天操天天射天天爱 | 婷婷丁香色 | 久久九九国产精品 | 精品免费观看视频 | 国产午夜精品久久久久久久久久 | 欧美精品在线观看免费 | 97超碰免费 | 亚洲欧美在线观看视频 | 国产一级片一区二区三区 | 国产一区二区不卡视频 | av网站有哪些 | 久久a级片 | 国产精品视频内 | 国内精品国产三级国产aⅴ久 | 综合精品久久久 | 色偷偷88888欧美精品久久久 | 久久综合久久久 | 久操免费视频 | 久久久久久久久久影院 | 亚洲视频每日更新 | 欧美日韩精品在线免费观看 | 日韩免费在线观看网站 | 国产亚洲视频在线 | 久草国产在线 | 国产成人精品三级 | 亚洲天堂自拍视频 | 国产精品乱码一区二区视频 | www.久久久精品 | 黄在线免费看 | 中文字幕制服丝袜av久久 | 韩国一区在线 | 国产一级免费av | 亚洲第一成网站 | 美女禁18| 久久精品国产亚洲aⅴ | 国产高清中文字幕 | 毛片网在线播放 | 国产高清视频在线播放一区 | 最新av网站在线观看 | 久久理论电影 | 91麻豆网站 | 国产精品久久久久久模特 | 久久欧美综合 | 国产精品国产三级国产aⅴ入口 | 色综合天天综合 | 久久精品国产精品 | 2020天天干夜夜爽 | 国产精品白丝jk白祙 | 久久久资源 | 国产精品中文 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲成人动漫在线观看 | av亚洲产国偷v产偷v自拍小说 | 97精品超碰一区二区三区 | 亚洲永久字幕 | 热re99久久精品国产66热 | 亚洲最大av网 | 99精品在线看| 亚洲视频精品在线 | 国产精品 久久 | 国产高清在线观看 | 欧洲黄色片 | 在线亚洲高清视频 | 久久激情日本aⅴ | 狠狠操天天射 | 精品在线观看一区二区三区 | 黄色av高清 | 日日操日日操 | 黄色a一级片 | 激情在线网址 | 久久香蕉国产 | 日日干夜夜干 | 美女在线免费观看视频 | 狠狠操综合网 | 日韩中文免费视频 | 天天综合中文 | 日韩av在线高清 | av片子在线观看 | 久久草精品| 成人午夜网 | www.色午夜 | 成人一级视频在线观看 | 在线观看av不卡 | 国产高清免费视频 | 日本公乱妇视频 | 国产字幕在线观看 | av手机在线播放 | 中文字幕日本特黄aa毛片 | 日韩在线视频网站 | 欧美成年网站 | 国产裸体永久免费视频网站 | 97国产精品亚洲精品 | 2019精品手机国产品在线 | 激情五月在线视频 | 手机看片久久 | 欧美亚洲免费在线一区 | av一级片| 在线观看国产福利片 | 国产探花在线看 | 亚洲欧美视频在线 | 天天插综合 | 久久公开视频 | 六月天综合网 | 玖玖色在线观看 | 三级视频片 | 日韩毛片在线播放 | 亚洲欧美激情插 | 五月婷婷综合在线视频 | a级片久久 | 黄色三级在线看 | 黄色com | 欧美国产一区在线 | 成人毛片久久 | 欧美中文字幕久久 | 丁香花在线观看免费完整版视频 | 精品黄色在线观看 | 中文字幕免费 | 国产明星视频三级a三级点| 精品国产91亚洲一区二区三区www | 久久99久久精品国产 | 国产美女视频一区 | av在线电影网站 | 亚洲成人免费在线观看 | 欧美另类网站 | 欧美精品中文字幕亚洲专区 | 国产aaa大片 | 久久久亚洲精华液 | 一区二区精品在线 | 久久久久国产精品免费免费搜索 | 在线成人免费电影 | 午夜精品视频免费在线观看 | 天天综合中文 | 丁香 婷婷 激情 | 91成人精品国产刺激国语对白 | 在线 你懂| 久久精品国产99国产 | 人人爽人人爽人人片av免 | 成人免费看片98欧美 | 99久久精品无码一区二区毛片 | 91免费版在线观看 | 国产精品99久久久久久久久久久久 | 天天天干天天射天天天操 | 精品一区二区三区久久久 | 综合色综合色 | 免费中文字幕 | 日韩理论片 | 美女在线观看网站 | 成人免费在线观看电影 | 天天射天天爽 | 国产免费一区二区三区最新6 | 亚州精品天堂中文字幕 | 极品久久久 | 免费日韩 | 麻豆一区二区三区视频 | 国产亚洲va综合人人澡精品 | 日韩中文在线视频 | 91在线观看欧美日韩 | 精品福利片 | 99热精品久久 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 97人人网 | 香蕉网在线播放 | 久久综合给合久久狠狠色 | 一区二区三区在线观看免费 | 香蕉久草 | 久久久久免费精品国产 | 国产精品一区二区av影院萌芽 | 精品免费在线视频 | 91在线视频在线观看 | 亚洲精品1区2区3区 超碰成人网 | 午夜色站| 久久免费高清视频 | 最近最新中文字幕 | 欧美日韩精 | 国产91成人| 日韩av电影中文字幕在线观看 | jizz999| 亚洲成av人片在线观看www | 97视频在线观看视频免费视频 | 久久色视频 | 欧美另类视频 | 肉色欧美久久久久久久免费看 | 综合久久五月天 | 五月网婷婷 | 波多野结衣综合网 | 四虎成人免费影院 | 96亚洲精品久久 | 91精品久久久久久久久久入口 | 91视频91自拍 | 久久久久久久久久久久亚洲 | 免费影视大全推荐 | 国产精品女教师 | 久久久久免费精品视频 | 日韩三级一区 | 国产精品久久久久久久久久三级 | 久久久久久久久久久久久久电影 | 国产精品麻豆三级一区视频 | 香蕉视频在线免费看 | 日韩精品免费一区二区三区 | 国产在线观看午夜 | 亚洲aⅴ一区二区三区 | 成人免费在线看片 | 亚洲永久精品一区 | 久久不射电影院 | 国产一级特黄毛片在线毛片 | 久久综合五月天婷婷伊人 | 狠狠综合久久av | 日韩一级电影在线 | 一级性视频 | 亚洲天堂精品视频 | 久久不卡免费视频 | 国产精品自产拍在线观看中文 | 成人av免费在线播放 | 综合久久网站 | 久久区二区 | 在线观看自拍 | 500部大龄熟乱视频使用方法 | 免费影视大全推荐 | 国产亚洲精品中文字幕 | 精品美女国产在线 | 午夜精品久久久久久久99 | 国产一区视频在线 | 成人午夜久久 | 久草精品视频 | 国产又粗又猛又色 | 国产成人一区二区三区影院在线 | 91爱爱免费观看 | 亚洲第一av在线播放 | 日日天天 | 婷婷国产在线观看 | 91精品国产综合久久婷婷香蕉 | 亚洲中字幕 | 精品国产电影一区二区 | 国内丰满少妇猛烈精品播 | 欧美久久久久久久久久 | 久久国产精品第一页 | 国产亚洲免费观看 | 国产成人免费在线观看 | av免费观看网址 | 日韩欧美在线第一页 | 国产免费黄色 | 欧美成人视 | 在线观看av免费观看 | 夜夜躁狠狠燥 | 成人av高清在线 | 国产一区二区电影在线观看 | 91在线免费视频 | 最新免费av在线 | 亚洲视频中文 | 91av视频在线观看免费 | 成x99人av在线www | 激情久久小说 | 亚洲精品综合一区二区 | 久久久久中文 | 成人免费观看完整版电影 | 久久久精品一区二区三区 | 毛片1000部免费看 | 在线免费观看黄色av | 五月天com| 久久99国产精品 | 99视频在线精品国自产拍免费观看 | www亚洲精品 | 91色在线观看 | 亚洲国产精久久久久久久 | av国产网站 | 欧美日韩一区二区视频在线观看 | 五月天激情综合网 | 日韩免费高清 | 亚洲视频在线观看免费 | 亚洲老妇xxxxxx | 日本三级人妇 | 精品毛片在线 | 天天干天天操av | 精品视频不卡 | 日韩在线精品 | 国产乱对白刺激视频在线观看女王 | 亚洲精品高清视频 | 国产a国产a国产a | 国产精品视频全国免费观看 | 欧美小视频在线 | 在线观看精品一区 | 亚洲精品久久久久久国 | 亚洲欧美日韩国产精品一区午夜 | 久久久久久美女 | 国产高清精 | 国产午夜精品一区二区三区嫩草 | 婷婷丁香激情五月 | 超碰97在线资源 | 日韩网站在线看片你懂的 | 久久国产影视 | 日韩高清观看 | 久久99精品久久久久久清纯直播 | 又污又黄的网站 | 国产一二三在线视频 | 色综合久久五月 | 国产精品美乳一区二区免费 | 色香天天| 欧美一级电影片 | 日本韩国中文字幕 | 天堂v中文 | 国产aaa免费视频 | 日韩视频免费观看高清 | 91免费版在线观看 | 中文字幕在线观看三区 | 色偷偷网站视频 | 2024国产在线 | 国产一区精品在线 | 日韩精品免费一区二区三区 | 久久久久欠精品国产毛片国产毛生 | 日韩一区二区久久 | 国产成人精品福利 | 久久久黄视频 | 国产国语在线 | 国产韩国日本高清视频 | 人人澡人人爽欧一区 | 精品一区电影 | 在线一区av | 日韩欧美视频在线免费观看 | 国产又黄又爽无遮挡 | 日韩三级av | 国产午夜在线观看视频 | 日本中文一区二区 | 国产手机在线观看 | 在线观看亚洲电影 | 天天干天天综合 | 91久久久久久久 | 国产美女视频免费观看的网站 | www.久久免费视频 | 在线看岛国av | 色播五月激情五月 | 一本—道久久a久久精品蜜桃 | 国产精品99蜜臀久久不卡二区 | 国产高清免费视频 | 国产美女精品在线 | 日日夜夜天天久久 | 中文国产成人精品久久一 | 91福利社区在线观看 | av在线电影播放 | 国产日韩欧美网站 | 中文字幕在线观看你懂的 | 亚洲日本在线一区 | 一级黄色在线免费观看 | 国产99区 | 日韩欧美xxx| 亚洲成人二区 | 久久久久久久久久久久av | 久久香蕉国产精品麻豆粉嫩av | 91av免费看| 九九精品在线观看 | 992tv成人免费看片 | 成人黄视频 | 亚洲japanese制服美女 | 一区二区三区免费在线观看视频 | 99re中文字幕 | 黄色a一级片 | 亚洲午夜久久久久久久久电影网 | 欧美极品一区二区三区 | 亚洲欧美日韩国产一区二区三区 | 久久精品一区二区三区中文字幕 | 欧美一二三专区 | 91亚洲精品久久久中文字幕 | 91香蕉国产在线观看软件 | 99精品免费久久久久久久久日本 | 少妇资源站 | 日韩大片在线播放 | aaa免费毛片 | 337p西西人体大胆瓣开下部 | 久久精品中文字幕一区二区三区 | 国产一在线精品一区在线观看 | 精品国模一区二区 | 一区中文字幕电影 | 国产色婷婷在线 | av不卡免费看 | 国产在线国偷精品产拍免费yy | av一级片| 色综合久久久久久久久五月 | 久久亚洲在线 | 日韩黄色在线观看 | 久久精品国产久精国产 | 色综合久久久久网 | 日韩簧片在线观看 | 91麻豆精品国产 | 免费福利视频网站 | 97理论电影 | 色狠狠综合 | 亚洲午夜精品久久久久久久久久久久 | 亚洲精品国产综合99久久夜夜嗨 | 欧美极度另类 | 亚洲成人一二三 | 国产精品久久久久久久久久久免费看 | 国产精品久久久久久久久久了 | 成人毛片一区 | 久久精品伊人 | 欧美日韩在线观看不卡 | 国产主播99 | 人人超碰人人 | 九九九视频精品 | 国产精品一区二区三区四区在线观看 | 国产精品国内免费一区二区三区 | 超碰在线公开免费 | 国产五月婷婷 | 91香蕉久久 | 色天堂在线视频 | 不卡的av在线播放 | 久久精品久久精品久久 | 日韩视频一| av在线免费观看不卡 | www.99久久.com | 亚洲免费成人av电影 | 国产精品99久久久久久有的能看 | 天天操天天操天天爽 | 欧美精品中文在线免费观看 | 青青河边草免费直播 | 中文在线a天堂 | 久草在线一免费新视频 | 国产高清在线永久 | 久久婷婷色综合 | 国产一级做a爱片久久毛片a | 国产在线精品视频 | 99视频在线观看一区三区 | 中文字幕在线观看亚洲 | 国产精品一区二区久久精品爱微奶 | 狠狠狠色丁香综合久久天下网 | 一区二区三区四区精品视频 | 精品国产精品国产偷麻豆 | 久久久久一区二区三区四区 | 人人射人人澡 | 久久久久久伊人 | 国产精品情侣视频 | 久久久久久久久久福利 | 国产在线黄 | 亚洲精品欧洲精品 | 中文字幕永久 | www.日日日.com | 国产日韩精品一区二区 | 日本性久久 | 婷婷色综合网 | 久久免费视频精品 | 久久人人爽视频 | 91在线视频免费观看 | 99爱视频在线观看 | 中字幕视频在线永久在线观看免费 | 日韩精品视频在线观看网址 | 日韩伦理片一区二区三区 | 91精品在线播放 | 天天色 天天 | 2019中文字幕第一页 | 99精品视频99 | 国产一区国产二区在线观看 | 免费国产亚洲视频 | 欧美一级片免费在线观看 | 日韩欧美精品在线 | 日韩v在线91成人自拍 | 久久久精品视频网站 | 国产中文字幕视频在线观看 | 天天躁日日躁狠狠躁av麻豆 | 久久99久国产精品黄毛片入口 | 国产精品视频99 | 色婷婷激情四射 | 天天爱天天操 | 五月天婷婷丁香花 | 国产精品日韩高清 | 最近中文字幕免费av | 色视频网站在线观看一=区 a视频免费在线观看 | 99国产精品免费网站 | 在线激情小视频 | 韩国精品一区二区三区六区色诱 | 99国产情侣在线播放 | 久久66热这里只有精品 | 97免费在线观看视频 | 亚av在线| 欧美日韩国产二区三区 | 国色天香在线观看 | 精品色999| 91视频最新网址 | 美女免费视频一区二区 | 18国产精品福利片久久婷 | 国产91粉嫩白浆在线观看 | 韩国精品一区二区三区六区色诱 | 国产精品国产三级国产aⅴ无密码 | 最近免费中文视频 | 亚洲午夜精品久久久久久久久久久久 | 高清在线一区二区 | 91成人精品一区在线播放69 | 久久久精品视频网站 | 天堂入口网站 | 麻豆视传媒官网免费观看 | 亚洲视频在线免费看 | 免费在线a | 丝袜美女在线 | 81精品国产乱码久久久久久 | 亚洲国产精品va在线看黑人 | 97色婷婷成人综合在线观看 | 久久久美女 | 精品国内自产拍在线观看视频 | 日韩欧美精品一区 | 中文字幕成人在线观看 | 激情综合网五月激情 | 蜜桃视频精品 | 一区二区视频免费在线观看 | 美女精品国产 | 久久久精品国产一区二区 | 亚洲黄在线观看 | 亚洲免费观看在线视频 | 99这里都是精品 | 欧美日韩在线网站 | 成人免费在线观看av | 成人中心免费视频 | 色婷婷天天干 | 97视频免费看 | 在线综合色 | 天天做夜夜做 | 色99在线 | 在线观av| 香蕉97视频观看在线观看 | 在线观看欧美成人 | 在线之家官网 | 久色 网| avav99| 久久国产精品免费观看 | 人人精品久久 | 天天爱天天操天天爽 | 久久激情五月婷婷 | 成人精品在线 | 久久成人人人人精品欧 | 免费久久99精品国产婷婷六月 | 国产亚洲精品久久久久久网站 | 中文字幕在线观看不卡 | 九色91福利 | av在线色| 亚洲天天草| 午夜精品久久久久久久99 | 国产麻豆精品在线观看 | 中文字幕在线观看2018 | 日韩免费在线观看视频 | 欧美一区免费观看 | av在线影片 | 色播激情五月 | 欧美大jb| 99精品免费 | 久久免费视频一区 | 精品视频999| 麻豆成人精品视频 | 91视频链接| 97在线观看视频国产 | 亚洲特级毛片 | 成全在线视频免费观看 | 少妇av网| 国产成人av电影在线 | 欧美激情亚洲综合 | 成人国产网址 | 国产中文字幕网 | 91免费高清在线观看 | 日韩欧美视频在线观看免费 | 91在线www | av在线收看 | 欧美在线不卡一区 | 日韩欧美综合在线视频 | 国产精品99在线播放 | 久久草草影视免费网 | 国内毛片毛片 | 午夜久操| 日本韩国中文字幕 | 国产资源av | 日韩欧美xx| 中文字幕免费 | 欧美一区二区在线免费看 | 久久精品96 | 五月婷婷毛片 | 久久精品91久久久久久再现 | 日本性高潮视频 | 91成人国产| a级片韩国 | 日本aaaa级毛片在线看 | 久久久久久久久久久精 | 91传媒91久久久 | 欧美日韩精品免费观看 | 亚洲国产成人高清精品 | 91看毛片| 国产无吗一区二区三区在线欢 | 黄色av影院 | 欧美日韩高清在线观看 | 欧美日韩午夜爽爽 | 成人性生交大片免费观看网站 | 日韩一区二区三区高清免费看看 | 成人免费亚洲 | 日批视频在线 | 亚洲影音先锋 | 最近最新中文字幕 | 在线观看一区 | 国产在线一线 | 亚洲视频电影在线 | 人人爽人人爽 | 欧美aa一级片 | 五月天综合网站 | 亚洲闷骚少妇在线观看网站 | 视频二区在线视频 | 国模视频一区二区三区 | 天堂资源在线观看视频 | 麻豆精品国产传媒 | 久久社区视频 | 色瓜 | 99在线热播 | 精品天堂av| 五月天网页| 免费看成人片 | 日韩精品免费一区二区三区 | 亚洲在线视频免费 | 国内精品久久久久久久久久久久 | .精品久久久麻豆国产精品 亚洲va欧美 |