当前位置: 首页 > news >正文

企业网站建设需注意什么使用cdn做网站内容加速

企业网站建设需注意什么,使用cdn做网站内容加速,关于建设网站的申请,贵州建设工程招投标网站问题描述 今天在练习数据库增删改查#xff0c;体验三层架构思想时#xff0c;随便写了点DAO层代码#xff0c;但服务器运行时竟然爆出了栈溢出的问题#xff0c;说实话#xff0c;空指针问题我还能放着耐心去代码里找找问题#xff0c;但这个栈溢出#xff0c;我之前就…问题描述 今天在练习数据库增删改查体验三层架构思想时随便写了点DAO层代码但服务器运行时竟然爆出了栈溢出的问题说实话空指针问题我还能放着耐心去代码里找找问题但这个栈溢出我之前就没有一次解决过要么改算法要么直接重写出问题关联的那几段。至于网上说的改JVM的栈内存这个我还不会。 先说说我遇到的问题吧请看截图 类型 异常报告消息 Servlet执行抛出一个异常描述 服务器遇到一个意外的情况阻止它完成请求。例外情况javax.servlet.ServletException: Servlet执行抛出一个异常org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。java.lang.StackOverflowErrorjava.security.AccessController.doPrivileged(Native Method)org.apache.commons.logging.LogFactory.getContextClassLoaderInternal(LogFactory.java:808)org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:419)org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)org.springframework.jdbc.support.JdbcAccessor.init(JdbcAccessor.java:43)org.springframework.jdbc.core.JdbcTemplate.init(JdbcTemplate.java:164)com.crud.crud_demo.dao.impl.EmployeeImpl.init(EmployeeImpl.java:16)com.crud.crud_demo.dao.impl.EmployeeImpl.init(EmployeeImpl.java:17)我调用DAO层的EmployeeImpl来完成SQL语句来接收数据库数据并以List集合返回给上层最后返回到JSP页面层来显示。这里是我的EmployeeImpl代码 package com.crud.crud_demo.dao.impl;import com.crud.crud_demo.dao.EmployeeDao; import com.crud.crud_demo.domain.Employee; import com.crud.crud_demo.util.JDBCUtils; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate;import java.util.List;/*** 使用SQL语句的地方*/ public class EmployeeImpl implements EmployeeDao {//创建JdbcTemplate 对象并用静态工具类获取数据源private JdbcTemplate jdbcTemplatenew JdbcTemplate(JDBCUtils.getDataSource());private EmployeeDao employeeDaonew EmployeeImpl();Overridepublic ListEmployee findAll() {String sqlselect * from employee;ListEmployee list jdbcTemplate.query(sql, new BeanPropertyRowMapperEmployee(Employee.class));return list;} } 发生原因 首先我们可以再看看看第一张服务器报错的界面 后面的报错地方全是一样的说明这不是代码量较多导致变量过多的问题而是某处存在创建变量的递归或者循环一直在运行。 相信聪明的小伙伴已经找到问题了没错就是这一句 private EmployeeDao employeeDaonew EmployeeImpl();我也不知道这句我是什么时候写上去的就很神奇。 EmployeeImpl类的实例化过程中我通过private EmployeeDao employeeDaonew EmployeeImpl(); 这一行代码又创建了一个新的EmployeeImpl实例 而这个实例中的private EmployeeDao employeeDaonew EmployeeImpl();又会创建一个新的EmployeeImpl实例。 就这样无限递归下去因为每次方法调用都会在调用栈上分配一定的空间而无限递归会导致调用栈不断增长直到耗尽可用的栈空间。 活脱脱的一个俄罗斯套娃 能写出这种代码试问这个世界上除了我还有谁能做到 不过借着这个机会了解了一下递归实例化的模式。也算是有点收获。 解决办法 删掉那个套娃语句就行 顺便了解一下什么是递归实例化 递归实例化是一种编程模式它在某些情况下可能有用但也存在一些潜在的缺点。 优点 简洁性通过递归实例化您可以使用较少的代码实现复杂的功能。相对于使用循环来处理嵌套结构递归实例化的代码通常更简洁、易于理解和维护。 可读性递归实例化可以使代码更加可读和自解释。它可以更直观地表示问题的解决方案特别是对于涉及嵌套结构的问题。通过递归实例化您可以将问题分解为更小的子问题每个子问题都可以用相同的方式解决从而使代码更具可读性。 灵活性递归实例化可以应对未知深度的数据结构因为它不需要提前知道要处理的嵌套层级。这使得递归实例化在处理树形结构、图形结构或其他具有递归性质的问题上非常有用。 缺点 空间复杂度递归实例化在函数调用过程中需要使用额外的内存来保存中间结果和函数调用栈。如果递归深度很大这可能导致栈溢出或消耗大量内存。因此在使用递归实例化时需要注意控制递归深度以避免空间复杂度过高的问题。 时间复杂度由于递归实例化需要进行多次函数调用和返回操作因此可能会导致较高的时间复杂度。特别是在处理大量数据时递归实例化可能会导致性能下降。因此在使用递归实例化时需要注意优化算法以降低时间复杂度。 拜了周末快乐
http://www.huolong8.cn/news/281218/

相关文章:

  • 论文网站建设与运营深圳网页设计与制作本科工资多少钱
  • 用wordpress建站一个人可以吗网站模版带后台
  • 做网站优化有必要ui界面
  • 自己做网站图片存在哪里wordpress扁平模板
  • 网站关键词描述字数问卷星网站开发市场调查问卷
  • 临漳企业做网站推广谷歌浏览器入口
  • 怎么增加网站流量网站建立的步骤是( )
  • 海淀制作网站的公司揭阳自助建站
  • 徐州网站制作机构微信软文怎么写
  • 做网站申请多少类商标什么网站可以学习建设工程法律实践
  • 网站安全制度体系的建设情况江门网站制作公司
  • 交网站建设 域名计入什么科目北洼路网站建设
  • 怎么做自己的快递查询网站php网站开发练手项目
  • 为什么做儿童音乐网站民族文化网站建设的作用
  • 做app网站的软件有哪些内容吗手机网站图片宽度
  • 网络系统搭建站长工具seo综合查询网
  • 杭州萧山网站开发超变传奇手游刀刀切割无会员散人
  • 江阴网站建设培训电商视觉设计网站
  • 南昌h5建站学点啥网站
  • 佛山网站建设shundeit网络推广方法
  • 高端网站建设服务商广告设计好学吗
  • 吴忠市建设工程质量监督站网站网页版微信登录提示二维码已失效
  • 策划书的网站wordpress 视差模板
  • 网站建设属于技术服务吗工程中标公示查询怎么查
  • 绚丽网站哪个网站是做包装材料珍珠棉包管
  • 扁平化设计 科技感网站素材推广资源整合平台
  • 网站建设课程设计报告图文网页设计与制作的原则
  • 做网站后面加什么wordpress编辑器图片
  • 如何评价一个网站做的是否好河北建设厅网站开通账号
  • 旅游网站推广方案wordpress弹窗广告