Feb 27

一、賦值(Assignment)
(1)對象本身存儲的對象引用(Object Reference);基本 Data Type(包括String)存儲的是實際數據。

二、關系運算符(Relational Operators)
(1)== 和 != 運算符所比較的是 Object Reference;
(2)除非被 Override,否則 equals() 缺省的行爲等同於 ==;

三、邏輯運算符(Logical Operators)
(1)有別於 C/C++,Java 中的 boolean 值不能用 non-boolean 值,如數字代替;(C/C++中非零值代表 true,零代表 false);
(2)短路式(Short-circuiting):當表達式的值已經可以判斷出真僞時,其評估便會結束,這意味著表達式某些部分可能不會被評估;

四、位運算符(Bitwise Operators)
(1)一元運算符
~:One’s complement,産生輸入位的反相;
(2)二元運算符
&:僅當兩個輸入位皆爲1時輸出才爲1;
|:任何一輸入位爲1輸出都爲1;
^:僅當一個輸入位爲1時結果爲1;(但不能同時爲1);

五、位移運算符(Shift Operator)
(1)<<:左移後較低位自動補 0;
(2)>>:右移時採用 Sign Extension,即當原值爲正時,較高位補零,否則補1;
(3)>>>:Zero Extension,無論原值正負,一律在較高位補零;
P.S. 位移運算僅用於基本整數類型(int/long)

六、String 上特殊的+
(1)如果表達式含 String,那操作數都必須爲 String(否則自動轉換)

//例:
int a = 0, b = 1;
String A = “abc”;
System.out.print(A + a + b);
//這裏 Complier 會將a和b轉化爲各自String的表達式 

七、字面常量(Literals)
(1)16進制:0x 或 0X 爲首,後接 0-9 或 a-f(不分大小寫);
(2)8進制:以 0 爲首,接 0-7;
(3)常量後添加:
L 或 l:long
F 或 f:float
D 或 d:double
(4)指數:常數 e 常數,如 1.35e-35f(e不分大小寫,爲10的次方,區別於自然對數基底);
P.S. Java/C/C++ 均不提供二進制表示法

八、晉昇(Promotion)
(1)表達式運算結果的類型,取決於表達式內最大的 Type。如 int 和 long 相加,結果爲 long;

九、break 和 continue
(1)break 會跳出循環,不再執行;
(2)continue 會停止當次迭代,不再執行剩餘部分而開始新的迭代過程;

十、標識符(labeled)
(1)labeled continue 加到的是 label 所在處重新進入 loop;
(2)labeled break 跳離的是 label 所描述的 loop;
P.S. label 使 break 和 continue 具備了越過一個以上的 Nested Level的能力

//例:
outer:
for(;;) {
    i++;
    if (i == 1) {
    continue outer;
    } else if(i > 1) {
    break outer;
    }
}

十一、switch
(1)switch 只接受 int 和 char;
(2)多個 case 可堆疊起來使用同一結果

//例:
switch(sth) {
    case ‘a’:
    case ‘b’:
    case ‘c’:
    System.out.print(”hello world”);
    break;
}
Feb 25

在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念.

Java概述:
目前Java主要应用于中间件的开发(middleware)—处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C++语法类似,C++/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出.

