做专利费减是哪个网站,设计常用网站,手机如何创造网站,北京国税局网站官网入口每次看到网上有很多想学习Java技术的小伙伴都在寻找一些书籍和视频#xff0c;作为一个初学者#xff0c;Java编程初学者 看什么样的书籍比较适合较适合呢?或者说#xff0c;如何才能轻松入门又能深入学习呢?当然了这不是一本书就能解决的事。小编分享一下《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 x0 : 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架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群928505736