1.String str = new String("abc"); ÇëÎʶ¨ÒåÁ˼¸¸ö¶ÔÏó¡£¶¨ÒåÁËÁ½¸ö¶ÔÏó£¬Ò»¸ö"abc", Ò»¸öÊÇnew String().<String s = "abc";Ê×Ïȵ½¶ÑÖвéÕÒֵΪ"abc"µÄ¶ÔÏó£¬Ã»ÓоÍн¨Ò»¸ö¶ÔÏó£¬"abc"±¾Éí¾ÍÊÇÒ»¸ö¶ÔÏó¡£>
2.ÃæÏò¶ÔÏóµÄ¶«Î÷£ºabstract & interfaceµÄ¸÷×ÔµÄ×÷Óã¬Çø±ð¡£
3.ÃæÏò¶ÔÏóµÄÌØÕ÷£¬ÒÔ¼°ÔõôʵÏֵġ£1.³éÏ󣺳éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀàµÄÖØÓã¬ËüÌṩÁËÒ»ÖÖÃ÷È·±íÊö¹²ÐԵķ½·¨¡£¶ÔÏóµÄÒ»¸öÐÂÀà¿ÉÒÔ´ÓÏÖÓеÄÀàÖÐÅÉÉú£¬Õâ¸ö¹ý³Ì³ÆÎªÀà¼Ì³Ð¡£ÐÂÀà¼Ì³ÐÁËÔʼÀàµÄÌØÐÔ£¬ÐÂÀà³ÆÎªÔʼÀàµÄÅÉÉúÀࣨ×ÓÀࣩ£¬¶øÔʼÀà³ÆÎªÐÂÀàµÄ»ùÀࣨ¸¸Àࣩ¡£ÅÉÉúÀà¿ÉÒÔ´ÓËüµÄ»ùÀàÄÇÀï¼Ì³Ð·½·¨ºÍʵÀý±äÁ¿£¬²¢ÇÒÀà¿ÉÒÔÐ޸ĻòÔö¼ÓÐµķ½·¨Ê¹Ö®¸üÊʺÏÌØÊâµÄÐèÒª¡£
3.·â×°£º·â×°Êǰѹý³ÌºÍÊý¾Ý°üΧÆðÀ´£¬¶ÔÊý¾ÝµÄ·ÃÎÊÖ»ÄÜͨ¹ýÒѶ¨ÒåµÄ½çÃæ¡£ÃæÏò¶ÔÏó¼ÆËãʼÓÚÕâ¸ö»ù±¾¸ÅÄ¼´ÏÖʵÊÀ½ç¿ÉÒÔ±»Ãè»æ³ÉһϵÁÐÍêÈ«×ÔÖΡ¢·â×°µÄ¶ÔÏó£¬ÕâЩ¶ÔÏóÍ ......
×î½üÐèÒªÖÆ×÷java desktop applicationµÄ°²×°³ÌÐò¡£
ºÃ²»ÈÝÒ×ÔÚÍøÉÏdownÁ˸öinstallanywhere9°²×°²¢ÆÆ½â£¬ ÓÃÆðÀ´»¹Í¦Ë³Àû£¬¹¦ÄܱȽÏÇ¿´ó£¬Ðí¶àµØ·½¿ÉÒÔ¶¨ÖÆ£¬µ±È»×ö³öÀ´µÄ³ÌÐòÔÚ°²×°Ê±Ò²Ëæ´¦¿É¼ûinstallanywhereµÄÉíÓ°£¬ÉÌÒµÈí¼þÂû°ì·¨¡£
ºóÀ´³ÌÐòÔÚÔËÐйý³ÌÖУ¬·¢ÏÖ×ÔÒÔΪÉèÖýøÈ¥ÁËjava desktop applicationµÄjreµÄ-xmsºÍ-xmx¸ù±¾Ã»ÉúЧ£¬ÀÏÊǵ¼ÖÂOutOfMemoryError¡£ÔÚ¶à¸öµØ·½ÊÔÑ飬°üÀ¨installanywhereµÄ½çÃæÉÏÉèÖÃminimum heap sizeºÍmaximum heap size£¬ÔÚinstallanywhereµÄ°²×°Ä¿Â¼ÏÂÉèÖúó׺ÃûΪLAXµÄxmlÎļþÀïµÄÏàÓ¦Öµ£¬¶¼´ï²»µ½Ô¤ÆÚµÄÄ¿µÄ¡£×îºóÔÚÆäÖÆ×÷µÄ°²×°³ÌÐò°²×°ÊͷųöÀ´µÄÒ»¸öºó׺ÃûΪLAXµÄÎļþÀïÉèÖÃÏìÓ¦Öµµ¹ÊǺÃÁË£¬µ«Õâ±Ï¾¹ÊÇÂíºóÅÚ¡£Ö»ÄÜ»³ÒÉÉÏÃæ´ï²»µ½Ô¤ÆÚ²½ÖèµÄÔÒòÊÇÄÇЩµØ·½ÉèÖÃ-xmsºÍ-xmxÊǸøÖÆ×÷°²×°³ÌÐòʱµÄjvmÉèÖõ쬵±È»²¢²»ÄÜÈ·¶¨¡£
ºóÀ´×ÉѯÒÔǰµÄÁìµ¼£¬ËûÍÆ¼öinnoÕâÒ»°²×°³ÌÐòÖÆ×÷Èí¼þ£¬ºÜºÃ£¬ÊÇÃâ·ÑÈí¼þ£¬µ«Óе㲻ˬµÄÊÇËü±ØÐëÖ¸¶¨Ò»¸öexe³ÌÐò¡£ÓÚÊǺõ£¬Ð´ÁËÒ»¸öÖ´ÐÐjava³ÌÐòµÄbatÎļþ£¬ÔÚÕâ¸öbatÀïÉèÖúÃ-xmsºÍ-xmx£¬È»ºóÓÃvc×öÁËÒ»¸öÖ´ÐиÃbatµÄexeÎļþ¡£¼¸ºõÊÇ¿ÉÒÔÔËÐÐÁË£¬µ«ÊÇÓÐЩÎÊÌ⣬±ÈÈçbatÀïʹÓÃÁËjavawÃüÁÿ´Î ......
javaµÄ·¶ÐÍ»úÖÆ¿´ÆðÀ´ÓеãÏñC++µÄÄ£°æ£¬µ«Ïà±È½ÏC++µÄÄ£°æÀ࣬javaÖеķ¶ÐÍûÓйؼü×Ötemplate£¬²¢ÇÒÓÐ×Ų»Í¬µÄʵÏÖ»úÖÆ£¨±¾ÖÊÇø±ð£©¡£
·¶ÐÍÀà
ÏÈ¿´Ò»¸ö·¶ÐÍÀàµÄÀý×Ó£º
public class Demo1<T> {
private T value;
public Demo1(T value) {
this.value= value;
}
public void setFirst(T value){this.value= value;}
public T getFirst(){return value;}
}
ÀàÐͱäÁ¿T£¬ÓÃ<>À¨Æð£¬·ÅÔÚÀàÃûµÄºóÃæ¡£µ±ÎÒÃÇÐèÒªÕâ¸öÀàÊÇ£¬Ö»ÐèÒªÈç϶¨Ò壺
String string = "yangsq";
Demo1<String> demo1 = new Demo1<String>(string);
ÕâÑùÉùÃ÷µÄÒ»¸öDemo1ÀàÏ൱ÓÚ°ÑÉÏÃæ¶¨ÒåµÄDemo1ÀàÖÐT¶¼»»×÷StringÁË¡£
·¶ÐÍÀà¿ÉÒÔÓжà¸öÀàÐÍ£¬ÀýÈçÏñÉÏÃæµÄDemo1À࣬ÎÒÃÇ¿ÉÒÔ¸Ä×÷ÈçÏ£º
public class Demo2<T,U> {
private T tValue;
private U uValue;
public Demo2(T tValue, U uValue) {
&nbs ......
¶ÔÏó³Ö¾Ã»¯£¬Ò²¾ÍÊÇ¿ÉÒÔ°ÑÕâ¸ö¶ÔÏóÓÀÔ¶µÄ±£´æÆðÀ´£¬ÕâÀïµÄ±£´æ²»½öÊǶÔÏó±¾Éí£¬»¹°üÀ¨ËûµÄÊôÐÔºÍËùÒÀÀµµÄÆäËûÀࡣͨ³££¬¶ÔÏó¿ÉÒԳ־û¯µ½Îļþ»òÕßÊÇÊý¾Ý¿âÖС£ÎÒÕâÀïÖ»½éÉÜÈçºÎ½«¶ÔÏó´æ´¢µ½Êý¾Ý¿âÖС£Ç¡ÇÉOracleÊý¾Ý¿âΪÎÒÃÇÌṩÁËÕâÑùµÄ·½±ã¡£
ÔÚOracleÖУ¬ÓÐÒ»ÖÖblogµÄ×Ö¶ÎÀàÐÍ£¬ËüÊÇÓÃÀ´´æ´¢´óÁ¿µÄ¶þ½øÖÆÊý¾ÝµÄ¡£ÎÒÃǾÍÀûÓÃÕâ¸ö×Ö¶ÎÈ¥´æ´¢¶ÔÏóÐÅÏ¢¡£
Ê×ÏȽ¨Á¢Ò»¸ö²âÊÔ±í£º
create table TESTBLOB
(
NAME VARCHAR2(50) not null,
CONTENT BLOB not null,
ID NUMBER(8) not null
)alter table TESTBLOB
add constraint IDFORTEST primary key (ID);
Ö»ÓÃÈý¸ö×ֶΣ¬ÆäÖÐidÊÇÊôÐÔ£¬contentÊÇÎÒÃÇÒª´æ´¢¶ÔÏóµÄ×ֶΡ£
ÏÈÀ´¿´¿´ÎÒÃÇÒª´æÈëµÄ¶ÔÏó£º
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class TestObject implements Serializable {
private static final long serialVersionUID = 4558876142427402513L;
/**
* @param args
*/
& ......
¶ÔÏó³Ö¾Ã»¯£¬Ò²¾ÍÊÇ¿ÉÒÔ°ÑÕâ¸ö¶ÔÏóÓÀÔ¶µÄ±£´æÆðÀ´£¬ÕâÀïµÄ±£´æ²»½öÊǶÔÏó±¾Éí£¬»¹°üÀ¨ËûµÄÊôÐÔºÍËùÒÀÀµµÄÆäËûÀࡣͨ³££¬¶ÔÏó¿ÉÒԳ־û¯µ½Îļþ»òÕßÊÇÊý¾Ý¿âÖС£ÎÒÕâÀïÖ»½éÉÜÈçºÎ½«¶ÔÏó´æ´¢µ½Êý¾Ý¿âÖС£Ç¡ÇÉOracleÊý¾Ý¿âΪÎÒÃÇÌṩÁËÕâÑùµÄ·½±ã¡£
ÔÚOracleÖУ¬ÓÐÒ»ÖÖblogµÄ×Ö¶ÎÀàÐÍ£¬ËüÊÇÓÃÀ´´æ´¢´óÁ¿µÄ¶þ½øÖÆÊý¾ÝµÄ¡£ÎÒÃǾÍÀûÓÃÕâ¸ö×Ö¶ÎÈ¥´æ´¢¶ÔÏóÐÅÏ¢¡£
Ê×ÏȽ¨Á¢Ò»¸ö²âÊÔ±í£º
create table TESTBLOB
(
NAME VARCHAR2(50) not null,
CONTENT BLOB not null,
ID NUMBER(8) not null
)alter table TESTBLOB
add constraint IDFORTEST primary key (ID);
Ö»ÓÃÈý¸ö×ֶΣ¬ÆäÖÐidÊÇÊôÐÔ£¬contentÊÇÎÒÃÇÒª´æ´¢¶ÔÏóµÄ×ֶΡ£
ÏÈÀ´¿´¿´ÎÒÃÇÒª´æÈëµÄ¶ÔÏó£º
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class TestObject implements Serializable {
private static final long serialVersionUID = 4558876142427402513L;
/**
* @param args
*/
& ......
ÕâÆªÎÄÕ²»ÊǶÔprivate£¬public£¬protected½øÐÐ˵Ã÷£¬Ö»ÒªÑ§¹ýÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ£¬¶ÔÒÔÉÏÈý¸ö¹Ø¼üÔÙÊìϤ²»¹ýÁË¡£ÕâÀïҪ˵µÄÊÇÁíÍâÁ½¸ö¹Ø¼ü×Ö---staticºÍfinal¡£
1. static¹Ø¼ü×Ö
ÔÚÎÒÃÇ´´½¨Ò»¸öÀàµÄʵÀýʱ£¨¶ÔÏ󣩣¬Í¨³£Ê¹ÓÃnew·½·¨£¬ÕâÑùÕâ¸öÀàµÄÊý¾Ý¿Õ¼ä²Å»á±»´´½¨£¬Æä·½·¨²ÅÄܱ»µ÷Óá£
µ«ÊÇ£¬ÓÐʱºòÎÒÃÇÏ£ÍûÒ»¸öÀàËäÈ»¿ÉÒÔ±»´´½¨n¸ö¶ÔÏó£¨ÏÔÈ»Õân¸ö¶ÔÏóµÄÊý¾Ý¿Õ¼äÊDz»ÏàͬµÄ£©£¬µ«Õân¸ö¶ÔÏóµÄijЩÊý¾ÝÊÇÏàͬµÄ£¬¼´²»¹ÜÕâ¸öÀàÓжàÉÙµÄʵÀý£¬ÕâЩÊý¾Ý¶ÔÕâЩʵÀý¶øÑÔÖ®ÓÐÒ»·ÝÄڴ濽±´¡£»¹ÓÐÕâÖÖÇé¿ö£¬¼´ÓÐʱϣÍûij¸ö·½·¨²»Óë°üº¬ËüµÄÀàµÄÈκÎʵÀý£¨¶ÔÏó£©ÁªÏµÔÚÒ»Æð¡£¼´Ê¹Ã»Óд´½¨¶ÔÏó£¬Ò²Äܵ÷ÓÃÕâ¸ö·½·¨¡£
ͨ¹ýstatic¾ÍÄÜʵÏÖÕâÑùÁ½¸öÄ¿µÄ£¬static¹Ø¼ü×Ö¿ÉÒÔÓÃÓÚÊôÐԺͷ½·¨¡£
ÏÂÃæÊÇThinking in javaÖжÔstaticµÄÒ»¶Î¾«±Ù²ûÊö¡£
µ±ÉùÃ÷Ò»¸öÊÂÎïÊÇstaticʱ£¬¾ÍÒâζ×ÅÕâ¸öÊý¾Ý»ò·½·¨²»»áÓë°üº¬ËüµÄÄǸöÀàµÄÈκζÔÏóʵÀý¹ØÁªÔÚÒ»Æð¡£ËùÒÔ£¬¼´Ê¹´Óδ´´½¨Ä³¸öÀàµÄÈκζÔÏó£¬Ò²¿ÉÒÔµ÷ÓÃÆästatic·½·¨»ò·ÃÎÊÆästaticÊý¾Ý¡£
Àý£º¶ÔÓÚ¾²Ì¬ÊôÐÔ
class StaticTest{ &nbs ......
transientÕâ¸ö¹Ø¼ü×Ö²¢²»³£¼û£¬Ö÷ÒªÓ¦ÓÃÔÚjavaµÄÐòÁл¯·½Ãæ¡£ÕâÀïÎÒÔÙ¶à˵£¬×ªÒ»ÆªÀÏÍâµÄÎÄÕ£¬ºÜÉú¶¯£¬ÐÀÉͰÉ
Be Careful With Transient Data
Java's serialization provides an elegant, and easy to use mechanism for making an object's state persistent. While controlling object serialization, we might have a particular object data member that we do not want the serialization mechanism to save.
To turn off serialization on a certain field of an object, we tag that field of the class of our object with the Java's "transient" keyword. This, to low-level parts of the Java virtual machine, is an indication that the transient variable is not part of the persistent state of an object.
First, let's have some backgrounder code with Java's serialization.
Suppose we define a class as:
public class LoggingInfo implements java.io.Serializable
{
private Date loggingDate = new Date();
private String uid;
private transient String pwd;
& ......