Java
Lb_CsdnJava
只要奋斗,一切皆为美好!
展开
-
浅谈Java中static关键字
static关键字用来声明不需要依赖实例且线程间共享的内容。可以声明静态变量、静态方法、静态代码块、内部静态类注:类加载时JVM就会为静态属性分配内存并初始化。修饰属性1.不能修饰局部变量,只能修饰全局变量;2.通过类名.变量名直接调用;3.代码未赋初值,自动赋于默认值;(局部变量不会自动赋值)4.如果通过对象访问静态属性编译器会报警告;5.类加载时,先执行静态属性、再执行静态...原创 2020-04-08 00:03:42 · 173 阅读 · 0 评论 -
为什么引用类型要重写hashCode()方法
为什么引用类型要重写hashCode()方法?因为不重写的情况下,两个我们认为相等的对象经过哈希后得到了不同的哈希值。为什么会发生这样的情况?当我们不重写hashCode()方法时,默认调用Object.hashCode():C++实现的native方法,对地址进行哈希。故当我们使用引用类型变量的hashCode()方法时,必须要重写该方法,让其用对象的值进行哈希,这样才能相同的ke...原创 2020-04-02 23:07:21 · 295 阅读 · 0 评论 -
String类型的变量比较( == / equals() )
均直接赋值String s = "123";String str = "123";System.out.println(s==str);trueSystem.out.println(s.equals(str));true//二者均指向常量池中对象,地址和值均相等new和直接赋值的区别String s = "123";//常量池中创建一个“123”对象String str ...原创 2020-04-02 22:37:54 · 438 阅读 · 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 · 354 阅读 · 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 · 162 阅读 · 0 评论 -
多态的作用
多态的作用最根本的是降低用户使用成本。1.类的调用者不必知道类的类型, 只需要知道这个类的对象具有哪些方法即可;2. 能够降低代码的 “圈复杂度”, 避免使用大量的 if - else;3. 可扩展性强。要新增需求, 使用多态的方式代码改动成本也比较低。...原创 2020-02-15 19:48:09 · 633 阅读 · 0 评论 -
简述Java的面向对象思想
面向对象面向对象,将现实事物抽象成对象,对象是类的实例,而类是相同结构对象的抽象,特征抽象为属性,行为抽象为方法。面向对象的三大特征为封装、继承、多态。封装,基本概念或者特点介绍一下,说一下开闭原则(修改关闭,扩展开放)继承,什么是继承,单继承,继承了父类的所有属性和方法,子类可以有自己特有的属性和方法多态,运行时决定具体的类型或方法,表现形式:重载,重写,向上向下转型...原创 2020-02-07 20:16:06 · 369 阅读 · 0 评论