微信号:yunqiinsight

介绍:云栖社区是由阿里云负责运营、阿里巴巴技术协会和阿里巴巴集团各技术团队提供内容支持的开放式技术社区.

【干货合集】Java其实很好学,但你需要知道在“爪哇”的世界里“你究竟在哪?”

2018-04-10 22:41 云栖社区

云栖君导读:Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。而且目前而言,就连能够扛过“双11”的淘宝、天猫的底层架构也是Java实现的,注意这样的高峰流量是世界罕见的,就算是亚马逊的“黑色星期五”也不会有这样巨大的流量,这就足以说明Java的强大,这也是阿里被称为“Java光明顶”的原因。


Java其实非常易于学习和理解,面向对象而且比C++简单,调试也非常简单,稍微动动手就可以实现一个小功能。而对于大多数同学而言,走进Java的大门非常简单,但是当入门之后,我处于什么地方?应该往哪个方向走?应该怎么走?可能就成为了困扰大家的难题。


阿里云大学中为大家整理了Java学习的路线图,这个路线图主要分为三部曲:Java零基础入门、Java面向对象开发、Java高级开发。


学习地址:http://click.aliyun.com/m/26225/


而本文中也同样为大家整理了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的运行环境,JVM( java virtual machine)也就是常常听到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/


云栖社区编程语言系列讲座火热报名中,和资深技术专家一起学习编程实战!点击左下角【阅读原文】赶快报名吧!!!



end

在阿里,我们如何管理代码分支?

利用Python实现卷积神经网络的可视化

如何避免HBase写入过快引起的各种问题

基于区块链的机器学习模型创建方案

更多精彩


 
云栖社区 更多文章 实战:阿里巴巴 DevOps 转型后的运维平台建设 深度学习领域引用量前20篇论文简介 基于区块链的机器学习模型创建方案 如何避免HBase写入过快引起的各种问题 利用Python实现卷积神经网络的可视化
猜您喜欢 可否有一天,运维站在舞台最中央? 盘点阿里钉钉成长之路 看屌丝如何逆袭 好听到耳朵会怀孕的GROUP BY另类优化 编程到底难在哪里? 【干货】安卓下拉刷新开源库对比