java技术栈:项目概述
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效。当然坏处就是片面,不成体系。这种学习方式在学校以小组方式做“小玩具”还是行之有效的,但是遇到正规的生产环境后,便会东拼西凑,忙于奔波。
因此,我便想按照专业书籍,系统的再过一遍java的全栈技术(当然,全栈技术不止这点)。并且为学弟学妹们尽自己最大的能力举起一盏明灯,也为正在使用java的coders,做一个查漏补缺的list。
首先从java编程基础开始。这一部分,会很快,不会有太多自己的想法心得,并且太基础的东西我可能知识一带而过。主要包括:
- java概述:设计初衷,性能比较,简述发展
- 基础知识概述:基础语法,OOP编程基础,异常,内部类,JDBC
- 多线程概述:创建,同步,通讯,安全,死锁
- API概述:常用接口,常用集合类,IO操作
- 网络编程概述:网络基础,socket,常用协议,web服务器基础
- java高级:反射,代理,泛型,枚举,正则表达式
过完第一部分后,接着总结数据库技术相关,这一部分主要讲解sql,毕竟现有的关系型数据库都支持sql,并且生产环境大部分还是使用关系型数据库。再者总结下mysql与oracle的优缺点,使用场景,注意事项。
- sql基础:库、表的创建,修改,删除,查询,索引,主从表,权限,事务,运算符,函数
- 常用查询技术:多表连接,子查询
- 触发器,存储过程
- 数据库优化
- 备份,恢复
总结完这一部分,然后在归纳写javaweb常用的技术,包括:
- web基础:xml,html/css/js,jsp/serlvet,jstl/EL,json,ajax
- 主流框架:spring/springmvc,log4j,junit,mybatis,maven
- 常用服务器:tomcat
- 常用第三方接口:如,支付宝支付接口,充值缴费接口等
上述内容只是基础,而且还是术的方面。我觉得要写出优雅,健壮,可扩展的代码。除了基础扎实外,还需要了解,体会,感悟道的方面,比如说编程思想,规范,设计模式,软件工程等相关的内容。因此下一个部分就是:
- 常用设计模式:例如工厂、单例、代理等
- 修炼数据:《clean code》,《java编程思想》,《代码重构》,《effective java》,《敏捷技能修炼》,《think in java》
以上这些,我都会开源在我的github上,希望能和大家能一起完善java技术栈这个项目。这里我顺便谈谈为什么做java技术栈这个开源项目。原因很简单:为了更加高效的学习以及使用java。
查阅技术,无论是官方文档、技术博客、相关书籍或者其他。都不能很好的满足我高效系统的学习使用需求,他们相对于整个体系,都是零散分布在网络的各个节点上。而我需要的是一个系统,能知道前因后果,能在地铁公交车上,通过看一篇文章介绍的知识点,能让我在脑海技术拼图找到相应的地方。能在我想要实现某个功能的时候,开一个网页,就能知道其实现,注意事项,使用场景等。能在学习的时候,像看小说一样,前面挖的坑,后面会让你知道是怎么填上的。因此,这不仅是一个分享技术知识的项目,还是一个思想碰撞的平台。
在此,我期望大家能踊跃参与进来,无论你是初学者还是资深coder,无论你对编程一无所知还是编程大牛,我都希望你能贡献你对某个技术,某个知识点,某个方法,某个变量的所见所感,所思所悟,谢谢。
项目地址:https://github.com/FreefrancisD/javatech
java技术栈:项目概述的更多相关文章
- Java技术栈思维导图
Java技术栈思维导图 Java IO流体系 设计模式
- 干货:Java技术栈18年02月精彩好文汇总
一晃眼,一个月过去了,新年也过完了. 一晃眼,又老了一岁了,感觉新的一年压力更大了. 我们也该为这一个月的技术做做汇总了,错过的同学正好可以统一回顾看看,已经看过的同学也可以再温习一下.. Java技 ...
- Java 技术栈中间件优雅停机方案设计与实现全景图
欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 ...
- java技术栈:一、java编程语言概述
Java是一种编程语言,起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目主要目的是是开发嵌入家用电器的分布式软件系统,从而使电器更加智能化.因为项目小组成员皆为C++的高手(那个年代 ...
- Java 技术栈
JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发.它不仅吸收了C++的各种优点,而且还撇弃了C++中难以理解的概念,如多继承.指针等:因此JAVA语言具有功能强大且简单易用两个特征, JA ...
- "Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办"
今年年初的时候,所谓"Oracle要对Java收费"的新闻,在网上传得沸沸扬扬.这个新闻被专业人士视为标题党,而国内众多技术论坛,比如知乎社区上,有很多大神对"Java收 ...
- Java技术栈
内容: 1.Java基础(JavaSE) 2.数据结构与算法与设计模式 3.计算机理论知识 4.数据库 5.Java web(JavaEE) 6.消息队列 7.Linux及服务器相关 8.分布式相关 ...
- java全栈项目
文档地址:https://course.7yue.pro/lin/sleeve/ http://talelin.unna.com.cn/ 1.小程序里,我把结构分为三部分:wxml(view).pag ...
- java面试2(java技术栈和Hollis面试内容分享)
1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...
随机推荐
- [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.2.7
The set of all invertible matrices is a dense open subset of the set of all $n\times n$ matrices. Th ...
- 用Apache Kafka构建流数据平台
近来,有许多关于“流处理”和“事件数据”的讨论,它们往往都与像Kafka.Storm或Samza这样的技术相关.但并不是每个人都知道如何将这种技术引入他们自己的技术栈.于是,Confluent联合创始 ...
- MFC程序运行流程
->进入入口函数_tWinMain() 程序首先进入文件AppModul.cpp,找到_tWinMain()函数运行,调用其中的AfxWinMain()函数. 由于为了支持UNICODE,C运行 ...
- POJ 2986 A Triangle and a Circle 圆与三角形的公共面积
计算几何模板 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h& ...
- 广州大学华软软件学院——NA视频下载
准备工具: 360极速浏览器(不要认错图标了): 浏览器视频下载插件: 第一步:安装浏览器插件 1.打开浏览器 2.解压,找到插件文件: 3.把插件拖到浏览器中: 4.添加,然后就完成了插件安装 查看 ...
- Getting Started with OWIN and Katana(Console 代替iis 制作 web服务的简单方案)
Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applicati ...
- [iOS基础控件 - 6.7] 微博展示 使用代码自定义TableCell(动态尺寸)
A.需求 1.类似于微博内容的展示 2.头像 3.名字 4.会员标志 5.内容 6.分割线 7.配图(可选,可有可无) code source: https://github.com/hellov ...
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
由于在使用window.open时,在很多情况下,弹出的窗口会被浏览器阻止,但若是使用a链接target='_blank',则不会,基于这一特点,自己封装了一个open方法: function ope ...
- in和exists的区别与SQL执行效率
in和exists的区别与SQL执行效率最近很多论坛又开始讨论in和exists的区别与SQL执行效率的问题,本文特整理一些in和exists的区别与SQL执行效率分析 SQL中in可以分为三类: 1 ...
- cas 3.5.2 登录成功后,如何返回用户更多信息?
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...