JAva基礎知識点まとめ
45525 ワード
1.java環境変数
JAVA_HOME=jdkインストールディレクトリPath:%JAVA_HOME%\bin;… CLASSPATH=.;(システムクラスのデフォルトロードパス)
2.java file type
ファイル接尾辞名:[ClassName].javaファイル名需要と内容中のpublic class ClassName
3.共通コマンド
1.コンパイル:javac[-d pathName]javasorce-d pathName:ソースファイルのコンパイル後に生成された.classファイルを-dオプションによって作成されたpathNameパスの下に保存します.2.実行:java[-cp path]className-cp path:-classpath、classpath環境変数の値を一時的に変更(実行するクラスの.classファイルの検索パスを指定)3.パッケージをbinディレクトリのjar-cvf./hello.jar*jarパッケージに切り替える
4.宣言の順序:
1.package 2.import 3.class/interface javaクラスロード(親委託メカニズム):1.起動クラスロード:jre/lib/rt.jar 2.拡張クラスロード:jre/lib/ext/*.jar 3.システムクラスロード:classpath java class...java-cp.HelloWorld com.briup.test.HelloWorld 4.ネットワーククラスロード
5.コメント
効率、[読みやすさ]1/3以上1.1行コメント//コメント内容2.複数行コメント:/comment内容/3.ドキュメントコメント:/**コメントの内容@paramパラメータ記述@author作成者情報(javadoc-author)@version現在のバージョン情報(javadoc-version)@sinceどのバージョンから@return戻り値の情報@see@link@throws*/
6.java構文規則
1.java文の終了は、使用する必要があります.識別2.{}としてjava文を整理してコードブロック(例えば、クラス、メソッド、コードブロック)を形成するために使用され、javaには孤立したコード3.空白(スペース、タブ、改行記号...)は互いに自由に置き換えることができます(関係ありません).
7.セパレータ、識別子
区切り記号:java言語のセミコロン
8.データ型
参照
9.classとObject
10.変数:
11.作用範囲(変数がアクセスおよび操作可能な範囲):
12.式とプロセス制御
13.javaプロセス制御(ブランチ、順序)
14.Array/配列
15.クラスとオブジェクト
抽象クラス:
インタフェース
コレクション:
内部クラス:
例外:
知識点:一.異常の基本概念
三.finally文:いずれの場合も実行しなければならないコード
IOフロー:反射
ネットワークプログラミング
基本概念:1、コンピュータネットワークコンピュータネットワークは互いに接続する独立自主のコンピュータの集合であり、異なる地理区域に分布するコンピュータと専門の外部設備用通信線路を1つの規模が大きく、機能の強いネットワークシステムに接続する最も簡単なネットワーク形式を2台のコンピュータから構成することができる.2、ネットワーク通信IPアドレス:1)IPネットワークの各ホストには唯一のIPアドレスが必要である.2)IPアドレスは論理アドレスである.3)インターネット上のIPアドレスは一意性を有し、ネットワーク内の1つの通信エンティティを一意に識別するために使用される4)32ビット、4バイトであり、通常4つの8ビットのバイナリ数に分割され、共通点10進数のフォーマット表現、例えば192.168.0.16である.8ビット:11111:255…127.0.0.1 172.16.7.250 ipアドレスは、ネットワーク内の1つの通信エンティティを一意に識別するために使用されますが、1つの通信エンティティは、複数の通信プログラムが同時にネットワークサービスを提供することができるため、ポートを使用する必要があります.http://ip:port/resourceName:統合リソースロケータurl:...@localhost:1521ポート番号:ポートは16ビットの数字で表されます.0~655351024の範囲のポート番号は、定義済みのサービスに保持されます.異なるアプリケーションは異なるポートのデータを処理し、同じマシンで同じポート番号を使用することはできません.たとえば、httpは80ポート、Oracleデータベース、デフォルトのポート番号は1521です.TOMCAT、デフォルトのポート番号は8080です.IPアドレスを誰かがいる街と理解すれば、街のアドレスだけがこの人を見つけることができず、この人のナンバープレートを知る必要があります.ポートに似ています.例えばコンピュータ間でデータを送信し、コンピュータネットワークは郵便配達員として機能し、一つのプログラムがデータを送信する必要がある場合、目的地のIPとポートを指定し、正しいIPアドレスとポート番号を指定し、通信双方が接続を確立すれば、受信データを送信することができる.プロトコル:1)ネットワーク内のデータ交換(通信)を行うために確立された規則、標準または約束;(=意味+構文+ルール);TCP:接続向けの信頼性の高い伝送プロトコル;TCPプロトコルを利用して通信を行う場合は,まず通信双方の接続を確立し,接続が確立されると通信が可能となる.TCPプロトコルはデータ確認と再送のメカニズムを提供し、データが必ずデータ受信側に到達することを保証する.電話をかけるようです.TCPベースのSocketプログラミングステップ:TCPプロトコルは通信の両端にSocketを確立し、通信の両端間にネットワークリンクを形成する.javaではSocketオブジェクトを用いて両端の通信ポートを代表し、SocketによってIOストリームを生成してネットワーク通信を行う.両通信エンティティが仮想リンクを確立する前に、まず「アクティブ姿勢」をとる必要がある.サービス側として、他の通信エンティティからの接続要求をアクティブに受け入れます.JAvaで他の通信エンティティ要求を受信できるクラスは、クライアント接続要求を傍受するためのサーバソケットです.クライアントソケットの接続要求を受信すると、クライアントソケットに対応するソケットが返されます.そうしないと、ブロック待ち状態になります.クライアント接続要求ServerSocket server=new ServerSocket(8888);サーバ側はアクティブな姿勢を確立する:クライアント要求リンクSocket socket=server.accept()を待つ;
1)サーバプログラム作成:1サーバソケット(int port)を呼び出してサーバ側ソケットを作成し、指定したポートにバインドする.②accept()を呼び出し、接続要求を傍受し、クライアントが接続を要求すると接続を受け入れ、通信ソケットに戻る.③SocketクラスのgetOutputStream()とgetInputStreamを呼び出して出力ストリームと入力ストリームを取得し、ネットワークデータの送受信を開始する.④最後に通信ソケットを閉じる.2)クライアントプログラム作成:1 Socket()を呼び出してストリームソケットを作成し、サーバ側に接続する.②SocketクラスのgetOutputStream()とgetInputStreamを呼び出して出力ストリームと入力ストリームを取得し、ネットワークデータの送受信を開始する.③最後に通信ソケットを閉じる.
JAVA_HOME=jdkインストールディレクトリPath:%JAVA_HOME%\bin;… CLASSPATH=.;(システムクラスのデフォルトロードパス)
2.java file type
ファイル接尾辞名:[ClassName].javaファイル名需要と内容中のpublic class ClassName
1.source file:
1).end with .java
2). public class/interface, public /interface, public class/interface
2.package
1.
2. package java , packageName+className
3.package :
/ 。
3.import: ( package java.lang.*);
.java[main ]----> javac--->.class ----> java../../
javac -d .class
java -cp .class
3.共通コマンド
1.コンパイル:javac[-d pathName]javasorce-d pathName:ソースファイルのコンパイル後に生成された.classファイルを-dオプションによって作成されたpathNameパスの下に保存します.2.実行:java[-cp path]className-cp path:-classpath、classpath環境変数の値を一時的に変更(実行するクラスの.classファイルの検索パスを指定)3.パッケージをbinディレクトリのjar-cvf./hello.jar*jarパッケージに切り替える
4.宣言の順序:
1.package 2.import 3.class/interface javaクラスロード(親委託メカニズム):1.起動クラスロード:jre/lib/rt.jar 2.拡張クラスロード:jre/lib/ext/*.jar 3.システムクラスロード:classpath java class...java-cp.HelloWorld com.briup.test.HelloWorld 4.ネットワーククラスロード
5.コメント
効率、[読みやすさ]1/3以上1.1行コメント//コメント内容2.複数行コメント:/comment内容/3.ドキュメントコメント:/**コメントの内容@paramパラメータ記述@author作成者情報(javadoc-author)@version現在のバージョン情報(javadoc-version)@sinceどのバージョンから@return戻り値の情報@see@link@throws*/
6.java構文規則
1.java文の終了は、使用する必要があります.識別2.{}としてjava文を整理してコードブロック(例えば、クラス、メソッド、コードブロック)を形成するために使用され、javaには孤立したコード3.空白(スペース、タブ、改行記号...)は互いに自由に置き換えることができます(関係ありません).
7.セパレータ、識別子
区切り記号:java言語のセミコロン
(;)
、括弧({})、角括弧([])、丸括弧()、スペース(space,Tab,enter)、円点(.)は、区切り記号と総称される特殊な区切り作用を有する.1.セミコロンjavaでの文の区切りには、リターンではなくセミコロン(;)を文の区切りとして使用し、各java文にはセミコロンを末尾として使用します.javaプログラムでは、1行に複数の文を書くことができ、セミコロンで区切ることができます.文字列、変数名は複数行にまたがることはできません.2.カッコカッコカッコの役割はコードブロックを定義することであり、1つのコードブロックは「{"と"}」に含まれるコードを指し、javaではクラス定義部分は1つのコードブロックに入れなければならず、メソッド体部分も1つのコードブロックに入れなければならず、条件文の条件実行体と循環文の循環体も通常コードブロックに入れなければならない.3.角カッコは配列変数名に続いて、配列要素にアクセスし、角カッコでアクセスするデータ要素のインデックスを指定します.4.カッコ機能は豊富で、メソッドを定義するときにカッコを使用してすべてのパラメータ宣言を含める必要があります.メソッドを呼び出すときもカッコを使用して実パラメータ値を入力する必要があります.式の一部を囲んで計算の優先度を変更したり、強制タイプ変換の演算子として使用したりすることができます.5.スペーススペースはほとんどどこにでも表示され、任意の複数が表示されますが、スペースを使用して変数名を2つに区切ってはいけません.javaのスペースにはスペース記号(space)、タブ記号(Tab)、リターン(Ebter)などが含まれています.スペースを使用してjavaコードを合理的に縮小し、プログラムの可読性を向上させます.6.円点は通常、クラス/オブジェクト、メンバー、例えば属性として使用されます.メソッドなどの間の区切り記号は、クラスまたはインスタンスを呼び出すプロパティまたはメソッドを表します.識別子:javaで定義された変数名、オブジェクト名、メソッド名、クラス名、インタフェース名、定数名、パッケージ名などを表すいくつかの(名前)識別子. :
1. ,_ $ , _ $
2. 。( ) Name name
3.
4. java
(goto,const)
:
1. , , , , 。
myName , getName()...
2. , , :
HelloWorld BirdAction
3. , , _
MAX_VALUE MIN_VALUE
4. 。
5. 。
8.データ型
java , :
1. ,
2. ID 。
, 。
java 【 】, : , 、
, , , , , , , 。
参照
java :
boolean , 、 。 byte,short,int,long,char[ ], float double
、 、null, , , , java , (null) , null
( ):
1. (boolean)
1. java true,false
:
2. (char): ,
1. 16 。
2. ''
char c =' ';
char c = 'c';
char c = '\u4e2d';// Unicode
char c = 97;
\:
char c = '
';
char c = "\t";
3. (byte,short,int,long,float,double)
3.1 :byte,short,int ,long
note:1. ( 0), , ( 0x)
2. int
3. long l L
1.byte: 8 ,-128(-2^7)~127(2^7-1)
2.short: 16 ,-32768(-2^15)~32767(2^15-1)
3.int: 32 -2^32~2^31-1
4.long : 64 -2^63~2^64-1
int
1: ( byte short ) byte short, byte short
byte a = 30;
2: ( int ), long , l L
long a = 123456789987000l;
long , l L , java long ,java int , int long 。[ ]
long a = 30;
3.2 :float,double
note:1.float:32 , f F
double:64 , d D
2. double
:
1.
----
2. ( ,
(targetType)value)
----》
:
1. byte,short,char int
2.
short a = 10;
short b = a-2;
byte a = 10;
short b = 200;
char c = 'a';
int d = 20;
double e = 0.1;
double res = a+b+c+d+e;
: java 。 / 。
String :java (java.lang.String)。
String s = "abc";//
String s1 = new String("abc");
:
, ,
"hello"+'a'+1;
'a'+1+"hello";
1+2+"hello";
java 8
Boolean,Byte,Short,Integer,Long,Character,Float,Double,8
parseXxx(String str) 。
9.classとObject
define:[ ] class className{
}
Object: , Class
Class《----- Object: ( ) ( )
object
10.変数:
: 。
:DataType varName [= value];
note:java 。
:
byte short int long char float double boolean
1. :
1.
2. var =
2. :
1.ClassType var;
2. =new ClassType([params]);
Student s = new Student();
Student s;
Student s = null;
Student s = new Student();
//8 15--
// -- , , ...
// --
Student s = new Student("zhangsan");//
3. :String
String s = "abc";//
11.作用範囲(変数がアクセスおよび操作可能な範囲):
1. :
1).
2).
3). ( {} )
4). 。
2. : ,
1.
1. ( )
2. ,
byte short int long float double char boolean
0 0 0 0l 0.0f 0.0d '' false null
3. , ( static )+ ( {})
4. , 。
2. (static )
static DataType varName: [ ]
DataType varName: [ ]
12.式とプロセス制御
、
1.
+ - * / % ++( ) --( )
++a a++ ===> a=a+1
++a: a=a+1, a
a++: a , a=a+1;
--a a-- ===> a=a-1
--a: a=a-1, a
a--: a , a=a-1;
+:
2.
> < >= <= == != instanceof
A instanceof B:A B 。
3. : boolean 。
&& ||
&& : true, true
|| : false, false
&& || :
&&: , ,
||: , , true
6. /
boolean_expression?trueV:falseV
7.
= += -= *= /=....
:
13.javaプロセス制御(ブランチ、順序)
1. , 。
2. :
if ... else if ...else
1).if(){
}
2).if(){
}else if(){
}else if.....
3).if(){
}else{
}
4).if(){
}else if(){
}...else if(){
}else{
}
3.
for(int i=0;i<10;i++){
Sys...
}
1.for(expr1;boolean_expression;exp3){
block A;
}
note:
1.expr1,boolean_expression,exp3 , ; 。
2. expr1:
boolean_exp: true, (block A), 。
exp3: 。
3. :
for( ; ; ){
}
-- -- -- -- -- -- ..
2.while: 。
1. 。
while(boolean_Expression( )){
block A{
3. 。
}
}
note: , 。
3.do...while : 。 , 。
1. 。
do{
2.
}while(boolean_expression);
4.
* 1 3 1
*** 2 2 3
***** 3 1 5
******* 4 0 7
n 4-n 2n-1
for(int i=1;i<=4;i++){
System.out.print();
}
5.break,continue
break: break
continue: 。
break label: ( )label
continue label: , labe 。
return:exit method
14.Array/配列
、 :
: 。
datatype[] varName;
int[] nums;
short[] shos;
String[] strs;
Student[] stus;
Student s;
s = new Student();
note:
1. 。
2. 。 :
1.length: 。
2.member: 。
3. , 。
4. 。 (length). , 。
5.new, 。
6. , 。
、 , ,
:
DataType[] var;
DataType var[];
int[] arr1;
int arr2[];
:
var = new DataType[length];
arr1 = new int[10];
arr1[0] = 10;
arr1[2] = 11;
arr1[arr1.length-1] = 100;
:
var[index(0---length-1)]
a[0] = 1;
a[1] = 2;
:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
int[] b ;
b = new int[]{1,2,3,4};
, [] .
、 :
[index(0--length-1)]
1. :
for(int i= 0;i
15.クラスとオブジェクト
:
:
Person{
String name;// -- --
int age;
.......
public void run(){// -- --
}
public void jump(){
}
}
: Person p1 = new Person();
p1.name = "tom";
p1.age = 12;
p1.run();
E-R:
: , , ,
[name,age,phone..]
public class customer{
String name;
}
public class item{
//
//
}
public class order{
public Date date;
public double prce;
}
note: 1.
2. .
3.
:
note:1. , ( ) ( )
2. ( )
3. .
4.java , .
java ,java , , , , , , 。
, ,java
:
public class test1{// //}:test1 ,
new test1()
public:
static: , : , [ ]
class Person{
//
public String name;//
public static int footNum;// [ ]
public Person(){//
//
}
//
public void run(){//
//
}
public static void print(){// [ ]
//
}
}
[ [public final abstract ]] class className [extends superClass] [implements interface1,interface,....]{
1. :
1. :
2. (static)
2. :
1.
2. (static)
3. :
[ ] ([ ]){}
}
:
Person{ name/age...
String name;
public String name;
public String name="tom";
public static String name = "tom";
protected String name="tom";
private String name="tom";
}
[ ] DataType varName [= ];
: , public,protected,private,static,final, public,protected,private , static、final
DataTtpe: , java ,
varName: , ,
: Filed
1. : ( )
: -> .
:
2. (static ): , .
:
1. .
2. .
3. ---
: , , , [static]
//doBall
[ ] returnType methodName(DataType param1,DataType param2,.....){
block;
}
void doTest1(){}
public void doTest1(){}
public static void doTest1(){}
public static void doTest1(int p1,String p2){}
// :doTest1( : )
: , public,protected,private,static,final,abstract, public,protected,private ,abstract final , static 。
returnType: , java , , , 【 】return , , 。
, void 。
:
: , 【 】 , (,) ,
, 【 】 。
, , 。
static , , ( ) ,static , 。 static Field : , , static , : , 。
【 】
note:returnType: . , void . void, return value;
.
1. :
: ----> . ([param,..])
: ([param...]);
2. (static):
Math.random()
Arrays.toString(type[]);
System.arrayCopy(src[],index,dest[],index,length);
:
1. . ([param...])
2. . ([param...]);
3. ([param..])
: , , , , , 。 , , , “ . ” " . " , this
:
1. : . ,
2. : , 。
java : , , 。
: ; : , 。
:
1.
2. ,
1.
2.
3. ( )
3. .
public int add()
public int add()
public int add()
note:
1. , , .( )
2. ,
3. . .
.
。 , new .
:
[ ] void className(DataType param1,DataType param2.....){
}
: , public、protected、private
note:
1.
2. .( , , .)
3. .new Constructor(param...);
4. , java .
, .( , , .)
5. , , ( .)
6.
7. , :
this(param...), .
:
, new .
, 。 . / . /
Stduent s = new Student()//
: s Student 。 ,s 。java , ,s [ ], , 。
, , , :
Student s2 = s;
s s2 , person , s s2 , Person , 。 ,name , java , , :
s = null;
s2 = new Student();
this :
. , this, 。
:
1. ,
2.
3. , this , .
4. ,
,java , this 。
static , , , this , static tis , static static , 【 】, 。
.
java , new , , field
Person p = new Person(1L,"zhangsan"," ");
1. , (0/null/false).
2. . [ , ].
3. .
package com.briup.corejava //http://briup.com
public[ default/package] class ClassName{
//[static / ] ,
//1. 0/false/null
//2.
//
//3.
[static]
{
age = 30;
}
public[protected,d,private] static int age = 10;
public[..] double heigh = 177;
public Student student = new Student();
public Student[] students = new Student[100];
//[static / ]
public[protected,d,private] [static] int/void methodName(param...){
if(){
}else{
}
return 50;
}
// : , [ ]
// : new ( )
public ClassName(int heigh){
//System.out.println("");int a= 10; a++;
this.heigh = heigh;
age = 20;
student = null;
students[0] = new Student("zs");
int b = this.methodName(age);
//int c = noReture();
System.out.print(this.methodName(age));
}
//[static / ]
}
: , ,
.
. . .
: 。 , , 。 age, 。
:1. .( private public),
2. ,
: , 。
:public;protected;private; default
public( ): , , ,
protected( ): ,
default( , ): ,
private( ): ,
public 1 1 1 1
protected 1 1 1
package 1 1
private 1
private: , ( .)
public class Person{
private long pid;
private String name;
// ,
public void setPid(long pid){
this.pid = pid;
}
public long getPid(){
return pid;
}
}
,
private Type Filed
public Type getFiled()
public void setFiled(Type param)
javaBean
getter setter
get+"upper(F)"iled:
set+ :
getter/setter
// name getName setName
package import
1. is a [instanceof]
A extends B,A ,B , A B B , . java , .
class className extend superClass{
}
(Animal) ----
(Animal) ----
ClassA extends ClassB
ClassB extends ClassC
Animal
dog extends Animal
Object:
public :toString(),equals()....
-- 。 , java.lang.Object, 【Object 】
note:
1. , .( , , super(...), .)
2.this,super .
3.java .
4. , .
5. .
:
class[ 、 ],
[ ]--
: --
super
1. super(...), .
2. .super.method(..),super.varName.
: , , , , , java , Object 。
Cast:
:
1.
----
----
.
2.
---
.( Instanceof , .)
a instanceof Class
( )
, ( ).
1. .
2. ( , , )
3. .
4. .
: : , , , 。
//
: , :
, ,
[ , , ]
: , , :
, , [ ]
,
.
java : , , , , 。
:
( , , )
( , )
Animal a1
Animal a2 = new Dog(); dog==run
a1.run();
a2.run();
: .( .)
:
1. , , , .
2. . .
3. , .
note:1. , , ,
2.static static . static .
java , , , , , 。 SonType son = (SonType)fatherObject;
, fatherObject , fatherObject , ClassCastException。
: , , 。 。
: : 8 Object
boolean byte short int long char float double
Boolean,Byte,Short,Integer,Long,Character,Float,Double
,
boolean b = false;
Boolean b1 = new Boolean(b1);
Float f1 = new Float("1.23");
boolean b3 = b2.booleanValue();
int b4 = IntObj.intvalue();
:new WrapperClass(primitive)
: WrapperInstance.xxxValue();
JDK1.5 [ ] [ ]
Integer i1 = 5;
int i2 = i1;
:WrapperClass.parseXxx(String s)
String:String.valueOf(primitive);
, [ ],
Object: toString() equals(){ == }:
final: 【 】【 】【 】:
abstract: 【 】【 ();】
, : [ : [ ], ]
Object :java Object , , java
toString() : Person , Person toString : @6
toString Object , toString
java , java , java toString
p+"hello"<==>p.toString()+"hello"
toString “ ” , , “ ” , , “ +@+hashCode” , “ ” , Object toString 。
== equals
, == equals
==: , , true, , true,
String, ,new String("hello")
equals: , , “ ” , equals
== , equals , String equals
StringBuilder sbr = new StringBuilder();
sbr.append(str2).append(str3);
sbr.toString();
StringBuffer:
final: 、 ,
: , , ,
final :java :final , final
:
: ,
final : , final ,
, ,
final
:
: , ,
final , , ,
:
final , Object getClass()
:
final ,
抽象クラス:
abstract :
1. :
1.
.
.
2. , ,
Animal an = new Cat();
abstract
3. . , . .
4. , , .
final[ , ] abstract
static
2.
1.
2.
public abstract void test();
3. .
4. .
, ,
public static final String name = " ";
String name = " ";
static final abstracted
public abstracted int method1();
int method1();
public interface inName{
void eat();
int run();
String goPlay();
}
インタフェース
1. .public
2. public abstract
3. . , .
4. public static final,
5. , , .
Driver d = new KeyBord();
Driver mouse = new Mouse();
6. .
interface A{}
interface B{}
interface C extends A,B{}
7. ,
interface A{}
interface B{}
class C implments A,B{}
8. java .
9. , .
door open close , alarm
[ , , , ]
public abstract class door{
public abstract void open();
close();
}
[ , , , ]
plublc interface alarm{
alarm();
}
, alarm
GreenDoor extends door implemnets alarm
redDoor extends door implemnets alarm
blackDoor extends alarm
//
fireAlarm implemnets alarm{
}
:
: --
: : ,
: , ,
コレクション:
、 : , 、 ,【 】
java Set、List、Map ,
List : 、
Set : 、
Map : 、 ,key--value:
java :Collection Map
Collection : , ;
Collection List(extends) Set , List Set 。
Collection , List , Set ,[ 。 ]
boolean add(Object o)
boolean remove(Object o)
int size()
Iterator iterator();
Object[] toArray()
boolean addAll(Collection c)
boolean removeAll(Collection c)
clear()
boolean contains(Object o)
boolean containsAll(Collection c)
boolean retainAll(Coolection c) c
boolean isEmpty()
Iterator : Collection , , Collection (List,Set)
boolean hashNext()
Object Next()
remove() next
: 1:List
List: 、 , null , Collection , , List index, 。
:E: ,String Integer, Student,P
x*2+3 = 9
x*2 = 6
x = 3
x*3+3 = 9
x = 2
x:
:
:
void add(int index,Object obj);
Object remove(int index);
Object set(int index,Object obj);//
Object get(int index);
boolean addAll(int index,Collection c)
int indexOf(Object o);
int lastIndex(Object obj);
List subList(int fromIndex,int toIndex);
↑, List , Set , 。List equals(0 true 。
list remove(object obj) obj equals() , true,
:ArrayList:
2:Set
Set: , ( equals ), Collection ,Collection , Set , 。 equals() [hashCode] CompareTo()
Hashset: Set , , hash , hashCode 。 Set , HashSet , hashCode() , , hashcode() , equals , [ ], equals , 。 HashSet “ ” , hashcode() equals() 。 hashcode() equals() true , hashcode() 。( equals ) equals false ,hashcode , ,
SortedSet: ,Set
TreeSet:SortedSet , “ ”, ( , 0, , , , comparaTo equals, equals , 0), null
TreeSet , :
first();last();comparator();...
: TreeSet comparable , comparTo(obj o)
: TreeSet comparator , compare(Obj o1,Obj o2)
Map :
key1-value1
key2-value2
key3-value3
key4-value4
key(equals) ,value (equals)
Object put(Object key,Object value), k-v,
Object remove(Object key)
Object get(Object key)
int size()
Set keySet()
Collection values()
Set entrySet()-----Entry:getKey(),getValue(),setValue()
boolean containsKey(Object key)
boolean containsValue(Object value)
HashMap: null key( key :hashCode,equals, hashSet 。 value:equals)
sortMap :Map
TreeMap:sortMap
,
key : TreeSet ,comparaTo 0, equals ,comparaTo
[keySet() entrySet()]
内部クラス:
1. .
2. class,implements,extends
3. .
4. final
5. .
例外:
Exceptions
, , 。
, , 。 , , :
, , ; , 。
, 。 , , 。
, 。 ,
, , 。
Java 。 , 。 ,
, ; , 。
Java , 。Java :
. , Java , 。 ,
。
. , , 。
. , , , , 。
知識点:一.異常の基本概念
1.
。 Java ? :
a. , 0;
b. ;
c. ;
d. ;
;
2. ;
, , , ;
3. , 。
4.
5.
.try...catch
Java , try...catch 。 :
try {
;
} catch( ) {
} catch( ) {
}
1. try ,try ,catch ;
2. try catch , try ,
catch ;
a. catch , , catch ;
b. , ;
c. catch ;
d. try ;
3. try catch , ;
;
.
java.lang.Throwable 。 :
1. Error : , , Java 。
, , 。
2. Exception : 。Exception : 。
a.
1)
RuntimeException , Java , ,
, try...catch , throws , 。
divide() b 0, a/b ArithmeticException , ,Java
。
public int divide(int a, int b) {
return a/b; // b 0, ArithmeticException
}
2)
, 。 ,
, Java 。
。 , , ,
, 。 。
3)
Error :
:i. Java ;
ii. , ;
:i. Error Java , JDK ,
OutOfMemoryError StackOutofMemoryError。
RuntimeException ;
ii.Error ;
RuntimeException , ;
b. 。
RuntimeException , Exception (Checked Exception)。
Java , , , try...catch ,
throws , 。
. RuntimeException
1. java.lang.ArithmeticException
: 0;
2. java.lang.NullPointerException
: References ;
3. java.lang.ArrayIndexoutofBoundsException
: Array ;
4. java.lang.NumberFormatException
:Integer.parseInt("a");
5. java.lang.NegativeArraySizeException
三.finally文:いずれの場合も実行しなければならないコード
, , 。
, : 、 8 、 。 :
, 。 :
public void work() {
try {
();
8 ();
();
} catch(Exception e) {
//
}
}
, catch , ,
, 。finally , :
public void work() {
try {
();
8 ();
} catch(Exception e) {
//
} finally {
();
}
}
finally catch , :
public void work() {
try {
();
8 ();
} catch(Exception e) {
//
}
();
}
, :
a. try , , ;
b. 。 catch , 。
.
。
1.
, ;
a. , ;
b. , , ;
c. , ; , ;
2. , 。
, , 。 。
3. API
getMessage: , null。
printStatckTrace(): , ;
,
:
1. try catch finally 。try catch finally 。
2. try catch , finally 。 catch finally
,finally catch 。
3. try finally 。
4. try try , catch finally 。
5. try catch ,Java catch ,
, catch , catch 。
6. , try...catch , throws 。
7. throw , 。
try catch finally throws throw:
.
, Exception RuntimeException 。 ,
catch , 。
IOフロー:反射
File
File 。File 。
1.
a/b
a/b/c/d
. File(String pathname): pathname ;
. File(String parent, String child): parent , child ;
. File(File parent, String child): parent , child ;
, ; , 。
2.
. boolean createNewFile(): , , ( false), ( true)。
. boolean delete():
. boolean mkdir()/mkdirs(): ( )-> , ;
. boolean canRead()/canWrite():
. boolean exists():
. String[] list():
. boolean isFile():
. boolean isDirectory:
. long lastModified(): ( 1970 1 1 12
)
. String getPath()/getAbsolutePath():
. String getCanonicalPath(): File
. String getParent()/getName(): ( null)
.
。 Java , 。 ,
。 , 。
-------------> Java ------------------>
, , , , ; ,
server [ ]
client [ ]
Java I/O ,I/O java.io , 。
, ; ,
。 I/O ,java.io.InputStream java.io.OutputStream ,
java.io.Reader java.io.Writer 。
.
java.io ,java.io.InputStream ,java.io.OutputStream , ,
。
InputStream :
1. read(): : :
fis.read(): ,
new String(by[],0,len)
fis.read(byte[] by): by.length , by , :
fis.read(by,begin,len): len , by , begin ,by:begin,
a. int read(): 8 , 0-255 ,
b. int read(byte[] b): , b 。
。 , -1;
c. int read(byte[] b, int off, int len): , b 。
。 off , len
。 。 , -1;
read , read 。
, read , I/O 。
2. void close(): ,InputStream close() 。 close() ,
close() 。
3. int available(): ;
4. skip(long): n 。
OuputStream :
1. write(): : :
a. void write(int b): ;
b. void write(byte[] b): b ;
[97,92,95,77,81]
by,2,3
c. void write(byte[] b, int off, int len): b , off
, len ;
write , write 。
, write , I/O 。
2. void close(): ,OutputStream close() 。 close() ,
close() 。
3. void flush(): OutputStream flush() , ( BufferedOutputStream
PrintStream ) flush() 。 , ,
。 , 。flush()
。
[ / ], [ / ]
:
FileInputStream and FileOutputStream
1. FileInputStream , FileInputStream(File file)
FileInputStream(String name)
2. FileOutputStream , , 。
FileOutputStream(File file)
FileOutputStream(File file, boolean append)
, (append true)
(append false)。
FileOutputStream(String name)
FileOutputStream(String name, boolean append)
, (append true)
(append false)。
FileReader and FileWriter
1.
2.
FileReader(File file)
FileReader(String name)
FileWriter(File file)
FileWriter(String filename)
FileReader:new FileReader(“d:/back/string.txt”) =
new InputStreamReader(new FileInputStream(“d:/back/string.txt”));
FileWriter:new FileWriter(“d:/back/string.txt”) =
new InputStreamWriter(new FileOutputStream(“d:/back/string.txt”));
BufferedInputStream :
BufferedInputStream , 。BufferedInputStream
, read() , 。
. BufferedInputStream(InputStream in)—— in 。
BufferedReader
Reader read() ,BufferedReader , ,
, , 。
BufferedReader readLine() , 。
. BufferedReader(Reader in): Reader ;
InputStreamReader
OutputStreamWriter
:
PrintStream
PrintWriter
: ;
: ;
1.
2. ( )
3. java.io.Serializable , , Serializable
:
1. , , 。
2. , 。
。
ObjectInputStream ObjectOutputStream( , )
1. ObjectInputStream ObjectOutputStream
2. ObjectInputStream ObjectOutputStream
3.
ObjectInputStream(InputStream in)
ObjectOutputStream(OutputStream out)
4.
readObject()/writeObject()
:Reflect
:
, , 、 、 3 , 。
class , java.lang.Class , , , java.lang.Class 。
[ , , java.lang.Class ]
, Class , Class [ ] 。 Class :
1)
Class.forName(String clazzName)
2) , class , Person
Person.class
3)
obj.getClass()
Class , Class 。
:
getConstructor(Class>... paraTypes): Class public
getConstructors(): public
getDeclaredConstructor(Class>... parasType): ,
getDeclaredConstructors(): ,
[ , ]
:
getMethod(String name,Class>... paraTypes): , public
getMethods(): public
getDeclaredMethod(String name,Class>... paraTypes): ,
getDeclaredMethods(): ,
[ , , ]
:
getField(String name): public Field
getFields(): public Field
getDeclaredFiled(String name): Field, Field
getDeclaredFileds(): Field, Field
Class , 、 、 、
getInterfaces()
getSuperclass()
getModifiers()
getPackage()
getName()
getSimpleName()
Declared:
declared: public 。 。
Method , Constructor , Field 。
1) Class ,
Clazz.newInstance();
[ , ]
2) Constructor , Constructor newInstance()
constructor.newInstance(Object... params)
Method , :
Object invoke(Object obj,Object... args):obj ,args
Filed Filed
1)getXxx(Object obj): obj Filed
Xxx 8 , , get(Object obj)
2)setXxx(Object obj,Xxx val): obj Filed val
Xxx 8 , , set(Object obj,Xxx val)
, :
xxFiledObj.setAccessible(true);
:
String.class Class, Class , Class>, , .
:
public static Object getInstance(String clsName){
Class cls = Class.forName(clsName);
return cls.newInstance();
}
public static T getInstance(Class cls){
return cls.newInstance();
}
corejava: ,IO , ,String split, subString
..
:JDBC:
mybatis:
ネットワークプログラミング
基本概念:1、コンピュータネットワークコンピュータネットワークは互いに接続する独立自主のコンピュータの集合であり、異なる地理区域に分布するコンピュータと専門の外部設備用通信線路を1つの規模が大きく、機能の強いネットワークシステムに接続する最も簡単なネットワーク形式を2台のコンピュータから構成することができる.2、ネットワーク通信IPアドレス:1)IPネットワークの各ホストには唯一のIPアドレスが必要である.2)IPアドレスは論理アドレスである.3)インターネット上のIPアドレスは一意性を有し、ネットワーク内の1つの通信エンティティを一意に識別するために使用される4)32ビット、4バイトであり、通常4つの8ビットのバイナリ数に分割され、共通点10進数のフォーマット表現、例えば192.168.0.16である.8ビット:11111:255…127.0.0.1 172.16.7.250 ipアドレスは、ネットワーク内の1つの通信エンティティを一意に識別するために使用されますが、1つの通信エンティティは、複数の通信プログラムが同時にネットワークサービスを提供することができるため、ポートを使用する必要があります.http://ip:port/resourceName:統合リソースロケータurl:...@localhost:1521ポート番号:ポートは16ビットの数字で表されます.0~655351024の範囲のポート番号は、定義済みのサービスに保持されます.異なるアプリケーションは異なるポートのデータを処理し、同じマシンで同じポート番号を使用することはできません.たとえば、httpは80ポート、Oracleデータベース、デフォルトのポート番号は1521です.TOMCAT、デフォルトのポート番号は8080です.IPアドレスを誰かがいる街と理解すれば、街のアドレスだけがこの人を見つけることができず、この人のナンバープレートを知る必要があります.ポートに似ています.例えばコンピュータ間でデータを送信し、コンピュータネットワークは郵便配達員として機能し、一つのプログラムがデータを送信する必要がある場合、目的地のIPとポートを指定し、正しいIPアドレスとポート番号を指定し、通信双方が接続を確立すれば、受信データを送信することができる.プロトコル:1)ネットワーク内のデータ交換(通信)を行うために確立された規則、標準または約束;(=意味+構文+ルール);TCP:接続向けの信頼性の高い伝送プロトコル;TCPプロトコルを利用して通信を行う場合は,まず通信双方の接続を確立し,接続が確立されると通信が可能となる.TCPプロトコルはデータ確認と再送のメカニズムを提供し、データが必ずデータ受信側に到達することを保証する.電話をかけるようです.TCPベースのSocketプログラミングステップ:TCPプロトコルは通信の両端にSocketを確立し、通信の両端間にネットワークリンクを形成する.javaではSocketオブジェクトを用いて両端の通信ポートを代表し、SocketによってIOストリームを生成してネットワーク通信を行う.両通信エンティティが仮想リンクを確立する前に、まず「アクティブ姿勢」をとる必要がある.サービス側として、他の通信エンティティからの接続要求をアクティブに受け入れます.JAvaで他の通信エンティティ要求を受信できるクラスは、クライアント接続要求を傍受するためのサーバソケットです.クライアントソケットの接続要求を受信すると、クライアントソケットに対応するソケットが返されます.そうしないと、ブロック待ち状態になります.クライアント接続要求ServerSocket server=new ServerSocket(8888);サーバ側はアクティブな姿勢を確立する:クライアント要求リンクSocket socket=server.accept()を待つ;
Socket socket = new ServerSocket(8888);
socket.getInputStream():
socket.getOutputStream():
Socket :
Socket socket = new Socket("127.0.0.1", 8888);
socket.getOutputStream()
socket.getInputStream();
: FileInputStream
:socket
/ :IO
BufferedInputStream
BufferedPutPutStream
InputStreamReader
OutputStreamWriter
PrintStream
PrintWriter
ObjectInputStream
ObjectOutputStream
RandomAccessFile:
DataInputStream
.....
、 Socket , , , 。Socket
getInputStream(): ,
getOutputStream(): ,
, IO , , 。
1)サーバプログラム作成:1サーバソケット(int port)を呼び出してサーバ側ソケットを作成し、指定したポートにバインドする.②accept()を呼び出し、接続要求を傍受し、クライアントが接続を要求すると接続を受け入れ、通信ソケットに戻る.③SocketクラスのgetOutputStream()とgetInputStreamを呼び出して出力ストリームと入力ストリームを取得し、ネットワークデータの送受信を開始する.④最後に通信ソケットを閉じる.2)クライアントプログラム作成:1 Socket()を呼び出してストリームソケットを作成し、サーバ側に接続する.②SocketクラスのgetOutputStream()とgetInputStreamを呼び出して出力ストリームと入力ストリームを取得し、ネットワークデータの送受信を開始する.③最後に通信ソケットを閉じる.
String:
split,SubString()
Integer:
parseInt(String s,int radix)
Timestamp:
Timestamp t = new Timestamp( )
IO:
skip,seek
Properties:
load,getProperty,put
JDBC:
prep.addBatch();prep.executeBatch()