首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客100510708号
获赞
11
粉丝
1
关注
6
看过 TA
3
男
石河子大学
2020
Java
IP属地:北京
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客100510708号吗?
发布(30)
评论
刷题
收藏
牛客100510708号
关注TA,不错过内容更新
关注
2021-08-12 15:22
石河子大学 Java
jvm垃圾回收
一:-xms:最小堆内存-xmx:最大堆内存-xmn:新生代内存二:对象什么时候进入老年代,3种情况:新生代对象年龄超过15,大对象直接进入老年代,新生代触发垃圾回收也不能够存储生成的新对象,直接进入老年代。三:评价垃圾回收器的两个指标:吞吐量和响应时间吞吐量:程序执行时间/总时间。暂停时间:stop-the-world,由于垃圾回收导致程序暂停的时间和次数称为暂停时间四:垃圾回收器:1.单线程垃圾回收器2.多线程垃圾回收器-吞吐量优先所谓吞吐量优先,是垃圾回收时间变小3.多线程垃圾回收器-响应时间优先所谓响应时间优先就是指单次垃圾回收时间少,但是会导致回收次数过多。4.G1收集器 五:垃圾回...
0
点赞
评论
收藏
分享
2021-08-04 22:00
石河子大学 Java
分布式锁
单体架构之中,可以使用synchronized或者lock来实现数据同步的问题,但是在分布式应用下,是跨越jvm层面的,不能够使用api层面进行解决分布式架构之下使用分布式锁可以解决数据同步问题。分布式锁可以使用三种方式进行解决:1.redis redis是使用setnx命令来实现,setnx命令是对不存在redis中的key进行设置值,若操作成功,获取到锁资源,进行业务操作,反之,操作失败,就不能够获取到锁资源。等到获取到锁的线程业务处理完毕之后,删除redis之中的key,即代表释放所资源。但是若在释放锁过程之中,服务器出现宕机,分布式所没有得到及时释放,其他请求将无法正常被处理。所...
0
点赞
评论
收藏
分享
2021-08-04 20:02
石河子大学 Java
索引失效情况
1.联合索引违背最左前缀法则,索引失效2.范围查询右边的列索引失效3.or连接条件有一个字段没有索引,整体索引失效4.字段类型为字符串,但是查询条件之中没有添加单引号5.在列上使用函数会出现索引失效6.
0
点赞
评论
收藏
分享
2021-08-03 21:10
石河子大学 Java
Redis面试题
1.redis应用场景:2.redis持久化:RDB和AOFRDB是采用存储内存数据集快照的方式进行持久化,缺点:占用cpu和磁盘IO资源较大,会造成其他应用的服务卡顿,甚至宕机,出现丢失数据的风险较大(由这种持久化机制本身决定,60秒内多少个key发生变化进行一次,若没有出发,则会进行下一轮持久化判断查询,因此在两轮判断之间出现服务器宕机,丢失数据风险较大),优点:恢复速度较快。AOF采用日志追加写入的方式。缺点:恢复速度慢,因为要将所有的指令重新执行一次。优点丢失数据的风险比较小,不会占用大量的cpu资源以及磁盘IO资源。默认情况下RDB持久化方式开启,AOF默认未开启。3.内存淘汰策略:...
0
点赞
评论
收藏
分享
2021-07-28 21:40
石河子大学 Java
mysql--索引
mysql逻辑架构: 图一:图二:图一和图二相比之下,个人感觉图一更好理解一点,图二好像更专业的样子,哈哈。mysql的DML、DDL、存储过程、视图、触发器在服务层实现,索引在存储引擎层实现。mysql存储引擎是插拔式的、也可以自定义存储引擎。不同存储引擎操作表的方式不同。mysql现在默认的存储引擎是innoDB,支持事务,外键,行级锁等,而mylSAM不支持这些可以通过show engines命令进行简单查看存储引擎对比:由上图可以看出不同存储引擎的区别,不同存储引擎层面的索引的数据结构不同,比如MEMORY存储引擎是基于哈希的,优点在于精确匹配,但是在处理排序和范围查询时就无能为力。这...
0
点赞
评论
收藏
分享
2021-09-08 18:42
已编辑
石河子大学 Java
归并排序实现
public class MergeSort{ //测试程序 public static void main(String[] args){ int[] arr = {3,2,1,5,6,2}; process(arr,0,arr.length-1); for(int i = 0;i<arr.length-1;i++){ System.out.println(arr[i]); } } //使数组的某一段有序 public static void proc...
0
点赞
评论
收藏
分享
2021-06-20 21:19
已编辑
石河子大学 Java
二叉树
读书笔记: 相同高度的情况下,满二叉树的结点比完全二叉树的结点多。 二叉树的数组表示法。不适合对稀疏二叉树进行存储。根节点对应数组下标为0 2.1. 左孩子结点left = 2 * parent + 1 2.2. 右孩子结点right = 2 * parent +2 2.3. 父节点下标 parent = (left - 1) / 2 二叉排序树的自平衡方式有AVL树,红黑树,树堆等,二叉堆也维相对顺序,只要求父节点大于左右孩子结点。 遍历方式之广度优先,深度优先。这两种遍历方式并不局限于二叉树,在访问树,图以及其他更为复杂的数据结构时,这两概念经常被用到。是一种抽象的算...
0
点赞
评论
收藏
分享
2021-06-17 19:20
已编辑
石河子大学 Java
循环队列注意点及实现
队尾插入元素(rear),队头元素出队(front)1.循环队列内元素个数等于数组或者链表元素长度减一时,即可认为循环链表已经装满,否则队列满和队列为空的判断条件相同即 (arr.length - 1 == size) => 队列满 ,或者 (list.getLength() - 1 == size) => 队列满2.队满判断条件:(rear+1)%arr.length == front3.队列为空的判断条件:rear == front4.元素出队和元素入队之后索引的变化都是(指针+1)%arr.length(队头)元素出队:front = (front+1)%arr.length...
0
点赞
评论
收藏
分享
2021-06-16 22:25
已编辑
石河子大学 Java
mybatis第一天
--mybatis之前属于apache的开源项目,叫做ibatis,后来迁移到google旗下,之后迁移到github下。 mybaits和hibernate框架都属于orm框架(数据库表记录和Java bean的映射关系),但是hibernate封装的太多,甚至sql语句都是框架底层自己实现的,要进行sql优化还要学习HQL(应该没记错),增加学习负担,但是对于简单查询业务,不需要进行sql优化的功能使用起来还是很方便的。mybatis,将sql语句的编写从框架底层独立出来,可以进行优化sql处理,所以更灵活一点,学习起来也方便。 1.核心配置文件,用于加载数据源信息,事物管理等信息...,...
0
点赞
评论
收藏
分享
2021-06-17 19:11
已编辑
石河子大学 Java
菜鸟谈论集合
集合和数组一样,都是容器。 由于数组长度不可变,在进行使用时候需要时刻注意数组是否已经存满,使用很不爽。当然,数组也有它自己的优点,比如可以根据索引快速定位到所需要元素的位置。查找效率高。 集合采用不同的数据结构作为存储元素的模型(比如线性表,树),对于采用相同的数据结构,但是在存储器上的物理实现方式不同也会产生不同的容器实现类(比如ArrayList和LinkList都属于线性结构,但前者属于顺序存储,后者属于链式存储)。 集合是泛型类,而泛型不支持基本数据类型,所以集合不能存储基本数据类型。(可以将基本类型转换为包装类进行存储)。 创建某种集合类的对象时,在内存中建...
0
点赞
评论
收藏
分享
2021-03-26 16:21
石河子大学 Java
希尔排序Java实现
package Sort.Compareable; public class ShellSort { public static Comparable[] shellSort(Comparable[] arr) { //1.确定增长量 int h = 1; while (h < arr.length / 2) { h = 2 * h + 1; } //2.h逐步递减,当h递减为1的时候排序完成 while (h >= 1) { ...
0
点赞
评论
收藏
分享
2021-03-26 12:38
石河子大学 Java
冒泡排序Java实现
/** * 从小到大排序 * 从arr[0]元素出发,比较arr[1]与arr[0]的大小,若arr[0]>arr[1],发生交换。再比较arr[1]与arr[2],arr[2]与arr[3]...... * ,之后最大的元素会在数组的末尾,第一轮冒泡结束 * 第二轮将次大的元素插入到数组元素的倒数第二个位置。依次类推,最终arr.leng-1个元素都找到最终的位置,最后一个元素不用进行比较也最终确定元素位置。 * */ public class BubbleSort { public static void bubbleSort(Comparable[] arr)...
0
点赞
评论
收藏
分享
2021-03-26 11:43
已编辑
石河子大学 Java
插入排序Java实现
/** * 将元素分为两组,一组有序,一组无序,依次遍历无序数组中的每一个元素插入到有序数组中的合适位置 * 至于怎么插入,可以从紧挨着当前无序数组中元素的有序数组元素开始,若遇到比当前元素还小的元素,则交换位置 * 直到遇到比自己元素大的元素,才能确定最终位置。 */ public class InsertionSort { public static void insertionSort(Comparable[] arr){ for(int i = 1;i<= arr.length-1;i++){ //从下标为1的元素开始,插入到左边有序数组的合...
0
点赞
评论
收藏
分享
2021-03-28 13:59
已编辑
石河子大学 Java
JDK8接口新特性分析
关于Jdk8以后接口新增加的新特性分析: 在jdk1.8之前接口内部定义的方法默认都使用public abstract关键字来修饰方法,而变量则是以public static final关键字来修饰。接口是对抽象类的再一次进行抽象,是更高一个层次。jdk8之前接口设计过于死板,当需要在接口里面新增加一个方法时,必须将其设定为抽象方法,且实现此接口的子类必须实现此方法,当实现此接口类的数目较少时,可以在每一个实现类里实现新增加的方法,但是如果子类数目过多,往往是一个非常大的工作量,并且某些子类不用实现新增加的方法,系统也可以正常运行。此时官方给出了接口的新特性,用来对接口进行升级。新特性如...
0
点赞
评论
收藏
分享
2021-03-17 18:53
已编辑
石河子大学 Java
next()方法和nextLine()方法的区别
关于Javase中String类的next()方法和nextLine()方法的区别,使用效果上有两点区别:(由于本人是Java小白,发表的文章只是粗略解释方法运行效果,或许底层原理并不是像文章所说实现的,望各位大佬能够批评改正)①:next()方法不支持接收空格字符,在刚开始扫描时会自动过滤缓冲区出现的空格字符,直到扫描到第一个非空白符(空格、回车、tab等),才开始接收,在遇到空格字符时会结束扫描缓冲区的字符。nextLine()方法是接收来自回车字符之前的所有字符,包括空格字符。 Scanner sc = new Scanner(System.in); Sy...
0
点赞
评论
收藏
分享
1
2
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务