Java随笔
Java小知识点随手记录
阔阔摸你脸脸
这个作者很懒,什么都没留下…
展开
-
根据一道经典的面试题来探讨Java中的值传递与Java的内存分配机制
Java中的“值传递”机制分析起因:最近面试时遇到这样一道面试题,这道题能够很好的考察对Java中的参数传递和内存分配机制的理解,虽然当时我回答对了,但是仍然有瑕疵,特此记录总结。public static void main(String[] args) { User a = new User(); a.setName("Hollis"); a.setGender("Male"); f(a); System.out.p原创 2021-06-01 14:08:04 · 188 阅读 · 0 评论 -
深入理解Java中的二维数组
引言最近做剑指offer里面的题时经常遇见二维数组相关的题型,对java中的二维数组的一些概念需要有个清晰的认知,特此记录下自己的总结。Java中二维数组的初始化1.直接以集合的形式写出二维数组的所有值例如:int[][] array = {{1,2},{3,4}};这段代码可以初始化获得一个二维数组array,其具有2个1维数组,每个1维数组长度均为2。此时理解二维数组,二维数组本质上是一个一维数组即一个集合,集合中的每个元素同样是一个集合(一个一位数组),理解这个二维数组的本质便于理解原创 2021-05-31 22:17:31 · 724 阅读 · 0 评论 -
ArrayList和 LinkedList的区别
简述ArrayList和 LinkedList的区别ArrayList和LinkedList的区别有以下几点:ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构;对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;对于添加和删除操作add和remove,一般大家都会说LinkedList要比ArrayList快,因为ArrayList要移动数据。但是实际情况并非这样,对于添加或原创 2021-01-21 18:27:14 · 108 阅读 · 0 评论 -
简述什么是多态
多态的简述:多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。...原创 2021-01-21 18:24:49 · 589 阅读 · 0 评论 -
Java中 &与 && 的区别
Java中 &与 && 的区别?1.&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整 个运算结果才为 true,否则,只要有一方为 false,则结果为 false。2.&&还具有短路的功能(短路与),即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str!=null &&!str.equals(“”))表达式,当 str 为 null原创 2021-01-21 18:20:57 · 481 阅读 · 0 评论 -
Java中==和equals()的区别?
Java中==和equals()的区别?**变量分为8种基本数据类型和引用类型数据类型**八大基本数据类型:Byte,short,int,long,double,folat,boolean,char,其中占一个字节的是byte,short和char占两个字节,int,float占四个字节,double和long占8个字节,boolean只有true和false,这八种数据变量中直接存储值八大基本数据类型对应着各自的封装类型,提供了更多的方法,且不进行初始化时值默认为空(基本数据类型必须初始化)像原创 2021-01-17 22:33:52 · 242 阅读 · 1 评论 -
Java 中会存在内存泄漏吗,请简单描述?
Java 中会存在内存泄漏吗,请简单描述?理论上 Java 因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是 Java 被广泛使用于服务器端编程的 一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被 GC 回收,因此也会导致 内存泄露的发生。例如 Hibernate 的 Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象 的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内 存泄露。原创 2021-01-17 22:08:23 · 276 阅读 · 0 评论 -
面试题之String str = new String(“abc“); 创建了几个对象?
String str = new String("abc"); 创建了几个对象? 网上的争论不少,有的说是两个,答案应该是:两个或一个 理由解释如下: 都了解java 的字符串常量缓冲区(字符串池,字符串常量池), 如果代码是这样的: String str2 = new String("abc"); 并且 abc 字符串之前没有用过,这毫无疑问创建了两个对象,一个是new St...转载 2021-01-15 00:51:36 · 253 阅读 · 0 评论 -
Java中关于length和length()的问题小结
Java中数组有没有 length()方法?String 有没有 length()方法?数组没有 length()方法(数组类似于java中定义的一个基本数据类型,其不是类自然没有方法),有 length 的属性(严格来说甚至算不上属性)。String 是字符串类,有 length()方法。JavaScript 中,获得字符串的长度是通过length 属性得到的,这一点容易和 Java 混淆。至于具体原因我这个Java初学者肯定是不可能能很好地解释的,这里引用了一篇很好地解释了这一问题的文章点击此原创 2021-01-14 22:45:30 · 763 阅读 · 2 评论 -
简述Java GC
请简单描述一下java的垃圾回收GCJAVA GC(Garbage Collection,垃圾回收)机制是区别C++的一个重要特征,C++需要开发者自己实现垃圾回收的逻辑,而JAVA开发者则只需要专注于业务开发,因为垃圾回收这件繁琐的事情JVM已经为我们代劳。根据JVM规范,JVM把内存划分成了如下几个区域:1.方法区(Method Area)2.堆区(Heap)3.虚拟机栈(VM Stack)4.本地方法栈(Native Method Stack)5.程序计数器(Program Counter Regi原创 2021-01-14 22:27:15 · 222 阅读 · 1 评论 -
Java随笔之String,StringBuffer与StringBuilder类
String,StringBuffer与StringBuilder的区别String对象的创建的两种不同摘要:String类型的实例的是定长(一旦生成不可变)的字符串,String 字符串变量 直接赋值的话是 看做字符串常变量存储在 “永久代”中,且多个字符串相同的常变量共享一片内存。 字符串变量调用new String("") 来创建变量的时候是,因为调用了new 所以该变量存储在“新生代”,而且独自占用一片内存。jdk1.8之后永久代叫做元空间Metasspace` String text1原创 2021-01-14 02:56:13 · 158 阅读 · 0 评论