首页 文章 精选 留言 我的

精选列表

搜索[下拉列表],共10004篇文章
优秀的个人博客,低调大师

MyExcel 3.6.0 版本发布,支持列表&模板混合导出

MyExcel,是一个集导入、导出、加密Excel等多项功能的Java工具包。 MyExcel采用声明式语法来构建、读取Excel,屏蔽POI的具体操作细节(对POI无感知),以开发常用的技术替代,使得构建(从简单到高度复杂Excel)以及读取Excel变得极为便利,且构建、读取性能极为优异,占用内存极低(具体,请移步参考MyExcel&阿里EasyExcel性能对比)。 如导入: List<ArtCrowd> result = SaxExcelReader.of(ArtCrowd.class) .sheet(0) // 0代表第一个,如果为0,可省略该操作,也可sheet("名称")读取 .rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行 .beanFilter(ArtCrowd::isDance) // bean过滤 .read(path.toFile()); 本次更新如下: 重构模板构建器ExcelBuilder,使用TemplateHandler处理模板解析; DefaultStreamExcelBuilder支持模板追加; 新增MyExcelConfiguration,支持对MyExcel进行全局设置,如自定义临时文件目录; 优化ExcelBuilder资源处理,提升模板构建效率; 重命名@ExcelModel等注解对应配置类名称,易于理解; 优化单元测试文件存放目录,避免clone后无法直接执行单元测试问题; 在某些情况下,可能需要个性化的表头,或者汇总等等,这些需求可能会涉及合并行、列、样式等复杂布局,而且导出的数据可能又比较大,DefaultStreamExcelBuilder本身对Bean的能力不足以支撑复杂布局,为兼容海量数据导出与复杂布局,版本3.6.0以及以后,DefaultStreamExcelBuilder支持模板的追加,在模板中定义复杂布局,追加模板方式如下 代码示例: try (DefaultStreamExcelBuilder<ArtCrowd> streamExcelBuilder = DefaultStreamExcelBuilder .of(ArtCrowd.class) .templateHandler(FreemarkerTemplateHandler.class)// 追加模板数据,可选,适合极度个性化数据导出 .start()) { // 模板数据追加 Map<String,Object> dataMap = this.getDataMap(); streamExcelBuilder.append("/templates/test.ftl", dataMap); // 普通数据追加 List<ArtCrowd> dataList = this.getDataList(); streamExcelBuilder.append(dataList); // 最终构建 Workbook workbook = defaultExcelBuilder.build(); AttachmentExportUtil.export(workbook, "艺术生信息", response); } 首先,需要指定模板处理器:templateHandler(FreemarkerTemplateHandler.class),除FreemarkerTemplateHandler,还有BeetlTemplateHandler、EnjoyTemplateHandler、ThymeleafTemplateHandler等其他5种常用模板处理器; 其次,使用append方法追加模板数据,该方法接受相对路径以及绝对路径模板,绝对路径方式如下: append("C:/User/project/templates","test.ftl",dataMap); 最终效果如下: 具体,请移步文档,参见流式导出部分:文档

优秀的个人博客,低调大师

Python基础系列-列表交集并集差集

版权声明:如需转载,请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81979449 比如,现在有两个list类型: a = [1,2,3,4] b = [1,2,3] 一. 差集 很明显结果是[4],下面我们说一下具体方法。 ret_list = [item for item in a if item not in b] 还有一种方法 ret_list = list(set(a)^set(b)) 二. 并集 很明显结果是[1,2,3,4],下面是具体方法: ret_list = list(set(a).union(set(b))) 三. 交集 很明显结果是[1,2,3],下面是具体方法: ret_list = list((set(a).union(set(b)))^(set(a)^set(b)))

优秀的个人博客,低调大师

eBPF监控工具bcc系列六工具查询列表

