Java晋级必须要看的十篇Chat文章-及其正确的阅读顺序-吐血推荐,能让你快速晋级-[张振华.Jack]
最近chat上的内容很多很丰富,但是我们作为Java成员也不能盲目去看,因为毕竟短期内精力是有限的,我们的学习也得有章程和章法,老师给大家整理10个觉得还不错的Java分享,帮助大家快速晋级,特别应对短期面试。
《张振华.Jack:: 整理输出!!》
一:工具篇
1)Java 程序员开发常用的工具
作为一名程序开发人员,必须熟悉直到精通不少工具的使用,大到各种开发工具、小到 Window 系统的计算器。如何在千万种挑选一种适合自己口味的工具呢?
本 Chat 将分享笔者这几年工作中常用的一些开发工具、接口测试工具、远程连接工具、代码搜索工具等,这些工具将有助于我们提高工作效率,更重要的是工作效率高了,就可以提早完成任务,挤出时间去了解更多的技术、业务。
内容提要:
- 常用开发工具
- 常用接口测试工具
- 常用远程连接工具
- 一些其他常用工具
分享地址:http://gitbook.cn/gitchat/activity/5a5567cc84bd4325e291c1f2
二维码地址:
2)Intellij Idea 中 Spring JPA 相关插件使用技巧
工欲善其事必先利其器,这个 Chat 和大家分享一下 Intellij Idea 工具中使用 Spring Data JPA 相关的插件都有哪些技巧,以帮助我们提升开发效率。虽然说得是JPA但是基本上把所有相关的实际工作的使用技巧都介绍了,非常有利于java -web的开发者快速装逼成高手的样子。
地址:http://gitbook.cn/gitchat/activity/5a5405edf6e6d01dea2d5e23
二维码:
二:基础篇
3)Java 架构师眼中的 HTTP 协议
- HTTP 协议的基本内容
- 架构师需要重点关注的 HTTP 协议的内容在生产环境中的延伸
- Spring 对 HTTP 协议做了哪些支持
- JSON API 对 HTTP 协议的规定,及其开源项目(yahoo.elide 的支持)
- 实际工作中,我们为 HTTP 协议做了哪些架构工作
- 微服务中 HTTP 与 RPC 的权衡
- 面试中起到的关键作用是什么
地址:http://gitbook.cn/gitchat/activity/5a6d229b81ef6b2ed818b6c0
二维码:
一说起“数据结构”可能很多同学都又交给老师了。但是实际工作中如果做得深入一些,特别是越往上发展,越大公司越离不开数据结构。本场 Chat 作者将带领大家重温《Java 数据结构》,讲解的内容有:
- 哪些数据结构(线,链,堆,栈,队列)及其在 Java 里面哪里有用到。
- 8 大算法(时间复杂度,空间复杂度,内存,CPU 的影响)及其应用的地方。
- KMP 查找算法,二分查找,递归算法(写法,内存的影响)。
- 数、图及其应用的地方。
- hash 表,及其实际工作中哪里应用。
地址:http://gitbook.cn/gitchat/activity/5a391b122edf834ef46c6296
二维码:
三:java语法基础篇
5)Java 语法糖详解
语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。
本 Chat 从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解这些语法糖背后的原理,主要内容如下:
- 什么是语法糖
- 糖块一 —— switch 支持 String 与枚举
- 糖块二 —— 泛型与类型擦除
- 糖块三 —— 自动装箱与拆箱
- ......
- 糖块十一 —— try-with-resource
- 糖块十二 —— lambda 表达式
- 糖衣炮弹 —— 语法糖使用过程中需要注意的点
- 综合应用
地址:http://gitbook.cn/gitchat/activity/5a5d55d36f3da41fa892ef09
二维码:
6)结合实战理解 Java 抽象类和接口
我们什么时候会创建一个抽象类?什么时候会创建一个接口呢?当转换一下思维,不仅仅为了完成功能,而是要保证整个项目架构的稳定灵活可扩展性,你会如何选择呢?这篇文章我将结合实战讨论这些问题。
地址:http://gitbook.cn/gitchat/activity/5a0fbcf0d6b7d25dda4c65f6
二维码:
四:Java晋级篇
7)Java 多线程与并发编程 · Java 工程师必知必会
从事 Java 的开发的小伙伴们会发现 Java 多线程和并发无论是工作或者是面试都绕不开的话题。作者打算高度抽象和概括一下线程是什么,已经如何应用。身边的有很多小伙伴们,看过我的《Java 并发编程从入门到精通》都感觉帮助比较大,面试完基本上都能达到高级和资深水平,最少工资能达到 20K+ /月,并且对实际工作帮助也比较大。所以作者打算再次分享一下:
- JAVA-Thread 概念
- 安全和锁
- Concurrent 包(安全集合类、安全 Queue)线程阻塞机制
- 线程池详解(原理,实际使用)
- 线程的监控和分析方法
- Servlet、Spring 和数据库连接池与线程的关系
地址:http://gitbook.cn/gitchat/activity/5a018ce76e62f07c64f84556
二维码:
8)Java 高级篇:JVM 垃圾回收机制
JVM 的内存模型和 JVM 的垃圾回收机制一直是 Java 业内从业者绕不开的话题(实际调优、面试),Jack 和大家再来一起学习一下 JVM 的垃圾回收机制。作为 Java 从业者如果不掌握这些知识点可能很难跳过高级走向架构师阶段。
本场 Chat,作者将会围绕 JVM 的内存模型,JVM 的垃圾回收,JVM 的参数设置和如何监控这四个话题展开。通过本场 Chat 相信大家会学会如下内容:
- JVM 内存模型是什么样的,都存什么?
- JVM 的垃圾回收机制是什么?都有哪些算法?
- JVM 和垃圾回收对应的参数有哪些?如何去设置?
- JVM 生产监控的指标有哪些?
- 轻松应对 JVM 的面试和实际工作。
9)Java 进阶篇:理解 Class 和 Class 加载过程
如果 Java 程序员从初级晋级的架构师的过程中,其实对于 Class 的认识和其加载的过程也是逃不掉的话题(面试,复杂业务场景)。
Jack 打算和大家一起通过此篇 Chat 再来学一下 Class 是什么,及其加载的过程和在实际工作的关系是什么样的。通过此次 Chat 相信大家能学习到如下内容:
- .class 是什么?我们应该关注的点有哪些?
- .class 的加载过程是什么样的?
- ClassLoader 起什么作用?双亲委派模型是什么?而实际工作涉及到的 ClassLoader 有哪些?
- Class 本身的初始化顺序是什么样的?理解 static,final 的特殊之处。
- 那么 Spring Bean 的加载过程是什么样的?
- 在面试和工作中起到什么作用?尾部彩蛋送几道经典面试题
地址:http://gitbook.cn/gitchat/activity/5ac721ef2d7aec5b5fcf3bfe
二维码:
10)Spring 中常用注解原理剖析
Spring 框架核心组件之一是 IOC,IOC主要负责管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用<bean/>标签来配置,对于 Bean 之间的依赖可以使用构造方法注入、Set 方法注入。但是使用这种方式会使XML 变的比较臃肿庞大,并且还需要开发人员一个个的在 XML 里面配置 Bean 之间的依赖,这简直是一个灾难,还好 Spring 框架给我们提供了一系列的注解让开发人员从这个灾难中解脱出来,比如在一个类的成员变量上标注了一个简单的@Autowired 注解就可以实现了 Bean 之间的自动依赖注入,在一个类上标注了一个简单的@Component 注解就可以让一个 Bean 注入到 Spring 容器..……而 Spring 框架是如何通过注解简化我们的工作量,实现这些功能的。本 Chat 就来解开这神秘的面纱。另外SpringBoot可谓是把注解运用的活灵活现,SpringBoot中已经不推荐使用xml进行配置了,主张使用注解。
本 Chat 主要内容如下:
- 我们经常使用@Autowired进行依赖注入,那么为何能够直接使用?它又是如何工作的,@Required 又是如何起到检查xml里面属性有没有被配置那?
- Spring 框架是如何把标注@Component 的 Bean 注入到容器?
- 我们经常使用的@Configuration,@ComponentScan,@Import,@Bean 注解又是如何工作的?
- 我们经常使用@PropertySource 引入配置文件,那么配置文件里面的配置是如何被注册到 Spring 环境里面的?
- 最后讲解如何通过自定义注解实现一个简单的树形文档生成
地址:http://gitbook.cn/gitchat/activity/5a9d471cf7554340779a2431
二维码:
如果大家有问题需要互相交流,可以加以下两个群。
- QQ交流群1:240619787
- QQ交流群2:559701472