Java编程初学者看什么书籍比较合适?

每次看到网上有很多想学习Java技术的小伙伴都在寻找一些书籍和视频,作为一个初学者,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开发技术,是找到高薪工作的重要法宝!

 为了让学习变得轻松、高效,今天给大家免费分享一套Java教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群:9285,05736

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java开发,年薪15W的和年薪50W的差距

在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase、Hadoop、MQ、Netty、SpringCloud等等 。 一些独角兽公司以及腾讯、阿里、百度、网易等知名大厂对Java人才的需求量连年升级&a…

主流java框架理解

小编说一下分布式管理事务 简单的来说呢,分布式事务其实就是一次大的操作分成了好的小的操作,这些小的操作分别部署在不同的服务器上,而且属于不同的应用,分布式的事务其实就是保证这些小的事务要么都成功,要么都失败…

java中的多线程的示例

在讨论多线程之前,让我们先讨论线程。线程是进程中轻量级的最小部分,可以与同一进程的其他部分(其他线程)并发运行。线程是独立的,因为它们都有独立的执行路径,这就是为什么如果一个线程中发生异常,它不会影响其他线程…

几个改变世界的java工具

Java的开源生态系统强大而健康,这是我们创建OSCON Java的主要原因之一。在过去的十年中,有几个项目已经超越了简单的采用,并在Java世界中发挥了主导作用,进入了软件开发的一般领域,有些甚至深入到用户的日常生活中。 …

java网络篇-tcp的握手和挥手!

package com.wql.test; public class Test6 { public static void main(String[] args) { test1(ErrorType.ERROR_2); } public static void test1(ErrorType type){ switch(type){ case ERROR_1: System.out.println("参数type"type",value"type.…

java enum枚举使用例子

package com.wql.test; public class Test6 { public static void main(String[] args) { test1(ErrorType.ERROR_2); } public static void test1(ErrorType type){ switch(type){ case ERROR_1: System.out.println("参数type"type",value"type.…

经典Java编程面试题分析

求职者参加企业面试是进入职场的一个必经阶段,企业的面试官一般都用哪些问题来考求职者呢?不少求职人员认为,面试官提题出的问都是随机的,没有一定的规律。其实面试官基于想多方面了解面试者的情况下,会通过特定的提问…

Java高级架构师需要掌握什么?

没有谁能够随随便便的就成功,也没有谁能够随随便便就成为一名高级Java架构师。在Java行业中,如果按照排序,Java架构师一定是排在最顶端的,所以成为高级Java架构师,也是得有高超的Java技能,并且还得有着一定…

Java的三种工厂模式

一、简单工厂模式 简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类 实现汽车接口 public interface Car { String getName(); } 奔驰类 public class Benz im…

浅谈Java中类加载机制

首先来了解一下jvm(java虚拟机)中的几个比较重要的内存区域,这几个区域在java类的生命周期中扮演着比较重要的角色: 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息、常量、静态变量以及方法代码的内存区…

Java学习四步曲,助你成长!

对于很多新手来说,可能JAVA的学习会很难。这种难度体现在语言的专业性、学习的不系统、条理的不清晰以及缺乏足够的耐心。实际上想要学习好JAVA,除了有足够的心理准备,还要有挑战JAVA终极四部曲的信心和勇气,那么四部曲是什么&…

Java里的 for (;;) 与 while (true),哪个更快?

在JDK8u的jdk项目下做个很粗略的搜索: 并没有差多少。 其次,for (;;) 在Java中的来源。个人看法是喜欢用这种写法的人,追根溯源是受到C语言里的写法的影响。这些人不一定是自己以前写C习惯了这样写,而可能是间接受以前写C的老师、…

Java中的null到底是什么?

让我们从下面的陈述开始: String xnull; 1. 这句话到底是什么意思? 回想一下什么是变量,什么是值。 一个常见的比喻是变量类似于一个盒子。 就像您可以使用一个框来存储某些东西一样,您也可以使用一个变量来存储一个值。 在声明变量时…

学习Java编程-Java Timezone类常见问题

今天遇到了一个比较有意思的问题,从服务器上封装好的java.sql.timestamp对象返回到本地客户端程序后与数据库中的时间相差了整整14个小时。因为跟客户的时差是14个小时,所以大体怀疑是时差问题。 所以计划在客户端程序执行之前首先设置默认的TimeZone: …

热门专业学习之关于java的一些知识

1. JAVASE 首先要学 JavaSE,这是毋庸置疑的。与此同时,和 JavaSE 的学习同步,建议大家研究一下数据结构与算法。 在 JavaSE 完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能…

企业需求的Java程序员是什么样子的

选择学习Java编程​语言,大部分人还是冲着高薪就业去的,既然如此,就业是学习Java的最终目的,企业需要什么我们就学什么。 下面分析一下企业需要什么,这些也是我们在学习中应该着重关心的。当然,如果你是因…

如何提高Java代码的可重用性?

提高java代码可重用性有哪些方法措施,以下就讲解了三种关于提高java代码可重用性的措施,一起来了解一下吧~ 改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。继承总是带来一些多余的方法…

Java常见面试题之类的加载过程

程序员看似光鲜的就业前景面前,逃不过的是层层的面试,想要进前沿的大公司没有个五六七八面,是不可能滴!而找工作的首个关卡就是笔试,想要获得高薪工作的小伙伴,先刷一波面试题吧! 类加载过程主…

作为Java程序员,这些开源工具你应该要学习!

1. JIRA Atlassian的JIRA是当前敏捷开发领域最重要的工具之一。它用于错误跟踪,问题跟踪和项目管理。如果你遵循敏捷开发方法,例如Sprint和Scrum,那么你必须了解JIRA。它允许您创建Spring循环并跟踪软件开发的进度。 JIRA 是目前比较流行的基…

在Java编码中,如何减少bug数量

众所周知,Java编程语言在IT行业是企业中不可缺少的。不管,从Web应用到Android应用,这款语言已经被广泛用于开发各类应用及代码中的复杂功能。但在编写代码时,bug永远是困扰每一位从业者的头号大难题。今天就与大家分享几个关于减少…