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 ...
随机推荐
- 关于xampp集成开发环境的建立与初步认识
针对于xampp集成开发环境的建立主要分大步骤: 1.把xampp的压缩包压缩到一个盘中,比如c盘:然后点击中间的那个图标开始安装,由于这个软件是配置基本已经OK了,故可以直接next ...
- 简单购物车程序(Python)
#简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...
- springmvc中对日期格式化的处理
@DateTimeFormat(pattern="yyyy-MM-dd") 返回的时候java.util.Date pattern="yyyy-MM-dd"必须 ...
- 第四届河南省ACM 节能 区间DP
1001: 节 能 时间限制: 1 Sec 内存限制: 128 MB 提交: 21 解决: 9 [提交][状态][讨论版] 题目描述 Dr.Kong设计的机器人卡多越来越聪明.最近市政公司交给卡多 ...
- vue2的keep-alive的总结
vue2的keep-alive的总结 keep-alive 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM.结合vue-router中使用,可以缓存某个view的整个内容 ...
- [Android] AutoCompleteTextView:自己主动完毕输入内容的控件(自己主动补全)
AutoCompleteTextView是EditText的直接子类,与普通EditText的最大不同就是.在用户输入的过程中,能够列出可供选择的输入项.方便使用者. AutoCompleteText ...
- javascript跳跃式前进(3) - 跳入JSON
前言 JSON崛起不是意外,是顺应时代;相当简洁小巧的书写模式及阅读方式; 基础 看这篇文章: JSON知识点汇总_W3SCHOOL 初步进阶 早期的解析仅仅实用eval() ,可是这货太easy给注 ...
- hdu4553约会安排 线段树
//DS QT 找一段最靠前的长度为QT的空间 //NS QT 找一段最靠前的长度为QT的空间.假设没找到能够将DS占领的空间当做空暇空间,找一段最靠前的空间 //STUDY!! L R 清空L ...
- Codeforces548A:Mike and Fax
While Mike was walking in the subway, all the stuff in his back-bag dropped on the ground. There wer ...
- ajax_get/post_两级联动
使用ajax实现菜单联动 通常情况下,GET请求用于从服务器上获取数据,POST请求用于向服务器发送数据. 需求:选择第一个下拉框的值,根据第一个下拉框的值显示第二个下拉框的值 首先使用GET方式. ...