Java零散知识点梳理
文章平均质量分 89
Java零散知识点梳理
Java小白白又白
Java小白
展开
-
深度剖析Java String的奥秘
1.String的基本特性 1.1String概述 (1)String:字符串,使用一对""引起来表示String s1 = "lalala" ; // 字面量的定义方式String s2 = new String("lala"); // new 对象的方式 (2)String声明为final的,不可被继承 (3)String实现了Serializable接口,表示字符串是支持序列化;实现了Comparable接口,表示Strin...原创 2021-01-16 12:08:52 · 1928 阅读 · 0 评论 -
为什么金额不能用浮点数来定义呢?
1.先来Demo复现下现象 可以发现同样是计算50000*50000的结果,如果用int类型来计算就会得到错误的结果,这是为什么呢?这个错误的结果是怎么来的呢?我们把50000*50000的结果转换为二进制:0 1001 0101 0000 0010 1111 1001 0000 0000 结果为33位,因int类型为4字节,所以发生溢出 1001 0101 0000 0010 1111 1001 0000 0000 去掉最高位后此数变为负数 11...原创 2020-12-25 18:00:07 · 2733 阅读 · 0 评论 -
Java中的引用类型真的是引用传递么?
目录1.辟谣时间2.什么是求值策略 2.1 严格求值 2.2 Java中的求值策略3.总结1.辟谣时间 在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了。如果你有以下想法,那么你有必要好好阅读本文: (1)错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果是个引用,就是引用传递。 (2)错误理解二:Java是引用传递。 (3)错误理解三:传递的参数如果是普通类型,那就是值传递,如果是对...原创 2020-12-24 17:35:23 · 891 阅读 · 1 评论 -
Java中的fail-fast机制
1.问题由来 阿里开发规范里有一条:不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。这是为什么呢?看下面一个Demo:public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("1"); list.add("2");...原创 2020-12-16 10:59:27 · 1634 阅读 · 0 评论 -
用通俗易懂的语言去解释JDK的动态代理
读完本篇文章将会了解以下问题1.JDK的动态代理的整体流程2.代理对象帮我们做了什么3.为什么JDK的动态代理是基于接口的代理(继承为什么不行)4.生成代理实例化对象方法Proxy.newProxyInstance()的三个参数的作用分别是什么--------------------------------------------------------------------------------------------------------------------------原创 2020-08-27 13:05:55 · 5164 阅读 · 2 评论 -
Java的自动装箱与拆箱
读完本篇文章将会了解以下问题1.什么是自动装箱与自动拆箱---------------------------------------------------------------------------------------------------------------------------1.什么是自动装箱与自动拆箱?先来一道例题,方便下面叙述Integer ...原创 2020-01-07 14:17:20 · 250 阅读 · 0 评论 -
Java异常的分类和类结构图
1.异常的分类Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。 异常:Exception以及他的子类,代表程序运行时发送的各...原创 2019-11-07 15:32:20 · 5048 阅读 · 1 评论 -
Java中的Runtime类
读完本篇文章将会了解以下问题1.Runtime类的作用2.Runtime类常用方法---------------------------------------------------------------------------------------------------------------------------1.Runtime类的作用 Runt...原创 2019-11-05 21:42:56 · 863 阅读 · 0 评论 -
Java 修饰符
Java语言提供的修饰符主要分为以下两类:访问修饰符 非访问修饰符访问修饰符Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 default (即默认): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)...原创 2019-11-02 16:38:16 · 506 阅读 · 0 评论 -
Java面向对象的四个特征及五大设计原则
Java面向对象的四个特征:继承、封装、多态、抽象及五大设计原则 继承:是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。比如:父类为人,子类可以是 男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。 ...原创 2019-10-30 14:13:20 · 707 阅读 · 0 评论