30分钟入门Java
技术只是工具,文档只是说明书,仅此而已。
写在前面
工作4年有余,盲人摸象般的走过弯路,也投机取巧的领悟到过一些类似“编程本质”的东西。现在开始我计划回顾下我的编程生涯。在这里分享,同时也是对之前所学的巩固和整理。
理解编程
我先打个比方。人的大脑就像一台电脑主机。比如今天你上班被领导骂了,下班回到家后你将这段记忆从“硬盘”中取出,然后再放到“内存”中翻来覆去的“计算”,最后得出结论“领导是个混蛋”,然后再存储到“硬盘”上。这样,“领导是个混蛋”这段记忆就永久的存储在你的“硬盘”中。
我再举一个例子。你买回一个路由器,一边看说明书一边鼓捣你5分钟就搞定了路由配置。那么,你把说明书全部背下来了吗?显然你不会。
对待技术我们也是如此。
不要试图去记住每个技术的实现细节,因为那样的话你穷尽一生也无法记住如此庞大的数据量。你的“硬盘”是有限的,你的“内存”也是有限的。
你只需做到:这个问题我知道去哪里找到答案 就足够了。
不要把太多的东西装到你的脑子里,那样是很愚蠢的。keep you sane。除了工作,你还有生活,不是吗?
敲开Java大门的姿势
打开下面的网址,看一下目录,你就可以回来了。不要把过多的经历放到细节上,当你真正需要用到的时候,知道去哪里找就可以了。
java菜鸟教程
这里面包含了如何搭建环境,java的基础语法,以及一些基础的类。你甚至可以在网站模拟的环境下进行尝试编程。
现在你可以试着按照“说明书”去尝试编写Java程序了。
bin目录
C:\Program Files\Java\jdk1.8.0_121\bin
bin目录下*.exe文件是windows下的执行文件。是java环境下的全部执行文件,这里的javac.exe,javaw.exe,jar.exe,javap.exe都有各自的作用。你可以搜索各自的作用,也可以忽略。你只要记住这个目录是执行目录就可以了。也就是说你在配置环境变量时,告诉windows,我在这里安装了java。
你可能会在各种新手教程中看到执行java -version命令来确认是否成功安装java。那我们就来执行一次。
调出cmd
键入java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
你可以试着键入java.exe -version会输出同样的信息。也就是说你执行了bin目录下的*.exe文件,仅此而已。
环境变量就是告诉windows,这个目录下的所有exe文件,可以在命令控制台直接调用。
文档
理论上,学习一种新的语言,应该去它最原始、最官方的地方去找“说明书”。java是sun公司创造后来被oracle公司收购,而java相关api最权威的地址是java api。
同样的,你不需要记住里面的全部内容,你只需要记住当你想详细理解某个类的时候,去这个网址找它详细的说明就可以了。
jar包
jar是java打包类的合集,也可以理解为别人写好的某些功能的实现。就是说,你需要的大多数功能已经有人写好了,找到这样的jar,你就可以直接调用而不用自己重新去写。
比如,在cornershop项目中https://github.com/caiyongji/cornershop/tree/master/WebRoot/WEB-INF/lib目录下的jar就是前辈写好的某些功能的实现,在代码中调用即可。
疑难解答
遇到问题时,无论是google还是baidu,你要自己去找解决办法。Java是一门非常成熟且社区完备的语言。你遇到的问题一定有前辈遇到过。
推荐几个社区:
stackoverflow
博客园
csdn
就这么简单?
想要入门的话就这么简单。想要掌握的话,写几个小程序即可。想要熟练的话,把文档和教程通读(这里的通读,是全部读完,包括任何细节)。想要精通的话,要再理解java所有的、全部的内容基础上,有自己的认识。在这个过程中,如果你试图跳过任何细节,你一定会走弯路。
我不是喂饭的人,知识就在那里。
30分钟入门Java的更多相关文章
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- Objective-C 30分钟入门教程
Objective-C 30分钟入门教程 我第一次看OC觉得这个语言的语法有些怪异,为什么充满了@符号,[]符号,函数调用没有()这个,但是面向对象的高级语言也不外乎类,接口,多态,封装,继承等概念. ...
- 30分钟入门Java8之默认方法和静态接口方法
30分钟入门Java8之默认方法和静态接口方法 前言 上一篇文章30分钟入门Java8之lambda表达式,我们学习了lambda表达式.现在继续Java8新语言特性的学习,今天,我们要学习的是默认方 ...
- 30分钟入门Java8之方法引用
30分钟入门Java8之方法引用 前言 之前两篇文章分别介绍了Java8的lambda表达式和默认方法和静态接口方法.今天我们继续学习Java8的新语言特性--方法引用(Method Referenc ...
- 【原创】30分钟入门 github
很久没更新了,这篇文章重点在github的入门使用,读者可以下载github for windows shell,边看边操作,加深印象. 好了,30分钟的愉快之旅开始吧: 一.github使用的注意事 ...
- 正则表达式30分钟入门教程<转载>
来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了 ...
- Python 30分钟入门指南
Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...
- PHP正则表达式30分钟入门教程
正则表达式30分钟入门教程 三个常用的知识点: 1.惰性匹配:正则引擎默认是贪婪的,若要最少重复的话,需要用到惰性匹配符 “?” 懒惰限定符 代码/语法 说明 *? 重复任意次,但尽可能少重复 +? ...
- HTML 30分钟入门教程
作者:deerchao 转载请注明来源 本文目标 30分钟内让你明白HTML是什么,并对它有一些基本的了解.一旦入门后,你可以从网上找到更多更详细的资料来继续学习. 什么是HTML HTML是英文Hy ...
随机推荐
- 【Mysql知识补充】
一.子查询 1.定义 子查询是将一个查询语句嵌套在另一个查询语句中.内层查询语句的查询结果,可以为外层查询语句提供查询条件.子查询中可以包含:IN.NOT IN.ANY.ALL.EXISTS 和 NO ...
- MySQL .msi 安装失败改用.zip安装步骤
一开始官网下载.msi安装包,安装到配置server时无法启动,长时间卡在这里,无法继续下去.上网看了一下解决办法,发现用.zip安装包进行安装比较简单可靠. 一.利用.msi安装包安装失败后的处理 ...
- unity中.meta提交错误操作导致空脚本
工作时遇到了一个奇葩的问题,同事做的界面,再策划那里死活无法运行,其他同事的都没有问题.简单一查,是界面上挂了个空脚本,但是同事提交了对应的脚本,其他人那里脚本是正常.随后想到是否是.meta的问题. ...
- linux 常用命令详解
常见Linux目录名称:/ 虚拟目录的根目录.通常不会在这里存储文件/bin 二进制目录,存放许多用户级的GNU工具/boot 启动目录,存放启动文件/dev 设备目录,Linux在这里创建设备节点/ ...
- angular指令监听ng-repeat渲染完成后执行自定义事件方法
今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令. 在ng-repeat模板实例内部会暴露 ...
- Web前端学习——HTML
HTML其实还是蛮容易学习的,无非就是一些标签.格式的填写,大学的时候也做过网站设计,所以这里主要记录一些常用的HTML标签.属性以及书写方法等. 一.常见HTML格式 主要包含文件type,html ...
- OpenXml读取word内容(一)
OpenXml读取word内容注意事项 1.使用OpenXml读取word内容,word后缀必须是".docx":如果word后缀是".doc"需要转成&quo ...
- android应用集成google登录
集成google登录之前需要有一下三点要求,只有具备一下两点要求才能集成google登录: 1,android 运行版本4.0及更新版本 2,android 设 ...
- 我的csdn博客搬家了
把csdn上的文章都给搬到我的新博客去了, 将会在新的博客上继续写相关的技术文章 欢迎訪问: http://www.kai-zhou.com
- Oracle ROWID具体解释
1.ROWID定义 ROWID:数据库中行的全局唯一地址 对于数据中的每一行,rowid伪列返回行的地址.rowid值主要包括下面信息: 对象的数据对象编号 该行所在的数据文件里的数据块 该行中数据块 ...