Java 初学者,如何学习 Java?

1个月前发布 SanS三石
9 0 0

一.基础环境的搭建

1.java

2.maven

3.svn/git

4.eclipse/idea

5.navicat/plsql/Heidi

6.mysql

1.JDK

Java最初的动机就是要运行在所有的平台之上,包括Mac,Windows,Linux等,而这三种系统都有不同的底层Api,比如说读写文件,收发数据等,所以Java就做了一个虚拟机,虚拟机运行在各个操作系统之上,自己统一封装成一个标准的API,这东西就是JRE。

安装的JDK就是包括JRE和Java自身的一些类库。JDK目前的版本好像是9,但是大家常用的还是JDK7会多一些,JDK8的时候引入了lambda表达式,看完JDK 8 的编码风格有点接受不了,所以我们还是用7比较多。从我了解的程度来看,7和8用的都是比较多,这也符合中小公司的现状,一般都是使用出来一到两年之后稳定版。

2 Maven

Maven最核心的理念叫做约定大于配置,但是Maven被人接受更多的是因为他解决了第三方包的依赖问题。在Maven出现之前,大家各自在任意文件夹下起名叫Lib,拷各种乱七八糟的包进去是常事儿,项目大了之后,各种包不兼容。

Maven这个时候说,要有唯一标记,于是就用了三个字段来唯一标记一个类库,方式如下。

第一层叫做GroupID,一般都是用公司官网网址反写,这样能唯一标记一家公司了,比如说com.jnshu (http://www.jnshu.com)。

第二层叫做ArtifactID,一般都是自己的项目名 比如说 skill

第三层叫做版本号,一般而言都是数字。如1.7

这样,所有的类库都可以统一用一个POM文件来描述了,解决了版本依赖冲突的问题,大家写好Pom文件,Maven会自动的去中心仓库下载Jar包

完美。可是去国外下载很慢,怎么办?

可以搭建私服,Nexus,当年手机正火的时候,我搜Nexus出来的全是手机,NND。

Pom文件中指定私服地址,私服可以缓存Jar包,没有Jar包再去中心仓库取,如果一家公司连自己的私服都搭不起来,证明有点渣。

私服一般放公司内网,除了缓存Jar包,更重要的是可以上传自己的公共包。可是这样还是会比较慢,怎么办?

Maven提供Local的Repository,就是本地仓库,本地有的话,直接在本地找,本地没有,再去私服,私服没有,再去公网。公网没有,一定是你写错了。

所以Maven也需要配置一下,目前用的是Maven3比较多。

Maven除了对于依赖文件的管理,还规范了项目的目录结构,这个真是很赞,以及打包的功能。

这是后话,先通过上面的介绍,对Maven有一个直观的了解。

3.SVN/Git

团队协作,或者是自己单独写代码,最不可缺少的就是源码管理工具。SVN其实挺好用的,简单,但是前端的开发人员还是喜欢用Git。

更喜欢merge,我对这一点儿有一点点自己的想法,对于后端开发人员来说,模块化往往分的比较清楚,有冲突的比较少,所以对于Merge的需求没有那么大,而且一般情况下,本地跑不通,不问题的代码是不允许提交。

但是前端不太一样,所以一般前端对于Git比较狂热一些。

相对而言,Git的门槛还是比SVN要高一些,所以从SVN过渡到Git也可以,直接喜欢Git也可以,但是会SVN终究还是要用Git的。

要说简单,学会上传,更新,还原,Git还有Push,会标记冲突,基本上就够用了。另外注意一下,源码上一般都不允许上传.project这种类似的工程文件,所以和IDE集成的时候都是要注意设置.ignore的。

还有,上传代码必须要有注释,谁不注释谁SB,不信总有一天你会骂自己SB的。

  以及,只上传正确的代码,不要上传写到一半的代码,如果刚好写到一半,注释掉,不影响流程。这点就是Git的好处,但是万一自己的本本挂掉了呢?

4.Eclipse/Idea

这两个基本上是Java的泰山北斗了。我喜欢Eclipse,其他人有喜欢idea的,各取所需,不太影响,大同小异。Eclipse集成各种插件会比较麻烦一些,如果是和Maven集成,记得不要用内建的,单独下一个Maven。

一般常用的操作就是编译,打包,运行,Debug,以及查找,替换,Refact的那些操作。

这两个没什么可多说的,看自己的个人喜好,Eclipse的坑真心不少,代码没错,编译不过去的场景经常发生,不过用习惯了,也就好多了。我的Eclipse好像是3.7的版本。Idea不清楚。

5.Navicat/plsql/Heidi

这些都是数据库的客户端,做Java的(对我而言,Java就是后台开发,并不是Android),百分百要懂DB的,所以客户端是必不可少的,是一个图形化的连接DB的工具,很简单的, 会认字就会用。

navicat是收费的,但是破解的好多,PLSQL好像是不收费的,我是喜欢上了Heidi,简单方便。

还有一些网页版的,用来用去,还是本地的客户端方便很多。

通过这些客户端,学会建库建表导表改数据写查询等等等等。什么是数据库?什么是Mysql?这些等会儿说。

现在先知道有这些东西,装上,一会等数据库装好了连接上去就行了。

6.Mysql

Mysql是关系数据库的一种。数据库,简单来说就是存取数据的,一般分成几种类型,关系数据库,Key-Value数据库,多媒体数据库,空间数据库等等等等,最常用的就是关系数据库,Mysql就是关系数据库中的一种。

那么,什么叫做关系呢?

以修真院的报名贴为例,这也是修真院java学习系列的任务一。先说怎么表示一个学员的姓名,和学校。

打开一个Excel表格,一般而言,会有一列叫做ID,一列叫做姓名,一列叫做学校,对吧。

这个Excel表格,其实就是数据库里的一张表。每一行,代表一个学员,每一列,代表一个表中的字段, 也就是学员这个对象的属性。

这一部分其实是需要图片来讲解一下的,或者是我用灵魂画手来画一下。暂时跳过算了。

更多的详情可以在文末加群,找我之前给各地分院讲课的时候录制的小视频,不过小视频主要是针对修真院内部讲的,很随意,未必就适合你们。

哪天有时间了在专栏上我单独写。

二. DB的读写

1.关系型数据库

2.简单的Sql语句

3.Dal的设计和缓存

4.Dao和Service

5.DynamicSql 三。REST

1.REST

2.Spring MVC

四。分布式

1.SCA/Tuscany

2. Scallop

3 jar-core,War-web,Tar.gz-service

五。代码生成

1.Excel

2.code-generate

3.code-web

六。打包部署

1.Snapshot和Release 2.Start.sh,stop.sh,deploy.sh 3.stdout.log stderr.log

忘记说了,修真院内部教程,讲给自己从WEB转到java的人听的。

差不多三次或四次能讲完。

啧啧,两天变成Java工程师系列。

总之一句话,什么时候见过修真院教java,没办法教的。

还有 spring,title,json-taglib,spring mvc,junit,log4j等等简单的小东西。

专栏:IT修真院 知乎专栏 – 知乎专栏 各种IT行业的真实小故事

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...