【传奇合击版本源码】【共享单车源码】【绝地求生源码】WFC源码

时间:2024-11-20 21:43:11 来源:京东抢购手机 源码 分类:焦点

1.golang读取超大excel?
2.import com.ms.wfc.app.*;
3.JAVA语言的历史?
4.一个好的程序员至少应该具备哪些条件?

WFC源码

golang读取超大excel?

       Golang-tealeg/xlsx操作excel文件

       å‚见?

       å†™è¡¨æ—¶åœ¨å¾ªçŽ¯ä¸­çš„cell

       åº”该新声明的变量varcell1*xlsx.Cell吧

       ç„¶åŽä¸‹é¢ç”¨cell1变量写值

       ä¸ç„¶å¥½åƒå†™ä¸è¿›åŽ»

       ä½¿ç”¨çš„方法:sheet.SetColWidth(1,1,.0)

       //Setthewidthofarangeofcolumns.

       //min开始的列,max结束的列

       //eg:(1,1,)第一行设置为

       //?(1,3,)第一行到第三行设置为

       //通过设置多条,达到设置全部列的宽度的目的

       func(s*Sheet)SetColWidth(min,maxint,widthfloat)

       å¦‚

golang怎么通过数据流直接生成excel上传至oss

       importjava.io.*;importjxl.*;…………try{ //构建Workbook对象,只读Workbook对象//直接从本地文件创建Workbook//从输入流创建WorkbookInputStreamis=newFileInputStream(sourcefile);jxl.Workbookrwb=Workbook.getWorkbook(is);}catch(Exceptione){ e.printStackTrace();}一旦创建了Workbook,我们就可以通过它来访问ExcelSheet(术语:工作表)。参考下面的代码片段://获取第一张Sheet表Sheetrs=rwb.getSheet(0);我们既可能通过Sheet的名称来访问它,也可以通过下标来访问它。如果通过下标来访问的话,要注意的一点是下标从0开始,就像数组一样。一旦得到了Sheet,我们就可以通过它来访问ExcelCell(术语:单元格)。参考下面的代码片段://获取第一行,第一列的值Cellc=rs.getCell(0,0);Stringstrc=c.getContents();//获取第一行,第二列的值Cellc=rs.getCell(1,0);Stringstrc=c.getContents();//获取第二行,第二列的值Cellc=rs.getCell(1,1);Stringstrc=c.getContents();System.out.println("Cell(0,0)"+"value:"+strc+";type:"+c.getType());System.out.println("Cell(1,0)"+"value:"+strc+";type:"+c.getType());System.out.println("Cell(1,1)"+"value:"+strc+";type:"+c.getType());如果仅仅是取得Cell的值,我们可以方便地通过getContents()方法,它可以将任何类型的Cell值都作为一个字符串返回。示例代码中Cell(0,0)是文本型,Cell(1,0)是数字型,Cell(1,1)是日期型,通过getContents(),三种类型的返回值都是字符型。如果有需要知道Cell内容的确切类型,API也提供了一系列的方法。参考下面的代码片段:Stringstrc=null;doublestrc=0.;Datestrc=null;Cellc=rs.getCell(0,0);Cellc=rs.getCell(1,0);Cellc=rs.getCell(1,1);if(c.getType()==CellType.LABEL){ LabelCelllabelc=(LabelCell)c;strc=labelc.getString();}if(c.getType()==CellType.NUMBER){ NmberCellnumc=(NumberCell)c;strc=numc.getValue();}if(c.getType()==CellType.DATE){ DateCelldatec=(DateCell)c;strc=datec.getDate();}System.out.println("Cell(0,0)"+"value:"+strc+";type:"+c.getType());System.out.println("Cell(1,0)"+"value:"+strc+";type:"+c.getType());System.out.println("Cell(1,1)"+"value:"+strc+";type:"+c.getType());在得到Cell对象后,通过getType()方法可以获得该单元格的类型,然后与API提供的基本类型相匹配,强制转换成相应的类型,最后调用相应的取值方法getXXX(),就可以得到确定类型的值。API提供了以下基本类型,与Excel的数据格式相对应,如下图所示:每种类型的具体意义,请参见JavaExcelAPIDocument。当你完成对Excel电子表格数据的处理后,一定要使用close()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。参考如下代码片段://操作完成时,关闭对象,释放占用的内存空间rwb.close();JavaExcelAPI提供了许多访问Excel数据表的方法,在这里我只简要地介绍几个常用的方法,其它的方法请参考附录中的JavaExcelAPIDocument。?Workbook类提供的方法1.intgetNumberOfSheets()获得工作薄(Workbook)中工作表(Sheet)的个数,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));intsheets=rwb.getNumberOfSheets();2.Sheet[]getSheets()返回工作薄(Workbook)中工作表(Sheet)对象数组,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));Sheet[]sheets=rwb.getSheets();3.StringgetVersion()返回正在使用的API的版本号,好像是没什么太大的作用。jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));StringapiVersion=rwb.getVersion();?Sheet接口提供的方法1.StringgetName()获取Sheet的名称,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);StringsheetName=rs.getName();2.intgetColumns()获取Sheet表中所包含的总列数,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);intrsColumns=rs.getColumns();3.Cell[]getColumn(intcolumn)获取某一列的所有单元格,返回的是单元格对象数组,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);Cell[]cell=rs.getColumn(0);4.intgetRows()获取Sheet表中所包含的总行数,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);intrsRows=rs.getRows();5.Cell[]getRow(introw)获取某一行的所有单元格,返回的是单元格对象数组,示例子:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);Cell[]cell=rs.getRow(0);6.CellgetCell(intcolumn,introw)获取指定单元格的对象引用,需要注意的是它的两个参数,第一个是列数,第二个是行数,这与通常的行、列组合有些不同。jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));jxl.Sheetrs=rwb.getSheet(0);Cellcell=rs.getCell(0,0);生成新的Excel工作薄下面的代码主要是向大家介绍如何生成简单的Excel工作表,在这里单元格的内容是不带任何修饰的(如:字体,颜色等等),所有的内容都作为字符串写入。(完整代码见ExcelWriting.java)与读取Excel工作表相似,首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象,这里要注意的是,只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,因为类WritableWorkbook的构造函数为protected类型。示例代码片段如下:importjava.io.*;importjxl.*;importjxl.write.*;…………try{ //构建Workbook对象,只读Workbook对象//Method1:创建可写入的Excel工作薄jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(newFile(targetfile));//Method2:将WritableWorkbook直接写入到输出流/*OutputStreamos=newFileOutputStream(targetfile);jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(os);*/}catch(Exceptione){ e.printStackTrace();}API提供了两种方式来处理可写入的输出流,一种是直接生成本地文件,如果文件名不带全路径的话,缺省的文件会定位在当前目录,如果文件名带有全路径的话,则生成的Excel文件则会定位在相应的目录;另外一种是将Excel对象直接写入到输出流,例如:用户通过浏览器来访问Web服务器,如果HTTP头设置正确的话,浏览器自动调用客户端的Excel应用程序,来显示动态生成的Excel电子表格。接下来就是要创建工作表,创建工作表的方法与创建工作薄的方法几乎一样,同样是通过工厂模式方法获得相应的对象,该方法需要两个参数,一个是工作表的名称,另一个是工作表在工作薄中的位置,参考下面的代码片段://创建Excel工作表jxl.write.WritableSheetws=wwb.createSheet("TestSheet1",0);"这锅也支好了,材料也准备齐全了,可以开始下锅了!",现在要做的只是实例化API所提供的Excel基本数据类型,并将它们添加到工作表中就可以了,参考下面的代码片段://1.添加Label对象jxl.write.LabellabelC=newjxl.write.Label(0,0,"ThisisaLabelcell");ws.addCell(labelC);//添加带有字型Formatting的对象jxl.write.WritableFontwf=newjxl.write.WritableFont(WritableFont.TIMES,,WritableFont.BOLD,true);jxl.write.WritableCellFormatwcfF=newjxl.write.WritableCellFormat(wf);jxl.write.LabellabelCF=newjxl.write.Label(1,0,"ThisisaLabelCell",wcfF);ws.addCell(labelCF);//添加带有字体颜色Formatting的对象jxl.write.WritableFontwfc=newjxl.write.WritableFont(WritableFont.ARIAL,,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);jxl.write.WritableCellFormatwcfFC=newjxl.write.WritableCellFormat(wfc);jxl.write.LabellabelCFC=newjxl.write.Label(1,0,"ThisisaLabelCell",wcfFC);ws.addCell(labelCF);//2.添加Number对象jxl.write.NumberlabelN=newjxl.write.Number(0,1,3.);ws.addCell(labelN);//添加带有formatting的Number对象jxl.write.NumberFormatnf=newjxl.write.NumberFormat("#.##");jxl.write.WritableCellFormatwcfN=newjxl.write.WritableCellFormat(nf);jxl.write.NumberlabelNF=newjxl.write.Number(1,1,3.,wcfN);ws.addCell(labelNF);//3.添加Boolean对象jxl.write.BooleanlabelB=newjxl.write.Boolean(0,2,false);ws.addCell(labelB);//4.添加DateTime对象jxl.write.DateTimelabelDT=newjxl.write.DateTime(0,3,newjava.util.Date());ws.addCell(labelDT);//添加带有formatting的DateFormat对象jxl.write.DateFormatdf=newjxl.write.DateFormat("ddMMyyyyhh:mm:ss");jxl.write.WritableCellFormatwcfDF=newjxl.write.WritableCellFormat(df);jxl.write.DateTimelabelDTF=newjxl.write.DateTime(1,3,newjava.util.Date(),wcfDF);ws.addCell(labelDTF);这里有两点大家要引起大家的注意。第一点,在构造单元格时,单元格在工作表中的位置就已经确定了。一旦创建后,单元格的位置是不能够变更的,尽管单元格的内容是可以改变的。第二点,单元格的定位是按照下面这样的规律(column,row),而且下标都是从0开始,例如,A1被存储在(0,0),B1被存储在(1,0)。最后,不要忘记关闭打开的Excel工作薄对象,以释放占用的内存,参见下面的代码片段://写入Exel工作表wwb.write();//关闭Excel工作薄对象wwb.close();这可能与读取Excel文件的操作有少少不同,在关闭Excel对象之前,你必须要先调用write()方法,因为先前的操作都是存储在缓存中的,所以要通过该方法将操作的内容保存在文件中。如果你先关闭了Excel对象,那么只能得到一张空的工作薄了。拷贝、更新Excel工作薄接下来简要介绍一下如何更新一个已经存在的工作薄,主要是下面二步操作,第一步是构造只读的Excel工作薄,第二步是利用已经创建的Excel工作薄创建新的可写入的Excel工作薄,参考下面的代码片段:(完整代码见ExcelModifying.java)//创建只读的Excel工作薄的对象jxl.Workbookrw=jxl.Workbook.getWorkbook(newFile(sourcefile));//创建可写入的Excel工作薄对象jxl.write.WritableWorkbookwwb=Workbook.createWorkbook(newFile(targetfile),rw);//读取第一张工作表jxl.write.WritableSheetws=wwb.getSheet(0);//获得第一个单元格对象jxl.write.WritableCellwc=ws.getWritableCell(0,0);//判断单元格的类型,做出相应的转化if(wc.getType()==CellType.LABEL){ Labell=(Label)wc;l.setString("Thevaluehasbeenmodified.");}//写入Excel对象wwb.write();//关闭可写入的Excel对象wwb.close();//关闭只读的Excel对象rw.close();之所以使用这种方式构建Excel对象,完全是因为效率的原因,因为上面的示例才是API的主要应用。为了提高性能,在读取工作表时,与数据相关的一些输出信息,所有的格式信息,如:字体、颜色等等,是不被处理的,因为我们的目的是获得行数据的值,既使没有了修饰,也不会对行数据的值产生什么影响。唯一的不利之处就是,在内存中会同时保存两个同样的工作表,这样当工作表体积比较大时,会占用相当大的内存,但现在好像内存的大小并不是什么关键因素了。一旦获得了可写入的工作表对象,我们就可以对单元格对象进行更新的操作了,在这里我们不必调用API提供的add()方法,因为单元格已经于工作表当中,所以我们只需要调用相应的setXXX()方法,就可以完成更新的操作了。尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,以使单元格的内容以不同的形式表现。新生成的工作表对象是可写入的,我们除了更新原有的单元格外,还可以添加新的单元格到工作表中,这与示例2的操作是完全一样的。最后,不要忘记调用write()方法,将更新的内容写入到文件中,然后关闭工作薄对象,这里有两个工作薄对象要关闭,一个是只读的,另外一个是可写入的。小结本文只是对JavaExcelAPI中常用的方法作了介绍,要想更详尽地了解API,请大家参考API文档,或源代码。JavaExcelAPI是一个开放源码项目,请大家关注它的最新进展,有兴趣的朋友也可以申请加入这个项目,或者是提出宝贵的意见。

Golang操作xlsx文件

       github.com/cuishu/excel是用来辅助操作xlsx文件的库,实现了xlsx文件和go对象的映射,使操作xlsx文件如同操作go对象一样简单。

       ä¾èµ–github.com/EntSecGroup-Skylar/excelize/v2

       excel文件的第一行必须和Gostruct的tag一致

       Forexample

       æ–°å»ºä¸€ä¸ªæ–‡ä»¶ï¼Œåä¸ºa.xlsx

       Sheet1结构如下

       è¯»å–Sheet

       å°†goslice写入excel文件

       æ”¯æŒçš„数据类型

       å¦‚果文件有不止一个Sheet,应该使用一个结构来映射它们。

       ä¾‹

       æ‚¨å¯ä»¥ä½¿ç”¨è‡ªå®šä¹‰ç±»åž‹æ¥å®žçŽ°MarshalXLSX和UnmarshalXLSX来实现类型转换。

       ä¾‹

import com.ms.wfc.app.*;

       éšç€ Visual J++reg; 6.0 数年前的发行,Java 程序员可以使用一个称为 Windows 基础类 (WFC) 的库来提供更为丰富的用户界面。此库还为后端编程访问硬件和其他外部接口提供了更为强大的功能,使 Java 程序员可以获得更高的生产率并缩短产品投放市场的时间。

       WFC 体系结构

        WFC 库是一组软件包。这些软件包包括一个或多个类,这些类将方法和功能组织成有用的组。下表中包含了一些较为重要的软件包的汇总。

        软件包名称 软件包功能

        com.ms.wfc.app 支持应用程序操作(例如线程)。

        com.ms.wfc.core 提供 WFC 类的基础(例如组件和事件)。

        com.ms.wfc.data 访问 ActiveX 数据对象和数据格式。

        com.ms.wfc.data.ui 实现和支持数据绑定控件。

        com.ms.wfc.html 通过对象模型访问动态 HTML 元素。

        com.ms.wfc.io 提供用于文件和数据流的类。

        com.ms.wfc.ui 提供用户界面组件的类。

        com.ms.wfc.util 包括各种实用程序(例如数据转换)。

        com.ms.wfc.ui.Pen、

        com.ms.wfc.ui.Brush 等等 用于利用各种绘图工具的类(例如笔)。

        在上表提到的软件包中有三个值得特别留意。com.ms.wfc.ui 软件包可以提供用户界面。此软件包包含窗体和标准控件(例如按钮、文本框和标签)。另一个重要的软件包是 com.ms.wfc.data。当某个程序使用此软件包内的类时,该应用程序可以方便地访问数据库(例如 Microsoft Access 和 Microsoft SQL Server)。另一个对应用程序程序员有用的软件包是 com.ms.wfc.html。此软件包包含允许 Web 服务器和组件从结构化的、编译的 Java 语言源代码中以编程方式生成 Web 页界面的类。

JAVA语言的历史?

       Java从诞生至今,只有年左右了,和C,C++这些老大哥比起来年轻了很多,哲学上说任何事物的产生都是必然的,Java也不例外了,Internet的迅猛发展导致了Java的迅猛发展,那句成语是怎么说来着,水涨船高,Java自然成为网络世界最受欢迎的语言了,当然Java的发展另一方面也是长期在微软压迫下的软件世界的反抗了,McNealy,Sun的CEO、总裁兼董事长。他曾经狂傲的说:“摧毁微软是我们每个人的任务。”这位英勇的硅谷英雄,似乎带头起义,试图组织一个反微软阵线联盟,以对抗微软这股庞大的托拉斯恶势力。他时常口出惊人之语,在公开场合大肆的批评微软,并曾经说微软的.NET是.NOT;

       1.Java的产生

       Java来自于Sun公司的一个叫Green的项目, 其原先的目的是为家用消费电 子产品开发一个分布式代码系统, 这样我们可以把E-mail发给电冰箱、 电视机等家用电器, 对它们进行控制, 和它们进行信息交流。开始, 准备采用C++,但C++太 复杂, 安全性差, 最后基于C++开发一种新的语言Oak(Java的前身), Oak是一种用于网络的 精巧而安全的语言, Sun公司曾依此投标一个交互式电视项目, 但结果是被SGI打败。 可怜的Oak几乎无家可归, 恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项 目组成员, 他们用Java编制了HotJava浏览器, 得到了Sun公司首席执行官Scott McNealy的 支持, 触发了Java进军Internet。 Java的取名也有一些趣闻, 有一天, 几位Java成员组的 会员正在讨论给这个新的语言取什么名字, 当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一 个人灵机一动说就叫Java怎样, 得到了其他人的赞赏, 于是, Java这个名字就这样传开了 。

        2.Java的历史:å¹´5月日,Java语言诞生

       å¹´1月,第一个JDK-JDK1.0诞生

       å¹´4月,个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

       å¹´9月,约8.3万个网页应用了JAVA技术来制作

       å¹´2月日,JDK1.1发布

       å¹´4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

       å¹´9月,JavaDeveloperConnection社区成员超过十万

       å¹´2月,JDK1.1被下载超过2,,次

       å¹´æœˆ8日,JAVA2企业平台J2EE发布

       å¹´6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)

       å¹´5月8日,JDK1.3发布

       å¹´5月日,JDK1.4发布

       å¹´6月5日,NOKIA宣布,到年将出售1亿部支持Java的手机

       å¹´9月日,J2EE1.3发布

       å¹´2月日,J2SE1.4发布,自此Java的计算能力有了大幅提升

       å¹´9月日:PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 题外话:1.微软与Sun的纠纷Java诞生的年,正是微软在软件产业地位达到巅峰的时代,Windows 发布时的风光场面给人们留下的深刻印象至今难忘。尽管如此,作为最卓越的技术领袖,比尔?盖茨仍然敏锐地注意到Java。当他了解了Java的一些细节之后,给予了这样的评价:“Java是很长时间以来最优秀的程序设计语言。”基于此,微软于年3月申请并获得了Java许可证。微软对于Java的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁性。

       æžœç„¶ï¼Œä»Žå¹´å‘布Visual J++的第一个版本开始,微软就开始在Java中掺入自己的私有扩展。这毫无疑问引起Sun的高度重视。年月,Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。这一官司旷日持久,直到年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的现有产品(包括测试版)。不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许可。到了年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET平台与Java分庭抗礼。

       çŽ°åœ¨å›žè¿‡å¤´åŽ»çœ‹ï¼Œå½“时的这一场官司对Java世界产生了深远的影响。如果没有这一场官司,也许很多Java程序员都在使用Visual J++,基于WFC开发Windows客户端程序,同时不得不面对被两个不同的事实标准所分裂的Java世界,/*个人评论,请勿引用个人看来微软果然老奸巨猾,产品不怎么样,但是打击对手的本领却是一般的公司难以做到的,VJ++这一招厉害,让原来的很多Java程序员改行用C#了,真他妈厉害,这一点上真的很佩服,比尔也不是图有虚名的,一个字:牛!!微软当然知道自己理亏嘛,结果肯定赔点钱了事,不过目的已经达到,赔点钱无所谓,反正有的是钱嘛,*/å¹´4月2 日,Sun与微软达成亿美元的法律和解。如果不是晚了一天,许多人会以为这是一个在4月1日愚人节开的玩笑。尽管当时所有人都像是看到“太阳从西边出来了”那样张大了嘴巴,但这的确是事实。

       æ ¹æ®ä¸¤å®¶å…¬å¸è¾¾æˆçš„版权协议,双方会为采用对方的技术而支付专利费用,微软向Sun提前支付3.5亿美元使用费,Sun则承诺,如果Sun集成微软的某些技术,也会向微软付款。

       æ¯«æ— ç–‘问,“私下了结”的方式对双方而言都是最好的结果。就在协议签署的当天,在美国旧金山由Sun和微软为“抛弃十年恩怨、携手合作“举行的新闻发布会上,尽管比尔.盖茨没有到场,但这并没有防碍现场看起来异常轻松的气氛。麦克尼利和鲍尔默各自穿了一件密歇根州底特律“Red Wings”曲棍球队的运动服,并谈及了一起在哈佛大学读书的经历,麦克尼利还说:“当时我们两人是非常要好的朋友,当然我们也有吵架的时候。”人与人当然可能成为终生的知己,但是公司与公司之间有的只能是利益上的分分合合。 2.James Gosling

        Java之父(不怎么喜欢这样的称呼,老土,不过人比较猥琐吧,呵呵,大师都比较猥琐吧); 作为Java之父,James Gosling的名字可谓是耳熟能详。当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上。Java做为中国的编程语言学习者餐桌上有限的那么几样餐点中的流行款式,自然是让James Gosling风光不已。虽然James Gosling现在已经不是领导Java发展潮流的领军人物了,做为Sun的开发者产品组的CTO,怎么算来也是身居高位了,俗事缠身吧,但是这并不妨碍其对于Java一如既往的爱护,表达着各式各样鲜明的观点,引发一场又一场的争论。

       James Gosling是很爱Java的——是啊,哪有当父母的不爱自己的孩子的呢。James Gosling也是很爱Sun的——是啊,哪有当领导的不爱自己的公司的呢。于是我们在批评.NET的安全性的队伍前头,在褒扬Java性能的队伍前头,在抨击SWT开倒车的队伍前头,在给NetBeans大唱赞歌的队伍前头,我们都看到了James Gosling的身影。无论对错、偏见或者固执,至少说明了Gosling的鲜明个性丝毫没有受到年龄的影响。也许也只有这种天才而偏执的人物才能创造出Java这般伟大的语言来吧 本文来自CSDN博客,出处: /iexploiter/posts/.aspx

       Artima上有Anders谈C#的系列访谈。MSDN上有一段Anders导游的传奇合击版本源码录像 。有兴趣可以去看

       看牛人的共享单车源码丰采。

绝地求生源码