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是如何做到平台无 ...
随机推荐
- jquery 上传空间uploadify使用笔记
基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个 ...
- 开源项目ets_cache分析
1 背景 当在程序中,有大量的数据需要读写,数据库的响应会延迟,甚至阻塞.缓存可以缓解对数据库访问的压力,而且在内存中数据的读写要比读写硬盘上的数据快. 2 目的 ets_cache是用erlang实 ...
- Asp.Net 高性能框架 SqlSugar.ORM 2.3
一.前言 SqlSugar从去年到现在已经一年了,版本从1.0升到了现在的2.3 ,这是一个稳定版本 ,有数家公司已经项目上线,在这里我将SqlSugar的功能重新整理成一篇新的贴子,希望大家喜欢. ...
- WCF SOA --- AJAX 跨域请求处理 CORS for WCF
一.问题 跨域请求无法处理的问题,由于为了阻止恶意的网站通过JS脚本来窃取正常网站受保护的资源.所由所有的浏览器的默认策略是阻止XmlHttpRequest的跨域的异步请求. 但是对于一 ...
- JS实现网页下载[转]
function downloadById() { var url = "http://localhost:64610/WorkProcess/ResumeDetail/7&q ...
- js中的new关键字都干了些什么?
new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在javascript中,我们将这类方式成为Pseudoclassic ...
- JavaScript+IndexedDB实现留言板:客户端存储数据
之前看到贴友有问:用js怎么实现留言板效果.当时也写了一个,但是没有实现数据存储:http://www.ido321.com/591.html 现在将之前的改写一下,原来的HTML布局不变,为了防止G ...
- zoj 1670 Jewels from Heaven
题意:三个人,在给定正方形内,求第一个人拿到珠宝的概率.珠宝随机出现在正方形内. 思路:中垂线+半平面相交. #include<cstdio> #include<cstring> ...
- volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域
1.volatile: 要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. 当设置了成按照C99标准运行之后,使用volatile变量之后的程序运行的时间将比register的 ...
- 题解西电OJ (Problem 1005 -跳舞毯)--动态规划
Description zyf不小心得了一种怪病,为了维持一天的精力他必须不停跳动.于是他买了一条跳舞毯,每天跳上几小时.众所周知,跳舞毯是给定一个序列,让你在指定时间踏指定的按钮,但zyf似乎不怎么 ...