![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Lb_CsdnJava
只要奋斗,一切皆为美好!
展开
-
浅谈Java中static关键字
static关键字用来声明不需要依赖实例且线程间共享的内容。 可以声明静态变量、静态方法、静态代码块、内部静态类 注:类加载时JVM就会为静态属性分配内存并初始化。 修饰属性 1.不能修饰局部变量,只能修饰全局变量; 2.通过类名.变量名直接调用; 3.代码未赋初值,自动赋于默认值;(局部变量不会自动赋值) 4.如果通过对象访问静态属性编译器会报警告; 5.类加载时,先执行静态属性、再执行静态...原创 2020-04-08 00:03:42 · 176 阅读 · 0 评论 -
为什么引用类型要重写hashCode()方法
为什么引用类型要重写hashCode()方法? 因为不重写的情况下,两个我们认为相等的对象经过哈希后得到了不同的哈希值。 为什么会发生这样的情况? 当我们不重写hashCode()方法时,默认调用Object.hashCode():C++实现的native方法,对地址进行哈希。 故当我们使用引用类型变量的hashCode()方法时,必须要重写该方法,让其用对象的值进行哈希,这样才能相同的ke...原创 2020-04-02 23:07:21 · 298 阅读 · 0 评论 -
String类型的变量比较( == / equals() )
均直接赋值 String s = "123"; String str = "123"; System.out.println(s==str);true System.out.println(s.equals(str));true //二者均指向常量池中对象,地址和值均相等 new和直接赋值的区别 String s = "123";//常量池中创建一个“123”对象 String str ...原创 2020-04-02 22:37:54 · 441 阅读 · 0 评论 -
二分查找
private int binarySearch(int[] nums,int key) { int left = 0; int right = nums.length - 1; int mid; while(left <= right){ mid = (left + right)/2; ...原创 2020-03-23 18:20:01 · 112 阅读 · 0 评论 -
三种单例模式的实现
1.单例模式 public class Singleton{ private volatile static Singleton instance; private Singleton(){} public static Singleton getInstance(){ if(instance == null){ sync...原创 2020-02-15 23:03:24 · 356 阅读 · 0 评论 -
认识HashMap和Hashtable
HashMap和Hashtable简介 简介 Hashtable,也叫哈希表,是根据关键码值(Key-value)而直接进行访问的数据结构。通过哈希函数把Key的Hashcode映射到表中一个位置来访问记录。 1.底层数组(Entry[ ] table)+链表(Entry<K,V>)实现; 2.无论key还是value都不能为null,否则会抛出空指针异常; 3.线程安全,能用于多线程...原创 2020-02-15 22:05:53 · 163 阅读 · 0 评论 -
多态的作用
多态的作用 最根本的是降低用户使用成本。 1.类的调用者不必知道类的类型, 只需要知道这个类的对象具有哪些方法即可; 2. 能够降低代码的 “圈复杂度”, 避免使用大量的 if - else; 3. 可扩展性强。要新增需求, 使用多态的方式代码改动成本也比较低。 ...原创 2020-02-15 19:48:09 · 642 阅读 · 0 评论 -
简述Java的面向对象思想
面向对象 面向对象,将现实事物抽象成对象,对象是类的实例,而类是相同结构对象的抽象,特征抽象为属性,行为抽象为方法。面向对象的三大特征为封装、继承、多态。 封装,基本概念或者特点介绍一下,说一下开闭原则(修改关闭,扩展开放) 继承,什么是继承,单继承,继承了父类的所有属性和方法,子类可以有自己特有的属性和方法 多态,运行时决定具体的类型或方法,表现形式:重载,重写,向上向下转型 ...原创 2020-02-07 20:16:06 · 372 阅读 · 0 评论