# Java开发生态圈

记录

推荐阅读刘中兵《高手真经》1~5部

TIP

  1. 第一部分:Java Web核心编程技术,Java语言基础开发技术
  2. 第二部分:Java Web核心技术
  3. 第三部分:Java Web核心框架
  4. 第四部分:Java Web高级开发技术
  5. 第五部分:Java Web系统设计与架构

这本书算是我软件开发路上的奠基石,能够让我深入的Java领域,全方位的了解与探索Java软件开发。很遗憾,随着时间的推移, 这部优秀的教程,也被我抛之脑后。到2020年5月份的现在,已经过去有6年多了,再次回顾本书,依然感觉仰之弥高。在Java 软件开发领域,这是部精彩的的作品。即使在软件开发路上走了很远,但这部书的宏观指导作用依然不可小觑。

临时文章(需要提取其中部分知识后,才能删除)

  1. Java面试1小时,我看出了和月薪3w的差距 (opens new window)
  2. Java开源工具类库 (opens new window)

# Java基础知识

  1. CoreJava: 这是一本传授java基础知识的pdf教程。

  2. 面向对象思想

  3. Java集合

  4. Java网络编程

  5. Java多线程

  6. JavaWeb采集

  7. Java类加载原理

  8. 设计模式

  9. 算法

推荐阅读链接

  1. 多线程-ConcurrentHashMap (opens new window)

  2. 网络编程-Java agent (opens new window)

# JVM原理分析

  1. JVM内存结构
  2. JVM调优
  3. JVM GC回收机制
  4. JVM常见场景

# 设计模式

图一

  • 创建型模式
    • 工厂方法
    • 抽象工厂
    • 建造者模式
    • 单例模式
    • 原型模式

图二

  • 结构型模式
    • 适配器模式
    • 桥接模式
    • 组合模式
    • 装饰模式
    • 外观模式
    • 享元模式
    • 代理模式

图三

  • 行为型模式
    • 责任链模式
    • 命令模式
    • 解释器模式
    • 迭代器模式
    • 中介者模式
    • 备忘录模式
    • 观察者模式
    • 状态模式
    • 策略模式
    • 模板方法
    • 访问者模式

# Web服务器

  1. Nginx
  2. Tomcat
  3. Apache
  4. Jetty
  5. Udertow
  6. Weblogic

服务器原理

推荐阅读链接

  1. 从零开始写一个迷你版的Tomcat (opens new window)
  2. Docker+Jenkins+Nginx+Spring Boot自动化部署项目 (opens new window)

# Spring

  1. AOP
  2. IOC
  3. 框架原理

Spring中单例Bean为什么支持并发?

Spring中的bean是单例对象,不一定是线程安全的,如果bean对象是无状态的(不保存数据),是线程安全的,如果是有状态的,需要自己控制线程安全,通常使用ThreadLocal来实现线程安全。

# SpringBoot

推荐阅读链接

  1. SpringBoot换banner (opens new window)
  2. 为什么SpringBoot的jar可以直接运行? (opens new window)

# SpringCloud

# Java招聘

Java开发工程师(20-40K)

岗位基本条件:1. 熟练掌握CSS、Html、Java、C++、Objective-c、Shell编程语言,熟练运用AngularJS/Vue/React、SpringMVC、 MyBatis、Redis、Spring Boot、Spring Cloud、Docker开源框架,熟练运用WAS、Tomcat、Mysql、DB2等中间件,熟悉常用算法、 数据结构、设计模式,熟悉网络协议; 2. 熟悉 Android 、IOS系统以及 SDK 相关领域知识,熟悉了解多线程、内存管理、网络编程、 内存优化,熟练掌握常用的第三方库; 3. 具有两年及以上JavaWeb前后端、IOS/Android、C++开发经验,具有微服务、Docker开发经验 ; 4. 全日制本科及以上学历,计算机及相关专业; 5. 具有良好的沟通能力、表达能力、文档编写能力、团队协作能力及一定的抗压能力 ; 6. 具有一定的英语阅读能力,取得大学英语4级证书或4级成绩在425分及以上。
工作内容: 1. WEB应用软件、IOS/Android客户端软件、后台服务的配置管理、开发、维护; 2. 软件生产运行的二线技术支持 ; 3. 小型项目的需求分析和设计; 4. 软件开发、运维、使用指南等有关技术文档的编写; 5. 参与对新技术运用的预研。

网络爬虫工程师(20-40K)

职位描述: 1、2年及以上爬虫项目开发经验; 2、熟悉Python,Java两种编程语言中的至少一种,熟悉爬虫方向开发和应用; 3、熟悉网络编程、熟悉多线程机制,具有爬虫系统框架设计能力,以及爬虫项目规划能力; 4、熟悉HTML,熟练正则、XPath等Web信息提取技术; 5、熟悉编写网络爬虫采集规则,对反爬、加解密、代理、模板、app破壳等关键技术理解透彻,具有大型web登录分析和搜索相关技术研发经验者优先; 6、有高并发分布式服务器开发经验优先; 7、熟悉MySQL,有过数据库调优和海量数据存储经验优; 8、具有团队合作精神,有责任感,对工作认真负责,抗压能力强,有较强的协调和沟通能力;

上次更新: 2020-09-03 08:10:34