《java编程思想(第四版)》Word版下载
网页链接java编程思想第五版是Bruce Eckel编写的java学习名著,全球的java程序员推荐。
本书特点:适合初学者与专业人员的经典的面向对象叙述方式,为更新的Java SE5/6增加了新的示例和章节。
1、测验框架显示程序输出。
2、设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。
3、为数据传输引入了XML,为用户界面引入了SWT和Flash。
4、重新撰写了有关并发的章节,有助于读者掌握线程的相关知识。
5 、专门为第4版以及Java SE5/6重写了700多个编译文件中的500多个程序。
6、支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。
7、覆盖了所有基础知识,同时论述了高级特性。
8、详细地阐述了面向对象原理。
我没有任何计算机基础,想学java,真能学好吗?(以后想从事java方...
想学好就能学好, 我和你 一样, 2010十二月份的时候没有任何计算机基础: 不知道.txt格式的是什么, 不知道ctrl+c, ctrl+v, 不知道word是什么, 不知道怎么安装软件, 唯一知道的就是登录QQ, 用智能abc打字, 可以说基础绝对不比你现在好, 至少你知道百度提问, 然后我去旧书店买了一本谭浩强的c程序设计, 家里没有电脑, 我自己每天空闲的时候就端着小板凳到太阳底下去看书, 把所有的知识点仔仔细细的看完搞懂, 因为没有电脑, 那些代码我都是一行一行的看然后猜测他应该会怎么运行, 运行结果应该是什么, 遇到不懂的我就用手机把代码一个一个的敲上去, 发到我手机上唯一一个it技术群里去请教别人, 一般简简单单的十级行代码我要用手机敲上七八分钟, 有时候群里的人说麻烦你把代码格式化一下...2010年一个冬天我自学了c, 然后我就去网上下了马士兵的javase视频, 去网吧下到凌晨三四点, 用一个月的时间把那套视频看了两遍, 所有的习题也例子我都会在看完视频后手写一遍然后运行看结果, 看完视频后用UE写了个贪吃蛇, 那个贪吃蛇的bug调试了一个通宵, 因为是用UE和jdk, 编译错误就有几十个看完视频我买了thinking in java, 用一个月的时间看完了里面的大部分内容, 除了感觉里面比较冷门的两三章没看再后来我看了韩顺平的servlet和jsp视频, 学了jsp, servlet和mvc, 张孝祥的html, css, js, 韩顺平的jdbc, sqlserver, oracle, 再后来是王勇的drp项目, struts1, spring, hibernate, 马士兵的struts2, 还有一些电子书, head first 设计模式, 李刚的javaee轻量级开发, struts2权威指南等等我花了一年的时间自学这些东西, 现在上班也快一年了, 只要你有毅力和决心, 没有什么是不行 的, 别说自己学历低, 我是高中毕业, 别说自己英语差, 我英语从初一开始一直稳坐全班倒一的宝座, 说了这么多东西可能你都看不懂, 我只想说的是, 事在人为
4,Ithas
c是面向过程的。
很灵活,功能强大,但是它适用于编写操作系统软件。
比如在嵌入式系统中用c就很多。
c++是c的超集,也就是说c++包含c。
c++对c进行了扩充和发展。
为什么要有c++呢?是为了解决大型软体开发的需要。
也就是说c++是为了解决大型应用软件开发而对c进行的扩充。
主要是引进了面向对象的概念。
在c的结构体的基础上,提出了类的概念。
c++说简单点,就是多了个类。
java是面向对象的。
java开始出来的时候是想应用到嵌入式领域,但是发展到后来就逐渐在其它领域发展迅猛。
其实这三者同属一家。
c 和c++更是联系密切。
如果你在工程领域,比如单片机,嵌入式等。
你学好c就已经非常满足你的需求了。
如果你做软件开发(主要是应用软件,纯软件的,比如你想要开发一个软件管理系统,你要参与设计一个类似word的大型应用软件,呵呵),那么你就要学c++了。
毕竟现在如果不懂类的概念显得多么的落伍。
至于java。
上面的哥们说了,想快点入手没什么基础就学java 。
...
裁剪大tif格式文件的问题(java语言实现)
用c++实现的,先做一个对话框,一个按钮void CTifSliceDlg::OnButton1(){ IFH ifh; // 文件头 WORD ec; // 目录入口个数 DE *de1, *de2; // 源和目的文件的目录入口 DWORD nextIFD; // 下一个IFD偏移 DWORD offset, width, height; // 图像数据偏移、宽度、高度 UpdateData(); long m_x1 = m_x - m_size / 2; long m_x2 = m_x + m_size / 2 - 1; long m_y1 = m_y - m_size / 2; long m_y2 = m_y + m_size / 2 - 1; FILE *fp1 = fopen("D:/zxz/imagery.tif", "rb"); // 打开源图 FILE *fp2 = fopen("D:/zxz/" + m_filename + ".tif", "wb"); // 打开目标图 fseek(fp1, 0, SEEK_SET); fread(&ifh, sizeof(ifh), 1, fp1); // 读IFH if ((ifh.byteOrder == 0x4949) && (ifh.version == 0x2a)) // 判断字节顺序和版本是否有问题 { fseek(fp1, ifh.offsetToIFD, SEEK_SET); // 定位到IFD fread(&ec, 2, 1, fp1); // 读目录入口个数 de1 = new DE[ec]; de2 = new DE[ec]; fread(de1, sizeof(DE), ec, fp1); // 读所有目录入口 memcpy(de2, de1, sizeof(DE) * ec); // 复制为目标图的目录入口 fread(&nextIFD, 4, 1, fp1); // 读下一个IFD偏移 if (nextIFD == 0) // 为0表示没有下一个IFD { fwrite(&ifh, sizeof(ifh), 1, fp2); // IFH写入目标图 fwrite(&ec, 2, 1, fp2); // 目录入口个数写入目标图 for (int i = 0; i < ec; i++) { switch (de2[i].tag) { case 256: //宽度 de2[i].valueOffset = m_x2 - m_x1 + 1; // 修改目标图宽度 width = de1[i].valueOffset; // 取源图宽度 break; case 257: //高度 de2[i].valueOffset = m_y2 - m_y1 + 1; // 修改目标图高度度 height = de1[i].valueOffset; // 取源图高度 break; case 273: //图像数据偏移 offset = de2[i].valueOffset; // 取源图图像数据偏移 break; case 278: //图像数据行数 de2[i].valueOffset = m_y2 - m_y1 + 1; // 修改目标图图像数据行数 break; case 279: //图像数据字节数 de2[i].valueOffset = (m_x2 - m_x1 + 1) * (m_y2 - m_y1 + 1); // 修改目标图图像数据字节数 break; } } fwrite(de2, sizeof(DE), ec, fp2); // 将目录入口写入目标图 fwrite(&nextIFD, 4, 1, fp2); // 将下一个IFD偏移写入目标图 long curpos = ftell(fp1); char *buf = new char[offset - curpos]; fread(buf, offset - curpos, 1, fp1); // 读源图当前位置到图像数据之间的全部字节 fwrite(buf, offset - curpos, 1, fp2); // 写入目标图 delete[] buf; buf = new char[m_x2 - m_x1 + 1]; for (i = m_y1; i <= m_y2; i++) { fseek(fp1, offset + (i * width + m_x1), SEEK_SET); // 定位到图像第i行,m_x1处 fread(buf, m_x2 - m_x1 + 1, 1, fp1); // 读m_x1到m_x2之间的数据 fwrite(buf, m_x2 - m_x1 + 1, 1, fp2); // 写入目标图 } delete[] buf; } else { MessageBox("文件格式不正确!"); } delete[] de1; delete[] de2; } else { MessageBox("文件格式不正确!"); } fclose(fp1); fclose(fp2); MessageBox("切片成功!");}
一个高级java工程师需要具备什么能力和技术
展开全部 宏观方面 一、 JAVA。
要想成为JAVA(高级)工程师肯定要学习JAVA。
一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。
但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。
您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。
如果可能,希望您对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。
二、 设计模式。
其实写代码是很容易的事情,我相信您也有同感。
但如何写得好就比较难了。
这个“好”字包括代码可重用性,可维护性,可扩展性等。
如何写出好的代码往往要借助一些设计模式。
当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。
相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。
但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进? 三、 XML。
现在的系统中不使用XML几乎是不可能的。
XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。
因此您必须了解XML,包括它的语法,结构。
您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。
四、 精通使用一种或两种框架。
“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本”。
这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。
这样您在开发一个项目时思路会开阔一些,比如您会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。
五、 熟悉主流数据库。
其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。
所以为了更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。
如果您不是“科班”出身,您还需要补充一些数据库原理方面的知识。
六、 精通一种或两种WEBServer。
因为作为JAVA工程师,特别时想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它的资源,这往往可以节省很多时间和精力。
七、 UML。
您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。
在比较正规的开发团队中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但却很重要。
八、 站在高度分析问题: 这不是一个知识点,也不是通过书本就能学得到的。
只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而不是一个一般的软件工程师。
希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。
在最好在项目之初先在您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。
九、 工具。
您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对ROSE,Together要多了解一些,因为您要画UML了。
不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧 微观方面 1.Core Java部分 这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下: a.面向对象编程思想(封装继承多态接口) b.字符串处理 c.java.lang包,java.util包等常用包 d.java异常处理 2.Java高级部分 a.Java I/O流 b.Java多线程技术 c.Java网络编程 d.Java Swing 后两项可以了解即可,如果项目需要可以深入研究 3.前端基本技能 * HTML + CSS网页开发 * JavaScript * Jquery * 浏览器兼容性 CSS hack(了解) 4.熟练使用JSP + Servlet进行开发 5.MVC设计模式,原理,以及相关框架,如Struts 6.SSH框架 7.缓存技术 session & cookie 8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans) 9.熟练使用XML JDOM w3c.dom SAX 10.Java设计模式 工厂模式,单例模式 == 11.Java反射机制 反射的各种用法 12.了解或熟悉 C, C++, .NET 13.熟悉JDK的配置,环境变量 14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==) oracle:视图,索引,存储过程,触发器,游标,包,常用函数 == 15.数据库原理 事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案== 16.JDBC,连接池 17.Ajax,反向Ajax 18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理 19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编...
转载请注明出处51数据库 » java编程思想4 word