随笔分类 - Java基础
摘要:单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点! 1、懒汉 2、饿汉 3、双重校验锁 4、枚举 5、静态内部类 本文永久更新地址: "https://github.com/nnngu/LearningNotes/blob/master/Java%20Basis/019%20%E
阅读全文
摘要:final关键字的含义 在`Java final`,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。 final变量 凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为 的都叫作 变量。 变量经常和 关键字一起使用,作为常量。
阅读全文
摘要:一、静态代理 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。 静态代理由业务实现类、业务代理类两部分组成。业务实现类负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理。在需要调用业务时,不是直接通过业务实现类来调用的,
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:作者: "nnngu" GitHub: "https://github.com/nnngu" 博客园: "http://www.cnblogs.com/nnngu" 简书: "https://www.jianshu.com/users/1df20d76ea5c" 知乎: "https://www.z
阅读全文
摘要:堆和栈都是Java用来在RAM中存放数据的地方。 堆 (1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。 (2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时
阅读全文
摘要:在上一篇文章中(Java的参数传递是值传递还是引用传递),主要分析了java语言的参数传递只有按值传递而没有按引用传递。 先看一下微软的C#文档对按引用传递的定义(如下截图):https://docs.microsoft.com/zh-cn/dotnet/csharp/language-refere
阅读全文
摘要:当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是「按值传递」还是「按引用传递」? 答:是按值传递。Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内
阅读全文
摘要:Java 非线程安全的HashMap如何在多线程中使用 HashMap 是非线程安全的。在多线程条件下,容易导致死循环,具体表现为CPU使用率100%。因此多线程环境下保证 HashMap 的线程安全性,主要有如下几种方法: 接下来分析上面列举的几种方法实现并发安全的 HashMap 的原理: (一
阅读全文
摘要:Java的类的实例化顺序 父类的静态数据 子类的静态数据 父类的成员变量 父类的构造方法 子类的成员变量 子类的构造方法
阅读全文
摘要:Java中ArrayList与LinkedList的区别 一般大家都知道ArrayList和LinkedList的区别: 1. ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。 2. 对于随机访问,ArrayList优于LinkedList 3. 对于插入和删除操作,L
阅读全文
摘要:Java中String、StringBuffer、StringBuilder的区别 1.从是否可变的角度 String类中使用字符数组保存字符串,因为有“final”修饰符,所以String对象是不可变的。 StringBuffer和StringBuilder都继承自AbstractStringBu
阅读全文
摘要:不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。 Java对String类的定义: final修饰符的用法: 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法
阅读全文
摘要:java的数据类型分为:基本数据类型和引用数据类型。 基本数据类型各占多少个字节: 关于boolean占几个字节,众说纷纭,虽然boolean表现出非0即1的“位”特性,但是存储空间的基本计量单位是字节,不是位。所以boolean至少占1个字节。 JVM规范中,boolean变量当作int处理,也就
阅读全文

浙公网安备 33010602011771号