自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简单记录一下。

闻道有先后,术业有专攻,如是而已。

  • 博客(243)
  • 资源 (16)
  • 问答 (1)
  • 收藏
  • 关注

转载 面试 - 怎么解决MySQL死锁问题的?

咱们使用 MySQL 大概率上都会遇到死锁问题,这实在是个令人非常头痛的问题。本文将会对死锁进行相应介绍,对常见的死锁案例进行相关分析与探讨,以及如何去尽可能避免死锁给出一些建议。1、什么是死锁死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为 Deadlock found when trying to get lock...。举例来说 .

2021-12-30 17:27:46 143791 26

原创 面试 - 为什么foreach中不允许对元素进行add和remove

我们先来看看使用foreach遍历ArrayList过程中使用add 和 remove 会出现什么样子的结果,然后再分析一下。public static void main(String[] args) { List<Integer> list = new ArrayList<>(); for (int i = 0; i < 20; i++) { list.add(i); } for (Integer j : list) .

2021-10-25 20:59:53 205204 81

原创 分布式 - Redis热点key大Value解决方案

不啰嗦,我们直接开始!引言关于 Redis 热点数据 & 大 key 大 value 问题也是容易被问的高阶问题,不如一次痛快点学完,让面试官无话可说,个人工作经验中,热点数据问题在工作中相比雪崩更容易遇到,只是大部分时候热点不够热,都会被提前告警解决,但这个问题一旦控制不了造成的线上问题也是足够让你今年绩效垫底了,废话不说进入正题。正常情况下,Redis 集群中数据都是均匀分配到每个节点,请求也会均匀的分布到每个分片上,但在一些特殊场景中,比如外部爬虫、攻击、热点商品等,最典型的就是明

2021-10-13 23:45:19 215592 5

原创 分布式 - 公司使用什么RPC框架,聊聊你理解的RPC原理

不啰嗦,我们直接开始!引言以前在做一个规模不大的系统的时候,用的是单体架构,一台服务器部署上一个应用和数据库也就够了。但是现代化互联网公司业务逐渐扩大,服务逐渐细分,很多服务之间需要通过远程分布式接口调用通讯,即不同的服务不是部署在同一个服务器上,比如订单服务在 A 服务上,付款服务在另一个服务上,有同步调用、也有异步调用,这个时候我们就需要远程调用不同的服务,使用的时候调用远程服务就像调用本地服务一样,引入一个 jar 包,就能通过this.xxx( ) 一样调用远程服务,这背后的机制就是通.

2021-10-12 23:28:07 237051 17

原创 分布式 - 谈谈你对分布式的理解,为什么引入分布式?

不啰嗦,我们直接开始!划重点:真正了解分布式系统的概念,日后工作中具有分布式系统设计思想。 能否在设计中对系统稳定性方面考虑周全。 能构建高 QPS 健壮的系统架构。1、面试官:那谈谈你对分布式系统的理解问题分析:各种分布式框架层出不穷,Spring Cloud,阿里的 Dubbo,无论使用哪一个,原理都相同,考察下基本概念掌握的如何。答:为了解决传统单体服务架构带来的各种问题,代码数量庞大,迭代测试维护困难,可能因为一处改动测试不到位造成整个服务瘫痪等问题,分布式系统就是将一

2021-10-12 00:22:29 238082 22

原创 Java 基础 - Unsafe应用解析

如下Unsafe源码所示,Unsafe类为一单例实现,提供静态方法getUnsafe获取Unsafe实例,当且仅当调用getUnsafe方法的类为引导类加载器所加载时才合法,否则抛出SecurityException异常。// 单例对象// 仅在引导类加载器`BootstrapClassLoader`加载时才合法if(!} else {那如若想使用这个类,该如何获取其实例?有如下两个可行方案。其一,从getUnsafe方法的使用限制条件出发,通过Java命令行命令。

2023-12-15 18:00:00 2047

原创 45 - 多线程性能优化常见问题

上下文切换常见的监测工具。

2023-12-04 08:00:00 2164

原创 44 - 几款常用的性能测试工具

三种常用的性能测试工具就介绍完了,最后我把今天的主要内容为你总结了一张图。现在测试工具非常多,包括阿里云的 PTS 测试工具也很好用,但每款测试工具其实都有自己的优缺点。个人建议,还是在熟练掌握其中一款测试工具的前提下,再去探索其他测试工具的使用方法会更好。

2023-12-04 07:30:00 2145

原创 43 - 什么是数据的强、弱一致性?

说到一致性,其实在系统的很多地方都存在数据一致性的相关问题。除了在并发编程中保证共享变量数据的一致性之外,还有数据库的 ACID 中的 C(Consistency 一致性)、分布式系统的 CAP 理论中的 C(Consistency 一致性)。下面我们主要讨论的就是“并发编程中共享变量的一致性”。在并发编程中,Java 是通过共享内存来实现共享变量操作的,所以在多线程编程中就会涉及到数据一致性的问题。

2023-12-03 08:00:00 2132

原创 42 - 双十一抢购性能瓶颈调优

减少抢购中操作数据库的次数,缩短抢购流程,是抢购系统设计和优化的核心点。抢购系统的性能瓶颈主要是在数据库,即使我们对服务进行了横向扩容,当流量瞬间进来,数据库依然无法同时响应处理这么多的请求操作。我们可以对抢购业务表进行分库分表,通过提高数据库的处理能力,来提升系统的并发处理能力。除此之外,我们还可以分散瞬时的高并发请求,流量削峰是最常用的方式,用一个队列,让请求排队等待,然后有序且有限地进入到后端服务,最终进行数据库操作。当我们的队列满了之后,可以将溢出的请求放弃,这就是限流了。

2023-12-03 07:30:00 1974

原创 41 - 如何使用缓存优化系统性能?

从前端到后端,对于一些不常变化的数据,我们都可以将其缓存起来,这样既可以提高查询效率,又可以降低请求后端的压力。对于前端来说,一些静态资源文件都是会被缓存在浏览器端,除了静态资源文件,我们还可以缓存一些常量数据,例如商品信息。服务端的缓存,包括了 JVM 的堆内存作为缓存以及 Redis 实现的分布式缓存。如果是一些不常修改的数据,数据量小,且对缓存数据没有严格的一致性要求,我们就可以使用堆内存缓存数据,这样既实现简单,查询也非常高效。

2023-12-02 08:00:00 2010

原创 40 - 电商系统的分布式事务调优

在同服务多数据源操作不同数据库的情况下,我们可以使用基于 XA 规范实现的分布式事务,在 Spring 中有成熟的 JTA 框架实现了 XA 规范的二阶事务提交。事实上,二阶事务除了性能方面存在严重的阻塞问题之外,还有可能导致数据不一致,我们应该慎重考虑使用这种二阶事务提交。在跨服务的分布式事务下,我们可以考虑基于 TCC 实现的分布式事务,常用的中间件有 TCC-Transaction。TCC 也是基于二阶事务提交原理实现的,但 TCC 的二阶事务提交是提到了服务层实现。

2023-12-02 07:30:00 2063

原创 39 - 如何设计更优的分布式锁?

实现分布式锁的方式有很多,有最简单的数据库实现,还有 Zookeeper 多节点实现和缓存实现。我们可以分别对这三种实现方式进行性能压测,可以发现在同样的服务器配置下,Redis 的性能是最好的,Zookeeper 次之,数据库最差。从实现方式和可靠性来说,Zookeeper 的实现方式简单,且基于分布式集群,可以避免单点问题,具有比较高的可靠性。因此,在对业务性能要求不是特别高的场景中,我建议使用 Zookeeper 实现的分布式锁。

2023-12-01 08:00:00 2230

原创 38 - MySQL中InnoDB的知识点

以上 InnoDB 的实现和运行原理到这里就介绍完了。回顾模块六,前三讲我主要介绍了数据库操作的性能优化,包括 SQL 语句、事务以及索引的优化,接下来我又讲到了数据库表优化,包括表设计、分表分库的实现等等,最后我还介绍了一些数据库参数的调优。总的来讲,作为开发工程师,我们应该掌握数据库几个大的知识点,然后再深入到数据库内部实现的细节,这样才能避免经常写出一些具有性能问题的 SQL,培养调优数据库性能的能力。

2023-12-01 07:30:00 2093

原创 37 - 数据库参数设置优化,失之毫厘差之千里

MySQL 数据库的参数设置非常多,今天我们仅仅是了解了与内存优化相关的参数设置。

2023-11-30 08:00:00 2115

原创 36 - 电商系统表设计优化案例分析

在字段比较复杂、易变动、不方便统一的情况下,建议使用键值对来代替关系数据库表存储;在高并发情况下的查询操作,可以使用缓存代替数据库操作,提高并发性能;数据量叠加比较快的表,需要考虑水平分表或分库,避免单表操作的性能瓶颈;除此之外,我们应该通过一些优化,尽量避免比较复杂的 JOIN 查询操作,例如冗余一些字段,减少 JOIN 查询;创建一些中间表,减少 JOIN 查询。

2023-11-30 07:30:00 2078

原创 35 - 什么时候需要分表分库?

在业务开发之前,我们首先要根据自己的业务需求来设计表。考虑到一开始的业务发展比较平缓,且开发周期比较短,因此在开发时间比较紧的情况下,我们尽量不要考虑分表分库。但是我们可以将分表分库的业务接口预留,提前考虑后期分表分库的切分规则,把该冗余的字段提前冗余出来,避免后期分表分库的 JOIN 查询等。当业务发展比较迅速的时候,我们就要评估分表分库的必要性了。一旦需要分表分库,就要结合业务提前规划切分规则,尽量避免消耗性能的跨表跨库 JOIN 查询、分页查询以及跨库事务等操作。

2023-11-29 08:00:00 2196

原创 34 - 记一次线上SQL死锁事故:如何避免死锁?

数据库发生死锁的概率并不是很大,一旦遇到了,就一定要彻查具体原因,尽快找出解决方案,老实说,过程不简单。我们只有先对 MySQL 的 InnoDB 存储引擎有足够的了解,才能剖析出造成死锁的具体原因。例如,以上我例举的两种发生死锁的场景,一个考验的是我们对锁算法的了解,另外一个考验则是我们对聚簇索引和辅助索引的熟悉程度。

2023-11-29 07:30:00 2190

原创 33 - MySQL调优之索引:索引的失效与优化

在大多数情况下,我们习惯使用默认的 InnoDB 作为表存储引擎。在使用 InnoDB 作为存储引擎时,创建的索引默认为 B+ 树数据结构,如果是主键索引,则属于聚族索引,非主键索引则属于辅助索引。基于主键查询可以直接获取到行信息,而基于辅助索引作为查询条件,则需要进行回表,然后再通过主键索引获取到数据。如果只是查询一列或少部分列的信息,我们可以基于覆盖索引来避免回表。覆盖索引只需要读取索引,且由于索引是顺序存储,对于范围或排序查询来说,可以极大地极少磁盘 I/O 操作。

2023-11-28 08:00:00 2006

原创 32 - MySQL调优之事务:高并发场景下的数据库事务调优

其实 MySQL 的并发事务调优和 Java 的多线程编程调优非常类似,都是可以通过减小锁粒度和减少锁的持有时间进行调优。在 MySQL 的并发事务调优中,我们尽量在可以使用低事务隔离级别的业务场景中,避免使用高事务隔离级别。在功能业务开发时,开发人员往往会为了追求开发速度,习惯使用默认的参数设置来实现业务功能。例如,在 service 方法中,你可能习惯默认使用 transaction,很少再手动变更事务隔离级别。

2023-11-28 07:30:00 2030

原创 31 - MySQL调优之SQL语句:如何写出高性能SQL语句?

在开发中,我们要尽量写出高性能的 SQL 语句,但也无法避免一些慢 SQL 语句的出现,或因为疏漏,或因为实际生产环境与开发环境有所区别,这些都是诱因。面对这种情况,我们可以打开慢 SQL 配置项,记录下都有哪些 SQL 超过了预期的最大执行时间。// 开启慢 SQL 日志// 记录日志地址// 最大执行时间除此之外,很多数据库连接池中间件也有分析慢 SQL 的功能。

2023-11-27 08:00:00 2567 1

原创 30 - 思考题集锦

漏桶算法是基于一个漏桶来实现的,我们的请求如果要进入到业务层,必须经过漏桶,漏桶出口的请求速率是均衡的,当入口的请求量比较大的时候,如果漏桶已经满了,请求将会溢出(被拒绝),这样我们就可以保证从漏桶出来的请求量永远是均衡的,不会因为入口的请求量突然增大,致使进入业务层的并发量过大而导致系统崩溃。例如,连接池和线程池中的连接就是使用单例模式实现的,数据库操作是非常频繁的,每次操作都需要创建和销毁连接,如果使用单例,可以节省不断新建和关闭数据库连接所引起的性能消耗。首先,这两种设计模式的实现方式是不同的。

2023-11-27 07:30:00 2012

原创 29 - 装饰器模式:如何优化电商系统中复杂的商品价格策略?

在这之前,我先简单介绍下什么是装饰器模式。装饰器模式包括了以下几个角色:接口、具体对象、装饰类、具体装饰类。接口定义了具体对象的一些实现方法;具体对象定义了一些初始化操作,比如开头设计装修功能的案例中,水电装修、天花板以及粉刷墙等都是初始化操作;装饰类则是一个抽象类,主要用来初始化具体对象的一个类;其它的具体装饰类都继承了该抽象类。/*** 定义一个基本装修接口*//*** 装修方法*//*** 装修基本类*//*** 基本实现方法*/

2023-11-26 07:30:00 2049

原创 28 - 生产者消费者模式:电商库存设计优化

使用生产者消费者模式来缓冲高并发数据库扣除库存压力,类似这样的例子其实还有很多。例如,我们平时使用消息队列来做高并发流量削峰,也是基于这个原理。抢购商品时,如果所有的抢购请求都直接进入判断是否有库存和冻结缓存库存等逻辑业务中,由于这些逻辑业务操作会增加资源消耗,就可能会压垮应用服务。此时,为了保证系统资源使用的合理性,我们可以通过一个消息队列来缓冲瞬时的高并发请求。生产者消费者模式除了可以做缓冲优化系统性能之外,它还可以应用在处理一些执行任务时间比较长的场景中。

2023-11-25 07:30:00 2398

原创 27 - 如何使用设计模式优化并发编程?

平时,如果需要传递或隔离一些线程变量时,我们可以考虑使用上下文设计模式。在数据库读写分离的业务场景中,则经常会用到 ThreadLocal 实现动态切换数据源操作。但在使用 ThreadLocal 时,我们需要注意内存泄漏问题,在之前的[第 25 讲]中,我们已经讨论过这个问题了。当主线程处理每次请求都非常耗时时,就可能出现阻塞问题,这时候我们可以考虑将主线程业务分工到新的业务线程中,从而提高系统的并行处理能力。

2023-11-24 07:30:00 2045

原创 26 - 原型模式与享元模式:提升系统性能的利器

通过以上讲解,相信你对原型模式和享元模式已经有了更清楚的了解了。两种模式无论是在开源框架,还是在实际开发中,应用都十分广泛。在不得已需要重复创建大量同一对象时,我们可以使用原型模式,通过 clone 方法复制对象,这种方式比用 new 和序列化创建对象的效率要高;在创建对象时,如果我们可以共用对象的内部数据,那么通过享元模式共享相同的内部数据的对象,就可以减少对象的创建,实现系统调优。

2023-11-23 07:30:00 2007

原创 25 - 单例模式:如何创建单一对象优化系统性能?

它的核心在于,单例模式可以保证一个类仅创建一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。// 饿汉模式// 自行创建实例private Singleton(){}// 构造函数public static Singleton getInstance(){// 通过该函数向整个系统提供实例。

2023-11-22 07:30:00 2052

原创 24 - 内存持续上升,我该如何排查问题?

在一些比较简单的业务场景下,排查系统性能问题相对来说简单,且容易找到具体原因。但在一些复杂的业务场景下,或是一些开源框架下的源码问题,相对来说就很难排查了,有时候通过工具只能猜测到可能是某些地方出现了问题,而实际排查则要结合源码做具体分析。可以说没有捷径,排查线上的性能问题本身就不是一件很简单的事情,除了将今天介绍的这些工具融会贯通,还需要我们不断地去累积经验,真正做到性能调优。

2023-11-21 07:30:00 2161

原创 23 - 如何优化JVM内存分配?

JVM 内存调优通常和 GC 调优是互补的,基于以上调优,我们可以继续对年轻代和堆内存的垃圾回收算法进行调优。这里可以结合上一讲的内容,一起完成 JVM 调优。虽然分享了一些 JVM 内存分配调优的常用方法,但我还是建议你在进行性能压测后如果没有发现突出的性能瓶颈,就继续使用 JVM 默认参数,起码在大部分的场景下,默认配置已经可以满足我们的需求了。但满足不了也不要慌张,结合今天所学的内容去实践一下,相信你会有新的收获。

2023-11-20 07:30:00 2258

原创 22 - 如何优化垃圾回收机制?

今天的内容比较多,最后再强调几个重点。垃圾收集器的种类很多,我们可以将其分成两种类型,一种是响应速度快,一种是吞吐量高。通常情况下,CMS 和 G1 回收器的响应速度快,Parallel Scavenge 回收器的吞吐量高。在 JDK1.8 环境下,默认使用的是 Parallel Scavenge(年轻代)+Serial Old(老年代)垃圾收集器,你可以通过文中介绍的查询 JVM 的 GC 默认配置方法进行查看。

2023-11-19 07:30:00 2117

原创 21 - 深入JVM即时编译器JIT,优化Java编译

今天我们主要了解了 JKD1.8 以及之前的类的编译和加载过程,Java 源程序是通过 Javac 编译器编译成 .class 文件,其中文件中包含的代码格式我们称之为 Java 字节码(bytecode)。这种代码格式无法直接运行,但可以被不同平台 JVM 中的 Interpreter 解释执行。由于 Interpreter 的效率低下,JVM 中的 JIT 会在运行时有选择性地将运行次数较多的方法编译成二进制代码,直接运行在底层硬件上。

2023-11-17 07:30:00 2074

原创 20 - 欲知JVM调优先了解JVM内存模型

这讲我们主要深入学习了最基础的内存模型设计,了解其各个分区的作用及实现原理。如今,JVM 在很大程度上减轻了 Java 开发人员投入到对象生命周期的管理精力。在使用对象的时候,JVM 会自动分配内存给对象,在不使用的时候,垃圾回收器会自动回收对象,释放占用的内存。但在某些情况下,正常的生命周期不是最优的选择,有些对象按照 JVM 默认的方式,创建成本会很高。比如,我在[第 03 讲]讲到的 String 对象,在特定的场景使用 String.intern 可以很大程度地节约内存成本。

2023-11-16 07:30:00 2042

原创 19 - 如何用协程来优化多线程业务?

协程和线程密切相关,协程可以认为是运行在线程上的代码块,协程提供的挂起操作会使协程暂停执行,而不会导致线程阻塞。协程又是一种轻量级资源,即使创建了上千个协程,对于系统来说也不是很大的负担,但如果在程序中创建上千个线程,那系统可真就压力山大了。可以说,协程的设计方式极大地提高了线程的使用率。通过今天的学习,当其他人侃侃而谈 Go 语言在网络编程中的优势时,相信你不会一头雾水。学习 Java 的我们也不要觉得,协程离我们很遥远了。

2023-11-15 07:30:00 2023

原创 18 - 如何设置线程池大小?

今天我们主要学习了线程池的实现原理,Java 线程的创建和消耗会给系统带来性能开销,因此 Java 提供了线程池来复用线程,提高程序的并发效率。Java 通过用户线程与内核线程结合的 1:1 线程模型来实现,Java 将线程的调度和管理设置在了用户态,提供了一套 Executor 框架来帮助开发人员提高效率。Executor 框架不仅包括了线程池的管理,还提供了线程工厂、队列以及拒绝策略等,可以说 Executor 框架为并发编程提供了一个完善的架构体系。

2023-10-24 10:30:15 2261

原创 17 - 并发容器的使用:识别不同场景下最优容器

在并发编程中,我们经常会使用容器来存储数据或对象。Java 在 JDK1.1 到 JDK1.8 这个漫长的发展过程中,依据场景的变化实现了同类型的多种容器。我将今天的主要内容为你总结了一张表格,希望能对你有所帮助,也欢迎留言补充。

2023-10-17 08:00:00 2096

原创 16 - 多线程调优(下):如何优化多线程上下文切换?

上下文切换是多线程编程性能消耗的原因之一,而竞争锁、线程间的通信以及过多地创建线程等多线程编程操作,都会给系统带来上下文切换。除此之外,I/O 阻塞以及 JVM 的垃圾回收也会增加上下文切换。总的来说,过于频繁的上下文切换会影响系统的性能,所以我们应该避免它。另外,我们还可以将上下文切换也作为系统的性能参考指标,并将该指标纳入到服务性能监控,防患于未然。

2023-10-17 07:30:00 2222

原创 15 - 多线程调优(上):哪些操作导致了上下文切换?

上下文切换就是一个工作的线程被另外一个线程暂停,另外一个线程占用了处理器开始执行任务的过程。系统和 Java 程序自发性以及非自发性的调用操作,就会导致上下文切换,从而带来系统开销。线程越多,系统的运行速度不一定越快。那么我们平时在并发量比较大的情况下,什么时候用单线程,什么时候用多线程呢?一般在单个逻辑比较简单,而且速度相对来非常快的情况下,我们可以使用单线程。例如,我们前面讲到的 Redis,从内存中快速读取值,不用考虑 I/O 瓶颈带来的阻塞问题。

2023-09-11 07:30:00 2173

原创 14 - 多线程之锁优化(下):使用乐观锁优化并行操作

开始优化前,我们先来简单回顾下乐观锁的定义。乐观锁,顾名思义,就是说在操作共享资源时,它总是抱着乐观的态度进行,它认为自己可以成功地完成操作。但实际上,当多个线程同时操作一个共享资源时,只有一个线程会成功,那么失败的线程呢?它们不会像悲观锁一样在操作系统中挂起,而仅仅是返回,并且系统允许失败的线程重试,也允许自动放弃退出操作。所以,乐观锁相比悲观锁来说,不会带来死锁、饥饿等活性故障问题,线程间的相互影响也远远比悲观锁要小。更为重要的是,乐观锁没有因竞争造成的系统开销,所以在性能上也是更胜一筹。

2023-09-08 07:30:00 2156

原创 13 - 多线程之锁优化(中):深入了解Lock同步锁的优化方法

不管使用 Synchronized 同步锁还是 Lock 同步锁,只要存在锁竞争就会产生线程阻塞,从而导致线程之间的频繁切换,最终增加性能消耗。因此,如何降低锁竞争,就成为了优化锁的关键。在 Synchronized 同步锁中,我们了解了可以通过减小锁粒度、减少锁占用时间来降低锁的竞争。在这一讲中,我们知道可以利用 Lock 锁的灵活性,通过锁分离的方式来降低锁竞争。

2023-09-07 07:30:00 2073

原创 12 - 多线程之锁优化(上):深入了解Synchronized同步锁的优化方法

JVM 在 JDK1.6 中引入了分级锁机制来优化 Synchronized,当一个线程获取锁时,首先对象锁将成为一个偏向锁,这样做是为了优化同一线程重复获取导致的用户态与内核态的切换问题;其次如果有多个线程竞争锁资源,锁将会升级为轻量级锁,它适用于在短时间内持有锁,且分锁有交替切换的场景;偏向锁还使用了自旋锁来避免线程用户态与内核态的频繁切换,大大地提高了系统性能;但如果锁竞争太激烈了,那么同步锁将会升级为重量级锁。减少锁竞争,是优化 Synchronized 同步锁的关键。

2023-09-06 07:30:00 2155

CrystalDiskInfo8_11_2.exe

硬盘健康状况检测工具,显示硬盘驱动器的基本信息,智能监控和磁盘的温度。

2021-03-07

TortoiseSVN-1.14.0.28885-x64-svn-1.14.0

TortoiseSVN-1.14.0.28885-x64-svn-1.14.0.msi及对应简体中文安装包LanguagePack_1.14.0.28885-x64-zh_CN.msi

2020-11-15

TortoiseGit-2.11.0.0-64bit

TortoiseGit-2.11.0.0-64bit.msi及对应简体中文安装包TortoiseGit-LanguagePack-2.11.0.0-64bit-zh_CN.msi

2020-11-15

draco-1.3.6.zip

Google 3D压缩开源项目Draco v 1.3.6 Draco是用于压缩和解压缩3D几何网格和点云的库。旨在改善3D图形的存储和传输。 Draco的设计和制造旨在提高压缩效率和速度。该代码支持压缩点,连接性信息,纹理坐标,颜色信息,法线以及与几何相关的任何其他通用属性。使用Draco,使用3D图形的应用程序可以大大缩小,而不会影响视觉保真度。对于用户而言,这意味着现在可以更快地下载应用程序,可以更快地在浏览器中加载3D图形,并且可以以很小的带宽传输VR和AR场景并快速渲染。 Draco作为C ++源代码发布,可用于压缩3D图形以及编码数据的C ++和Javascript解码器。

2020-07-30

libphp7.so

下载的道友请先看下描述 PHP 7.0.5 编译的libphp7.so,供 Apache/2.4.6使用,还没试过单独拷这个文件使用,没有积分可以私我发你 PHP 7.0.5 (cli) (built: May 13 2020 22:20:18) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies Server version: Apache/2.4.6 (CentOS) Server built: Apr 2 2020 13:13:23

2020-05-13

MediaInfo_GUI_20.03_Windows.rar

MediaInfo是一款非常实用的视频参数检测工具,除了可以对视频进行编码分析查询,还可以对音频文件的编码及信息进行检测。有问题或需要其他版本请私聊我

2020-04-27

TortoiseSVN-1.13.1.28686-x64.rar

TortoiseSVN-1.13.1.28686-x64-svn-1.13.0.msi及对应简体中文安装包LanguagePack_1.13.1.28686-x64-zh_CN.msi

2020-04-16

TortoiseGit-2.10.0.2-64bit.rar

TortoiseGit-2.10.0.2-64bit.msi及对应简体中文安装包TortoiseGit-LanguagePack-2.10.0.0-64bit-zh_CN.msi

2020-04-08

aarch64服务器GCC软件包.rar

aarch64服务器GCC软件包:centos7.6已安装测试 使用方法,将所有rpm放置统一目录下 例如:放置目录/usr/linux_GCC下 进入终端: cd /usr/linux_GCC //进入目录 rpm -Uvh *.rpm --nodeps --force //不验证依赖安装 gcc -v //验证是否安装成功 安装有问题或需要其他依赖请私我

2020-04-08

java识别文件编码工具类 EncodingDetect.java

识别文件编码 例如读取txt,先获取txt编码,再针性读取(es踩的坑) 使用方法:String code = EncodingDetect.getJavaEncode(path);//返回文件编码

2020-03-27

quicksupport和add-on(oneplus).rar

quicksupport和add-on(oneplus版) oneplus7pro 亲测可用,有问题或需要其他版本请私我

2020-03-18

wiztree_3_30_setup.exe

wiztree_3_30_setup.exe安装包 WizTree——快速找出磁盘分区中大文件的免费工具 WizTree是一个类似于WinDirStat的硬盘磁盘空间分析器,但速度要快得多。 适用于32位和64位版本的Windows XP,Vista,Windows 7,8和10

2019-11-29

FreeFileSync_10.18.rar

注意:是安装包,不是绿色版 FreeFileSync_10.18版:下载解压后有3个安装包,分别是Windows版、Linux版、macOS版,选择对应版本安装使用即可,使用前建议先练练手,避免弄丢文件

2019-11-29

centos7.6_64_ntp_rpm.rar

安装过程中先查看服务器已有相关ntp的依赖,再视情况安装 centos7.6 64位 NTP安装RPM软件包:ntp-4.2.6p5-28.el7.centos.x86_64.rpm、ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm、autogen-libopts-5.18-5.el7.x86_64.rpm、openssl-1.0.2k-12.el7.x86_64.rpm、openssl-libs-1.0.2k-12.el7.x86_64.rpm

2019-11-28

TortoiseGit-2.9.0.0-64bit.rar

TortoiseGit-2.9.0.0-64bit.msi及对应简体中文安装包TortoiseGit-LanguagePack-2.9.0.0-64bit-zh_CN.msi

2019-11-28

mail1.5.0.jar

javax.mail/mail/1.5.0-b01依赖的jar包,实现javamail发送邮件需要的jar包,可实现基于腾讯的QQ邮箱邮件发送

2018-04-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除