牛客题目总结

牛客刷题记录(常见笔试题) 牛客刷题记录(高频笔试题目) 阅读详情

一、RMI

RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。在过去,TCP/IP套接字通讯是远程通讯的主要手段,但此开发方式没有使用面向对象的方式实现开发,在开发一个如此的通讯机制时往往令程序员感觉到乏味,对此RPC(Remote Procedure Call)应运而生,它使程序员更容易地调用远程程序,但在面对复杂的信息传讯时,RPC依然未能很好的支持,而且RPC未能做到面向对象调用的开发模式。针对RPC服务遗留的问题,RMI出现在世人面前,它被设计成一种面向对象的通讯方式,允许程序员使用远程对象来实现通信,并且支持多线程的服务,这是一次远程通讯的***,为远程通信开辟新的里程碑。

RMI的开发步骤:

先创建远程接口及声明远程方法,注意这是实现双方通讯的接口,需要继承Remote

开发一个类来实现远程接口及远程方法,值得注意的是实现类需要继承UnicastRemoteObject

通过javac命令编译文件,通过java -server 命令注册服务,启动远程对象

最后客户端查找远程对象,并调用远程方法。

二、HashMap与HashTable的区别

1、继承不同。public class Hashtable extends Dictionary implements Map

 public class HashMap extends AbstractMap implements Map

2、Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

3、Hashtable中,key和value都不允许出现null值。

在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。

4、两个遍历方式的内部实现上不同。

Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。

5、哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。

6、Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数 

三、CMS

用户线程(user-level threads)指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。

CMS的GC过程有6个阶段(4个并发,2个暂停其它应用程序)

1. 初次标记(STW initial mark)

2. 并发标记(Concurrent marking)

3. 并发可中断预清理(Concurrent precleaning)

4. 最终重新标记(STW remark)

5. 并发清理(Concurrent sweeping)

6. 并发重置(Concurrent reset)

在初次标记,重新标志的时候,要求我们暂停其它应用程序,那么这两个阶段用户线程是不会参与的

三、抽象类与接口的区别

抽象类

特点:
1.抽象类中可以构造方法
2.抽象类中可以存在普通属性,方法,静态属性和方法。
3.抽象类中可以存在抽象方法。
4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。
5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。
6,抽象类不能被实例化,抽象类和抽象方法必须被abstract修饰

关键字使用注意:
抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。

接口

1.在接口中只有方法的声明,没有方法体。
2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上public static final
3.在接口中的方法,永远都被public来修饰。
4.接口中没有构造方法,也不能实例化接口的对象。(所以接口不能继承类)
5.接口可以实现多继承
6.接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法则实现类定义为抽象类。
7,接口可以继承接口,用extends

四、Java虚拟机栈、堆、方法区

1.程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号指示器(偏移地址),Java编译过程中产生的字节码有点类似编译原理的指令,程序计数器的内存空间存储的是当前执行的字节码的偏移地址,每一个线程都有一个独立的程序计数器(程序计数器的内存空间是线程私有的),因为当执行语句时,改变的是程序计数器的内存空间,因此它不会发生内存溢出 ,并且程序计数器是jvm虚拟机规范中唯一一个没有规定 OutOfMemoryError 异常 的区域;

2.java虚拟机栈:线程私有,生命周期和线程一致。描述的是 Java 方法执行的内存模型:每个方法在执行时都会床创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的过程。  没有类信息,类信息是在方法区中

3.java堆:对于绝大多数应用来说,这块区域是 JVM 所管理的内存中最大的一块。线程共享,主要是存放对象实例和数组

4.方法区:属于共享内存区域,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

五、JVM命令

1、jps:查看本机java进程信息。

2、jstack:打印线程的栈信息,制作线程dump文件。

3、jmap:打印内存映射,制作堆dump文件

4、jstat:性能监控工具

5、jhat:内存分析工具

6、jconsole:简易的可视化控制台

7、jvisualvm:功能强大的控制台

七、内部类

 

牛客算法题目刷——链表总结 1.首先时反转链表,简单是简单,但总是写错! 2.在链表指定区间进行反转 3.k个为一组进行反转(★★★) 4.合并两个排序的链表(基础) 5.合并k个已排序的链表(★) 6.判断是否有环 7.链表中环的入口结点 8.删除倒数第n个节点 9.链表相加 10 单链表排序(★) 11.回文链表 12.链表的奇偶重排 13.删除有序链表中的重复元素 阅读详情

相关推荐

牛客小白月赛21有趣的题目

牛客小白月赛21有趣的题目 1.B bits 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出3根柱子,最开始时n个盘子按照大小被置于最左的柱子。 如果盘子数为偶数,则需要将她们全部移动到最右侧的柱子上,否则将她们移动到中间的柱子上。 那么,Nancy该怎样移动呢?请你输出汉诺塔游戏的过程叭! 输入描述: 共一行:一个整数n,表示最开始n个盘子(编号为1到n)的放置方...

All_Might 778

CMS 垃圾回收器

