链接:https://zhuanlan.zhihu.com/p/35532056
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
云栖君导读:Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。而且目前而言,就连能够扛过“双11”的淘宝、天猫的底层架构也是Java实现的,注意这样的高峰流量是世界罕见的,就算是亚马逊的“黑色星期五”也不会有这样巨大的流量,这就足以说明Java的强大,这也是阿里被称为“Java光明顶”的原因。
Java其实非常易于学习和理解,面向对象而且比C++简单,调试也非常简单,稍微动动手就可以实现一个小功能。而对于大多数同学而言,走进Java的大门非常简单,但是当入门之后,我处于什么地方?应该往哪个方向走?应该怎么走?可能就成为了困扰大家的难题。
阿里云大学中为大家整理了Java学习的路线图,这个路线图主要分为三部曲:Java零基础入门、Java面向对象开发、Java高级开发。
学习地址:http://click.aliyun.com/m/45698/
而本文中也同样为大家整理了Java学习的相关干货,希望能够帮助到在Java海洋中学习的你!
一、Java基础知识入门
1、Java API文档中文版
摘要:Sun 公司提供的Java API Docs是学习和使用Java语言中最经常使用的参考资料之一。目前Sun 公司正在组织多方力量将此文档翻译成中文,并于2005年10月31日在Sun 中国技术社区(http://gceclub.sun.com.cn/)正式发布第一批中文版Java API文档(包括java.lang和java.util类库API 文档的中文版)。
阅读地址:http://click.aliyun.com/m/45656/
2、Java与咖啡豆 - Java命名由来
摘要: 2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻。从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖啡机煮制的免费咖啡。
阅读地址:http://click.aliyun.com/m/45657/
3、JDK环境变量与Java简单语法介绍
阅读地址:http://click.aliyun.com/m/45658/
4、几点Java程序必须满足的基本规则
摘要:Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位。Java程序不允许可执行性语句、方法等成分独立存在,所有的程序部分都必须放在类定义里。
阅读地址:http://click.aliyun.com/m/45659/
5、Java/JDK安装教程手册(正规图文全流程)、运行、环境配置
阅读地址:http://click.aliyun.com/m/45660/
6、给予Java初学者的一些建议
摘要:在开始学习Java的时候,我们需要找基础教程学一下,多看一些相应的视频去钻研。学习Java基础的时候,应该尽量多动手尝试,很多时候你想当然的事情,等你写出来运行一下,你就会发现并没有那么简单。
阅读地址:http://click.aliyun.com/m/45661/
7、Java后端工程师学习大纲
摘要:对于一些还没有入门或者刚刚入门的Java后端工程师,如果一下子需要学习如此多的知识,想必很多人会望而却步。本文截取了技能树中的一些关键技能点,并辅以学习资料和书籍推荐,做为Java后端工程师的一个入门或者入职学习计划,基本上涵盖了一个合格的Java后端工程师必备的技能点,是一个相对完整的从基础到高级的修炼过程。
阅读地址:http://click.aliyun.com/m/45662/
8、Java和JDK版本的关系
摘要:经常看到各类文章中出现jdk1.5或者Java5,其实这都是指的同一个东西。 Java的版本最开始是1995年的JDK Alpha and Beta版本,第二年发布JDK1.0版本 之后就是JDK1.1,JDK1.2。
阅读地址:http://click.aliyun.com/m/45663/
9、Java中JDK,JRE和JVM之间的关系
摘要:初学Java很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Enviroment)是Java的运行环境。
阅读地址:http://click.aliyun.com/m/45664/
二、深入理解Java背后的原理
1、Java多线程学习:synchronized关键字
摘要: Java并发编程这个领域中synchronized关键字一直都是元老级的角色,很久之前很多人都会称它为“重量级锁”。这一篇文章不会介绍synchronized关键字的实现原理,更多的是synchronized关键字的使用。
阅读地址:http://click.aliyun.com/m/45665/
2、Java GC 日志详解(一图读懂)
摘要:每一种回收器的日志格式都是由其自身的实现决定的,换而言之,每种回收器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个回收器的日志都维持一定的共性。本文简单介绍下这些共性。
阅读地址:http://click.aliyun.com/m/45666/
3、探秘Java9之类加载
Java9带来了模块化系统,同时类加载机制也进行了调整,Java9中的类加载器,变化仅仅是ExtClassLoader消失了且多了PlatformClassLoader,JVM规范里5.3 Creation and Loading部分详细描述了类加载,这里简单说下,规范里把类加载器分为两类,一类是由虚拟机提供的启动类加载器,另一类是由用户自定义的类加载器,注意数组的创建不是类加载器创建的,而是由虚拟机直接创建的。
阅读地址:http://click.aliyun.com/m/45667/
4、一些Java反编译工具/源代码查看工具的介绍
摘要: 有的朋友抱怨他们在使用公司的闭源框架时看不到底层的源代码。那么可以尝试使用一些Java反编译工具。 下面我举个例子介绍具体使用这些反编译工具的步骤。
阅读地址:http://click.aliyun.com/m/45668/
5、JVM概念之Java对象的大小与引用类型
摘要:基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。
阅读地址:http://click.aliyun.com/m/45669/
6、Java虚拟机深入研究
摘要:说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。
阅读地址:http://click.aliyun.com/m/45673/
7、Java 异常处理的优劣
摘要:Java编程中的异常处理是一个很常见的话题了,几乎任何一门介绍性的Java课程都会提到异常处理。不过,我认为很多人其实没有真正掌握正确处理异常情况的方法和策略,最多也就不过了解个大概,知道概念。
阅读地址:http://click.aliyun.com/m/45674/
8、细述 Java垃圾回收机制→Types of Java Garbage Collectors
摘要:本文将会介绍各种不同类型的Java垃圾回收器。垃圾回收是Java用来将程序员从分配和释放内存的琐事中解放出来的自动过程。
阅读地址:http://click.aliyun.com/m/45676/
9、Java的反射机制
摘要:Java反射是Java被视为动态语言的一个关键性质。Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的classes。换言之,Java可以加载一个运行时才得知名称的class,获得其完整结构。
阅读地址:http://click.aliyun.com/m/45677/
10、Java BIO、NIO、AIO 学习
http://click.aliyun.com/m/45678/
三、Java应用实战
1、Java工具创建密钥库,用于Unity 3D打包、签名、发布
摘要: 本文提供全流程,中文翻译。
阅读地址:http://click.aliyun.com/m/45679/
2、Centos 搭建 Java Web 开发环境
摘要:此实验教大家如何配置 JDK 、Tomcat 和 Mysql。
阅读地址:http://click.aliyun.com/m/45680/
3、Java 编程技术中汉字问题的分析及解决
摘要:在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题。一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java语言默认的编码方式是UNICODE,而我们中国人通常使用的文件和数据库都是基于GB2312或者BIG5等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合Java编程实例,分析以上两个问题并提出解决它们的方案。
阅读地址:http://click.aliyun.com/m/45681/
4、JAVA EE Eclipse下配置Tomcat服务器
摘要: 在进行Java web编程之前,必须要进行web服务器的配置,这里选择在Java EE(版本) Eclipse中进行服务器的配置。当然了,在安装Java EE Eclipse之前要先安装JDK,并且要在环境变量中配置好JDK的安装目录,在这里不再多说。
阅读地址:http://click.aliyun.com/m/45682/
5、Java上加密算法的实现用例
摘要: 在加密术中生成密钥对时,密钥对的当然是越长越好,但费时也越多,请从中从实际出发选取合适的长度,大部分例码中的密钥是每次运行就从新生成,在实际的情况中是生成后在一段时间保存在文件中,再次运行直接从文件中读入,从而加快速度。当然定时更新和加强密钥保管的安全性也是必须的。
阅读地址:http://click.aliyun.com/m/45684/
四、那些年,学习过的Java框架
1、Java开源框架集
摘要: 本文总结了一些受欢迎的Java开源框架。
阅读地址:http://click.aliyun.com/m/45685/
2、最受欢迎的Java第三方库
摘要:本文总结了一些最受欢迎的Java库,这些类库在各种应用程序中被广泛使用; 当然,Java SDK是最广泛使用的Java库,这个不用多说,本文的关注点是第三方库。
阅读地址:http://click.aliyun.com/m/45686/
3、基于Stripes框架进行Java Web开发
摘要:Stripes是一个开源的,基于Action的Java web框架。传统型Java web开发强调通过松耦合的设计达到灵活开发之目的,这导致了产生多种配置文件,额外对象以及其它零碎的资源。显然,这些问题提升了众多开发人员的学习曲线,从而降低了开发效率。
阅读地址:http://click.aliyun.com/m/45687/
云栖社区编程语言系列讲座火热报名中,和资深技术专家一起学习编程实战!赶快报名吧!!!报名地址:http://click.aliyun.com/m/45639/