首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

new InitialContext()上的无限递归

new InitialContext()上的无限递归是指在Java中使用InitialContext类的构造函数创建一个新的上下文对象时,可能会出现无限递归的情况。

InitialContext是Java中用于访问命名和目录服务的类,它提供了一种统一的方式来查找和访问各种资源,如数据库连接、消息队列等。在创建InitialContext对象时,它会根据配置文件或者系统属性来确定要使用的上下文工厂类,并通过该工厂类创建一个新的上下文对象。

然而,如果在配置文件或者系统属性中指定的上下文工厂类也使用了InitialContext类的构造函数来创建上下文对象,就会导致无限递归的问题。因为每次创建上下文对象时都会再次调用InitialContext类的构造函数,从而形成一个无限循环。

这种无限递归的问题可能会导致程序崩溃或者陷入死循环,严重影响系统的稳定性和性能。

为了避免这个问题,可以采取以下几种解决方案:

  1. 检查配置文件或者系统属性中指定的上下文工厂类是否正确,确保不会再次调用InitialContext类的构造函数。
  2. 使用其他方式来创建上下文对象,例如使用已经存在的上下文对象进行复制或者克隆。
  3. 使用线程局部变量(ThreadLocal)来保存上下文对象,确保每个线程都有自己独立的上下文对象,避免共享上下文对象导致的无限递归问题。

总结起来,无限递归是指在Java中使用InitialContext类的构造函数创建上下文对象时可能出现的问题,可以通过检查配置、使用其他方式创建上下文对象或者使用线程局部变量来解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

无限递归引发堆栈溢出

今天在写strlen函数递归实现,当执行以下代码时,会出现段错误。...分析 return 1 + my_strlen(p++),当程序进行递归调用时候。由于传参为p++即传入p,相当于递归本身,并非移到指向当前字符串下一个字符位置。...递归函数会陷入无限递归状态,因为没有递归结束条件。当操作系统为进程分配虚拟地址空间当中栈空间被耗尽时,此时会发生堆栈溢出。因而产生段错误。...在linux操作系统下查看栈空间大小: ulimit -a可以查看所有默认空间大小。...查看栈空间默认大小 : 命令 ulimit -s 可以看到,在我操作系统下栈空间默认大小为10MB。 递归开销实际是比较大,在使用时谨防堆栈溢出。注意递归调用结束条件。

72810

不用递归生成无限层级

