java笔试面试详解

java笔试面试详解~

最近正在面试,总结一些各大公司的笔试题,面试经验分享给大家

  1. 9个内置对象 ****
    Request(基础)2. Response响应对象3. Out输出对象 4. Session对象 5. application对象
    page对象 7. pageContext对象 8. Config对象 9. Exception对象

  2. String 和StringBuffer的区别
    String是final 修饰的,数值不可改变的字符串
    StringBuffer类 提供的字符串进行修改,可以使用StringBuffers来动态构造字符数据

  3. HashMap 和 Hashtable 的区别
    HashMap是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空 (null)键值(key),由于非线程安全,效率上要高于Hashtable

  4. sleep() 和wait() 区别
    sleep是线程类 (Thread)的方法,导致此线程暂停执行指定的时间,给执行机会给其他的线程,但是在监控状态下依然保持,到时间会自动恢复。 调用sleep对象不会释放对象锁
    wait会释放同步锁,让其他线程进入synchronized代码块执行。sleep不会释放锁,其他线程只能等待在synchronized代码块中进入sleep的线程醒后执行完毕才能竞争持有锁。
    wait可以被notify/notifyAll等方法唤醒,继续竞争CPU和锁。sleep方法只能等待线程睡眠时间到继续运行。

  5. error和exception
    error总是不可控制的(unchecked)
    经常用来表示系统错误和底层资源的错误
    如果可能的话应该在系统级捕捉
    exception是可以控制的(checked)或不可控制的(unchecked)
    表示一个程序员导致的错误
    应该在应用程序级处理

  6. java创建线程有几种不同的方式
    继承Thread类
    实现Runnable接口.重现run()方法
    使用Executor框架创建线程池

Runnable接口有如下好处
避免点继承的实现,一个类可以继承多个接口
适合用于资源共享

  1. 值传递和引用传递的区别
    值传递就是将传递的变量复制了一个,引用传递就是让该元素指向值的地址

  2. 自动拆箱与自动装箱
    装箱就是自动将基本数据类型转换为包装器类型;
    拆箱就是自动将包装器类型转换为基本数据类型。

  3. Spring的两大特性
    第一大特性——ioc 控制反转
    ioc指的就是控制反转,简单来说就是讲创建对象的过程和创建对象的权限交给Spring来帮我们处理,我们不用通过new的方式来创建javabean对象,这个过程就叫做ioc
    第二大特性——DI 依赖注入
    DI 指的就是依赖注入,就是使用Spring框架对我们的javabean对象赋值的过程。
    10. Java中的final 关键字有哪些用法
    修饰类:表示该类不能被继承
    修饰方法:表示该方法不能被重写
    修饰变量:变量只能赋一次值,以后值不能被修改

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MATLAB中,NURBS(非均匀有理B样条)是一种强大的数学工具,用于表示和处理复杂的曲线和曲面。NURBS在计算机图形学、CAD(计算机辅助设计)、CAM(计算机辅助制造)等领域有着广泛的应用。下面将详细探讨MATLAB中NURBS的绘制方法以及相关知识点。 我们需要理解NURBS的基本概念。NURBS是B样条(B-Spline)的一种扩展,其特殊之处在于引入了权重因子,使得曲线和曲面可以在不均匀的参数空间中进行平滑插值。这种灵活性使得NURBS在处理非均匀数据时尤为有效。 在MATLAB中,可以使用`nurbs`函数创建NURBS对象,它接受控制点、权值、 knot向量等参数。控制点定义了NURBS曲线的基本形状,而knot向量决定了曲线的平滑度和分布。权值则影响曲线通过控制点的方式,大的权值会使曲线更靠近该点。 例如,我们可以使用以下代码创建一个简单的NURBS曲线: ```matlab % 定义控制点 controlPoints = [1 1; 2 2; 3 1; 4 2]; % 定义knot向量 knotVector = [0 0 0 1 1 1]; % 定义权值(默认为1,如果未指定) weights = ones(size(controlPoints,1),1); % 创建NURBS对象 nurbsObj = nurbs(controlPoints, weights, knotVector); ``` 然后,我们可以用`plot`函数来绘制NURBS曲线: ```matlab plot(nurbsObj); grid on; ``` `data_example.mat`可能包含了一个示例的NURBS数据集,其中可能包含了控制点坐标、权值和knot向量。我们可以通过加载这个数据文件来进一步研究NURBS的绘制: ```matlab load('data_example.mat'); % 加载数据 nurbsData = struct2cell(data_example); % 转换为cell数组 % 解析数据 controlPoints = nurbsData{1}; weights = nurbsData{2}; knotVector = nurbsData{3}; % 创建并绘制NURBS曲线 nurbsObj = nurbs(controlPoints, weights, knotVector); plot(nurbsObj); grid on; ``` MATLAB还提供了其他与NURBS相关的函数,如`evalnurbs`用于评估NURBS曲线上的点,`isoparm`用于生成NURBS曲面上的等参线,以及`isocurve`用于在NURBS曲面上提取特定参数值的曲线。这些工具对于分析和操作NURBS对象非常有用。 MATLAB中的NURBS功能允许用户方便地创建、编辑和可视化复杂的曲线和曲面。通过对控制点、knot向量和权值的调整,可以精确地控制NURBS的形状和行为,从而满足各种工程和设计需求。通过深入理解和熟练掌握这些工具,可以在MATLAB环境中实现高效的NURBS建模和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值