Java开发常识资料

 
一、Java基础
JSE 核心基础(程序设计语言):
        《Think in java》 (参考阅读:《Core Java》JAVA2核心技术第1卷.基础知识) 阅读
        《Effective java第二版》

集合容器主题:util包
       各种数据结构和算法

多线程主题:concurrent包
    《Concurrent Programming in Java》《JAVA并发编程实践》
    《Java Concurrency in Practice》
    《The Java Language Specification, Third Edition》第17章

网络与IO主题:io/nio/net Mina RMI WebService
    《Java TCP/IP Socket编程》                               阅读
        《Fundamental networking in java》
    《Java网络编程(中文版 第三版)(O'Reilly Java系列)》
    《Java NIO》
二、企业级架构
企业应用框架主题:
         Spring+Hibernate+Struts+依赖的相关基础库(三种连接池)

数据库主题(数据库原理):
      SQL/Hibernate 《SQL语言艺术》
      MySQL:  《高性能MySQL》《MySQL性能调优与架构设计》
      Oracle: 《Oracle 9i & 10g编程艺术》《Oracle 10g数据库管理艺术》《Oracle性能诊断艺术》

JVM主题(编译原理):
        《深入理解Java虚拟机 JVM高级特性与最佳实践》-初级 1遍 阅读
        《深入Java虚拟机(原书第2版)》
        《The Java Language Specification, Third Edition》 http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
        《The JavaTM Virtual Machine Specification,Second Edition》 http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html

OS主题(操作系统概念):
        《Unix编程艺术》
        《鸟哥私房菜Linux》

三、工具研究:
         MyEclipse + Tomcat
   各种架构:架构模式/设计模式
     各个著名网站系统等架构研习
   课题:
     研究Mina/Xsocket/Tomcat框架设计原理及代码实现
     思考如何编写高性能TCP/UDP服务器和客户端系统?(基于并限于:NIO + 多线程 + Reactor)
   参考:
四、模式与设计
    2、《设计模式精解》,应该有最新版,个人认为更适合入门。
    1、《设计模式》,GOF的经典。
    3、《Head first设计模式》,更轻松的入门读物。
    4、《企业应用架构模式》
    5、《分析模式——可复用对象模型》
    6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
    7、《重构——改善既有代码设计》,想写好代码必读。
    8、《重构与模式》

五、方法论
    1、《敏捷软件开发》
    2、《测试驱动开发》,你不一定要TDD,但是你一定要学会做单元测试。
    3、《Agile Java》,也可以作为java入门读物。
    4、《快速软件开发》
    5、《面向对象分析与设计》,OO设计必读。
    6、《Unix编程艺术》,打开你的眼界。

六、Java之外
    1、《unix网络编程》,学习网络编程必读书。
    2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
    3、《Joel说软件》,编程文化
    4、《人月神话》、《人件》
    5、《卓有成效的程序员》,给我很大启发的一本书。
    6、《程序员修炼之道》
    7、《计算机程序的构造与解释》,必读
    8、《算法导论》,可以作为参考书
    9、《深入理解计算机系统》

10、《编译原理》龙书,最新版用java解释

Java开发资料汇编的更多相关文章

  1. windows下java开发资料汇总

    开发环境搭建:   (1) java开发环境配置    (2) maven环境快速搭建        项目部署:   (1) Eclipse中项目部署方法   (2) 使用Eclipse构建Maven ...

  2. 资料汇总--java开发程序员必备技能

    1.  熟练使用Java语言进行面向对象程序设计(面向对象:继承.多态.抽象): 有良好的编程习惯(阿里开发手册  链接:http://pan.baidu.com/s/1dFEA6cT 密码:kqj4 ...

  3. 《Java开发学习大纲文档》V7.0

    <Java开发学习大纲文档>V7.0简介: 本文档是根据企业开发所需要掌握的知识点大纲进行总结汇编,是Java开发工程师必备知识体系,系统化学习针对性非常强,逻辑分析能力非常清晰;技术方面 ...

  4. java开发,入职半年。对未来迷茫,如何发展?

    蛮多人私密我一些问题,关于面试,关于技术的,我只能说有些路只能靠自己去走,没人可以帮到自己,哪怕偶尔帮一到两次,但是技术的路这么长,总归需要自己独自成长的.附一张自己藏书的照片,与各位共勉 工作三年多 ...

  5. Java开发的基础条件:

    ------------Java开发的基础条件:Java相关的基础+对编程的自己的理解+调试代码+自己的坚持 一定要谦逊,不人云亦云,不去妄言某一门语言或技术好或坏!不是哪门技术有问题,而是(不会用才 ...

  6. 20145205 实验一 Java开发环境的熟悉

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

  7. 使用Java开发高性能网站需要关注的那些事儿

    无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...

  8. 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境

    写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...

  9. Unit01: JAVA开发环境案例

    Top JAVA Fundamental DAY01 JDK及Eclipse目录结构操作 JDK的安装及配置 控制台版的JAVA HelloWorld 使用Eclipse开发Java应用程序 1 JD ...

随机推荐

  1. 【统计分析】ROC曲线

    http://baike.baidu.com/link?url=O8nVf39qW4UpYAegk9cJfYARCFDg8YHQ6p5wFnWxYvo151doXo-WvG5Rfz0j4R-r 受试者 ...

  2. 【Raspberry pi】GPIO注意事项

    1.GPIO编码的方法 第三列是树莓派板子上的自然编号(左边引脚为1-15,右边引脚为2-26),RPi.GPIO.setmode(GPIO.BOARD)采用这列编号 树莓派主芯片提供商Broadco ...

  3. js数组的方法

    arrayObject.join(separator) 将数组以separator字符为间隔转化为字符串并返回,如果不传,默认为逗号.此方法不会改变原数组 let arr = [1,2,3]; arr ...

  4. Web的本质以及第一个Django实例.

       Web框架的本质:    所有的Web应用本质上就是一个socket服务器, 而用户的浏览器就是一个socket客户端. import socket sk = socket.socket() s ...

  5. ubuntu设置开机启动脚本

    rc.local脚本 rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #! ...

  6. FineReport---数据集

    三.文本数据集 文本数据集,就是指数据源是一系列的文本文件,而我们就是要将这些文件作为数据来源,用FineReport来呈现这些数据,并做相应的数据分析. 1)TXT 2)EXCEL 3) 动态的Ex ...

  7. c++用vector创建二维数组

    1 vector二维数组的创建和初始化 std::vector <int> vec(10,90); //将10个一维动态数组初始为90std::vector<std::vector& ...

  8. java 日期的格式化 输入/输出

    想要得到形如2018.07.09的格式化好的当天日期 创建Date对象,调用SimpleDateFormat对象的format方法: indexstr="logstash-"+ne ...

  9. 我的Android进阶之旅------>Android studio 如何修改工程的包名

    关于用Android Studio修改Android APP的应用包名的问题,今天遇到了一个坑,这里记录一下. 这里用一个简单的Demo来展示在Android Studio中如何修改Android P ...

  10. TypeScript学习笔记—数据类型

    TypeScript 数据类型 Boolean 类型 let isDone: boolean = false; // tsc => var isDone = false; Number 类型 l ...