技术提升扩展1

      最后更新:2022-04-28 22:38:00 手机定位技术交流文章

      技术提升扩展1

      • 1、问答
        • 1. 造成记录和档案管理溢漏和记录和档案管理泄漏的条件是什么?
        • 2. 什么是悲观的锁和乐观的锁,如何和从何处获得这些锁?
        • 3. 线索和流程之间是否有区别?
        • 四,我们怎样才能防止爪哇的锁锁?
        • 五、BIO、NIO和AIO有什么区别?
        • 你有多了解互联网协议?
        • 7. 父母派任的方法是什么?
        • 8. 工作中最经常使用的联合核查团设置参数是什么?
      • 2、编程

      1、问答

      1. 造成记录和档案管理溢漏和记录和档案管理泄漏的条件是什么?

      内存泄漏内存泄漏: 当应用程序存档时, 方法不会释放所需的内存空间。 单一内存泄漏似乎不会产生重大影响, 但内存泄漏会导致溢出 。

      爪哇的记忆泄漏究竟来自何方?当使用寿命较长的项目保留提及寿命周期短的物体时,内存漏的可能性很大。即使不再需要生命周期有限的事物,然而,它无法收回,因为其报价所持的寿命周期延长。这是 Java 内存泄漏的地点 。以下为主要类别:

      1. 静态集群造成沉积泄漏:
      利用哈希马普、向量等,最容易受到内存泄漏的影响。这些静态变量的生命周期和使用是一致的。同样,他们提到的所有主题也没有公开。因为矢量等人会不断引用它们。对象可以使用回收程序回收利用。然后将申请放入矢量器。如果你只发布引号(o=null),因此,矢量继续引用天体。因此,就GC而言,这一项目无法收回。因此,当一个项目被添加到矢量中时,摆脱矢量也是个好主意最基本的方法是将矢量对象设为无效。
      2. 当收藏对象属性被更改时,删除()功能不起作用:
      其原因是,在物体特性改变后,大麻代号被更改。
      3、监听器
      在爪哇编程语言中,我们都必须应付听力装置。有几种监听设备经常用于一个单一的应用中。要添加监听设备, 我们将使用 AddXXListener () 这样的控制 。然而,当人们获释时,他们常常忘记销毁监听装置。这就增加了内存泄漏的可能性。
      4、各种连接
      这篇文章是数据Sourse.com.GetConcomction ()系列的一部分。需要网络连接(口袋)和木卫一连接。在它使用屏幕()功能关闭其连接之前,可以用不同的方式加以利用。否则,GC不会自动回收。对结果和声明对象没有明显的恢复。但是,这种关系必须是明显的循环利用。因为连通性不会在任何时刻自动回收。在连接恢复后对象“结果”和“声明”将立刻成为NULL。另一方面,如果你使用连接池,情况就不一样了,除了连接的明显关闭之外视觉关闭结果声明对象(关闭其中一个对象)也至关重要。另一间也将关闭。否则,将搁置大量指控。从而引起内存泄漏。在这种情况下,这种联系通常是在未遂期间发生的。内部,断开连接。
      内部和外部模块模块参考
      内部报价类别更容易被遗忘。此外,如果不印发,可能导致若干附属类别无法释放。此外,程序员在无意中提及外部模块时必须谨慎行事。例如,程序程序员A负责模块A。使用模块B的方法之一是:公开无效请求Mg(目标b);这一请求将极为谨慎。传入了一个对象,最肯定的是,B单元保留了对该项目的提及。在现阶段,必须考虑模块B是否具有删除引用的匹配操作。
      6、单例模式
      内存泄漏的一个主要原因,是错误使用单一案例模型,其中单一物体在启动后(以静态变量的形式)在JVM的整个生命周期中将持续存在,如果单个物体保持外部参考,JVM将无法收回该物体,导致内存泄漏。

      内存溢出: 当提交内存应用程序时,应用程序没有足够的内存 。或者说,我给了你一个存储区 用来存储内型数据然而,你保存着长型数据。因此,记忆不足。目前,OOM,又称记录和档案管理溢出,将被错误地报告。

      1. 爪哇的溢流:
      触发方法:减少内存大小,然后保留对象或创建大于内存容量的字节阵列。
      解析:首先,确定是否需要内存对象。也就是说,如果有记录和档案管理泄漏或记录和档案管理泄漏,这是显而易见的。如果有内存泄漏 我们就能侦测密码如果有记忆溢出,请看看是否可以再次增加记忆。检查代码以发现任何物体是否有异常延长的生命周期。(c) 持有期过长。
      2. 扩大虚拟机库和地方程序
      堆积流错误因改变存储存储的内存大小而异常触发,然后返回调用功能。
      由于连续生成的线条没有在计算机上测试过,而且计算机是伪造的,结果异常,但软件没有抛弃异常点。
      3、方法区溢出
      触发模式: 创建了大量的班级, 以填充整个执行过程中的方法区域, 直到发生溢出 。
      运行时常量池溢出
      触发方法:循环生成字符串,尽管在整个测试过程中发现了堆积溢漏。
      4. 飞机的直接内存溢出。

      2. 什么是悲观的锁和乐观的锁,如何和从何处获得这些锁?

      悲观的锁:总是假设最坏的情况。每次我得到数据 恐怕有人会修改它因此,每次获得数据时都要锁定数据。因此,任何试图获取这一数据的人都将被封锁,直到获得这一锁为止。传统关系型数据库有许多这类锁定技术。 比如行锁,表锁等,读锁, 写锁等,在程序之前,一切都得到保证。在爪哇,同步关键字的实现也是一个悲观的锁。

      乐观锁:顾名思义,就是很乐观,每次我收到数据时 我相信人们不会修改数据所以不会上锁,但是,我们将能够看到,在更新时,是否有其他人在这个时间段内对数据进行了修改。可以使用版本号等机制。多读应用程序使用乐观锁。由于这一原因,输送量将增加。例如,数据库的书写-公约机制。这一切都归根结底 提供乐观的锁。在爪哇,爪哇,我不知道你在说什么, 对不起,Concret。 原子变数等级是通过使用乐观锁 来完成化学文摘社的技术获得的。

      乐观锁的实现方式:

      使用版本 ID 来核实收到的数据是否与提交的数据相符; 在提交后更新版本标识, 并在不一致时拒绝和重试政策 。

      Java的CAS是计算机和交换。当几个线索试图同时使用 CAS 更新同一个变量时,会发生错误。只有一条线可以改变变量的值。而其它线程都失败,失败线不会受到阻碍 。他被告知,竞争失败了。 并可以再次尝试。读写存储位置(V),可比较的预期原始值是三种化学文摘社程序。
      和要写入的新值 (B) 。 如果内存位置 V 的值与预期原始值 A 相符, 处理器自动将位置更新为新值 B。 如果内存位置 V 的值与预期原始值 A 不符, 处理器则无所作为 。

      CAS 缺点:

      1、ABA 问题:
      例如,线条将A从记忆地点V除去。另一条线 2 将当前记忆中的 A 从 A 中删除 。两人经过了某些手术 才能成为B然后将V定位数据转换成A乘以2。此时此刻,其中一条线是进行CAS操作,发现记忆仍为A。然后有一个程序进展顺利。尽管Treadone的最初手术成功尽管如此,仍可能存在一些潜在的问题。ABA问题在Java1.5中处理,在与JDK一起推出的Tomic软件包中包括了一类原子印章参考材料。

      2. 长周期的费用如下:
      当资源极具竞争力(激烈冲突)时,化学文摘社的旋转更有可能浪费CPU资源,其效率比同步旋转低。

      3. 只有满足下列条件,才能确保具有共同变量的原子行动:
      在对共享变量采取行动时,我们可以使用环状化学文摘社来确保原子运行;然而,在对多个共享变量进行操作时,环状化学文摘社不能保证操作的原子特性,可以使用锁。

      3. 线索和流程之间是否有区别?

      进程:
      一个进程是一个在内存中运行的程序。 每个进程都喜欢自己的独特的内存空间, 一个进程可能有几条线, 如 Windows 中, 运行中的xx 是一个进程 。

      线程:
      在目前进程中实施程序是流程中一项工作(控制模块)的责任,一个流程至少包含一条线,一个流程可以运行几条线,多条线可以交换数据。

      与这一进程不同的是,同一种堆叠和方法学领域资源与这一进程有着许多共同点。另一方面,每条线都有自己的程序员、虚拟医务室和本地方法仓库。因此,该系统正在产生一条线索。我不知道我是否能够做到这一点, 或我可以换工作 跨线。载重远小于程序。也正因为如此,线索也称为轻量级过程。

      流程和线索之间的差异概述如下:

      从线索中可以看到一些古典程序。因此,它被称为光重过程或过程元素, 它被称为重力过程。和单线任务一样将线索引入操作系统。它经常是一个多行过程。至少包含一个线程。

      基本区别:程序是向操作系统分配资源的基本单位,而线则是处理和执行任务的基本单位。

      资源成本:每个进程都有自己的代码和数据领域(方案背景)。应用程序之间的转换成本将更高;线索可被视为轻量级过程。和共享代码和数据空间的线条一样每条线都有自己的运行垫和自己的程序柜台(PC)。换行是便宜的。

      包括关系:如果一个过程有多个线条,则执行过程不是一条线条,而是用多个线条(线条)执行的;由于该线条是过程的一部分,它也被称为轻量或轻量级处理数字关系:如果一个过程有许多线条,则执行过程不是一条线条,而是用多个线条(线条)执行的;由于该线条是过程的一部分,它也被称为轻量级或轻量级过程。

      内存分布:通过同一过程线性共享该过程的地址空间和资源,这些程序彼此不同。

      影响关系:一个过程一旦崩溃,就对保护模式下的其他过程没有影响,但一条线崩溃,整个过程就会消亡。

      执行过程:每个独立过程都有程序入口、顺序和过程出口,但线条不能单独运行,申请必须提供现有的许多执行控制线,这两种控制线都可以同时执行。

      四,我们怎样才能防止爪哇的锁锁?

      一、什么是死锁

      在爪哇,死锁是一种程序化条件,其中两条或多条线被永久堵住,至少有两条线和两条或两条以上额外资源存在。

      在这一部分,我们将建立一个小型方案, 导致爪哇的消亡,然后分析它。

      每条线索都成功获得第一个对象的锁,并最终阻断第二个对象的进入,导致线索之间有一个死锁。

      二. 死锁规定了四个条件。

      拒绝:某些资源只允许一次进行一次进程访问,例如,一旦将资源分配给一个进程,在进程访问完成之前,其他进程就无法进入。
      拥有和等待:一个过程获得资源(一个或多个),还有未完成的资源等待从其他过程释放出来。
      没有人拥有资源,你无法拥有它,因为你需要它。
      4. 周期等待:有一个程序链,每个程序都捕捉至少一种资源,用于以下步骤。
      当所有四项要求都得到满足时,必然会造成死锁,死锁程序不能再继续下去了。他们拥有的资源也不能释放出来。这可能导致CPU的吞吐量减少。因此,锁定是系统资源的浪费,对计算机速度有影响。那么,解决锁定问题绝对至关重要。

      然而,由于头三个标准必须作为锁来满足,只有第四个条件可能被打破!

      三、避免死锁的方法

      1. 防止死锁需要确保该系统永不锁定。
      开发死亡锁需要四个条件,如果这四个条件中至少有一个不能满足,死亡锁就无法出现。 由于共享资源不需要相互排斥的条件,不能仅仅修改,而且应当确保这样做,目标主要是消除产生锁的其他三个条件。
      a. “占用和等待”情况细目
      方式1:所有进程在开始运作之前,必须一劳永逸地要求在其整个运作过程中所需要的全部资源。
      优势:易于部署和保障安全。
      不足:如果一个资源得不到满足,这一进程就无法开始,以前已经满足的其他资源也就无法使用,导致资源利用大幅减少,资源浪费大量减少,经常出现饥饿现象。

      备选案文2:这是从第一种技术中迈出的一步。使该进程能够仅仅获得其初步执行所需的资源。便开始运行,在这一过程中,分配给他们的资源逐渐停止使用。然后我们再去申请更多的资源这样的话,资源使用将增加。在这个过程中,这也将有助于缓解饥饿问题。

      b. “非掠夺性”情节的损害
      当一个一直掌握着某些资源的进程失败时,它必须释放所有已经持有的资源,并在以后需要使用时重新使用,这意味着以前掌握的资源将暂时释放或没收。
      这一战略更难采用,成本更高,所维持的资源释放可能会降低进程前工作的效率,一再要求和释放资源可能会导致进程的执行无限期推迟,不仅延长进程周期,而且会影响系统中的接收量。

      c. “轮候”情况受损
      为此,可以规定每一资源编号的资源类型线性序列,当某一程序获得一号资源拥有权时,下列资源请求只能是数量大于一号的资源。

      这忽略了等待周期。然而,这一战略不太成功。执行资源的速度放慢。因此,剥夺获得资源的机会可能并不重要。比如说,c 进程希望申请第一资源。如果其他进程不捕捉资源1,则其他进程不捕捉资源1,目前,将其分配给一个过程 c 不是一个问题。然而,为了避免无休止的等待循环,该申请会被拒绝,这将最大限度地减少资源使用。

      五、BIO、NIO和AIO有什么区别?

      io模型

      总的说来,I/O模式有四种:同步阻塞、同步非阻塞、不对称阻塞和不对称非阻塞性IO。

      同步块 IO : 在这种情况下, 在启动 IO 操作后, 用户程序必须等待 IO 动作完成, 用户程序只能在 IO 操作完成后才能执行 。 这是典型的 JaVA 的 IO 模式!

      以这种方式,用户程序执行一个 IO 操作, 然后返回到最初的任务 。因此,用户程序必须定期检查,以确定IO业务是否已经准备就绪。这就需要一个用户程序,继续提出问题。这造成CPU资源的浪费。JAVA的NIO是一个同步的非阻塞性IO。

      IO:这样,在方案开始IO行动之后,不等IO内部操作完成当内核完成 IO 操作时, 程序将会被提醒 。这是同步和配合之间最重要的区别。同步化必须等待或积极询问IO是否完整。那么,为什么它受阻?因为这是通过甄选机制完成的。此外,执行选择职能的方法受到阻碍。利用选定功能的一个好处是,它可以同时聆听众多文档处理器。来增强这个系统的相互性!

      由于即时步骤不妨碍临时行政办公室,因此以这种方式停止运作是不可行的。用户程序只需要启动一个 IO 操作, 然后退出 。在IO行动真正完成之后,当IO 操作完成时, 程序将会被提醒 。用户程序只需在现阶段处理数据即可。不需要真正的 IO 读写操作 。因为内核已经做了 IO 实际的阅读或写作。这种不对称和非限制性模式包括爪哇AIO。

      以银行取款为例:

      BIO的网络通信原则

      BIO的特征是,每当客户接触客户时,就设置一条线为客户服务,导致数万个服务线,如果客户众多,可能导致超负荷,甚至死亡。

      在这里插入图片描述
      NIO的网络通信原则

      一. 客户端会响应频道, 多个驱动器选择器会与频道通信 。
      二。然后,当被传唤时,选择者将去建造工作线和缓冲线。
      三条工作线将通过缓冲线阅读和处理海峡请求。
      四. 然后通过缓冲将数据归还给海峡,并在请求完成后释放线索。

      在这里插入图片描述
      AIO通信原理

      类似NIO, 但它是不间断的, 这意味着当调用时, 工作线会通知操作系统读取它, 然后它可能会做其他事情, 在操作系统完成阅读数据后, 它会回拨接口, 并给你操作系统读出的数据 。

      三者之间的区别:
      BIO是同步阻塞,NIO是一个不间断的同步操作。AIO是永无止境的要素这些是IO的读写操作。直线启动的阅读和书写请求被称为本案中的阻挠。是不是阻塞住的,你就不能做点别的吗?在现实中,它和现在不一样, 它和现在是一样的, 它和现在是一样的, 它和现在是一样的, 它和现在是一样的, 它和现在一样,它也是一样的, 它和它一样,它也是一样的, 它和它一样,它也一样, 它和它一样,它也一样,它也一样,它也一样,它也是一样的, 它和它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它一样,它好,它也一样,它好,它 和它一样,它好,它好,它 一样,它好,它好,它好,它好,它好,它好,它好,它好,它好,它好,它好,它好,它同步化需要利用主动性查询操作系统。操作系统负责通知你

      在这里插入图片描述

      你有多了解互联网协议?

      TCP/IP 协议

      转让控制协议/互联网连接协议,又称互联网通信协议,是互联网最基本协议的基石,即互联网互联网网络,并在传输一级包括互联网上的IP协议和TCP协议。

      TCP/IP是界定电子设备如何与互联网连接的议定书。以及它们之间数据传输的标准。该协议以四级等级结构为框架。为满足其要求,每一楼层都依赖其在以下一级提供的协议。一般来说,TCP负责识别传输错误。如果有问题,请发送信号。要求重新传输,一旦所有数据安全、准确地送达目的地。另一方面,IP为每个连接互联网的设备指定一个独特的地址。

      IP

      下层(网络界面层,例如Tainet设备驱动程序)将数据包发送到 IP 层 。此外,将数据包转移到更高层次--TCP或UDP;相反,该 IP 层还将数据包从 TCP 或 UDP 发送到下层 。IP 数据捆绑不可信 。因为IP并不确定项目是连续传送还是删除。IP数据集包括发送主机的地址(源地址)以及接收主机的地址(终端地址)。

      数据包由高级别的TCP和UDP服务机构接收,尽管不允许它们这样做。通常情况下,包件中的源地址被推定为合法。也可以这样说,IP地址是许多服务认证的基础。这些服务据认为是由合法的主机发送的。IP确认中包含一个选项。它被称为IP源运行。此选项用于定义源地址与目的地地址之间的直线路径 。对于一些TCP和UDP服务,使用此选项的 IP 软件包似乎是从路线上前一台机器上传来的 。也不是从它的真正立场出发的。此选项可供测试 。事实证明,它可以用来欺骗通常被禁止的连接系统。那么,依靠IP源地址确认的若干服务将造成麻烦,容易未经授权获得。

      TCP

      TCP是一种以连通为导向的通信协议,通过三次握手连接,通过断开连接而缔结,TCP仅用于端对端通信,因为它是连接的。

      TCP提供可靠的数据流服务,通过使用“通过再传输的积极确认”技术实现传输的可靠性。 TCP还采用了被称为“滑动窗口”的流动控制方法,这真正反映了接收能力,以限制发送者交付的速度。

      如果IP数据包已经包含密封的TCP数据包,因此,IP将把他们送到TCP一级。TCP 类型和错误的验证软件包 。同时,虚拟电路的连通已经实现。TCP数据包中包括序列号和确认。因此,可以对未按正确顺序收到的货物进行分类。此外,损坏的袋子也可以重新传送。

      TCP 将信息传送到诸如 Telnet 服务程序和客户程序等更高层次的应用程序, 然后将信息转回 TCP 层, 传递到 IP 层、 设备驱动器、 物理媒体, 最后传递到接收方 。

      相互关联的服务(如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性。结果,他们利用了TCP。在某些情况下,DNS利用TCP(通信和接收域名数据库)。另一方面,UDP用于发送特定主机的信息。

      UDP 协议

      UDP是一个没有连接的通信协议,UDP数据包含目的地和源港口信息,由于通信不需要连接,广播是可能的。

      UDP连接不需要得到确认,传输不可靠,并可能导致一揽子损失。 在实际执行中,程序员验证至关重要。

      TCP和联合民主党的席位相同。但是,它没有涉及数据包的顺序、错误或重新发布。因此,使用虚拟电路的以连接为导向的服务不使用UDP。联合民主党主要用于搜索和回答服务。例如NFS。它不等同于FTP或Telnet。这些服务只需发送少量数据即可。NTP(网络时间协议)和DNS(也使用TCP)是使用UDP的两个服务。

      由于UDP没有建立初始连接(又称握手)(因为两个系统之间没有假电路),对UDP包的欺骗比对TCP包的欺骗更简单,即与UDP有关的服务更加脆弱。

      http协议

      HTTP协议具体规定了网络客户如何访问网络服务器并要求网页。此外,服务器如何将网页发送给客户端。HTTP协议采用请求/答复机制。客户端向服务器发送请求信息 。所希望的技术、 URL、 协议版本、 请求头和请求数据都包含在请求中 。服务器返回状态行 。答案包含协议版本、成功代码或错误代码、服务器信息、响应头和响应数据。

      应高级别工作队的要求,采取了以下行动:

      1. 客户-服务器通信
      HTTP 客户端,通常是浏览器,在网络服务器上建立与 HTTP 端口的TP 软件包连接(默认为80)。
      2. 发出HTTP请求。
      客户端通过 TCP 软件包向网络服务器发送文本请求信息,其中包括请求行、请求头、空行和请求数据第4节。
      3. 服务器接受请求,并作出HTTP回复。
      服务器剖析请求并定位请求资源。 服务器将资源复制件写入客户所读的 TCP 软件包。 回复包括状态行、 响应头、 空行和响应数据组件 4 。
      4. 关闭TCP连接
      如果连接模式已接近,服务器正在积极尝试终止 TCP 连接 。客户被动地关闭连接。应释放TCP连接;如果保持连接模式,链接将保持一段时间。届时,请求仍可被接受。
      5. HTML 材料正在由客户浏览器进行解析。
      客户端浏览器首先分析状态行 。审查显示请求是否成功的身份代码。然后我们分析每个反应回复标题包含关于 HTML 文档和文档字符集的信息,下面有多个字节。HTML 响应数据由客户浏览器阅读。它的格式是按照 HTML 语法格式的 。然后在浏览器窗口中显示。

      7. 父母派任的方法是什么?

      工作原理
      (1) 当班级装载器收到舱载荷要求时,它不是先装货,而是将要求交给母装载器处理。

      (2) 如果母装载器有母装载器,则要求铅装载器最终到达顶层。

      (3) 如果母装载器能够完成班级装载器,则成功返回;否则,子装载器将试图装载自己,即母分配机制。

      (4) 母装载器一楼拆卸工作,如果能够装载次要装载器,则装载器卸载工作,如果装载器无法装载,则投放反常现象。
      在这里插入图片描述

      8. 工作中最经常使用的联合核查团设置参数是什么?

      设置堆初始值
      第1号指令:Xms2g
      第2 - XX号指令: 开始时的升降=2048米

      设置堆区最大值
      指令1:-Xmx2g
      第2-XX号指令:最大加热值=2048米

      两个幸存者和伊甸区面积比率
      XX:幸存者Ratio=6//S和伊甸区:1:6,2 S地区2:6

      新一代和老年人的比例。
      -XX:新拉迪奥=4 //表示新一代:老年=1:4=总堆积量的4/5;默认值=2。

      打印详细的GC日志
      显示应用程序结尾处的 JVM 详细GC 日志和内存占用情况。
      开始键入 XX:+PrintGCDetails。
      二十: - 价格细目 - 二十: - 颜色

      查看或更改运行中的 JVM 的设置 。
      Jinfo-国旗参数进程编号命令格式
      1. 检查是否启用了超大倾斜 On out of memoryError 设置 。
      jinfo -flag HeapDumpOnOutOfMemoryError 870778
      2. 更改 HeapDumpOn outmoryError (- 关闭 + On) 的配置 。
      jinfo -flag +HeapDumpOnOutOfMemoryError 870778

      模糊查找指令
      如果您忘记一个命令的全部名称, 您可以使用匹配字词查找它 。
      java -XX:+PrintFlagsInitial |grep GC

      查看JVM所有参数
      java -XX:+PrintFlagsInitial

      2、编程

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/23037.html

          热门文章

          文章分类