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

    优化android程序2

    在新线程中准备数据,然后再通知主UI线程异步获取数据并显示 文件资源缓存 对于尺寸比较大的文件获知需要从网络下载的图片等 SDCard缓存策略 实现思路是吧网络图片的url地址转化该图片的缓存id 程序异步获取图片内容之后就会存储到与缓存 id对应的sdcard缓存文件中,这样当再次遇到相同url地址的图片是,程序就会根据缓存id直接从sdcard缓存文件中获取到图片数据,并构造成Bitmap对象显示。 数据库缓存 存到本地数据库以便管理 android的本地数据是SQLite 一个高速的文本数据库 使用这种方式有两种好处 1.客户端可以快速的从本地数据库获取数据 就算偶尔出现网络中断,我们也可以看到信息 2.

    27120编辑于 2022-07-16
  • 来自专栏sringboot

    主引导扇区程序代码优化-2

    正向时si和di加1或者加2(由使用复制字节还是字的指令控制)反向则是减。 每次复制一次,CX 的内容自动减一。 rep 则是使指令不断运行知道cx为0结束。 当前程序没有定义节或段,就默认地自成一个汇编段,而且起始的汇编地址是 0(程序起始处)。 这样,用当前汇编地址减去程序开头的汇编地址(0),就是程序实体的大小。 再用 510 减去程序实体的大小,就是需要填充的字节数 程序环境 NASM 编译器版本 :nasm-2.07 IDE :vs code 虚拟机: oracle vm virtualBox 最新版 ; 清0正向复制 std置1反向复制 cld mov si,mytext mov di,0 mov cx,(number-mytext)/2 mov si,4 show: mov al,[bx+si] add al,0x30 mov ah,0x04 mov [es:di],ax add di,2

    3K30编辑于 2021-12-06
  • 来自专栏YoungGy

    优化2】整数优化

    或的逻辑约束 三个选择的或 只有才 更多或 整数可除 多边形组合 固定花费 分段线性 组合型 set covering set packing 食堂定位 地图填色 Julia例子 9数独 概述 整数优化就是线性优化 x1被选中当且仅当x2被选中。 x2或x3被选中,可以都被选中。 x2或x3被选中,不可以都被选中。 对应的IP约束为: x1-x3<=0 x1+x5<=1 x1-x2=0 x2+x3>=1 x2+x3=1 或的逻辑约束 或的逻辑问题,可以用用bigM方法去解决,其思想是通过添加新的变量,将部分约束变成多余的 例如,对于问题 [图片] 或 [图片] (两者可以都出现),y1、y2的定义域是[0,5]。 and column j to j+2 @constraint(m, sum{x[r,c,k], r=i:i+2, c=j:j+2} == 1) end for i = 1:9, j = 1:

    1.8K50发布于 2018-01-05
  • 来自专栏Java进阶架构师

    「mysql优化专题」90%程序员都会忽略的增删改优化2

    前文一篇「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)让大家知道msql优化,究竟在优化什么,本篇为mysql优化专题的第二篇,主要先从增删改进行优化。 (2)将进程/线程数控制在2倍于CPU数目相对合适 (3)采用顺序主键策略(例如自增主键,或者修改业务逻辑,让插入的记录尽可能顺序主键) (4)考虑使用replace 语句代替insert语句。 (谨慎使用) (2)如果没有外键关联,innodb执行truncate是先drop table(原始表),再创建一个跟原始表一样空表,速度要远远快于delete逐条删除行记录。 优化:更新多条记录(往后会结合MyBatics写个实例) ? 更新多条记录的多个值 ? (1). 尽量不要修改主键字段。(废话,反正我就从没改过..) (2). 2)UPDATE可以选择性地更新记录的一部分字段。而REPLACE在发现有重复记录时就将这条记录彻底删除,再插入新的记录。也就是说,将所有的字段都更新了。

    1.1K30发布于 2018-08-15
  • 来自专栏机器学习入门

    挑战程序竞赛系列(2):2.3优化递推关系式

    https://blog.csdn.net/u014688145/article/details/71136194 2.3 优化递推关系式 详细代码可以fork下Github上leetcode 测试用例: 3 10 1 2 4 2 1 1 2 5 1 4 2 1 0 0 该dp很有意思,用boolean[][] dp,具有传递效果。 所以,程序很明显会TLE。 这里的主要原因在于,我们在计算下一阶段状态时,丢失了一些非常关键的信息。试想一下,我们能否在下一阶段带上前一阶段的硬币数? ){ ans = (ans + dp[T][i]) % MOD; } return ans; } } 上述时间和空间都不尽人如意,递推式优化 add(dp[i - 1][j - k]); } } } return dp[K][N]; } } 递推式优化

    48640发布于 2019-05-26
  • 来自专栏tea9的博客

    优化android程序

    优化java代码 1.尽量使用static和final修饰符 对于一些固定的类和方法尽量使用static修饰符,调用静态方法的效率是最高的,而且可以减少空间占用。 适当的使用final修饰符不仅可以保护重要逻辑或者数据,还可以提高程序的执行效率。 2.尽量使用局部变量 调用方法逻辑是创建的局部变量 速度要静态变量和示例变量要快许多 3.不要过度依赖GC 在短时间没大量的创建对象又可能会消耗过多的系统内存,从而导致内存泄漏,我们要及时回收不再使用的对象和资源 常见的回收方式实在变量或者对象使用完之后,将其手动设为null 4.优化循环语句 首先是要避免重复运算 //错误写法 for(int i = 0; i < vector.size(); i++){ 使用异常机制尽量把捕获逻辑放在最外层,并且只用于错误处理,不要用于程序逻辑。

    45410编辑于 2022-07-16
  • 来自专栏mathor

    枚举+优化(6)——双指针优化2

    ans ans = s } } } print ans  这个算法的时间复杂度是O(NML),NML是三个数组的长度,最大值都是10万,显然会超时 优化 第二个数组是1,2,4,5,10,13,第三个数组未知,什么清空都有可能。 ); } cout << ans; return 0; } 例4.题目链接:hihoCoder1607 思路  一般的暴力枚举这题肯定是过不了的,数据量太大,那我们就要想办法优化

    62750发布于 2018-06-19
  • 来自专栏酷酷的哀殿

    优化程序链接速度

    通过二进制化、图片预编译等方式都可以大量优化程序的编译速度。 但是,最终产出链接产物时,大型项目的链接耗时仍然远超预期。 通过一款开源的软件,我们可以很容易对此优化。 我们先看一份测试数据,下图是笔者的链接速度优化前后对比。 ? 链接速度对比 从图中可以看出,链接速度大幅度减少(共计减少了73%)。 下面简单介绍一下优化步骤。 1、安装软件包 (注意,该命令最后会打印出 zld 安装的路径,我们稍后会用到) brew install michaeleisel/zld/zld 2、替换默认链接器 * 在 Xcode 的工程配置中找到

    97720发布于 2020-10-26
  • 来自专栏张善友的专栏

    .NET程序优化(GCServer )

    关于GC可以看这篇文章GC是如何工作的,不同的代的大小是多少,文章中提到有三种模式的GC,分别对应优化不同类型的应用程序。 Server GC 这种类型的GC是针对服务器端高吞吐量和高扩展性进行优化的,那情况是一种长时间的加载和请求不停地分配和重新分配,并维持在较高水准的情况。 services 服务程序的默认设置。 这种模式是对交互的应用程序,这种程序要求应用程序不能暂停,即时一个相对很短暂的时间也是不行的。因为暂停进程会让用户界面闪烁或者当点击按钮的时候感觉应用程序没有响应。 ", (buffer1.Count + buffer2.Count), (buffer1.Count + buffer2.Count) * 64);            // //    free           

    1.3K70发布于 2018-01-19
  • 来自专栏golang算法架构leetcode技术php

    Go程序GC优化

    /my_go_program 2> log_file 通过这个环境变量可以让Go程序在每次GC时都输出信息,信息是输出到标准错误的,所以需要用 2> 把输出重定向到文件里。 示例中的mydata2用的是slice结构,一个slice就是一个对象,其中的元素都是这一块内存中的值,而不是对象,需要注意 []MyData2 和 []*MyData2 是不一样的,如果换用第二种写法 这里就不重复介绍了:点击查看 于是我将内存数据库用到的slice类型全部换成自己用C伪造的slice,还好当初内存数据库用的是代码生成器,否则代码就要改死掉了 :) 全部替换完后,我拿外网同样数据对比,优化前的程序 GC扫描时间100多ms,对象数量140万,优化后的程序GC扫描时间18ms,对象数量16万。 优化过程中Go提供的pprof模块起到了很重要的作用,所有的优化都是以数据为依据的,如果不能看到数据就没有办法定位问题。

    54220编辑于 2022-08-02
  • 来自专栏零域Blog

    程序优化总结分享

    来由 目前主要的工作任务就是对软件进行加速,即在不影响(少影响)精度的前提下,提高程序的执行速度,降低资源的消耗 对近期工作进行总结,并编写ppt在组内分享,这里再记录一下 优化理论 不要优化. 很多时候理论是可行,但实际往往是另一回事,在程序优化方面,只有亲自实践才能确定你的思路是否有效 优化策略 主要从六个方面来进行优化 程序设计 设计框架时优先考虑整体性能,然后再为单个的子系统和类设置要达到的资源占用目标 如考虑并行设计,每一个线程处理的数据量是否平均,其耗时与资源占用如何,需要在编码前有一定的了解 类和子程序设计 针对问题选择合适的数据结构和算法 数据类型决定了程序内存消耗,算法决定了程序的执行速度 如gcc的优化参数 O1 O2 O3的选择 编写出编译器能够有效转化以转换成高效可执行代码的源码. 需要对编译器原理有一定了解 编译器的局限性. 用多次轻量级运算代替一次代价高额的运算,如移位代替整数的 *2 /2 尽量减少数组引用,引入临时变量. 很多时候内存访问开销很大,引入临时变量,当全部计算完再写入内存 删除公共子表达式.

    66020编辑于 2022-03-28
  • 来自专栏薛定喵君

    程序优化建议

    与界面无关的数据最好不要设置在data中 去掉不必要的事件绑定,减少通信的数据量以及次数 不要在节点data前缀放置过大数据(需要传输target的currentTarget和dataset) # 图片优化 图片资源 主要性能问题在于大图片和长列表图片上,这两种情况都有可能导致 iOS 客户端内存占用上升,从而触发系统回收小程序页面 图片对内存的影响 在 iOS 上,小程序的页面是由多个 WKWebView 我们分析过的案例中,有一部分小程序会在页面中引用大图片,在页面后退切换中会出现掉帧卡顿的情况.建议开发者尽量减少使用大图片资源 # 代码包大小的优化 有必要尽量减少代码包的大小,因为代码包大小直接影响到下载速度 除了代码自身的重构优化外,还可以从这两方面着手优化代码大小: 控制代码包内图片资源 小程序代码包经过编译后,会放在微信的 CDN 上供用户下载,CDN 开启了 GZIP 压缩,所以用户下载的是压缩后的 目前小程序打包是会将工程下所有文件都打入代码包内,也就是说,这些没有被实际使用到的库文件和资源也会被打入到代码包里,从而影响到整体代码包的大小

    95410发布于 2019-11-06
  • 来自专栏九旬大爷

    # 小程序优化

    # 小程序优化 双线程架构相关 setData 频繁操作(底层是因为双线程架构),可以使用 wx.nextTick 将多次操作延迟到下一次事件循环里 不需要渲染的数据使用_或者直接挂在在 this 如何测试优化结果 使用 audits (体验评分)工具,浏览器中对应 Proformance - 查看首屏加载时长 - 网络请求时长 - 通过给出的体验报告,去逐步进行优化。 页面栈爆栈 小程序默认页面栈是 10 层,超出则会跳转失败。 Less 参考:在微信小程序中使用 less(最优方式)open in new window 小程序 wxml 属性如何折行 setting.json 中: "files.associations": html.format.wrapAttributes": "force-aligned", "[html]": { "editor.defaultFormatter": "HookyQR.beautify" }, 1 2

    38520编辑于 2023-10-17
  • 来自专栏【计网】Cisco

    程序崩溃与优化

    程序崩溃 程序崩溃是指计算机程序在运行时出现了严重的错误或异常情况,导致程序无法正常运行并突然终止。 1.1 程序崩溃出现场景 内存溢出: 在C程序中,内存分配通常由函数如malloc来完成。 #include <stdio.h> #include <stdlib.h> int main() { // 2. 内存溢出 int *arr = malloc(sizeof(int) * 100); arr[101] = 42; // 超出数组边界,可能导致崩溃 // 2. 软件错误 int *ptr = NULL; *ptr = 42; // 试图访问空指针,可能导致崩溃 return 0; } 2. 程序优化 使用合适的数据结构和算法:选择合适的数据结构和算法可以提高程序的性能和稳定性。 内存管理:使用智能指针和RAII技术,以确保资源(如内存)在不再需要时得到正确释放。

    1K10编辑于 2024-02-20
  • 来自专栏容器计算

    Spark 程序优化建议

    文章目录 1 RDD 缓存 2 并行度 3 Jobs/Stages 太多 1 RDD 缓存 ? Persist 到内存的 RDD,比较多,9T左右,Excutor 一共分配了25T内存。 This helps in the recovery process if a Worker node dies. 2 并行度 ? _1, cur._2._2.getOrElse(-1L))) } } val firstLayer = nodes.leftOuterJoin(edges, partitioner).mapPartitions sourceNodes.contains(u)) sourceNodes.add(u) } val tmpEdges = data.filter(x => x._2 ! 虽然 RDD 都有缓存,相对来说 transformation 都是内存操作,但是对于程序本身的没有太大意义的,设计 shuffle 的操作,建议还是通过调试部分数据后,在正式环境,或者定时任务中去掉,

    50520发布于 2020-08-05
  • 来自专栏java学习java

    延时队列优化2

    看起来似乎没什么问题,但是在最开始的时候,就介绍过如果使用在消息属性上设置TTL的方式,消息可能并不会按时“死亡“,因为RabbitMQ只会检查第一个消息是否过期,如果过期则丢到死信队列, 如果第一个消息的延时时长很长,而第二个消息的延时时长很短,第二个消息并不会优先得到执行。

    1.8K30编辑于 2022-11-13
  • 来自专栏技术杂记

    Mysql 优化存储2

    可以打印出差异的部分,我们就是通过有无差异的记录条目来确认一致性 从结果来看,是空的,说明主备数据是一致的 Note: 此时指定的host要是slave,也就是待检查的对象 ---- 停止复制 在待优化的 status\G mysql> stop slave; 停止复制后,最好再使用一个文本记录一下当前的position,以避免窗口信息丢失后,又执行了reset slave命令产生不良后果 ---- 生成优化语句

    52710编辑于 2022-03-21
  • 来自专栏mathor

    枚举+优化(4)——哈希表优化实例2

    例3.四平方和 思路1:枚举abcd,判断a^2^+b^2^+c^2^+d^2^是否等于N  分析规模  a:0 ~ sqrt(500000 / 4)  b:0 ~ sqrt(500000 / 3 =10^8^ 思路2:枚举abc,判断N-a^2^-b^2^-c^2^是不是完全平方数  分析规模  a:0 ~ sqrt(500000 / 4)  b:0 ~ sqrt(500000 / 3)  c:0 ~ sqrt(500000 / 2)  总枚举量10^9^,依然超时 问题:只枚举ab,那么余下R=N-a^2^-b^2^,能否快速求出c^2^+d^2^=R的解? 这里哈希表就派上用场了,我们可以预先求出R=c^2^+d^2^的解,用一个unordered_map<int ,int> f来保存一个R对应的c  比如f[5]=1,表示R=5的解是c=1,d=2可以由 } 第一次作业  先说说的思路,当时看到这题有点懵,可能还是对哈希算法掌握的不够,怎么都想不到用哈希的方法去做,索性先写了个O(N^2^)的两重循环,想着这几天学的优化,都是减少循环层数,总共就两层

    82950发布于 2018-06-08
  • 来自专栏大数据平台TBDS

    Hiveserver2 性能优化与GC优化

    这种故障对应于上面介绍的“故障现象1”,通过jdbc无法正常连接到hiveserver2。为了解决该故障,可以通过优化内存GC可以缓解hiveserver2的GC卡死问题。 以下是hiveserver2发生卡死,jdbc无法连接到hiveserver2的时候,统计GC的结果: 可以看到,当hiveserver2发生严重卡死时,也就是hiveserver2 进程发生严重GC 因此,可以通过优化hiveserver2的内存GC来优化hiveserver2,使之支持更高的并发、能够执行更复杂的sql任务。 因此,将hiveserver2迁移到资源非常空闲的另外一台服务器。 4.2 采用优化GC机制和参数 之前hiveserver2进程的启动参数没有添加GC参数,也就是说采用系统默认的GC机制。 经过上面两种优化方法之后,hiveserver2目前非常稳定。当然基于hadoop平台的hiveserver2本身支持的jdbc并发连接数有限,不可能做到关系型数据库那样的oltp高并发性能。

    6.4K103发布于 2018-06-19
  • 来自专栏啄木鸟软件测试

    Selenium测试程序优化

    1.异常优化 考虑以下情形。 2)封装操作API 案例:封装操作API。 self.fd.send_keys(self.fd.find_element_by_id(self.driver,"kw"),inputstring) 2.Retry优化 UI自动化测试程序的最大问题之一在于由于网络的不稳定 在这里进行如下的优化。 案例:Retry优化。 ,等待2秒钟,继续获取,如果还是没有取到,继续等待,在这里设置了3次的等待机会,如果没有,则报异常信息。

    1.4K20发布于 2020-06-01
领券