CMS 垃圾回收器1. cms 回收过程分析1.1 初始标记(initial-mark)1.2 并发标记(concurrent-mark)1.3.1 Card Table1.3.2 mod-union table1.3 并发预清理 (concurrent-preclean)1.4 可中断预清理(concurrent-abortable-preclean)1.5 重新标记(remark)1.6 并发清除(concurrent-sweep)1.7 并发重置(concurrent reset)2. cms 日志解

weixin_44981707的博客 6125

触摸延时灯课程设计

Multisim源文件下载: 实验名称:­­­­­­­­­­­­­­­­­­­ 课程设计1:触摸延时灯仿真设计 设计要求: 利用单稳态触发器设计触控延时灯,要求利用触发波形的边沿模拟触控点实现触发,触发后3秒灯亮,灯可以亮的时间可在5-10秒之间可调。 设计思路: 利用集成单稳态触发器CD4098设计简易的触摸延时灯电路。应用CD4098可以实现脉冲延时,原理图如下。4脚未触发信号输入端,可通过比较器对触摸产生的信号进行比较后再产生触发信号,使触发准确度得以提高。...

m0_54240221的博客 1万+

CMS 执行的七个阶段

java 优于 c++ 的一个亮点就是自动的垃圾回收机制,成也萧何败萧何,最困扰 java 程序员的问题往往又都和垃圾回收机制有关,作为一个 java 程序员,如果你不了解 java 垃圾回收的机制,那么你时刻都可能面临性能的瓶颈,甚至遇到种种诡异的问题而无从下手

qq_15571941的博客 923

告别Quartus II的漫长等待:用VSCode+iverilog+GTKWave搭建你的轻量级Verilog仿真环境(2024保姆级教程)

本文详细介绍了如何利用VSCode、iverilog和GTKWave构建高效的Verilog/SystemVerilog开发环境,替代传统的Quartus II和ModelSim工具。通过2024年最新的保姆级教程,帮助开发者实现秒级启动、低资源消耗的轻量级仿真环境,显著提升数字电路设计的开发效率和调试体验。

weixin_33690963的博客 561

LangChain学习及应用(超详细)

Model I/O 部分是与语言模型进行交互的核心组件,包括输入提示(Prompt Template)、调用模型(Model)、输出解析(Output Parser)。简单来说,就是输入、处理、输出这三个步骤。LLM 因其具有海量参数,需要花费相当的物力与时间成本进行预训练和微调,同时商用 LLM 还需要进行各种安全测试与风险评估等。因此 LLM 会存在知识滞后的问题。在专有领域,LLM 无法学习到所有的专业知识细节,因此在面向专业领域知识的提问时,无法给出可靠准确的回答。

weixin_39764056的博客 4246

牛客网面试必刷算法题TOP101刷题记录(一)

思路 JZ6 从尾到头打印链表(简单) 题目描述: 思路1(非递归,通过) 从头到尾遍历,边遍历边存进栈,最后从栈弹出来打印。时间复杂度O(n),空间复杂度O(n) public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList(); Stack stack = new St..

Miaodawang的博客 4708

Java全栈AI视频生成开发实战:从DeepSeek接入到剪映自动化(附完整源码)

【代码】Java全栈AI视频生成开发实战:从DeepSeek接入到剪映自动化(附完整源码)

weixin_39169967的博客 4145

牛客网50道选择题(1)

1 答案:进入到try块 进入到finally块 后续代码 解析: try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 }catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 }finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally } 2 答案:错误 解析:java类是单继承的:classB E

weixin_52058789的博客 1565

Orange3实战教程:实例---文本分类

我们可以使用预测模型按作者、类型、情感等对文档进行分类。在此工作流中,我们根据文档的Aarne Thompshon Uther索引对文档进行归类,这是故事的主题定义。我们使用两个简单的学习器,Logistic回归和朴素贝叶斯,两者都可以在诺谟图中检查。然后再从可视化分类中添加列线图组件,观察哪些词对逻辑回归最重要。也可以尝试使用在朴素贝叶斯模型上,并编辑连线属性。再从模型中添加朴素贝叶斯模型,以尝试不同的学习器。

err2008的专栏 385

SAP SmartForms字体 :从OTF缓存溢出到完美解决

