学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效。当然坏处就是片面,不成体系。这种学习方式在学校以小组方式做“小玩具”还是行之有效的,但是遇到正规的生产环境后,便会东拼西凑,忙于奔波。

因此,我便想按照专业书籍,系统的再过一遍java的全栈技术(当然,全栈技术不止这点)。并且为学弟学妹们尽自己最大的能力举起一盏明灯,也为正在使用java的coders,做一个查漏补缺的list。

首先从java编程基础开始。这一部分,会很快,不会有太多自己的想法心得,并且太基础的东西我可能知识一带而过。主要包括:

  1. java概述:设计初衷,性能比较,简述发展
  2. 基础知识概述:基础语法,OOP编程基础,异常,内部类,JDBC
  3. 多线程概述:创建,同步,通讯,安全,死锁
  4. API概述:常用接口,常用集合类,IO操作
  5. 网络编程概述:网络基础,socket,常用协议,web服务器基础
  6. java高级:反射,代理,泛型,枚举,正则表达式

过完第一部分后,接着总结数据库技术相关,这一部分主要讲解sql,毕竟现有的关系型数据库都支持sql,并且生产环境大部分还是使用关系型数据库。再者总结下mysql与oracle的优缺点,使用场景,注意事项。

  1. sql基础:库、表的创建,修改,删除,查询,索引,主从表,权限,事务,运算符,函数
  2. 常用查询技术:多表连接,子查询
  3. 触发器,存储过程
  4. 数据库优化
  5. 备份,恢复

总结完这一部分,然后在归纳写javaweb常用的技术,包括:

  1. web基础:xml,html/css/js,jsp/serlvet,jstl/EL,json,ajax
  2. 主流框架:spring/springmvc,log4j,junit,mybatis,maven
  3. 常用服务器:tomcat
  4. 常用第三方接口:如,支付宝支付接口,充值缴费接口等

上述内容只是基础,而且还是术的方面。我觉得要写出优雅,健壮,可扩展的代码。除了基础扎实外,还需要了解,体会,感悟道的方面,比如说编程思想,规范,设计模式,软件工程等相关的内容。因此下一个部分就是:

  1. 常用设计模式:例如工厂、单例、代理等
  2. 修炼数据:《clean code》,《java编程思想》,《代码重构》,《effective java》,《敏捷技能修炼》,《think in java》

以上这些,我都会开源在我的github上,希望能和大家能一起完善java技术栈这个项目。这里我顺便谈谈为什么做java技术栈这个开源项目。原因很简单:为了更加高效的学习以及使用java。

查阅技术,无论是官方文档、技术博客、相关书籍或者其他。都不能很好的满足我高效系统的学习使用需求,他们相对于整个体系,都是零散分布在网络的各个节点上。而我需要的是一个系统,能知道前因后果,能在地铁公交车上,通过看一篇文章介绍的知识点,能让我在脑海技术拼图找到相应的地方。能在我想要实现某个功能的时候,开一个网页,就能知道其实现,注意事项,使用场景等。能在学习的时候,像看小说一样,前面挖的坑,后面会让你知道是怎么填上的。因此,这不仅是一个分享技术知识的项目,还是一个思想碰撞的平台。

在此,我期望大家能踊跃参与进来,无论你是初学者还是资深coder,无论你对编程一无所知还是编程大牛,我都希望你能贡献你对某个技术,某个知识点,某个方法,某个变量的所见所感,所思所悟,谢谢。

项目地址:https://github.com/FreefrancisD/javatech

java技术栈:项目概述的更多相关文章

  1. Java技术栈思维导图

    Java技术栈思维导图 Java IO流体系 设计模式

  2. 干货:Java技术栈18年02月精彩好文汇总

    一晃眼,一个月过去了,新年也过完了. 一晃眼,又老了一岁了,感觉新的一年压力更大了. 我们也该为这一个月的技术做做汇总了,错过的同学正好可以统一回顾看看,已经看过的同学也可以再温习一下.. Java技 ...

  3. Java 技术栈中间件优雅停机方案设计与实现全景图

    欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 ...

  4. java技术栈:一、java编程语言概述

    Java是一种编程语言,起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目主要目的是是开发嵌入家用电器的分布式软件系统,从而使电器更加智能化.因为项目小组成员皆为C++的高手(那个年代 ...

  5. Java 技术栈

    JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发.它不仅吸收了C++的各种优点,而且还撇弃了C++中难以理解的概念,如多继承.指针等:因此JAVA语言具有功能强大且简单易用两个特征, JA ...

  6. "Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办"

    今年年初的时候,所谓"Oracle要对Java收费"的新闻,在网上传得沸沸扬扬.这个新闻被专业人士视为标题党,而国内众多技术论坛,比如知乎社区上,有很多大神对"Java收 ...

  7. Java技术栈

    内容: 1.Java基础(JavaSE) 2.数据结构与算法与设计模式 3.计算机理论知识 4.数据库 5.Java web(JavaEE) 6.消息队列 7.Linux及服务器相关 8.分布式相关 ...

  8. java全栈项目

    文档地址:https://course.7yue.pro/lin/sleeve/ http://talelin.unna.com.cn/ 1.小程序里,我把结构分为三部分:wxml(view).pag ...

  9. java面试2(java技术栈和Hollis面试内容分享)

    1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...

随机推荐

  1. system CPU占用率过高与91助手的关系

    今天正在认真工作,忽然发现电脑越来越慢. 按 CTRL+ALT+DEL打开任务管理器看了下CPU使用率.其中system占用率居然达到了64%.不对劲儿,按照平时习惯,system根本占用了不要这么多 ...

  2. MySQL中间层 Atlas

    Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bu ...

  3. put a ContextMenu into the header of a TabPage z

    publicclassMyTabControl:TabControl { protected override void OnMouseUp(MouseEventArgs e){ if(e.Butto ...

  4. HDU 5639 Deletion 二分+网络流

    题意:bc round 74 div1 分析: 考虑删掉的边的形态, 就是我们经常见到的环套树这种结构, 参考平时这种图给出的方法, 如果一个图的每个点的出边只有一条, 那么一定会构成环套树这种结构. ...

  5. 每天学点linux命令--tail,cut,sort,uniq

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  6. <转>SpringMVC与Struts2 比较总结

    原链接:http://blog.csdn.net/chenleixing/article/details/44570681 个人整理: 1.级别不同:SpringMVC :方法  Struts是 类级 ...

  7. EasyUI + Spring MVC + hibernate实现增删改查导入导出

    (这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...

  8. Storm入门

    Storm框架入门 1 Topology构成 和同样是计算框架的Mapreduce相比,Mapreduce集群上运行的是Job,而Storm集群上运行的是Topology.但是Job在运行结束之后会自 ...

  9. CDH 5.5.1 Yum源服务器搭建

    CDH 5.5.1 Yum源服务器搭建 下载Cloudera Repo #下载资源仓库repo wget https://archive.cloudera.com/cdh5/redhat/6/x86_ ...

  10. 50个Java多线程面试题

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...