偶然间,在技术群里聊到生成无限层级树老话题,故此记录下,n年前一次生成无限层级树解决方案 业务场景 处理国家行政区域树,省市区,最小颗粒到医院,后端回包平铺数据大小1M多,前端处理数据后再渲染...,卡顿明显 后端返回数据结构 [ { "id": 1, "name": "中华人民共和国", "parentId": 0, }, {...常规处理方式 // 略,网上一抓一把 第二版:非递归处理树 改进版处理方式 const buildTree = (itemArray, { id = 'id', parentId = 'parentId...id', parentId = 'parentId', children = 'children', topLevelId = '0' } = {}) => { const parentMap = new...topLevelId)) { topLevelResult.push(item) } } return topLevelResult; } 时间复杂度:O(n) x下篇分享不用递归无限层级树取交集

1.1K20
  • PHP利用递归函数实现无限级分类方法

    相信很多学php很多小伙伴都会尝试做一个网上商城作为提升自己技术一种途径。各种对商品分类,商品名之类操作应该是得心应手,那么就可以尝试下无限级分类列表制作了。 什么是无限级分类?...无限级分类是一种分类技巧,例如部门组织,文章分类,学科分类等常用到无限级分类,将其简单理解成分类就好了。...其实我们仔细想一下,生活中分类简直太多了,衣服可以分为男装和女装,也可以分为上衣和裤子,也可以根据年龄段分类。分类无处不在,分类显得“无限”。我这里就不说无限分类必要性了。...无限级分类原理简介 无限分类看似”高大”,实际上原理是非常简单无限分类不仅仅需要代码巧妙性,也要依托数据库设计合理性。要满足无限级分类,数据库需要有两个必须字段,id,pid。...php无限级分类是经常要用到,本人以前一直用是已经写好,所以没仔细去研究过,下面是一个使用递归实现简单php无限级分类函数;也许这不是最优方法,但对于一般应用也足够了。

    1.1K21

    周而复始,往复循环,递归、尾递归算法与无限极层级结构探究和使用(Golang1.18)

    ,用来跳出无限递归循环: package main import ( "fmt" ) func story(n int) int { if n <= 0 { return 0 } return...,对于递归函数,栈可能同时存在多个函数帧。...这也就是说函数调用出现在调用者函数尾部,因为是尾部,所以其有一个优越于传统递归之处在于无需去保存任何局部变量,从内存消耗,实现节约特性: package main import ( "fmt"...递归应用场景    在实际工作中,我们当然不会使用递归讲故事或者只是为了计算高斯求和,大部分时间,递归算法会出现在迭代未知高度层级结构中,即所谓无限极”分类问题: package main import...:使用Python3.7+Django2.0.4配合vue.js2.0组件递归来实现无限级分类(递归层级结构) 有异曲同工之处,但很显然,使用结构体Golang代码可读性更高。

    1.3K60

    使用Python3.7+Django2.0.4配合vue.js2.0组件递归来实现无限级分类(递归层级结构)

    所谓无限极分类是啥?...其实简单点说就是一个人类可以繁衍出多个后代,然后一个后代又可以分另外多个后代这样无限繁衍下去(可以想象神奇动物在哪里2里面莱斯特兰奇家族族谱),就好象linux系统你可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹...json形式返回前端,前端使用vue组件递归来展示数据。    ...,所以我们提前写好一个用来递归方法: def xTree(datas): lists=[] tree={} parent_id='' for i in datas:...:     当然了,vue组件也可以间接调用自己实现递归,这涉及到组件之间循环引用,这样比较麻烦,可读性也间接降低了不少。

    68010

    PHP实现无限极分类两种方式示例【递归和引用方式】

    本文实例讲述了PHP实现无限极分类两种方式。...分享给大家供大家参考,具体如下: 面试时候被问到无限极分类设计和实现,比较常见做法是在建表时候,增加一个PID字段用来区别自己所属分类 $array = array( array('id'...pid' = 3, 'name' = '永年区'), array('id' = 9, 'pid' = 1, 'name' = '武安市'), ); 数据在数据库中存储大概是这个样子,怎么实现无限递归呢...,有两种常用做法,递归和引用算法 递归算法 /** * 递归实现无限极分类 * @param $array 分类数据 * @param $pid 父ID * @param $level 分类级别 *...($array[$key]); //开始递归,查找父ID为该节点ID节点,级别则为原级别+1 getTree($array, $value['id'], $level+

    1.8K20

    设计博客系统架构思考()——动态无限可能性

    由我们Front controller来处理由客户端(浏览器)发过来请求,实际这里Front controller是DispatcherServlet。...2Django MTV 我使用Django差不多有四年了,主要是用在我博客。与MVC模式一对比,我发现Django在分层还是很有鲜明特性: ?...这样做可以从代码直接减少逻辑思考,让我们可以更加集中注意力于业务实现,同时也利于我们后期维护。 虽是如此,后来我意识到了这样架构并没有在意识有太多先进之处。...而这实际是一个美好但是不现实东西,因为我们还是使用同一个数据库。 4微服务与Reactive 在微服务架构中,它提倡将单一应用程序划分成一组小服务,这些服务之间互相协调、互相配合。...每个服务运行在其独立进程中,服务与服务间采用轻量级通信机制互相沟通。每个服务都应该有自己独立数据库来存储数据。 ? Django从某种意义上有点接近微服务概念,只是实际并没有。

    882100

    递归神经网络不可思议有效性(

    原文作者:Andrej Karpathy 递归神经网络(RNNs)有一些不可思议地方。我仍然记得我训练第一个用于 图片字幕递归网络。...递归神经网络 序列。你可能会问:是什么让递归神经网络如此特殊?...从这个角度来看,RNNs本质可以描述程序。事实,众所周知, RNNs是图灵完备,即它们可以模拟任意程序(使用恰当权值向量)。但是,类似于通用逼近定理神经网络,你还不应该深入阅读。...在右边,一个递归网络通过学习在画布序列化地添加颜色然后生成一张数字图像(Gregor等人 ): ? 左边:RNN学习阅读门牌号。右边:RNN学习学习绘制门牌号。...LSTM是一种特殊类型递归网络,在实践中工作效果更佳,这归功于其强大更新方程和一些吸引人动态反向传播功能。

    79040

    独家 | 综述:情感树库语义组合递归深层模型

    本文运用这个思想,计算短语向量表示,然后将其用作情感分类特征。从直觉讲,这是有道理,因为单词放在一起考虑时意思可能是不同,单词单独考虑时意思也可能是不同。...以递归方式计算双亲节点组合函数 c)模型递归性质: 用于该任务模型是以递归方式进行应用。首先,用向量表示叶子节点。...最终,这些特征被提供给softmax分类器,以获得每个标签概率。 模型 作者为该任务提出了“递归张量神经网络”模型。...这个模型主要动机来自于该领域两项前期工作: a) 递归神经网络(RNN): 由于数据计算顺序本质递归(父向量取决于它们子向量),因此,RNN是用于此目的合适模型。...RNTN模型能够从结构上学习积极和消极规则。 结论 因此,RNTN和情感树库允许在一系列单词捕获细粒度情感。此外,与MV-RNN和biNB相比,它能很好地完成对比结合任务。 引用 哇!!

    57820

    关于 Java 中 RMI-IIOP

    作者:Longofo@知道创宇404实验室 时间:2019年12月30日 在写完《Java中RMI、JNDI、LADP、JRMP、JMX、JMS那些事儿()》时候,又看到一个包含RMI-IIOP议题...环境说明 •文中测试代码放到了github•测试代码JDK版本在文中会具体说明,有的代码会被重复使用,对应JDK版本需要自己切换 RMI-IIOP 在阅读下面内容之前,可以先阅读下以下几个链接内容...,即对象在网络不同平台上进行交互。...在客户端,应用程序包含远程对象引用,对象引用具有存根方法,存根方法是远程调用该方法替身。存根实际是连接到ORB,因此调用它会调用ORB连接功能,该功能会将调用转发到服务器。...本质,存储库ID是接口唯一标识符。

    1.3K20

    Java安全之JNDI注入

    JNDI(Java Naming and Directory Interface)是一个应用程序设计API,为开发人员提供了查找和访问各种命名和目录服务通用、统一接口,类似JDBC都是构建在抽象层...代码: InitialContext initialContext = new InitialContext(); 在这JDK里面给解释是构建初始上下文,其实通俗点来讲就是获取初始目录环境。...String getFactoryClassName() 检索此引用引用对象工厂类名。 Object remove(int posn) 从地址列表中删除索引posn地址。...initialContext = new InitialContext();//得到初始目录环境一个引用 initialContext.lookup(uri);//获取指定远程对象...initialContext = new InitialContext(); initialContext.lookup(url); } } 下面还需要一段执行命令代码,挂载在

    96140

    Tomcat-9.JNDI资源

    1.介绍 Tomcat为每个在其运行web应用提供了一个JNDI** InitialContext**实现实例,它与Java EE应用服务器提供对应类完全兼容。...6.3.2 使用资源 典型资源引用用例: Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup...如果和实际情况不符合,需要编辑web应用元素,将mail.smtp.host参数值修改为你网络SMTP服务器主机名。...6.3.3 使用资源 资源典型引用用例: Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup...Default: -1 (infinite)在抛出异常前,连接池等待(没有可用连接)连接返回最长等待毫秒数,默认为-1(无限长) 额外用来验证连接属性: validationQuery - SQL

    1.2K30
    领券