精准诊断:遇到错误,首先区分是图片过大还是字体嵌入导致。删除图片测试是最快的判别方法。字体上传规范始终从SE73入口上传用于表单打印的字体。强烈建议应用SAP Note 1301018,确保上传时勾选“不替换其他字体”,避免系统自动替换引发的意外问题。如需为同一字体族上传粗体、斜体等变体,请在SE73初始屏幕上勾选对应的属性框(如BOLD),然后分别上传对应的字体文件(如上传过程中,系统会提示输入RTF控制序列信息,这是确保打印预览正常显示的关键步骤,必须正确填写。方案选型快速止血:采用方案一(

Pegasus666的博客 294

牛客_题目列表

【代码】牛客_题目列表。

d3y1`5 81_09 166

Python爬虫实战:手把手教你园林植物分类全维度字典自动化采集实战!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 388

【Python刷题之牛客】刷牛客python入门题目DAY1

说明:python内置函数进行进制转换的原理是将读入的一个字符串(python默认读入的都是字符串形式)转为10进制,然后再用相关函数进行其他进制转换。input读入一个十六进制数字,按照字符串的形式包括数字0-9、字母A-F。要求是:输出读入数字的十进制大小。:将序列(也就是字符串、元组、列表、字典)中的元素以指定的字符连接生成一个新的字符串(1、输入一个值a,将a视作16进制数然后转化为十进制(int)数b,将b打印出来。OK今天是非常基础的题目。''里面放连接的字符,()放要连接的东西。

zw_van的博客 271

RK3588+YT9215快速拓展以太网口

YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。

带着耳朵取流浪的博客 2793

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

牛客题霸题目及题解汇总

牛客题霸 车站建造问题 C++题解/答案

qq_35975367的博客 1304

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

牛客小白月赛116题目三

暴力过不去,需要优化一下,本来是在全部的子弹中统计,维护一个100的数据统计数组来统计,每次的遍历就变少了,才能过时间。

weixin_74882709的博客 291

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

牛客练习赛27 A-纸牌 题目

.

qq_35786326的博客 509

牛客练习赛26 B-烟花 题目

`

qq_35786326的博客 254

【牛客SQL全部题目代码及解析汇总】256套代码及解析

牛客SQL 非技术快速入门 39套题代码及解析 牛客SQL 必知必会 50套题代码及解析 牛客SQL 进阶挑战 46套代码及解析 牛客SQL大厂面试真题39套代码及解析 牛客SQL 全部题目82套代码及解析

qq118640594X的博客 3448

暑期集训week1(牛客+杭电比赛题目收录)思路/代码

牛客1 L英文题面:来源:牛客网。

m0_55473582的博客 1598

华为牛客面试题目汇总-链表篇

总结 首先华为牛客的面试题库是非常leetcode的,它的题目非常的常规,但是真正招实习生的时候,往往不是这么简单,笔试的题目设计的是真正的应用题,在这个时候,如何更好更完整的把题目的含义从中抽象出来才是问题的关键,所以到时候真的需要额外的去准备类似的题目,只是刷leetcode是不够的。 链表 1、反转链表 输入一个链表,反转链表后,输出新链表的表头 解题分析:这个时候我们就考虑这样的情况,有两个节点,一个是已经经过反转的头节点,一个是目前还没有反转的头节点,如何进行这两个节点的连接,已经移动到下一个

三年磨一剑 762

如何使用Navicat运行牛客SQL题目

如何使用Navicat运行牛客SQL题目 怎么使用Navicat运行牛客SQL题目 怎么把牛客题目导入至Navicat 如何把牛客SQL题目导入至Navicat 怎么才能用Navicat解决牛客题目 牛客SQL 牛客bug

qq118640594X的博客 2283

牛客 糖糖别胡说,我真的不是签到题目

牛客 糖糖别胡说,我真的不是签到题目 牛客:https://ac.nowcoder.com/acm/problem/14583 首先说一下,这是听了大佬的话(写题解,一定要写题解); 刚开始的想法就是直接暴力模拟,数据范围太大会超时;emmmm~~ 听大佬话,思考,思考,思考。然而并没有思考出来; 看了别人家的博客,博览众家之所长: 判断第 j 个糖糖可以杀掉前面那些的糖糖转化为: 判断第i个糖糖会不会被杀掉的条件。 第i个糖糖会不会被杀掉的条件为:i之后的不同组的糖糖的bj是否大于bi 但是bi,bj都在

weixin_43550608的博客 263

【好串】牛客竞赛题目NC21874(对栈的理解运用)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述: 牛牛喜欢跟字符串玩耍,他刚刚学会了一个新操作,将一个字符串x插入另一个字符串y中(包括放在开头和结尾) 牛牛认为如果一个串是好的当这个串能按照如下方法被构造出来: 一开始,有一个空串,然后执行0次或者若干次操作,每次操作将ab插入当前的字符串,根据上面的定义,ab, aabb, aababb都是好串,aab,ba,abbb并不是好串现在给你一个字符串s,判断s是否是好串。 输入描述: 输入一行包含一个字符串,长度不超过50

weixin_51472673的博客 1166

牛客周赛 Round 118 —— 题目详细解析+答案

本文包含6道编程题的解题思路和Java代码实现:A题"小红的博弈"通过简单判断石子数量决定胜负;B题"小红选点"暴力枚举所有点对求最远距离;C题"小红的矩形"根据已知两点坐标补全矩形;D题"小红拿石子1.0"通过排序和贪心策略计算最大可拿石子数;E题"小红玩树"使用BFS计算节点距离并判断博弈结果;F题"小红拿石子2.0"通过比较最大值和出现次数决定胜负。每道题都提供了清晰的解题思路和对应

2301_80275666的博客 733
上一篇: HTML、CSS、JavaScript复习总结
下一篇: 牛客题目总结
trytrylmt
博客等级 码龄9年 7粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值