首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户5325874的专栏

    技术

    技术 概念 技术:把一些能够复用的东西(比如说数据库连接、线程)放到池中,避免重复创建、销毁的开销,从而极大提高性能。 这是一种常见的软件设计思想,叫做技术,它的核心思想是空间换时间,期望使用预先创建好的对象来减少频繁创建对象的性能开销,同时还可以对对象进行统一的管理,降低了对象的使用的成本,总之是好处多多。 不过,技术也存在一些缺陷,比方说存储池子中的对象肯定需要消耗多余的内存,如果对象没有被频繁使用,就会造成内存上的浪费。 可这些缺陷相比技术的优势来说就比较微不足道了,只要我们确认要使用的对象在创建时确实比较耗时或者消耗资源,并且这些对象也确实会被频繁地创建和销毁,我们就可以使用技术来优化。 技术核心是一种空间换时间优化方法的实践,所以要关注空间占用情况,避免出现空间过度使用出现内存泄露或者频繁垃圾回收等问题。 参考 技术

    1.4K40发布于 2020-04-13
  • 来自专栏Android菜鸟成长记录

    浅谈技术

    前言 在编程学习中我们经常听到各种各样的技术,如线程、连接、对象和缓存等,平时我们背八股都是背诵里面的技术,但少有人去了解什么是技术,这些技术为什么要带个"",本文主要介绍一下什么是技术 二、为什么要使用技术? 资源节约 技术可以显著减少资源的浪费。在没有的情况下,我们可能会不断地创建新的资源实例,例如线程或数据库连接,使用完毕后再将它们销毁。 三、技术的应用场景 技术在编程中的应用场景非常广泛,它们可以帮助我们更有效地管理各种资源,从而提高系统的性能和效率。以下是四种常见的技术以及它们在不同编程场景中的详细解释: 1. 当需要新对象时,不必每次都实例一个新对象,而是从对象池中获取一个可用的对象,当不再需要时,将其归还给。这降低了内存消耗和垃圾回收的压力,提高了应用程序的性能。 4. 通过学习和应用技术,我们可以获得以下几方面的收获: 资源管理技能 技术的核心思想是有效地管理资源。通过学习技术,我们可以掌握资源管理的基本原则,包括资源的创建、分配、重用和回收。

    1.4K10编辑于 2023-11-22
  • 来自专栏王磊的博客

    1.技术

    1.技术 技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。 技术的优点主要有两个:提前准备和重复利用。 2.技术应用 常见的技术的应用有:线程、内存、数据库连接、HttpClient 连接等,接下来,我们分别来看。 2.1 线程 线程的原理很简单,类似于操作系统中的缓冲区的概念。 优点4:更多增强功能 线程相比于线程来说提供了更多的功能,比如定时执行和周期执行等功能。 总结 技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。 技术的优点主要有两个:提前准备和重复利用。 线程技术的典型场景,线程的优点主要有 4 点:1.复用线程,降低了资源消耗;2.提高响应速度;3.提供了管理线程数和任务数的能力;4.更多增强功能。 ​

    83910编辑于 2022-05-09
  • 来自专栏thinkphp+vue

    为什么需要线程?什么是技术

    1.技术 技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。 技术的优点主要有两个:提前准备和重复利用。 2.技术应用 常见的技术的应用有:线程、内存、数据库连接、HttpClient 连接等,接下来,我们分别来看。 2.1 线程 线程的原理很简单,类似于操作系统中的缓冲区的概念。 优点4:更多增强功能 线程相比于线程来说提供了更多的功能,比如定时执行和周期执行等功能。 总结 技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。 技术的优点主要有两个:提前准备和重复利用。 线程技术的典型场景,线程的优点主要有 4 点:1.复用线程,降低了资源消耗;2.提高响应速度;3.提供了管理线程数和任务数的能力;4.更多增强功能。

    92430编辑于 2022-03-02
  • 来自专栏程序员历小冰

    Java 数据持久系列之技术

    今天我们就先来了解一下技术的必要性、原理;然后使用 Apache-common-Pool2实现一个简单的数据库连接;接着通过实验,对比简单连接、HikariCP、Druid 等数据库连接的性能数据 connection = driver.connect(URL, props); 使用 Apache-Common-Pool2实现简易数据库连接 下面,我们以 Apache-Common-Pool2为例来看一下技术相关的抽象结构 首先,你要实现一个继承 BasePooledObjectFactory 的工厂类,提供管理对象生命周期的具体方法: makeObject:创建对象实例,并且使用 PooledObject 将其封装 Apache Common Pool2 源码分析 我们来简要分析 Pool2 的源码( 2.8.0版本 )实现,了解池技术的基本原理,为后续了解和分析 HikariCP 和 Druid 打下基础,三者在设计思路具有互通之处 %E7%9C%8B%E5%A6%82%E4%BD%95%E5%86%99%E4%B8%80%E4%B8%AA%E9%80%9A%E7%94%A8%E6%B1%A0/ 如何设计一个连接:commons-pool2

    64800发布于 2020-02-03
  • 来自专栏码农沉思录

    Java 数据持久系列之技术

    点击上方“码农沉思录”,选择“设为星标” 优质文章,及时送达 今天我们就先来了解一下技术的必要性、原理;然后使用 Apache-common-Pool2实现一个简单的数据库连接;接着通过实验,对比简单连接 connection = driver.connect(URL, props); 使用 Apache-Common-Pool2实现简易数据库连接 下面,我们以 Apache-Common-Pool2为例来看一下技术相关的抽象结构 PooledObject 是对象的封装类,负责记录额外信息,比如说对象状态,对象创建时间,对象空闲时间,对象上次使用时间等。 首先,你要实现一个继承 BasePooledObjectFactory 的工厂类,提供管理对象生命周期的具体方法: makeObject:创建对象实例,并且使用 PooledObject 将其封装 Apache Common Pool2 源码分析 我们来简要分析 Pool2 的源码( 2.8.0版本 )实现,了解池技术的基本原理,为后续了解和分析 HikariCP 和 Druid 打下基础,三者在设计思路具有互通之处

    73120发布于 2020-02-19
  • 来自专栏路人甲Java

    浅谈Java中的技术

    在 Java 中,技术应用非常广泛,常见的就有数据库连接、线程等,本文主讲连接,线程我们将在后续的博客中进行介绍。 还有 4 个 test 参数:testOnCreate、testOnBorrow、testOnReturn、testWhileIdle,分别指定了在创建、获取、归还、空闲检测的时候,是否对对象进行有效性检测 我通常把这种技术叫作结果缓存(Result Cache Pool),属于多种优化手段的综合。 接下来介绍了数据库连接池中速度很快的 HikariCP ,它在技术之上,又通过编码技巧进行了进一步的性能提升,HikariCP 是我重点研究的类库之一,我也建议你加入自己的任务清单中。 在底层的中间件,比如 RPC,也通常使用连接技术加速资源获取,比如 Dubbo 连接、 Feign 切换成 httppclient 的实现等技术。 你会发现,在不同资源层面的设计也是类似的。

    66330编辑于 2023-11-15
  • 来自专栏程序员奇点

    软件设计思想:技术

    软件设计思想:技术 先举个例子 一种简单的架构:前端一台 Web 服务器运行业务代码,后端一台数据库服务器存储业务数据。 ? 数据校验过程大概占整个查询过程的80% 时间,比如 数据校验占 4ms ,查询过程使用 1ms 这样频繁创建连接,创建连接严重影响了性能。 如何优化呢? 技术 技术的思想: 核心思想是空间换时间,期望使用预先创建好的对象来减少频繁创建对象的性能开销,同时还可以对对象进行统一管理,减少对象使用成本。 总结 池子的最大值和最小值设置需要根据实际运行情况做调整 池子中的对象在需要在使用前预先初始,比如线程先创建核心线程。 技术的核心思想是空间换时间,避免出现空间过度使用出现内存泄露或者频繁垃圾回收等问题。

    1.1K10发布于 2020-07-21
  • 来自专栏芋道源码1024

    Java技术你了解多少?

    在 Java 中,技术应用非常广泛,常见的就有数据库连接、线程等,本文主讲连接,线程我们将在后续的博客中进行介绍。 还有 4 个 test 参数:testOnCreate、testOnBorrow、testOnReturn、testWhileIdle,分别指定了在创建、获取、归还、空闲检测的时候,是否对对象进行有效性检测 我通常把这种技术叫作结果缓存(Result Cache Pool),属于多种优化手段的综合。 Pool 2 的基础上封装的,通过 JMH 测试,我们发现对象之后,有了接近 5 倍的性能提升;接下来介绍了数据库连接池中速度速快的 HikariCP ,它在技术之上,又通过编码技巧进行了进一步的性能提升 ,比如 Dubbo 连接、 Feign 切换成 httppclient 的实现等技术

    33941编辑于 2022-08-29
  • 来自专栏用户7621540的专栏

    Java 技术你了解多少?

    在 Java 中,技术应用非常广泛,常见的就有数据库连接、线程等,本文主讲连接,线程我们将在后续的博客中进行介绍。 还有 4 个 test 参数:testOnCreate、testOnBorrow、testOnReturn、testWhileIdle,分别指定了在创建、获取、归还、空闲检测的时候,是否对对象进行有效性检测 我通常把这种技术叫作结果缓存(Result Cache Pool),属于多种优化手段的综合。 Pool 2 的基础上封装的,通过 JMH 测试,我们发现对象之后,有了接近 5 倍的性能提升;接下来介绍了数据库连接池中速度速快的 HikariCP ,它在技术之上,又通过编码技巧进行了进一步的性能提升 ,比如 Dubbo 连接、 Feign 切换成 httppclient 的实现等技术

    50130编辑于 2022-09-19
  • 来自专栏月梦·剑心的技术专栏

    层.最大

    层,有核类似于卷积核。最常使用的操作时最大,最大操作是选择核所覆盖的网格中最大的数作为输出。 层的作用是保留输入特征同时把数据量减小 写一个仅有层的神经网络作为测试,体验层的作用 import torch from torch import nn #设置输入数据,5*5矩阵 input __init__() #构建层 self.pooling=torch.nn.MaxPool2d(3,ceil_mode=True) #前向传播函数 def =model(input) print(output) 层MaxPool2d的参数ceil_mode若设置为True,则当核未完全覆盖网格时,仍然取最大的数字输出,若设置为False,则直接舍弃并且不输出 ;stride参数默认值为核的大小。

    72630编辑于 2022-09-14
  • 来自专栏vivo互联网技术

    commons-pool2 技术探究

    一、前言 我们经常会接触各种技术或者概念,包括对象、连接、线程等,技术最大的好处就是实现对象的重复利用,尤其是创建和使用大对象或者宝贵资源(HTTP连接对象,MySQL连接对象)等方面的时候能够大大节省系统开销 在并发请求下,如果需要同时为几百个query操作创建/关闭MySQL的连接或者是为每一个HTTP请求创建一个处理线程或者是为每一个图片或者XML解析创建一个解析对象而不使用技术,将会给系统带来极大的负载挑战 本文主要是分析commons-pool2技术的实现方案,希望通过本文能让读者对commons-pool2的实现原理一个更全面的了解。 二、commons-pool2技术剖析 越来越多的框架在选择使用apache commons-pool2进行的管理,如jedis-cluster,commons-pool2工作的逻辑如下图所示: ,前言中我们分析了使用技术的好处和必要性,但是我们也可以看到commons-pool2框架在对象的创建和获取上都进行了加锁的操作,这会在并发场景下一定程度的影响应用程序的性能,其次对象的对象池中对象的数量也是需要进行合理的设置

    1.5K00发布于 2021-04-27
  • 来自专栏Python多线程

    4.线程与进程

    通过前面几个小结内容,我们了解了多线程与多进程的执行效率的巨大提升,前面的例子我们都是手动实例几个线程对象t=Thread(),假设我们要创建100多个线程,总不能用t0=Thread一直到t99=Thread 吧,此时我们需要借助线程或进程。 线程:即系统一次性开辟一些线程,用户直接给线程提交任务,线程任务的调度交给线程来完成。进程与之类似。 才继续执行 print("完毕")我们通过submit提交线程,提交到有50个线程容量的线程,每次循环提交一个输出100个数字的线程。等待线程所有任务结束后再打印主函数后面的“完毕”。 进程的创建和线程一样,只不过把程序中多线程类库ThreadPoolExecutor改成多进程类库ProcessPoolExecutor即可。

    27810编辑于 2024-07-06
  • 来自专栏Android开发指南

    4.线程

    由于不需要每次处理复杂逻辑耗时操作,比如加载网络并不需要都开启一个新的线程,可以用线程处理,把线程存起来,用的时候在取出来,在ondestory里去销毁线程,这样就会节省内存 线程的原理(看看就行) null) { remove.run(); } }else{ // 等待状态 wake(); } } } }.start(); }} 线程的用法 :在本项目中新建一个类管理线程,主要用的就是ThreadPoolExecutor这个类 public class ThreadManager { private ThreadManager() { } * @param runnable */ public void execute(Runnable runnable) { if (pool == null) { // 创建线程 如果线程没有要执行的任务 存活多久4.

    685120发布于 2018-05-14
  • 来自专栏全栈程序员必看

    选择】全局最大和全局平均的实验分析

    Learning Deep Features for Discriminative Localization论文中的描述,在使用类响应图class activation mapping (CAM) 对比全局平均 Global average pooling (GAP) vs 全局最大global max pooling (GMP): 类响应图示例: 图中高亮区域就是根据label的注意图高响应区域 具体得到的这个相应区的方法是 1) 训练主干网络得到特征图 2) 进行全局(图中用的GAP,也可以使用GMP) 3) 对全局的结果做全连接得到全连接参数 w 4) 把全连接参数作为权重对特征图进行加权求和

    2.6K40编辑于 2022-07-25
  • 来自专栏全栈程序员必看

    卷积、反卷积、、反「建议收藏」

    三、 的定义比较简单,最直观的作用便是降维,常见的有最大、平均和随机层不需要训练参数。 1、三种示意图 最大是对局部的值取最大;平均是对局部的值取平均;随机是根据概率对局部的值进行采样,采样结果便是结果。 (2)平均往往能保留整体数据的特征,能凸出背景的信息。 (3)随机中元素值大的被选中的概率也大,但不是像最大总是取最大值。 3、重叠 一般在CNN中使用的都是不重叠的,但是也可以重叠,重叠和卷积操作类似,可以定义步长等参数,其和卷积的不同在于:卷积操作将窗口元素和卷积核求内积,而操作求最大值/平均值等,窗口的滑动等原理完全相同 四、反 操作中最常见的最大和平均,因此最常见的反操作有反最大和反平均,其示意图如下: 反最大需要记录化时最大值的位置,反平均不需要此过程。

    5.2K22编辑于 2022-08-31
  • 来自专栏全栈程序员必看

    全局平均层替代全连接层(最大和平均的区别)

    首先全连接层和softmax层是不同的两个部分,其次计算参数时候可以理解为,假设最后一个卷积层是44*4的特征图,类别为4,则计算量为4*4*4*4。 同样去理解GAP,为4*4,而这里与softmax还没有关系。

    1.3K40编辑于 2022-07-31
  • 来自专栏猿天地

    技术,永远的经典,就怕你不知道

    在 Java 中,技术应用非常广泛,常见的就有数据库连接、线程等,本文主讲连接,线程我们将在后续的博客中进行介绍。 还有 4 个 test 参数:testOnCreate、testOnBorrow、testOnReturn、testWhileIdle,分别指定了在创建、获取、归还、空闲检测的时候,是否对对象进行有效性检测 我通常把这种技术叫作结果缓存(Result Cache Pool),属于多种优化手段的综合。 接下来介绍了数据库连接池中速度很快的 HikariCP ,它在技术之上,又通过编码技巧进行了进一步的性能提升,HikariCP 是我重点研究的类库之一,我也建议你加入自己的任务清单中。 在底层的中间件,比如 RPC,也通常使用连接技术加速资源获取,比如 Dubbo 连接、 Feign 切换成 httppclient 的实现等技术。 你会发现,在不同资源层面的设计也是类似的。

    72020编辑于 2022-08-26
  • 来自专栏JAVA核心

    深入理解Apache Commons Pool2技术

    Commons Pool2提供了一套用于实现对象的API,并内置了多种各具特色的对象实现。其被广泛应用在各种数据库连接、线程以及请求分发池中。 总之,对象是一种有效的资源管理技术,可以帮助开发者提高应用程序的性能、稳定性和可维护性。然而,需要注意的是,对象并不适用于所有场景。 对象(PooledObject) 对象是对实际对象的包装。它除了持有实际对象的引用外,还包含了一些元数据,比如对象的状态(空闲、使用中、待销毁等)、创建时间、最后使用时间等。 4️⃣对象的取用和回收 Apache Commons Pool2 对象提供了对象的创建、验证、取用(borrowing)、回收(returning)和销毁等功能。 无论是数据库连接、线程还是其他类型的对象,Commons Pool2都是一个值得考虑的选择。 术因分享而日新,每获新知,喜溢心扉。 诚邀关注公众号 『 码到三十五 』 ,获取更多技术资料。

    3.1K10编辑于 2024-03-21
  • 来自专栏技术与生活

    java 对象技术

    中断了一段时间,再次开始技术之旅;心里有个小目标,先把对象技术梳理清楚。 ? 对象的对象最好是创建比较费时的大对象,如果是太简单的对象,再进入的时间比自己构建还多,就不划算了。可以理解对象为单例模式的延展,多例模式,就那么几个对象实例,再多没有了。 3、自定义一个低质量的对象 首先构造一个对象,也就是对实际对象封装下,为什么呢? objPool.getObject(); objPool.returnObject(obj); objPool.closeObjectPool(); } ---- 4、 PoolableObjectFactory 定义了对象的生命周期方法,我们可以使用它分离被的不同对象和管理对象的创建,持久,销毁。

    2.4K40发布于 2018-09-12
领券