java基础 java基础整理笔记超详细
一、如何更清楚的认识自己的Java基础
谢谢邀请!
作为一名从业多年的Java程序员,同时也出版过Java编程书籍,所以我来回答一下这个问题。
Java程序员要想清楚的认识自身的Java基础知识,应该从以下三个方面来衡量:
第一:对于抽象的理解。Java程序开发的核心是抽象,不论是使用Java进行应用级开发(Web开发、Android开发等),还是使用Java进行研发级开发(平台开发、容器开发等),都需要理解Java中的抽象,所以也说学习Java就是学习抽象。关于抽象的理解涉及到对于面向对象编程的理解程度,几乎包括Java所有重要且基础的编程概念,包括类、抽象类、接口、多态等等。
第二:对于Java虚拟机的理解。Java开发是基于Java虚拟机的,Java虚拟机完成Java代码的跨平台性以及众多Java特征,所以理解Java虚拟机对于理解Java编程具有较多的实际意义。一方面理解Java虚拟机能够提升代码编写的执行效率,另一方面也会充分发挥Java虚拟机赋予Java语言的各种能力,好的Java程序员一定对于Java的开发边界有清晰的把握。
第三:对于Java扩展性的理解。Java最重要的优点就包括Java语言稳定的性能表现和较强的扩展性,对于Java扩展性的理解就涉及到Java的模块化开发。模块化开发一直是Java的重点内容,早期不少Java程序员会借助OSGI来完成模块的动态扩展,现在Java自身增加了模块化支持之后,能够充分理解并运用Java的模块化对于程序员来说还是比较重要的,尤其是研发级程序员。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!
二、java基础知识有哪些
一般,把Java基础成为JavaCore,是Java语言的基础核心知识。
大部分的Java入门书籍都会下面几个方面讲解Java基础:
基础语法:数据类型、变量、运算符
流程控制:选择if-else、循环for-each
字符串:String、StringBuffer、StringBuilder
面向对象:抽象、继承、封装、多态
数组:一维数组、Array
集合:List、Set、Map
IO流:Reader、Writer
异常:try-catch
网络通信
多线程:Thread
有些内容很简单,很快就能掌握,比如循环、数组;有的需要很长时间才能理解,比如面向对象的思考,多线程的运用。
想要学好Java,要有一种态度——坚持
三、自学java大概要多久
每天五小时,三年左右可以基本应付工作。。。如果你觉得难以坚持,可以考虑C#。。JAVA能做的C#也都可以。。尤其在游戏开发方面C#比JAVA要强,主要还是C#和JAVA之间的相似度非常高,语法九成都一样,编程思想完全一样,相对比JAVA要稍微容易一些。但也仅仅是稍微容易而已。。本人是JAVA转C#,感觉不错,想转回去也比较容易。。学编程和学中文的道理是一样的,可以分成六个阶段第一阶段:学中文的时候,什么是主语,谓语,宾语。什么是动词、名词、形容词。什么叫段落,什么是标点符号。搞清楚这些,就等于掌握了中文语法。编程语言也是同理,搞清楚什么是判断,循环,数据类型,类,对象,枚举,结构,数组,集合,运算符。就等于掌握了编程语言的语法。这个学习过程,大概需要一个月。第二阶段:掌握了中文语法,到能用中文写句子之间,有多大差距?首先,差在你要认识“字”和“词”。这就需要长期的积累。编程语言也是同理,学完语法之后,你需要掌握足够多的函数和类。这就等于中文的字和词。JAVA大概有3万多个系统函数(不一定准确),和3777个类(JAVA1.6版)。。语法的作用,就是通过组合这些函数与类(对象)。让它们组合成“句子”。要完全掌握几乎是不可能的,但常用的函数与类,花上半年时间,基本是可以掌握的。第三阶段:能写出中文的句子,和能写信之间,有多少差距?差距在于,你不仅要能会写字和词,还要理解它们的意思,并且哪一个词,应该在什么情况下使用。编程语言也是同理,这在编程语言中,并没有特定的叫法,其实就是熟悉的过程,但这个过程非常漫长。。。。但可以靠之后慢慢积累,并不需要在一时之间便全部掌握。第四阶段:能写信,和能写作文的差距有多少?能写信,你只要让对方看懂就可以,对方看完是否觉得舒服,并不重要。。。但写作文,你至少让老师看后不觉得反感,才算及格。编程语言也是同理,而且这个阶段,对于编程来说非常重要。。。这决定你是否能写出大的程序。。。这点无法突破,你就只能写出计算器之类,以KB为单位的小玩具。。。这其中主要涉及“封装”,“多态”的深入理解,以及对“委托”,“事件”,“线程”的正确使用。。还要掌握一些设计模式的使用,其中“工厂模式”“观察者模式”“单例模式”这三个是必须掌握的,且要非常熟练。。。。非常多的人会在这个阶段放弃学习之后改行。。所以这个阶段,其实可以视为淘汰期。。挺过来基本就会了。。挺不过来的,就可以准备改行了。。本人在这个阶段,中途放弃过几次,一共经历了大约两年的时间。第五阶段:作文除了语法通顺,还要常常引经据典,所以就需要一定的背诵能力。也就等同记忆力。套用到编程,就是数据库的使用。。。其实这和编程语言本身并没太大关系。。。但我到今天为止,还从没见过有任何一个完全不懂数据库,却能找到工作的程序员。。。。。写法几乎并不需要思考,基本全靠死记硬背。。。其实到了这一步,就能胜任一些简单的工作了。。。比如做一个人事管理软件。。。由于程序员只需要掌握增删改查,所以这个阶段并不难。。快的话,十天可成。。但在这阶段卡住,一年都背不过的,也不在少数。第六阶段:能写作文,还能写论文的差距有多少?那就在于你除了学会中文,还要学论文相关的专业知识。编程方面,则是针对需要面临的工作,学习相应的框架与基础知识。。。。如果你要做安卓APP,那你就得去学安卓,要明白如何获得GPS定位信息?摄像头的要如何驱动?。。。。如果你要做网站,那你就得明白啥是HTTP协议?啥是GET请求?啥是POST请求?HTML,CSS,JAVASCRIPT怎么写?熟悉MVC。。。到这个阶段,算是功德圆满了。。。