![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
我们书写的不是代码而是人生
这个作者很懒,什么都没留下…
展开
-
漫画:什么是HashMap?(底层原理)
转自:程序员小灰(微信号:chengxuyuanxiaohui)————————————众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。对于HashMap,我们最常使用的是两个方法:Get 和 Put。...转载 2019-09-03 17:46:28 · 157 阅读 · 0 评论 -
java 中操作字符串都有哪些类?各自的区别?(skycto JEEditor)
String、StringBuffer、StringBuilder String : final修饰,String类的方法都是返回new String。即对String对象的任何改变都不影响到原对象,对字符串的修改操作都会生成新的对象。 StringBuffer : 对字符串的操作的方法都加了synchronized,保证线程安全。 StringBuilder : 不保证...转载 2019-09-17 23:29:26 · 223 阅读 · 0 评论 -
String是基础数据类型吗?(skycto JEEditor)
String 不属于基础数据类型。Java8种基础的数据类型:byte、short、char、int、long、float、double、boolean。原创 2019-09-17 23:27:10 · 115 阅读 · 0 评论 -
Math.round(-1.5)的值(skycto JEEditor)
Math.round(-1.5) 等于多少呢?-1。扩展JDK中的java.lang.Math类round:返回四舍五入,负.5小数返回较大整数,如-1.5返回-1。ceil:返回小数所在两整数间的较大值,如-1.5返回-1。tail:返回小数所在两整数间的较小值,如-1.5返回-2。实验代码 System.out.println...转载 2019-09-17 23:24:22 · 288 阅读 · 0 评论 -
replace和replaceAll的区别(skycto JEEditor)
String对象中的replace和replaceAll的区别?replace方法:支持字符和字符串的替换。 public String replace(char oldChar, char newChar) public String replace(CharSequence target, CharSequence replacement)repl...转载 2019-09-17 23:21:47 · 908 阅读 · 1 评论 -
final与static关键字的区别?(skycto JEEditor)
都可以修饰类、方法、成员变量。static可以修饰类的代码块,final不可以。static不可以修饰方法内的局部变量,final可以。static修饰表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块,只会被执行一次static修饰的属性,也就是类变量,是在类加...转载 2019-09-17 23:15:38 · 85 阅读 · 0 评论 -
return与finally的执行顺序的影响(skycto JEEditor)
对于 try 和 finally 至少一个语句块包含 return 语句的情况:finally 语句块会执行finally 没有 return,finally 对 return 变量的重新赋值修改无效try 和 finally 都包含return,return 值会以 finally 语句块 return 值为准代码 public static void main(String[]...转载 2019-09-17 23:14:33 · 80 阅读 · 0 评论 -
finally语句块的执行范围(skycto JEEditor)
finally语句块一定执行吗?答案是不一定。 直接返回未执行到finally语句块 抛出异常未执行到finally语句块 系统退出未执行到finally语句块...存在很多特殊情况导致finally语句块不执行。代码如下 public static String test() { ...转载 2019-09-17 23:11:26 · 83 阅读 · 0 评论 -
final、finally、finalize()的区别(skycto JEEditor)
final 表示最终的、不可改变的。用于修饰类、方法和变量。 finally 异常处理的一部分,它只能用在try/catch语句中,表示希望finally语句块中的代码最后一定被执行(但是不一定会被执行) finalize()是在java.lang.Object里定义的,Object的finalize方法什么都不做,对象被回收时finalized方法会被调用。...转载 2019-09-15 21:50:50 · 114 阅读 · 0 评论 -
final关键字的作用(skycto JEEditor)
final 语义是不可改变的。 被 final 修饰的类,不能够被继承。 被 final 修饰的成员变量必须要初始化,赋初值后不能再重新赋值(可以调用本对象方法修改属性值)。对基本类型来说是其值不可变;对引用变量来说其引用不可变,即不能再指向其他的对象。 被 final 修饰的方法代表不能重写。————————————————版权声明:本文为CSDN博主...转载 2019-09-15 21:47:07 · 120 阅读 · 0 评论 -
hashCode()和equals()的区别?(skycto JEEditor)
两个对象hashCode()相同,equals() 也一定为 true吗?首先,答案肯定是不一定。同时反过来equals为true,hashCode也不一定相同。类的hashCode方法和equals方法都可以重写,返回的值完全在于自己定义。hashCode()返回该对象的哈希码值;equals()返回两个对象是否相等。关于hashCode和equal是方法是有一些 常...转载 2019-09-15 21:43:02 · 75 阅读 · 0 评论 -
装箱和拆箱(Java基础、skycto JEEditor)
1、什么是装箱?什么是拆箱?装箱:基本类型转变为包装器类型的过程。拆箱:包装器类型转变为基本类型的过程。 //JDK1.5之前是不支持自动装箱和自动拆箱的,定义Integer对象,必须 Integer i = new Integer(8); //JDK1.5开始,提供了自动装箱的功能,定义Integer对象可以这样 Integer i =...转载 2019-09-15 21:36:20 · 89 阅读 · 0 评论 -
使用==和equals比较(基本类型、包装类对象、skycto JEEditor)
1、值不同,使用==和equals比较都返回false2、值相同使用==比较: 基本类型-基本类型、基本类型-包装对象返回true 包装对象-包装对象返回false 缓存中去的包装对象比较返回true(JVM 缓存部分基本类型常用的包装类对象,如 Integer 缓存 -128 ~ 127 ) Integer i1 = 100;...转载 2019-09-15 21:30:52 · 202 阅读 · 0 评论 -
== 和 equals的区别?(skycto JEEditor)
== 和 equals 的区别是什么?使用 == 比较Java中的8种基本数据类型(byte,short,char,int,long,float,double,boolean)比较他们之间的值是否相等。引用数据类型,比较的是他们在堆内存地址是否相等。每新new一个引用类型的对象,会重新分配堆内存空间,使用==比较返回false。使用 equals 比较e...转载 2019-09-15 21:24:39 · 104 阅读 · 0 评论 -
JDK 和 JRE 的区别?(skycto JEEditor)
JRE:Java Runtime Environment(java运行时环境)。即java程序的运行时环境,包含了java虚拟机,java基础类库。JDK:Java Development Kit(java开发工具包)。即java语言编写的程序所需的开发工具包。 JDK包含了JRE,同时还包括java源码的编译器javac、监控工具jconsole、分析工具jvisualvm等。...转载 2019-09-15 21:15:26 · 131 阅读 · 0 评论 -
Map集合(Java基础、skycto JEEditor)
一、什么是Map不同于List单列的线性结构,Java中的Map提供的是一种双列映射的存储集合,它能够提供一对一的数据处理能力,双列中的第一列我们称为key,第二列就是value,一个key只能够在一个Map中出现最多一次,通过一个key能够获取Map中唯一一个与之对应的value值,正是它的这种一对一映射的数据处理关系,在实际应用中可以通过一个key快速定位到对应的value。Map的三...原创 2019-09-15 20:52:44 · 133 阅读 · 0 评论 -
Java虚拟机的Heap监狱(JVM、新生代、Minor GC、老年代、Full GC)
转自:码农翻身(微信号:coderising)在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。中国人把Stack翻译成“栈”,把Heap翻译成“堆”, 还有人会把Stack翻译成“堆栈”,唉,真不知道他们是怎么想的, 不过这么多年都过来了,你们明白就好。碰巧我会对Heap中的Java ...转载 2019-09-05 15:52:14 · 123 阅读 · 0 评论 -
序列化: 一个老家伙的咸鱼翻身(Java对象、XML、JSON、反序列化)
转自:码农翻身(微信号:coderising)1、寒冬的蛰伏这里的工作很繁忙,一年365天, 一天24小时几乎不停工。但是我却是一个闲人, 因为我做的工作最近用的人太少了, 经常被冷落在一边。大多数时候,我只能羡慕的看着线程、反射、注解、集合、泛型这些明星员工在那里忙忙碌碌, 听着他们充满激情的的大声说笑。他们都叫我序列化,想想也是, 我的工作就是把一个Java 对象变成二进制的字节流...转载 2019-09-05 14:03:32 · 240 阅读 · 2 评论 -
反转字符串(skycto JEEditor)
如何将字符串反转?1、使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现。(JDK1.8)2、不考虑字符串中的字符是否是 Unicode 编码,自己实现。代码 public static void main(String[...转载 2019-09-17 23:31:52 · 161 阅读 · 0 评论