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 ...
随机推荐
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- 乌龟棋dp
传送门题目:https://www.luogu.org/problem/show?pid=1541 其实这道题想到了就很简单,但很难想到用思维的dp,这非常少见. 看到每张牌不超过40张,这数据范围就 ...
- PHP扩展安装方法
php扩展安装方法极简单. 也遵循3大步.但多出一个phpize的步骤. 1.pecl.php.net 在右上解的输入框 中输入需要的扩展 比如 redis 2.搜索完成后会看到两个蓝色的框 ...
- [PHP基础]有关isset empty 函数的面试题
用isset()和empty()判断下面的变量. $str = ''; $int = 0 ; $arr = array(); isset($str) 返回的是 true 还是 false empty( ...
- Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进
一.简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashE ...
- svn up出现类似svn: Error converting entry in directory '.' to UTF-8问题解决
执行svn up命令报错如下 # svn up svn: Error converting entry svn: Valid UTF- data (hex:) followed by invalid ...
- 第三节:Creating API Endpoints (创建API路由)
对于这篇文章的标题,其实,直译就是创建api端点.但是,真的很难懂,我还是写为API路由吧.每篇,文章,我都会全部去进行实践操作,力求写一个好点的教程. 本文英文地址-->https://git ...
- java 中Map 使用
Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复.所以通过指定的key就可以取出对应的value.Map接口定义了如下常用 ...
- 側滑回退的layout(相似IOS側滑回退到上一个activity)
用过apple的同学应该都知道,大多数IOS应用都支持側滑回退,就不具体说明了,直接上图: 作为使用ios的android开发人员来说,我是特别喜欢这个功能的.既然这样,那就在android上也实现这 ...
- MacBook 经常使用快捷键
Mac OS X系统图形表示方法 ⇧ = shift ⌃ = control ⌥ = option / alt Home=fn + ◄ End=fn + ► Page Up=fn + ▲ Pag ...