面经1GPS-6 lu

把你最擅长的做到最好
 

1.jsp 作用域
page 作用域当前页
request作用域   当前请求
session作用域   当前会话默认30min
application作用域  web应用全局变量

2.进程和线程的区别

进程(process)是一块包含了某些资源的内存区域。
进程中所包含的一个或多个执行单元称为线程(thread)


3.hashtable hashmap区别


    
      HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。
      Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。
      Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。


4.常用的设计模式

简单工厂: 不再 new Object.  定义接口 ,工具类集成接口,实现加减乘除实现;定义简单工厂类,根据字符串创建相应的对象,实现swich case 调用工具类;用户端通过new Factory调用

工厂模式:优化简单工厂   Factory addFactory = (Factory) Class.forName("xxx.factory.AddFactory").newInstance();获得实例

单态模式:全部实例是同一个共享实例 .特点构造方法中判断对象是否存在,不存在再new Object


5.说说struts 1.x 和2.x区别


Action 类: 
• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。 
• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

线程模式: 
• Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
• Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Servlet 依赖: 
• Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。
• Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。

5.1strtus 和spring mvc 区别

一、拦截机制的不同
  Struts2是类级别的拦截,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。

  SpringMVC是方法级别的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。

  Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式,这样导致Struts2的配置文件量还是比SpringMVC大。

二、底层框架的不同
  Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。

三、性能方面
  Struts2是类级别的拦截,每次请求对应实例一个新的Action,需要加载所有的属性值注入,SpringMVC实现了零配置,由于SpringMVC基于方法的拦截,有加载一次单例模式bean注入。所以,SpringMVC开发效率和性能高于Struts2。

四、配置方面
  spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高。

 

5.2 拦截器与过滤器的区别 :

 

拦截器是基于java的反射机制的,而过滤器是基于函数回调。
拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次
 


6.weblogic 端口  7001

7.hibernate 一级缓存 二级缓存

一级缓存:session缓存, 只在当前session范围有效,作用时间短,效果不是特别明显;在短时间内多次操作数据库,效果比较明显

二级缓存:

一种可插配的缓存框架!如果用户想用二级缓存,只需要在hibernate.cfg.xml中配置即可

   <class-cache class="com.juaner.department.Employee" usage="read-only"/>

   当用到数据的时候才向数据库查询,这就是hibernate的懒加载特性。

lazy 值

     true     使用懒加载

     false    关闭懒加载

     extra   在集合数据懒加载时候提升效率,在真正使用数据的时候才向数据库发送查询的sql,如果调用集合的size()/isEmpty()方法,只是统计,不真正查询数据!

8.jsp页面 处理数据的方式
(1) dom
(2)标签


9.myibeats  xml sql中是否可以直接使用 大于号 如果不能用怎么办

不能直接用使用转义符   &gt; 为大于号 >;   &lt 小于号

10.jms使用

(1)配置maven工程
(2)配置接收器  receiver ,@Compent  ,@JmsListener;
(3)实现@Configuration    JmsListenerContainerFactory
(4)spring controller发送  jmsTemplate.convertAndSend("mailbox", new Email("info@example.com", "Hello"));
(5) srping boot application启动 

@SpringBootApplication
@EnableJms
(6)控制台查看发送,接收信息

 

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制问题,并提供完整的Matlab代码实现。文章结合数据驱动方法与Koopman算子理论,利用递归神经网络(RNN)对非线性系统进行建模与线性化处理,从而提升纳米级定位系统的精度与动态响应性能。该方法通过提取系统隐含动态特征,构建近似线性模型,便于后续模型预测控制(MPC)的设计与优化,适用于高精度自动化控制场景。文中还展示了相关实验验证与仿真结果,证明了该方法的有效性和先进性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事精密控制、智能制造、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能控制设计;②为非线性系统建模与线性化提供一种结合深度学习与现代控制理论的新思路;③帮助读者掌握Koopman算子、RNN建模与模型预测控制的综合应用。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注数据预处理、RNN结构设计、Koopman观测矩阵构建及MPC控制器集成等关键环节,并可通过更换实际系统数据进行迁移验证,深化对方法泛化能力的理解。
内容概要:本文介绍了福建亘川科技有限公司及其研发的“亘川管网降雨量智能监测系统”。该公司专注于智慧水务领域,融合物联网、大数据、云计算和人工智能技术,打造了覆盖“水库、水厂、管网、泵站、排口、河湖”的“六位一体”智慧水务监测运维系统。该降雨量监测系统采用高精度传感器,支持总降雨量、瞬时降雨量和24小时累积雨量的实时监测,具备多维度数据采集、联动预警、太阳能绿色供电和4G稳定通信等功能,广泛应用于城市内涝、山洪、水库及边坡等灾害预警场景。系统依托“亘川智慧云”平台,实现远程数据监控、历史数据查询、多设备接入和自动报警,提升城市排水管理智能化水平。; 适合人群:从事智慧水务、城市防汛、环境监测等相关领域的技术人员、市政管理人员及系统集成商;具备一定物联网或水务行业背景的专业人员。; 使用场景及目标:①用于城市合流管网区域的降雨实时监测,评估排水能力,预防内涝;②在山洪、水库、边坡等场景中实现灾害早期预警;③通过云端平台实现多设备统一管理与数据可视化分析,提升运维效率。; 阅读建议:本资料侧重系统功能与应用场景介绍,建议结合实际项目需求,进一步了解设备参数、平台接口及定制化服务能力,以便更好地应用于智慧城市建设与应急管理中。
### IoT硬件开发试经验 对于IoT硬件开发岗位的试,候选人不仅需要掌握基本的电子电路设计原理和嵌入式编程技能,还需要具备处理实际项目中的各种挑战的能力。在准备这类职位的试时,可以从以下几个方着手: #### 1. 基础理论知识 深入理解微控制器的工作机制、传感器接口技术以及无线通信模块的应用是必不可少的基础。例如,在对具体应用场景时如何选择合适的MCU型号及其外设资源分配方案;熟悉SPI/IIC等常见串行总线协议的操作方式。 #### 2. 实际操作能力 除了笔试之外,很多公司还会安排动手实践环节来考察应聘者的实战水平。这可能涉及到PCB板的设计与焊接、编写简单的固件程序实现特定功能或是搭建小型网络节点之间的数据传输链路等内容[^2]。 #### 3. 调试技巧 当遇到设备无法正常工作的情况时,能否快速有效地找到原因至关重要。因此要学会运用逻辑分析仪、示波器之类的工具辅助排查故障点所在位置,并通过调整参数设置或修改代码逻辑解决问题。 #### 4. 安全意识 随着越来越多敏感信息被上传至云端存储空间内,保障整个系统的安全性变得越来越重要。了解TLS/SSL加密算法的作用机理及其与其他主流物联网通讯标准(比如MQTT, CoAP)相结合的方式有助于增强个人竞争力[^3]。 ```c++ // 示例:使用MBED库初始化Wi-Fi连接并发送HTTP请求获取远程服务器时间戳 #include "mbed.h" #include "EthernetInterface.h" int main() { EthernetInterface eth; eth.connect(); TCPSocket socket; SocketAddress addr("time.nist.gov", 80); socket.open(&eth); socket.connect(addr); char send_data[] = "GET / HTTP/1.1\r\nHost: time.nist.gov\r\nConnection: close\r\n\r\n"; socket.send(send_data, strlen(send_data)); char recv_data[100]; int bytes_received = socket.recv(recv_data, sizeof(recv_data)); printf("Received %d bytes from server:\r\n%s", bytes_received, recv_data); socket.close(); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值