初学者怎么学Java编程 需要了解哪些核心技术

初学者怎么学Java编程?需要了解哪些核心技术?Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

每次看到网上有很多想学习java技术的小伙伴都在寻找一些书籍和视频,作为一个初学者,该看怎么样的书籍比较适合呢?或者说,如何才能轻松入门又能深入学习呢?当然了这不是一本书就能解决的事。下面千锋先给大家分享一下《Java核心技术》这本书,将学习的一些感想跟大家聊一聊。

?

一、 Hash Code方法默认是调用该对象的地址,如果你重写了equals方法应该重写hash Code方法,例如你的equals方法是比较的对象的ID,就用该对象的ID来hash。

二、 instanceof并不完美,不能够查出父子类,所以在写equals方法的时候应该比较下是否同一个类。。

三、 String类和包装类的值都是不能改变的,所以如果希望实现它们的引用传递需要使用StringHolder类和包装类的Holder类,例如:IntHolder。

四、 C#中的委托可以用JAVA中的反射invoke方法传递方法指针method完成。

五、 不要使用protected修饰field因为整个包内都可以访问,破坏了封装性。

六、 throwable接口的实现类有2个分支,一个是error,一般情况JAVA系统的内部错误或者资源耗尽,对于它,除了通知用户错误和让用户安全退出外别无他法。还有一个是exception,又分为Runtime Exception和非Runtime Exception。由于程序的错误导致出现的异常称为Runtime Exception,这种问题应该在程序中解决和避免,不应该抛出异常。而曾经能够正常运行,在某些时候可能会出现导致的异常称为非Runtime Exception,这种问题的解决应该抛出异常。常见的Runtime Exception有类型转换错误、数组越界、空指针等。如果出现Runtime Exception就一定是你的问题。Error和Runtime Exception称为未检查异常。而非Runtime Exception称为已检查异常。

七、 要使用精确的浮点运算请使用Big Decimal。除法的时候注意使用小数位,否则会导致得不到精确值错误。

八、 建议不要在程序中使用char,因为char使用的是utf-16编码。

九、 三种处理错误的机制:异常,日志和断言。java默认关闭使用断言,想使用应该在运行的jvm参数中使用-ea。例如:int x= 5;要判断x是否大于0可以使用assert x>0 : x;断言不应该使用在程序发生了可恢复性错误。断言只能用在开发和测试阶段。是一种战术性工具,而日志才是贯穿整个生命周期的策略性工具。

十、 序列化除了能够保存简单对象以外,对复杂对象也有很好的处理方式,比如如果在几个对象共同引用一个共享对象时,就不会把这个共享对象保存几次,而是检查是否已经保存这个共享,如果没有则保存,如果已经保存,则保存一个该对象的序列号。

十一、 泛型可以单独在非泛型类中使用,例如下泛型方法:public static void test(T t){},而且泛型可以使用多个接口,例如:public statci void test(T t){}。可以使用泛型限定超类,它与限定子类相反,例如:public class Pair,但是他可以向方法提供参数,不能使用返回值。 一般的,带有超类的泛型可以向对象写入,带有子类的泛型可以从对象读取,例如:public static> T min(T[] a){}。

只有掌握真正的Java开发技术,才能逐渐成为高级Java开发工程师。Java开发的前景是毋庸置疑的,如果想进入这个“吸金”的领域,选择专业的学习方式是明智之举。

原文地址:https://www.cnblogs.com/qianfengzz/p/11738466.html

时间: 2024-11-09 05:11:17

初学者怎么学Java编程 需要了解哪些核心技术的相关文章

初学者怎么学java

随着 "互联网+"新经济模式不断地深入发展,IT行业中的软件开发行业也是欣欣向荣,特别是java在当下是最受欢迎的软件开发工具,在生活中被运用到各个领域,霸占着各大编程语言的榜首. 越来越多的零基础朋友开始关注java,并且开始学习java.但是对于初学者来说,java并不是那么好学的,冰冻三尺非一日之寒,java知识的学习也是这样心急吃不得热豆腐,那么初学者怎么学java呢? 初学者怎么学java? 1. 弄清java概念 Java作为目前最受欢迎的编程语言,自面市至今已经有20多年

如何从零开始学Java编程

