- 博客(18)
- 收藏
- 关注
原创 String、StringBuffer和StringBuilder的区别
1、用来处理字符串常用的类有3种:String、StringBuffer和StringBuilder2、三者之间的区别:都是final类,都不允许被继承;String类长度是不可变的,StringBuffer和StringBuilder类长度是可以改变的;StringBuffer类是线程安全的,StringBuilder不是线程安全的;String 和 StringBuffer:##1、String类型和StringBuffer类型的主要性能区别:String是不可变的对象,因此每次在对Stri
2022-04-13 21:14:36
415
转载 为什么有static?
为什么有static?1.static关键字的作用2. static是什么3 什么时候使用static修饰符4 总结1.static关键字的作用有static修饰的成员属于类本身,没有static修饰的成员属于类的实例。static是什么在程序中static修饰的任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样的设计,static可以用来区分成员变
2022-04-13 20:22:37
550
1
原创 哪些对象被作为GC root?
可作为GC Roots的对象虚拟机栈(栈帧中的本地变量表)中引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(Native方法)引用的对象
2022-04-13 19:09:47
1032
原创 Hashcode和equals以及==
hashcode定义:hashcode是所有对象都会有的一个方法,是根据内存地址根据一定规则生成int类型的数。equals定义:Object类中的equals方法和“==”是一样的,没有区别,即俩个对象的比较是比较他们的栈内存中存储的内存地址。而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同”,他们比较的是值是不是相等。所以,当自己创建类时,自动继承了Object的equals方法,要想实现不同的等于比较,必须重写equals方法。==定义:
2022-04-13 17:37:52
451
原创 蚂蚁金服-面试
1、介绍下对象的hashcode和equals的使用场景2、hashmap扩容3、线程安全的hashmap4、线程的5、两种锁的区别6、哪些对象被当作gc root?7、事务的四大特性8、拒绝策略???9、jdk8的lambda表达式10、单元测试怎么写?11、mybatis和mybatisplus的区别?12、map和list要学的东西还非常多。13、什么情况下会重写equals和hashcode?14、举例几个多线程的业务场景。15、前后端如何交互?16、能否解释下什么是C
2022-04-11 19:59:12
512
原创 ==和equals的区别
(1)、== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。(2)、equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。java中的数据类型可以分为两类:基本数据类型 byte,short,char,int,
2022-04-08 20:47:59
109
原创 分享一下今日凉经
1、手撕代码!合并两个有序链表2、hashmap的底层原理,hashcode是如何做到存储这些map的?3、hashmap为什么不是线程安全的?4、JVM中的GC,当一个新被实例化的对象会先被放在堆内存的哪里?如果要回收他,一步一步的流程是怎样的?5、新生代、老年代、持久代是怎么划分的?6、线程的一个状态,说一下。直接背面试题还是被虐的很惨!还是要多敲代码,把各种原理吃透,而不是囫囵吞枣一样的。...
2022-04-01 15:34:33
618
原创 面试-凉经
1、union 和union all的区别?2、假设一个主线程有两个子线程A和B,如何判断A和B都执行完了?3、线程安全的hashmap是什么?4、异常如何处理?一直往外抛然后呢?5、jdbc里面try catch finally里面都写什么?6、sql如何查询两个相同的字段并且去重?7、oracle有了解过吗?8、多表查询该怎么查?9、线程池中核心线程数和最大线程数的意义是什么?为什么不设定一个固定的线程数?10、敏捷开发和瀑布开发的区别?11、juc包里都有什么?12、软件开发的流
2022-03-31 20:44:46
232
原创 重写和重载的区别
重写(override)子类把父类的方法重新写一遍,但是方法名,参数列表,返回类型不能改变,对方法体进行修改。重载(overload)一个类中,方法名一样,但是参数列表(参数类型,参数个数,参数顺序等)不同。返回类型可以相同可以不同。总结: 重写是运行时多态性的体现,重载是编译时多态性的体现。...
2022-03-17 17:57:18
343
原创 C++,输入5个学生的3门成绩,输出平均分最高的人的姓名,数组结构体
#include <iostream>using namespace std;struct student { char name; int score[3];};int getave(int score[]) { int avg=0; for (int i = 0; i < 3; i++) { avg += score[i]; } return av...
2020-03-23 17:20:59
3227
原创 C++,数组的逆序存放并输出
#include <iostream>#include<string>using namespace std;int Max(int R[]) { int pmax,i=0; pmax = R[0]; for (i = 1; i < 10; i++) { if (pmax < R[i]) { ...
2020-03-19 17:06:22
4569
原创 单链表的各种操作(后插法创建,插入,合并有序链表),C++完整版(包括main函数)
单链表的各种操作(后插法创建,插入,合并有序链表),C++完整版(包括main函数)#include <iostream>using namespace std;//链表的struct定义typedef struct node { int data;//数据域 node* next;//指针域}Node,*Linklist;//尾插法创建单链表void c...
2020-03-15 15:41:12
744
原创 C++二叉树的创建,树的深度以及遍历的递归
#include#includeusing namespace std;//二叉树的struct定义typedef struct node {struct node* lchild;struct node* rchild;char data;}BitreeNode,*Bitree;//创建二叉树void CreateBitree(Bitree& T) {char c;...
2020-02-25 14:46:31
236
原创 C++判断回文,是输出yes,不是输出no
#include #includeusing namespace std;bool judgestr(char[]);bool judgestr(char str[]) {int len = strlen(str), i, j;for (i = 0, j = len - 1; i <= len / 2; i++, j–) {if (str[i] != str[j]) {ret...
2020-02-24 09:34:35
2734
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人