Java的白皮书为我们提出了Java语言的11个关键特性:
(1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb.

(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet.

(3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重继承的处理及Java的原类模型.

(4)健壮特性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能性。

(5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的比较好.

(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行.

(7)可移植性:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植性很好.

(8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一

(9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的.

基本概念:
(1)OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率.

(2)OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)

(3)封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)

(4)通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍.

(5)对象的3个主要特性
  behavior—说明这个对象能做什么.
  state—当对象施加方法时对象的反映.
  identity—与其他相似行为对象的区分标志.
  每个对象有唯一的indentity 而这3者之间相互影响.

(6)类之间的关系:
  use-a :依赖关系
  has-a :聚合关系
  is-a :继承关系–例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)

(7)构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化.
例:
Data类的构造器叫Data
  new Data()—构造一个新对象,且初始化当前时间.
  Data happyday=new
  Data()—把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用.
  构造器特点:构造器可以有0个,一个或多个参数
  构造器和类有相同的名字
  一个类可以有多个构造器
  构造器没有返回值
  构造器总是和new运算符一起使用.

(8)重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法.

(9)包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内.

(10)继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段.

(11)扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类).

(12)多态:在java中,对象变量是多态的.而java中不支持多重继承.

(13)动态绑定:调用对象方法的机制.
  (1)编译器检查对象声明的类型和方法名.
  (2)编译器检查方法调用的参数类型.
  (3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法.
  (4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本.
  (5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码.

(14)final类:为防止他人从你的类上派生新类,此类是不可扩展的.

(15)动态调用比静态调用花费的时间要长,

(16)抽象类:规定一个或多个抽象方法的类本身必须定义为abstract例: public abstract string getDescripition

(17)Java中的每一个类都是从Object类扩展而来的.

(18)object类中的equal和toString方法.equal用于测试一个对象是否同另一个对象相等.toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法)

(19)通用编程:任何类类型的所有值都可以同object类性的变量来代替.

(20)数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小.

(21)class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类.

(22)class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为 JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具.能够分析类能力的程序叫反射器,Java中提供此功能的包叫 Java.lang.reflect反射机制十分强大.
  1.在运行时分析类的能力.
  2.在运行时探察类的对象.
  3.实现通用数组操纵代码.
  4.提供方法对象.
  而此机制主要针对是工具者而不是应用及程序.
  反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
  java.lang.reflect.Field 返回字段.
  java.reflect.Method 返回方法.
  java.lang.reflect.Constructor 返回参数.
  方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案.

(23)接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface.

(24)接口不是一个类,而是对符合接口要求的类的一套规范.若实现一个接口需要2个步骤:
  1.声明类需要实现的指定接口.
  2.提供接口中的所有方法的定义.
  声明一个类实现一个接口需要使用implements 关键字class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.

(25)一个类只有一个超类,但一个类能实现多个接口.Java中的一个重要接口Cloneable

(26)接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法.例:ActionListener 接口监听.
类似的API有:
java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit

(27)对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它.

(28)内部类:一个内部类的定义是定义在另一个内部的类
  原因是:
  1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据
  2.对于同一个包中的其他类来说,内部类能够隐藏起来.
  3.匿名内部类可以很方便的定义回调.
  4.使用内部类可以非常方便的编写事件驱动程序.

(29)代理类(proxy):1.指定接口要求所有代码 2.object类定义的所有的方法(toString equals)

(30)数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型.

Feb 24

這是學者陈潭給于幼軍的一封信,寫得蠻好,值得一看。于幼軍現在是湖南省省委副書記兼副省長,前年從深圳去的,在深圳是市委書記兼代市長,是個江蘇人。時任湖南省長是周伯華,湘潭的,據說是除了說不了一口純正普通話外人還是挺不錯的,我也聽過他的訪問:)

于幼军博士:
近祺!
素未谋面,冒昧讨教,有点颤颤然。阁下虽贵为高级领导,然鄙人仍以“博士”这一代表着学识与学历的永恒称呼唤之,望谅!此种称呼可能部分原因缘于亲切、平等地自由对话,部分原因在于湖湘百姓对首位高学历者治省的期望,部分原因也在于“外人的珍贵”(相对于百姓所言的湖南“大染缸”而省外人士治省的优势),海涵吧?!

“湖广熟,天下足”乃古今流传,“惟楚有材,于斯为盛”乃千古传唱,可是“足天下而未能足自己”、“楚有材却晋在用”(“楚材晋用”)。此种说法说明,潜存丰富自然资源与人力资源的湖南并没有如同人们想象那样获得应有的预期发展。难道果如诸多学者所言湖南人天生就“长于政治军事而短于经济”吗?(鄙人在香港《二十一世纪》网络版12月号专文《湖湘文化与湖南区域政治传统论析》有过探讨)。

湖南地理位置虽地处内陆,可不好也不坏,但思维的塞顿、观念的封闭、行为的迟缓、团体的内耗使得“湘军”整体如蜗牛般盘行。实际上在很大的程度上,湖南今天发展的延迟是与资源整合的不力、行政体制的固化、政策创新的式微等等因素相关联的。由于掌握的信息有限,鄙人不敢对湖南发展的许多方面指指点点、说三道四。只不过想要说的是――湖南怎样走好自己的路,如何利用自身的优势更快更好地发展自己。湖南必须学习其他发达地区,但没有必要亦步亦趋、照抄照搬。中国很大,没有必要“一盘棋”建设、重复建设,但必须突出一个施地区发展的特色,这才是主要的。

湖南贵为“鱼米之乡”、农业大省,如何做大做强如“金健米业”、“隆平高科”、“亚华种业”品牌这篇文章仍然是主要的。而农业大省的米业、奶业、油业、畜业、菜业以及农业高科技就全国来说也未能称雄。拿油茶生产来说,鄙人出生地常宁乃联合国粮棉组织的科研基地,可如今油茶产量连年下降,有着 “油中之王”美誉的植物油――茶油遭遇尴尬,没有获得有关部门的相应重视。“洞庭”是一块农业的金字招牌,是一个对于策划界来说相当富有吸引力的概念,可是我们没有从概念上很好地利用它。

湖南乃“有色金属之乡”,有色金属是工业发展不可或缺的元素,但相当多的有色金属企业却在拖着湖南改革开放的后腿――欲进不行、欲罢不能。其实,就生产来说,企业是完全可以盈利的,但庞大的非生产性支出和冗员充斥使得许多企业挺不起腰板。企业行政化、企业社会化仍然没有得到根本的改变,企业市场化之路尚步履蹒跚。水口山、株冶、衡冶等企业还在还计划经济的债,他们拖着沉重的身躯不得已在十六届三中全会的感召下无赖地申请着“改制”。被动而非主动的改革姿态仍然是制约湖南经济社会发展的主要肇因。

湖南也是文化大省,虽然这些年来湖南的媒介多有动作,但相当多是“干打雷不下雨”,对湖南整体营销的广告效应依然有限(其中媒体的功能导向存在着偏执性缺陷),沉迷于娱乐节目而不顾其他,就像长沙被人誉为“脚都”(偏执于单一的休闲业发展)而短缺于其他服务业一样。号称“唯楚有材”的科技产业、文化产业看不出整体的优势,被外人看来强大无比的湖湘文化在全国的影响力却十分有限。学术界忙于出论文、出著作,却对湖南经济社会发展默默无闻,相当多的学者在“百花齐放、百家争鸣”的旗帜下进行着自己的“诠释学术”(甚至为着一句话进行解释再解释)而不去“田野作业”/调查研究。
鄙人无知,却有几个问题想求教于阁下:
(1)都市圈规划。未来湖南的发展肯定要突破行政区划的限制,走都市圈、经济圈发展的路子。湖南当下要抓紧建设的显然是现在热乎的长株潭都市圈,以后要规划的恐怕是环洞庭湖经济圈(以农业、石化等为支柱的岳阳、益阳、常德)、大湘西旅游经济圈(依托于旅游、酒业的张家界、吉首、怀化)、湘南经济圈(面向广东的湘南腹地衡阳、郴州、永州)。长株潭都市圈建设要突破的藩篱很多、要解决的问题也多。笔者认为,长沙、株洲、湘潭三市市长联席协调会议要经常化、制度化。不但要求三市区进行概念整合和规划协调,而且要强调周边的卫星城市也能参与,从而形成有效的“3+X”制度。许多人都觉得跨越三地其实几十分钟却代价昂贵(固定电话拨打长途等等),是不是在诸如通讯方面先期行动(如统一区号且升为8位)、公共资源可否公共使用(比如大型场馆建设就可以放在易家湾)、相向拓展区域可否考虑建立大学城(面向省内外知名大学招商、通过大学城拉动三城市的一体化)、明确三市工业发展的分工(以免重复建设)等等。

(2)产业的布局。湖南在烟草产业(“白沙”、“芙蓉王”)、重工产业(“远大空调”、“三一重工”、“中联重科”、“浦元机械”等)、白酒产业(“酒鬼”等)、软件产业(中科软件、创智软件、托普信息等)诸多方面享有优势。湖南是否明确继续做大做强上述产业?同时支持私有企业发展,加快国有企业的改制步划。此外在发展上,是否强调各个城市的“特色经济”、“块状经济”?如株洲作冶金、电机等,湘潭作钢铁、机电等,衡阳作电缆、冶金等,岳阳作石化、能源等,常德作烟草、米业等,张家界专作旅游、吉首专作酒城等。有个性才有特点,有特点才有魅力,有魅力才有未来!

(3)长沙的定位。长沙是湖南省会,代表湖南改革开放的形象。长沙的发展可以说是湖南发展的缩影,长沙的发展又辐射整个湖南的发展(特别是长株潭一体化的核心效应)。长沙的发展要放大到全国发展的区域位置上,不能眼睛向内。长沙的基础设施建设自张云川同志来了以后变化很快很大,但长沙的未来发展在全国什么位置我们不知道。长沙南有广州、北有武汉,地理上肯定会受到挤压,但挤压当中有挑战也有机遇,关键在于长沙自己的作为。当然长沙自己的特色也是广州、武汉所不能比肩的。长沙要作为“珠三角”与“长三角”的缓冲地带,避免“塌陷”,就只有挺起腰板走自己的路子来。今天的长沙实际上在制造着一轮又一轮的“泡沫消费”和“泡沫经济”,消费指数一直排在全国前列,而生产指数却落后于消费指数,这不得不令人深思。长沙在维护着旧有的“西文东市”格局,岳麓山大学城、湘江科技走廊、马坡岭农业科研园区等概念规划和实际作为乏力,今天的长沙在外人眼中简直就是“调侃+休闲”?!

(4)学术的作为。湖南学术界一直以来对于经济社会发展好像袖手旁观,这是典型的固步自封的做法和某些无用学术的表现。学术界的绝对寂静对于社会发展和学术自身并无益处。著名思想家湘籍祖先王夫之、魏源、曾国藩等均强调过“经世致用”之主张,但今日湖南学术却背离祖先之典言,对湖南自己的经济社会发展关注度不够。因之,鄙人有个粗浅的“策划”,那就是建立“湖南发展高层论坛”,以此为平台连通湖南政界、学界、业界,为湖南的发展献计献策。但鄙人想邀约阁下担任论坛主席,湖南省发改委也参与主办,其他高校以及湘籍学者能参与的基于湖南发展的大型交流平台,不知可否?具体工作可以交给学术界去做。

鄙人位卑,不图名、不图利,只是有时学习、调研时有点想法,顿觉有不吐不快之感。作为一个生于斯长于斯的青年学人来说,有一股为湖南摆脱落后局面的责任使命感和热血般的激情冲动。鄙人亦知阁下主政深圳时,百忙之中与网文作者“我为伊狂”的直接对话,令天下人皆知,但笔者并非也不愿制造某种不恰当的所谓“轰动”。阁下对深圳实行的“行政三分制”作出了莫大贡献,对于一个学习和研究公共政策的学人来说景仰万分。所学所思乃职业所然,上述建言是否有用,权当废纸。总之,请阁下批评指教!
冬安!

一个若有所思的湖南住民。

Feb 24

Barcelona

Yeah!Barcelona 2:1 完勝 Chelsea!

3個球都是Barcelona進的,幫助Chelsea進球的是Barcelona的Belletti,烏龍球:)
我猜到了結果,但沒有想到Chelsea這只英超領頭羊在巴薩面前居然像只業餘球隊似的。雖然在技術層面上暴發戶和巴薩的差距是挺大的,但這樣一面倒的局面卻是我沒有料到的。

暴發戶在上半場因爲體力的原因,還偶有踏入巴薩半場的機會,可到了下半場,除了一個半個因解圍而來的便宜,暴發戶就再也沒有一個通過自身組織起來的突破自己半場的機會了,可憐的孩子,嘿嘿~

曼聯被AC米蘭1:0幹掉了。

MD,我真的應該去買足彩的~

Feb 23

今晚有 Barcelona 的比賽,Yeah!
可是要三點半才開始的,Shit!

Chelsea 剛在足總杯掛掉,所以肯定是放開一切死磕巴薩的了,今晚的比賽一定精彩!
丫的,怎麽歐洲就是不在廣州或者郴州附近叻?:(
我決定開球前好好看看 Java。

晚上佳佳打電話來,比起剛到的那天哭得稀裏嘩啦的,今天的她似乎已經平伏了許多,心情還是不錯的嘛,就是小妮子想要吃地道湘菜的話好像還不太容易:)先祝福一下吧~

剛才央視有大兵的訪問,兩個字->曲折,感觸叻。不過有他以前和奇志的唱雙簧,笑S了~
P.S.大概沒多少人知道因相聲而大紅大紫的大兵竟然是出自師大音樂系的吧:)
長沙話+普通話的搭配不是他們發明的,可卻是因爲他們而家喻戶曉的,不過聽不懂長沙話的同志們就比較郁悶了,先來湖南混一陣吧:)