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是如何做到平台无 ...
随机推荐
- Apache配置虚拟目录和多主机头
呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了...这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧 多个虚拟目录 首先把Apache安装到D:\Program ...
- Android学习系列(22)--App主界面比较
本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个.不是为了追求到底有多难,而是为了明白我们确实需要这么做. 走个题,android的UI差异化市场依然很大,依然 ...
- Android ViewTreeObserver简介
Android ViewTreeObserver简介 一.结构 public final class ViewTreeObserver extends Object java.lang.Objec ...
- Python脚本控制的WebDriver 常用操作 <五> 访问链接
下面将使用webdriver来访问一个web链接 测试用例场景 测试中,经常会点击几个链接来进行操作,所以访问链接是基本的常见操作 Python脚本 from selenium import webd ...
- 利用过采样技术提高ADC测量微弱信号时的分辨率
1. 引言 随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多领域(物理学.化学.天文学.军事雷达.地震学.生物医学等)的微弱信号需要被检测,例如:弱磁.弱光.微震动.小位移.心电.脑电等[1 ...
- WSGI和PASTE
WSGI就是一个标准,WSGI server就是实现了这个标准的一个容器.这个标准类似于如下的东东: 1 2 3 4 5 6 7 8 9 10 11 from wsgiref.simple_serve ...
- 题目1023:EXCEL排序(多关键字+快排+尚未解决)
http://ac.jobdu.com/problem.php?pid=1023 题目描述: Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行“Ca ...
- 关于Java线程
1 概念 通常来说,我们编写的Java代码是以进程的形式来运行的,所编写的代码就是“程序”,而执行中的程序就是“进程”.进程是系统进行资源分配和调度的独立单位. 线程是位于进程的下一级,是系统中的最小 ...
- exercise.tour.go google的go官方教程答案
/* Exercise: Loops and Functions #43 */ package main import ( "fmt" "math" ) fun ...
- A Tour of Go Switch with no condition
Switch without a condition is the same as switch true. This construct can be a clean way to write lo ...