首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客456849371号
获赞
5
粉丝
6
关注
4
看过 TA
3
四川大学
2021
Java
IP属地:江苏
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客456849371号吗?
发布(26)
评论
刷题
收藏
牛客456849371号
关注TA,不错过内容更新
关注
2020-10-09 21:28
已编辑
四川大学 Java
单例模式
class Single { private static volatile Single instance = null; private Single(){} public static Single getInstance(){ if(instance == null){ synchronized(Single.class){ if(instance == null){ instance = new Single(); } } } return instance; } }
0
点赞
评论
收藏
分享
2020-09-09 21:21
四川大学 Java
软件测试
1.黑盒测试黑盒测试又称为功能测试,即对程序的功能进行测试。将程序的内部实现视为一个黑盒子,即不可见的,仅通过程序的接口来测试程序是否能完成设计需求和说明书的规定。 2.白盒测试白盒测试又称为结构测试,即检测软件编码过程中的错误。程序员的编程经验和对软件的掌握程度都会有很大的影响。 3.
0
点赞
评论
收藏
分享
2020-08-25 23:08
四川大学 Java
ReentrantLock原理及中断机制
https://blog.csdn.net/fuyuwei2015/article/details/83719444 ReentrantLock主要利用CAS+AQS队列来实现。它支持公平锁和非公平锁,两者的实现类似。 https://blog.csdn.net/dongyuxu342719/article/details/94395877 ReentrantLock中的lockInterruptibly()方法使得线程可以在被阻塞时响应中断,比如一个线程t1通过lockInterruptibly()方法获取到一个可重入锁,并执行一个长时间的任务,另一个线程通过interrupt()方法就可以...
0
点赞
评论
收藏
分享
2020-08-23 14:43
四川大学 Java
jdk1.8以后抽象类与接口
https://blog.csdn.net/u010955843/article/details/51538714 在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的以下写法等价JDK8及以后,允许我们在接口中定义static方法和default方法。由于java支持一个实现类可以实现多个接口,如果多个接口中存在同样的static和default方***怎么样呢?如果有两个接口中的静态方法一模一样,并且一个实现类同时实现了这两个接口,此时并不会产生错误,因为jdk8只...
0
点赞
评论
收藏
分享
2020-10-09 21:12
已编辑
四川大学 Java
7.数据库
0.数据库的优化1.选取最适用的字段属性;2.尽量使用join来代替子查询;3.尽量适用union来代替手动创建临时表;4.事务;5.尽量适用索引;6.锁定表;7.使用外键:锁定表的方法可以维护数据的完整性,但是它却不能保证数据的关联性。这个时候我们就可以使用外键。8.优化查询语句; 1.请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?Read Uncommitted(读取未提交内容) >> 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Di...
0
点赞
评论
收藏
分享
2020-08-21 13:44
四川大学 Java
6.数据结构与算法
1.数据结构 2.链表(增删查操作) 3.单向链表 4.双向链表 5.队列(增删查操作) 6.普通队列 7.优先队列 8.树 9.二叉树(前序、中序、后序) 10.平衡树(尽量会实现代码) 11.堆 12.红黑树(了解性质、应用场景) 13.B树(了解性质、应用场景) 14.图 Prim算法 Kruskal算法 深度优先搜索 广度优先搜索 最短路径 最小生成树 拓扑 16.字符串 Knuth-Morris-Pratt算法 Boyer-Moore算法 散列
0
点赞
评论
收藏
分享
2020-10-09 20:16
已编辑
四川大学 Java
5.计算机网络
1.从网络加载一个10M的图片,说下注意事项 2.OSI网络体系结构与TCP/IP协议模型OSI:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层TCP/IP:网络接口层,网络层,传输层,应用层 3.TCP的3次握手和四次挥手3次握手:1.客户端向服务器发送连接请求,SYN=1,seq=x; 2.服务器回应请求,并为客户端分配缓存空间,服务器回复SYN=1,ACK=1,seq=u,ack=x+1; 3.客户端收到回应,为该TCP连接分配缓存和变量,并回复ACK=1,seq=x+1;ack=u+1; 连接建立 4次挥手:1.客户端向服务器发送断开连接请求FIN=1,seq=x; 2.服...
0
点赞
评论
收藏
分享
2020-10-09 20:16
已编辑
四川大学 Java
4.JVM
https://www.sohu.com/a/244927394_465221 1.谈谈你对解析与分派的认识。 2.触发fullGC的情况1.System.gc()方法的调用;2.老年代空间不足;3.永生区空间不足;4.CMS GC时出现promotion failed和concurrent mode failure5.统计得到的Minor GC晋升到旧生代的平均大小大于老年代的剩余空间6.堆中分配很大的对象https://blog.csdn.net/chenleixing/article/details/46706039/ 3.Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派...
0
点赞
评论
收藏
分享
2020-10-07 22:51
已编辑
四川大学 Java
3.集合
常用的数据结构数组、队列、链表、散列表、树、栈、堆、图 1.Collection 和Collections 的区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 2.修改对象A的equals方法的签名,那么使用H...
0
点赞
评论
收藏
分享
2020-08-17 17:11
四川大学 Java
用java实现阻塞队列
import java.util.*; import java.io.*; public class Main { static LinkedList<Object> list=new LinkedList<>(); final Object lock = new Object(); static int max; public void put(Object obj) { synchronized(lock) { if(list.size()>=max) { try { lock.wait(); } catch(Exception e) { e.printSta...
0
点赞
评论
收藏
分享
2020-10-07 22:26
已编辑
四川大学 Java
2.多线程
1.开启线程的三种方式?Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程: 1、继承Thread类创建线程2、实现Runnable接口创建线程3、使用Callable和Future创建线程 1、继承Thread类创建线程通过继承Thread类来创建并启动多线程的一般步骤如下1、定义Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体2、创建Thread子类的实例,也就是创建了线程对象3、启动线程,即调用线程的start()方法public class MyT...
0
点赞
评论
收藏
分享
2020-10-07 15:30
已编辑
四川大学 Java
1.java基础篇
(1). Java基础知识 java面向对象的基础特征:1.抽象:指从一些类中抽象出他们共有的特征构造类的过程,包括数据抽象和行为抽象;2.封装:是将数据和操作数据的方法绑定起来,对数据的访问只通过已经定义的接口;3.继承:是从已有类中得到继承信息创建新类的过程,被继承的类称为父类,得到继承信息的类叫子类;4.多态:允许不同子类型的对象对同一消息的做出不同的反应。多态的前提是:继承关系、方法的重写、父类的引用指向子类的对象。 java里面的变量类型1.成员变量:定义在类里面的变量2.静态变量(也称类变量):使用static关键字修饰的变量;3.局部变量:定义在方法里的变量;4.final变量:...
0
点赞
评论
收藏
分享
2020-08-13 21:36
已编辑
四川大学 Java
B+树,红黑树应用原理
1.B+树查找一条时间复杂度为(O(logn)),而hash为O(1),忽然hash比B+快,为什么数据库存储还是用B+树? 答:(1)因为和业务场景有关。如果只选一个数据,那确实是hash更快。但是数据库中经常会选择多条,这时候由于B+树索引有序,并且又有链表相连,它的查询效率比hash就快很多了。 (2)而且数据库中的索引一般是在磁盘上,数据量大的情况可能无法一次装入内存,B+树的设计可以允许数据分批加载,同时树的高度较低,提高查找效率。 2.红黑树为什么这样设计? 答:(1)红黑树和二叉搜索树一样,是左小右大,但是二叉搜索树会出现极端情况。当插入一个有序序列,会导致树一端过大,二叉搜索...
0
点赞
评论
收藏
分享
2020-08-12 17:14
已编辑
四川大学 Java
TCP流量控制和拥塞控制
流量控制 一、为什么需要流量控制?双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发送方的发送速率太快,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区里(失序的数据包也会被存放在缓存区里)。 如果缓存区满了发送方还在疯狂着发送数据,接收方只能把收到的数据包丢掉,大量的丢包会极大着浪费网络资源,因此,我们需要控制发送方的发送速率,让接收方与发送方处于一种动态平衡才好。 对发送方发送速率的控制,我们称之为流量控制。 二、如何控制?接收方每次收到数据包,可以在发送确定报文的时候,同时告诉发送方自己的缓存区还剩余多少是空闲的,我们也把缓存区的剩余大小称之为接收窗口...
0
点赞
评论
收藏
分享
2020-08-12 15:34
四川大学 Java
Tcp三次握手与四次挥手
三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握手的过程: 1、第一次握手:客户端给服务器发送一个 SYN 报文。 2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK 报文。 3、第三次握手:客户端收到 SYN+ACK 报文之后,会回应一个 ACK 报文。 4、服务器收到 ACK 报文之后,三次握手建立完成。 作用是为了确认双方的接收与发送能力是否正常。 这里我顺便解释一下为啥只有三次握手才能确认双方的接受与发送能力是否正常,而两次却不可以:第一次握手:客户端发送网络包,服务端收到了。这样服务...
0
点赞
评论
收藏
分享
1
2
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务