关于trace,argdist,funccount三个工具已有专门篇章介绍。所有脚本位于bcc/tools文件夹中。 execsnoop跟踪新进程创建,跟踪exec函数。 bashreadline打印系统中所有bash上运行的命令,通过跟踪readline()函数实现。 biolatency跟踪块设备IO,记录IO延时分布并输出直方图。 biosnoop跟踪块设备IO,为每个IO打印一行。 biotop是块IO的top命令,查看哪些进程在使用磁盘IO. bitesize显示各个进程的请求块大小的IO分布。 bpflist用于显示哪个BPF程序在运行,并打印打开的探针。 btrfsdist跟踪btrfs文件系统的读、写、打开和同步,并总结延时的直方图。 btrfsslower跟踪btrfs文件操作:reads,writes,opens,syncs 。衡量操作的花费时间,并打印超过阈值的信息。相比btrfsdist,这个是打印超过阈值的信息。 cachestat显示页高速缓存的命中率和丢失率,包括读写命中率 cachetop是cachestat 的top显示功能 capable跟踪内核负责安全监测的cap_capable函数,并打印调用信息。 cobjnew调用uobjnew,uobjnew统计新对象的分配事件,并打印出分配频率、分配大小的统计信息。帮助诊断导致大量垃圾回收问题的普通分配路径。 cpudist统计任务的on-CPU事件,在被调用前花费了多少CPU.这个提供了有用的信息可以用来指导硬件采购。也可以统计off-CPU事件,就是等待磁盘IO、锁、定时器和其他挂住的情况。 cpuunclaimed函数采样CPU运行队列长度,确定是否有idle的cpu. dbslower跟踪Mysql或Postgresql的查询,然后打印超出延时的,默认延时是1ms。 dbstat跟踪Mysql或PostgreSQL数据库进程查询,并显示查询延时的直方图。 dcsnoop跟踪目录缓存查询,用于dcstat之后的高级查询。 dcstat显示目录缓存静态统计。 deadlock_detector用于检测运行进程潜在的死锁,将uprobes绑定到pthread_mutex_lock和pthread_mutex_unlock。 ext4dist跟踪ext4的reads,writes,opens,fsync,总结延时并得到直方图。 ext4slower显示ext4中reads,writes,opens,fsync中延时超过阈值的操作。 filelife跟踪短命文件,就是那些创建后就被删除的文件,例如gcc等。 fileslower显示文件同步读和写超过阈值的操作。 filetop是文件读和写的top。 funclatency计时内核函数,直到ctrl+c.例如./funclatency do_sys_open funcslower显示内核或用户函数超过阈值。如./funcslower c:open -u 1 gethostlatency跟踪主机名查找调用,如getaddrinfo(),gethostbyname(),gethostbyname2(). hardirqs跟踪硬中断,并保存其消耗时间的统计信息。 inject通过调用链和可选的谓词集,保证指定注入模式的适当错误返回。 Javacalls会调用ucalls,ucalls统计在高级语言的方法调用,例如java,python,ruby,php和系统调用。显示最常调用的方法以及其延时。 javaflow调用uflow,uflow跟踪方法入口和退出事件,并打印流程图,类似跟踪的调试器。可以用来理解高级语言的程序流,这些高级语言提供了USDT探针。 javagc调用ugc,ugc跟踪高级语言的垃圾回收事件。 javaobjnew调用uobjnew函数,统计java新对象分配事件。 javastat会调用ustat,ustat类似top工具,用于监控高级语言的事件。 javathreads会调用uthreads,uthreads跟踪java或raw threads的进程创建事件 killsnoop跟踪kill()系统调用的信号。 llcstat跟踪缓存相关信息,如缓存miss事件。这些事件定义在uapi/linux/perf_event.h中。 mdflush跟踪md驱动层的flush的信息。 memleak跟踪内存分配和回收请求,收集每次分配的调用栈。会将调用分配后没有进行释放的打印出来。 mountsnoop跟踪mount()和umount()系统调用。 mysqld_qslower跟踪Mysql的查询,并打印超过阈值延时的,默认阈值是1ms。 nfsdist跟踪NFS的reads,writes,opens,getattr,并输出其直方图。 nfsslower显示NFS的reads,writes,opens,getattr,延时超过阈值。 nodegc通过ugc跟踪node的垃圾回收。 nodestat通过ustat显示node层的监控事件,类似top工具。 offcputime显示阻塞的调用栈,以及阻塞的事件。 offwaketime显示被阻塞的任务和内核调用栈,以及唤醒他们的线程。 oomkill跟踪linux中OOM,每个显示一行。 opensnoop跟踪系统中的open系统调用. phpcalls会调用ucalls,总结php方法的调用情况。 phpflow调用uflow,跟踪方法的入口和退出并打印其方法流。 phpstat调用ustat,类似top工具来监视php的事件。 pidpersec显示每秒新进程创建的数量。 profile是CPU的profiler,在给定时间间隔中采样堆栈. pythoncalls调用ucalls,ucalls总结python的方法调用情况。 pythonflow调用uflow,uflow跟踪python方法的入口和出口事件,并打印流程图。 pythongc调用ugc,ugc跟踪python的垃圾回收事件。 Pythonstat调用ustat,类似top工具监控python事件。 reset-trace可能永远用不到,如果使用kill -9杀掉bcc工具,会导致bcc工具崩溃,内核跟踪会处于半使能状态。使用reset-trace来清除跟踪状态并重置和禁止激活的跟踪。 rubycalls调用ucalls,ucalls总结ruby的方法调用情况。 rubyflow调用uflow,uflow跟踪ruby方法的入口和出口事件,并打印流程图。 rubygc调用ugc,ugc跟踪ruby的垃圾回收事件。 rubyobjnew调用uobjnew,uobjnew总结新对象分配事件,并打印分配频率。 rubystat调用ustat,类似top工具监控ruby事件。 runqlat总结调度器运行队列延时的直方图,并显示器等待时间。 runqlen总结调度器队列长度的直方图。 slabratetop显示内核中内存分配缓存(SLAB,SLUB)的使用率和总大小,类似top. softirqs跟踪软中断,保存其统计信息。 solisten当一个程序要监听TCP连接的时候,跟踪内核调用 sslsniff跟踪OpenSSL的SSL_READ和SSL_WRITE函数。 stackcount跟踪函数的使用频率和整个调用栈,如./stackcount submit_bio statsnoop跟踪系统的stat()系统调用。 syncsnoop跟踪内核sync的调用。 syscount总结系统或指定进程的系统调用。 tcpaccept跟踪接收tcp套接字链接(accept)的内核函数。 tcpconnect跟踪活动TCP链接(connect)的内核函数 tcpconnlat跟踪活动TCP链接,及链接延时。 tcplife总结跟踪期间打开和关闭的TCP会话。 tcpretrans跟踪TCP重发函数。 tcpstates打印TCP状态改变的信息,包括每个状态的持续时间。 tcpsubnet显示目标子网的吞吐量,只在IPv4工作。可以指定子网。 tcptop类似top功能,根据主机和端口显示吞吐量。 tcptracer跟踪TCP链接(connect,accept)和关闭的内核函数。 tplist显示内核tracepoinst和USDT探针,包括他们的格式。 ttysnoop观测tty或pts设备,并打印设备上的输出。 vfscount通过跟踪vfs_开头的内核函数来记录VFS调用 vfsstat跟踪vfs调用,并输出每秒情况。 Wakeuptime衡量线程锁,显示唤醒操作线程的栈,唤醒和目标程序名字,以及总的阻塞时间。 xfsdist跟踪XFS的reads,writes,opens,fsyncs,并输出直方图。 xfsslower显示XFS的reads,writes,opens,fsyncs中超过阈值的操作。 zfsdist跟踪ZFS的reads,writes,opens,fsyncs,并输出直方图。 zfsslower显示ZFS的reads,writes,opens,fsyncs中超过阈值的操作。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册