问题：﻿自学 Java 怎么入门？ 在大学自学 Java。看视频教程和代码能看懂 自己写就写不出来，怎么样能够入门？
话题：﻿生活方式、Java、Java编程、Java程序员、Java入门
回答：﻿说过很多遍这个话题了。重复一遍，再说一次。第一。Java语法的学习。3天
你需要会这些：
1.String，Integer，Long，Array，List，Map会用就够了。
2.Interface和Impl能分得清就够了，永远不要去用继承。
3.Model，也是Bean，记着Model里只有Get和Set方法。贫血模型。
4.try-catch,Throwable,Error
5.函数，参数，返回值你一定不要现在去看这些：
1.NIO，Thread，Extend，Abstract，GUI，GC
2.各种JDK的源码，各种算法的实现第二。面向对象概念的理解和学习3天你需要会这些：
1.属性和方法
2.private/public
3.staticfinal
4.ArrayList，Set，Map,Array的取值，长度，遍历。StringBuffer
5.null对象，Null指针
6.构造函数
7.this
8.泛型你一定不要这个时候去看这些：
1.protect
2.重载
3.多态
4.内部类
5.socket
6.file
7.stream第三。常用的Util3天你需要会这些：
1.StringUtils
2.CollectionUtils
3.log4j
4.httpClient
5.calendar你一定不要去看这些：第四。数据库9天
你需要会这些：
1.JDBC
2.Mybatis
3.Hibernate
4.增删改查一个表，排序，分页，简单的联表查询
5.索引，思考一下什么样的表建索引，什么是索引别担心，以上三种都是一理通而百理融第五。单元测试3天你需要会这些
1.Junit@Test，@Ignore
2.log4jinfo,warning,error
3.Eclispedebug,Step,Stepin,StepOut,run你一定不要学这些第六。Spring3天你需要会这些
1.SpringBean，Property，Map，List初始化值
2.Autowired
3.Annonation&配置文件
4.SpringVersion
5.SpringMVC,@Method@Controller你一定不要学这些第七。Maven5天你需要会这些
1.clean,install,deploy,assembly
2.snapshot/release
3.module
4.subeclipse
5.jetty:run============================过段时间更新以下内容==================第八Jsp3天
用到Jsp主要有两个方面，一种是传统的后台程序员套页面的方式，一种是直接生成Json格式的数据。
受限于Json无法提供SEO，所以在需要SEO的时候还是得提供套页面的方式。
生成Json的方式有很多种，我还是喜欢用Jsontag-lib.你需要了解的是：
1.C标签
2.自定义Tag
3.include
4.给静态资源加版本号
5.WEB容器未更新Jsp的时候，Touch一下你一定不要去学这些：
1.在Jsp里写任何Java代码，包括但不限于是Mysql第九WEB10天马丹这里的WEB我写的是什么意思，我忘记了。
大概是SpringMVC的意思？
反正
你需要了解这些：
1.web.xml
2.spring的配置文件
3.统一设置成utf8的编码
4.filter
5.拦截器
6.Controller
7.http协议
8.Http-headcontent-typeapplication/jsonx-www-form-urlencoded
9.file的上传
10.图片的上传你一定不要去了解这些：
1.Struts2
2.play
3.webService
4.servlet第十Tomcat/Jetty5天你需要了解这些：
1.内存和JDK参数的配置
2.指定配置文件的方式部署，docBase
3.日志的配置acces.logstdout.log.catalina.out之类的stderr.log
4.写脚本，找出慢查询，cat|awk
5.理解一个请求分过来之后，怎么分解响应时间，怎么去查找性能瓶颈你不需要了解这些：
1.一个Tomcat或者是Jetty下部署多个项目
2.Jetty的嵌入运行方式第十一Cookie3天
关于Cookie啊，最常用的有两个地方，一个是统计，一个是登录。
所以你需要了解的是这些：
1.Cookie的大小
2.Cookie的传输方式
3.如何获取到Cookie，如果Cookie中有同名的参数，会接收到什么。
4.为什么要用Cookie来代替Session做用户的登录标记
5.Cookie的失效时间
6.清除Cookie你不需要了解这些：第十二Shell10天Shell的概念很大，所以这里只列出来现阶段你最应该会的东西
你需要了解的是：
1.vim编码模式，命令模式，正查，倒查，删除一行，移至行尾
2.cat|more这种是最觉见的日志浏览方式，cat|grep用来定位Bug的时候最常用的
3.grep-A-B等，以及如果Cat+Grep定位多个文件，怎么去查找他们是在哪个文件夹下。
4.ls,cd,mkdir,mv,cp,scp,chown,chmod
5.top,free,vmstat,ps,iostat,netstat你不需要了解的是：1.马丹，不知道哪些不该了解，Shell的东西只要跟实用的都可以多了解第十三SVN/Git5天对于后端程序员来讲，我还是喜欢SVN。
Git使用与否，完全看个人喜好。有很多原因，这里不说。你需要了解这些:
1.SVN的标准目录：trunk/tags/branches
2.commit,update,revert,history
3.Maven的Release插件release:preparerelease:perform,release:rollback
4.Tag的管理alwaystag/alwaystrunk的开发方式
5.Bug出现后，如果和当前开发的项目有冲突，该如何去打Tag，怎么合并代码
6.发布失败后怎么回滚。
7.svn版本号怎么生成的
8.clean你一定不要去了解这些：
1.不知道哪些不该了解，不过clock这种操作我建议永远不要用
2.还有合并代码这种事，我也觉得永远不要用，尽量保证你的代码结构很好，而不是想办法让合并代码更简单。第十四Json/Gson/JsonTag-lib5天终于到了Json，过了300赞更新的内容就完工了~~
Json是一个神器，现在是有yaml?无所谓了，不太影响。Json统治互联网已经快7年了。
你应该了解这些：
1.json的string,number,object,array
2.json的转义
3.怎么样定义出来一个合理的结构，是用array里包含一个Object，还是用一个大的Object，里面的Key是ID，Value是一个Object？是直接用sex:male还是用name:sex,value:male?
4.Gson在Java和Json中的基本类型转换fromjson和tojson
5.Gson怎么转换自定义的对象，和嵌套的对象（这就是Java最烦人的地方，如果是Groovy或者是Python哪用得着这么麻烦）
6.Json-taglib里的常用标签，怎么将一个ID转换成Number，怎么转换成String
7.编码你不应该去了解：
1.fastjson?我忘记了。用Gson就很好了
2.JSONObject还是什么来着？不记得了。
其实这段有点扯，因为你爱用什么我管不着，我也分不清具体哪个好，哪个坏，但是我自己的偏好就是这样的。所以跟着我的必须只能用Gson来写。除非哪天能够说服我说，老大，有一个XXX比Gson更好学。这个其实是工程师的天性，完全不必觉得你的领导在打压你的积极性。我见过的优秀的工程师，从来都是主动要求在项目中尝试各种新的激进的技术，而Leader往往都是要权衡N多内容。好了~~~300赞还算好，很容易突破了。我们看看能不能见~============================过段时间更新以下内容==================第十五REST第十六Jenkins第十七nexus第十八Tiles第十九Nginx第二十Memcache/Redis第二十一Refact============================过段时间更新以下内容==================
第二十二响应时间分析第二十三内存，CPU，硬盘，IO，网络占用，Zabbix第二十四Top，Vmstat，Free，iostat第二十五慢Sql第二十六缓存命中率/失效策略第二十七TPS,Jmeter/loadrunner第二十八敏捷开发第二十九bug修复流程第三十上线发布流程第三十一发布中心/ansible======================过段时间更新以下内容==================第三十二RMI，RPC，Thrift
第三十三GC
第三十四JMS
第三十五Groovy
第三十六一致性哈希，BigTable，Cassandra
第三十七MongoDB
第三十八NIO
第三十九Socket/WEBSocket
第四十Tuscany/Dubbo======================过段时间更新以下内容==================第四十一马丹我编不下去了。开玩笑啦，然而还是少了不少的内容，特别是一些业务上的知识。比如说：分类的DB怎么设计，什么时候应该拆表，什么时候要分库，支付怎么做，微信的开发流程怎么样，第三方登录的Auth是什么鬼，手机短信验证码如何防攻击，高并发读怎么设计缓存，高并发写怎么合并写入次数，以及怎么重构，什么时候重构，怎么预判断需求的变化。还有更多的算法相关的内容，zookeeper,paxos,md5,https等等等等。以上的步骤不算完全精准，分类也不算完全仔细，嗯。更多的内容我还在整理中。@有妖气你{知乎屏蔽词}的，骂街老子怕过谁？瞅你那{知乎屏蔽词}样。来来来，当街对骂，谁先没词了谁是{知乎屏蔽词}