Java语言的学习开始,很多同学不知道从哪入手?如果你也想知道如何从零开始学Java?怎样学Java最有效? 虽然Java面象对象很多东西都是被封装好的直接用,相对其他语言没那么复杂,但是学的东西也没有那么的so easy,总之如果你是真想做开发,就先沉下心用心把基础打好,不要先老想着因为软件行业有市场,所以要进来分一杯羹的这种急躁心态. 另外,在编程这个行业,技术更新速度快,所以一定要具备相应的自学能力及自学意识,不然即使现在入职了Java相关的工作,不主动学习的话,说不定几年后你就跟不上技术

学java编程软件开发,非计算机专业是否能学

近几年互联网的发展越来越好,在国外,java程序员已经成为高薪以及稳定职业的代表,虽然国内的有些程序员很苦逼,但是那只是少数,按照国外的大方向来看,程序员还是一个很吃香的职业.根据编程语言的流行程度,java编程语言排名现在基本是在编程语言排行榜前几位,既然这么多人选择了java编程软件开发,许多非计算机专业的零基础学员关心自己到底能学好java开发呢?今天动力节点小编就来为大家解答这个疑问. 从出发点方面来归纳共分两种: 一.打算从事计算机行业的人,目的是能让自己有个好工作.现在就业形势严峻,

都25岁了,还能开始学Java编程么?

编程这个东西,你说它简单就简单,你说它难的确也挺难的.大家都说Java编程是吃青春饭的,目前在国内是这样的,一般年龄大一点都转其它方向,或者当领导了.本质上来说编程这个跟年龄关系不大,有兴趣,什么年龄都可以.有一个朋友都当了好几年教师了,发现没太大意思,让后出来闯天下,面试前看了几天c语言,就上手工作了,且干得很不错.我们都知道江民杀毒软件王江民,他也是大龄学编程. “他38岁开始学习计算机,两三年之内成为中国最出色的反病毒专家之一;45岁只身一人独闯中关村办公司,产品很快占据反病毒市场的80%

芯学苑免费学Java编程开发课程7天

Java软件开发公开课 上课时间:2017年05月13日,上午9:00 上课地点:西安市雁塔区小寨东路196号国贸大厦小区1栋1单元12层 Java精英班开课时间:2017年05月16日 上课地点:西安市雁塔区小寨东路196号国贸大厦小区1栋1单元12层 零基础学Java,学完拿高薪

Jobss和Tomcat简析 零基础学java编程

Jobss: 是一个基于JavaEE的开放源代码的应用服务器, JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用.JBoss是一个管理EJB的容器和服务器,支持EJB 1.1.EJB 2.0和EJB3的规范.但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用. 特点: 1.将JMX微内核服务作为其总线结构: 2.本身就是面向服务架构(Service-Oriented Architecture,SOA): 3.具有统

学java,这21个核心技术点你记住了?(一)

1. JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可.不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的. JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透.我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了.当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低. 在JVM这个大类

没有基础的初学者学java怎样快速入门?超全的学习路线图

现在地球人都知道互联网行业工资高,上万都是小case,不值一提.可是对于大部分人来说,工资七八千都算很难了.那我也想学java,当程序员,赚大钱.可是作为一个初学者,怎样才可以快速入门呢?早点入门就可以早点赚大钱啊. 划重点:对于没有基础却想快点入门的强烈建议参加培训班. 可以选择自学或者参加培训.自学一般是通过看书.视频入门,了解JAVA这门编程语言的一些基础性知识.但是,毫不夸张地说,很多零基础小白自学JAVA如果直接通过看书,很容易云里雾里,可以说是一个JAVA入门从放弃的....毅种循环

学编程,学java还是大数据、android?平均月薪23k以上告诉你方向

学编程,学java还是大数据.android?有不少同学在纠结中,最近有不少初学者来问到,学习大数据,学习spark,公司主要使用那些语言编写,每听到这一个问题,起码还是很不错的,证明你已经开始学习大数据了,并了解大数据Spark是可以使用多种语言来实现开发的,那就是Java.Scala.Python和R语言都可以使用,但R语言本人不常用. 学编程,学java还是大数据.android?平均月薪23k以上告诉你方向正常来讲学习大数据之前都要做到以下几点: 1.学习基础的编程语言(java,pyt