- QKeras、Brevitas和QONNX量化工具对比
kanhao100
笔记深度学习边缘计算
QKeras、Brevitas和QONNX量化工具对比一、引言在深度学习模型部署领域,量化技术已成为提升模型执行效率的关键手段。通过将浮点权重转换为低精度表示,量化能显著减小模型体积、降低内存占用并加速推理过程。对于资源受限的设备(如移动设备、嵌入式系统和边缘计算设备),量化技术尤为重要。本文深入对比三款主流量化工具:QKeras、Brevitas和QONNX,从用户实际应用角度剖析它们的技术特点
- 模型部署实战:PyTorch生产化指南
小诸葛IT课堂
pytorch人工智能python
一、为什么要做模型部署?模型部署是将训练好的模型投入实际应用的关键步骤,涉及:模型格式转换(TorchScript/ONNX)性能优化(量化/剪枝)构建API服务移动端集成本章使用ResNet18实现图像分类,并演示完整部署流程。二、模型转换:TorchScript与ONNX1.准备预训练模型importtorchimporttorchvision#加载预训练模型model=torc
- 【大模型开发】ONNX 格式的大模型在 Android 上的部署与测试
云博士的AI课堂
大模型技术开发与实践哈佛博后带你玩转机器学习深度学习android大模型部署本地推理引擎大模型开发机器学习边缘设备
以下内容将以ONNX格式的大模型在Android上的部署与测试为核心,提供一套可运行的示例(基于AndroidStudio/Gradle),并结合代码进行详细讲解。最后会给出一些针对在移动设备上部署ONNX推理的优化方法和未来建议。目录整体流程概述准备工作2.1ONNX模型准备2.2Android项目准备在Android上使用ONNXRuntime3.1添加依赖3.2项目结构说明3.3代码示例运行
- Yolov11目标检测(ultralytics)
@M_J_Y@
目标检测YOLO目标检测人工智能
Yolov11目标检测(ultralytics)1.克隆仓库2.安装环境依赖3.训练、验证、推理以及onnx模型导出1.克隆仓库从官网下载Yolov11到本地。
[email protected]:ultralytics/ultralytics.git2.安装环境依赖pipinstall-e.-ihttps://pypi.mirrors.ustc.edu.cn/simple/3.训练、验证
- YOLOv8n-seg.pt的使用(实例分割,训练自己制作的数据集)
再坚持一下!!!
YOLO
Ubuntu+python3一、YOLOV8源码下载参考:GitHub-ultralytics/ultralytics:NEW-YOLOv8inPyTorch>ONNX>OpenVINO>CoreML>TFLite二、数据集制作1.labelme下载:pip3installlabelme2.终端输入labelme,打开labelme。界面“打开目录”,打开图片目录images,进行多边形标注(右键
- 【大模型开发】大模型转换为 NCNN 格式并在 微信小程序 中进行调用
云博士的AI课堂
大模型技术开发与实践哈佛博后带你玩转机器学习深度学习微信小程序小程序NCNN小程序调用大模型大模型部署大模型优化部署微信小程序
以下内容将介绍如何将大模型转换为NCNN格式并在微信小程序中进行调用。我们会从整体流程、模型转换工具、NCNNWebAssembly(WASM)编译与集成、小程序前端代码示例等方面进行详细讲解,并在最后给出优化方向与未来建议。目录背景与整体流程概述准备工作2.1常见模型格式与转换思路2.2环境与工具安装模型转换为NCNN格式3.1以ONNX模型为例3.2使用onnx2ncnn工具NCNN在微信小程
- mysql创建新表,同步数据
hitsz_syl
mysql数据库
importosimportargparseimportglobimportcv2importnumpyasnpimportonnxruntimeimporttqdmimportpymysqlimporttimeimportjsonfromdatetimeimportdatetimeos.environ[“CUDA_VISIBLE_DEVICES”]=“0”#使用GPU0defget_connec
- torch-torchvision-python版本对应问题
Thirtyaoe
python深度学习pytorch
module‘torch.onnx.symbolic_helper’hasnoattribute‘quantized_args’今日在联系pytorch时,importtorchvision时报错:module‘torch.onnx.symbolic_helper’hasnoattribute‘quantized_args’查阅后发现是版本不兼容的问题,于是查看了正确的对应版本,对自己的进行修改。
- rapidocr-onnxruntime库及在open-webui上传PDF 图像处理 (使用 OCR)应用
原野AI
大模型部署pdfocr深度学习open-webui
背景rapidocr-onnxruntime是一个跨平台的OCR库,基于ONNXRuntime推理框架。目前已知运行速度最快、支持最广,完全开源免费并支持离线快速部署的多平台多语言OCR。缘起:百度paddle工程化不是太好,为了方便大家在各种端上进行ocr推理,我们将它转换为onnx格式,使用Python/C++/Java/Swift/C#将它移植到各个平台。名称来源:轻快好省并智能。基于深度学
- backbone和head分开转onnx的优势
yuweififi
人工智能深度学习机器学习
模型转换为ONNX格式时,将其分成backbone和head两个部分,通常是出于以下原因:1.模块化设计backbone通常是模型的特征提取部分(例如卷积神经网络的主干部分),负责从输入数据中提取高级特征。head是模型的输出部分,负责根据backbone提取的特征生成最终的预测结果(例如分类、检测、分割等)。将模型分成两部分可以实现模块化设计,便于在不同任务中复用backbone或head。例如
- 【YOLOv11[基础]】目标检测OD | 导出ONNX模型 | ONN模型推理以及检测结果可视化 | python
Jackilina_Stone
【改进】YOLO系列人工智能python计算机视觉YOLO深度学习目标检测
本文将导出YOLO11.pt模型对应的ONNX模型,并且使用ONNX模型推理以及结果的可视化。话不多说,先看看效果图吧!!!目录一导出ONNX模型二推理及检测结果可视化1代码2效果图
- onnx处理和TensorRT量化推理相关代码工具
天亮换季
人工智能算法深度学习
一.说明 在模型量化过程中,经常要使用一些工具对onnx或者量化后的模型(这里以TensorRT为例)进行推理,往往需要一些处理工具,比如:拆分或者合并onnx;修改onnx中的量算子QuantizeLinear的scale值;以及使用onnxruntime进行推理;TensorRT的序列化文件的inference;隐式量化生成量化校准表…现提供一些封装好的工具,作为记录,方便日后查阅使用"
- 深度学习基础-onnxruntime推理模型
yuweififi
深度学习人工智能
以下是一个完整的示例,展示如何加载ONNX模型、获取模型信息并运行推理:importonnxruntimeimportnumpyasnp#模型路径bev_head_onnx_path="path/to/your/bev_head.onnx"#加载模型session=onnxruntime.InferenceSession(bev_head_onnx_path)#获取模型元信息model_meta=
- 人工智能混合编程实践:C++调用Python ONNX进行YOLOv8推理
FriendshipT
人工智能混合编程实践人工智能c++pythonYOLOONNX目标检测
人工智能混合编程实践:C++调用PythonONNX进行YOLOv8推理前言相关介绍Python简介C++简介ONNX简介YOLOv8简介前提条件实验环境项目结构C++调用PythonONNX进行YOLOv8推理C++调用Python的相关dll代码framework.hpch.hcxx_pythonModule.hdllmain.cpppch.cppcxx_pythonModule.cppC++
- ONNX GraphSurgeon详细介绍
Lntano__y
模型部署算法
ONNXGraphSurgeon(ONNX-GS)是一个用于操作和修改ONNX(OpenNeuralNetworkExchange)模型图的Python库。它允许开发者在ONNX模型的图结构中进行修改、优化、插入节点、删除节点以及其他图结构操作,是在深度学习推理部署过程中非常有用的工具。ONNXGraphSurgeon常用于TensorRT中,用来优化和调整ONNX模型,以便于模型可以高效地在GP
- langchain4j+ONNX小试牛刀
langchain4j
序本文主要研究一下langchain4j结合ONNX进行得分重排步骤pom.xmldev.langchain4jlangchain4j-onnx-scoring1.0.0-beta1下载模型wgethttps://hf-mirror.com/Xenova/ms-marco-MiniLM-L-6-v2/resolve/main/onnx/model_quantized.onnx?download=t
- kokoro 82M参数的声音模型kokoro-onnx,支持中文
skywalk8163
人工智能人工智能
kokoro大约是官网:github.comonnx推理官网:GitHub-thewh1teagle/kokoro-onnx:TTSwithkokoroandonnxruntime可以参考这个文档使用:Kokoro-82M实战:最强TTS开源模型Windows本地极简部署完全攻略_kokorotts本地部署-CSDN博客实践下来英文不错,中文还欠缺些。kokoro82M参数的声音模型介绍❤️Kok
- Jetson系列: tensorrt-python推理yolov5(一)
weixin_55083979
jetson系列YOLOpytorch深度学习
目录一.onnx模型导出二.TensorRT模型本地序列化三.算法整体Pipline架构四.算法整体Pipline实现一.onnx模型导出在使用tensorrt进行加速之前需要将自己的torch模型转为onnx格式的,这个操作很基础就不赘述了,自己根据自己的任务、部署设备选择合适的batch/infersize/opsetyolov5官方导出onnx脚本Example:```pythonfromp
- 【yolov8】模型导出----pytorch导出为onnx模型
栗子风暴
YOLOpytorch人工智能深度学习
【yolov8】模型导出一、为什么要使用yolo的导出模式二、确保安装必要的库:三、yolov8模型导出3.1不同格式配置参数3.2导出格式四、导出模型性能优化4.1使用TensorRT导出模型有什么好处?4.2导出YOLOv8模型时,如何启用INT8量化?4.3为什么输出模型时动态输入尺寸很重要?4.4优化模型性能需要考虑哪些关键的导出参数?五、问题六、疑问训练模型的最终目标是将其部署到实际应用
- YOLOv8目标检测推理流程及C++代码
吃鱼不卡次
YOLOonnxc++
这部分主要是使用c++对Onnx模型进行推理,边先贴代码,过段时间再详细补充下代码说明。代码主要分成三部分,1.main_det.cpp推理函数主入口;2.inference_det.h头文件及inference_det.cpp具体函数实现;3.CMakeList.txt.1.main_det推理配置信息全部写在config.txt中,执行代码时会读取该文本中配置信息来进行推理,config.tx
- YoLo运用学习7
老农民编程
YoLo学习YOLO学习
目录前言一、C#环境使用YoLo模型进行AI推理检测1.加载图片2.图片预处理3.加载onnx模型并推理4.数据后处理5.图片属性值缩放还原和反归一化6.将解析到的信息的集合绘制成处理后图片总结前言根据YoLo运用学习3所说,实现在C#环境使用YoLo模型进行AI推理检测,最常见有两种:1、python训练好YoLo的模型pt格式,将其转化为onnx格式,通过C#的相关库去加载并推理onnx格式并
- C++使用Onnxruntime/TensorRT模型推理
奇华智能
AIc++开发语言人工智能AI计算机视觉
onnxruntime和tensorrt是我们常用的两种推理方式,下面整理了两个推理示例,仅供参考。步骤流程模型训练,python下生成pytorch的模型.pth,并基于.pth模型进行推理python下依据模型推理实现从.pth转向.onnxpython下基于.onnx进行推理,与后续两种推理方式种的推理结果进行比较环境windows10+RTX308015GB显存cuda11.3onnxru
- YOLO 中 SPFF 模块的优化与 Focal Modulation 替代研究
向哆哆
YOLOyolov8
文章目录1.YOLO中的SPPF模块分析2.FocalModulation简介3.在YOLO中用FocalModulation替换SPPF4.实验与对比分析4.1代码替换YOLO模型中的SPPF4.2训练对比5.AblationStudy(消融实验)5.1不同模块的对比实验5.2目标尺寸对比分析6.模型部署与推理优化6.1ONNX加速推理6.2适配JetsonNano7.进一步优化方向8.在YOL
- yolov5-训练好的模型部署的几种方式-ONNX
黄晓魚
halcon3dPCL点云处理深度神经网络YOLOC#python
ONNX,即OpenNeuralNetworkExchange,是微软和Facebook发布的一个深度学习开发工具生态系统,旨在让AI开发人员能够随着项目发展而选择正确的工具。ONNX所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。开发者需要耗费大量时间精力把模型从一个开发平台移植到另一个。因此,如何实现不同框架之间的互操作性,简化从研究
- Pytorch使用手册--将 PyTorch 模型导出为 ONNX(专题二十六)
AI专题精讲
Pytorch入门到精通pytorch人工智能python
注意截至PyTorch2.1,ONNX导出器有两个版本。torch.onnx.dynamo_export是最新的(仍处于测试阶段)导出器,基于PyTorch2.0发布的TorchDynamo技术。torch.onnx.export基于TorchScript后端,自PyTorch1.2.0起可用。一、torch.onnx.dynamo_export使用在60分钟入门中,我们有机会从高层次上了解PyT
- cosyvoice自用的代码
PyAIGCMaster
我买了个服务器人工智能
importsyssys.path.append('third_party/Matcha-TTS')fromcosyvoice.cli.cosyvoiceimportCosyVoice,CosyVoice2fromcosyvoice.utils.file_utilsimportload_wavimporttorchaudioimportonnxruntimeasort#设置使用GPUort.set
- [C++]使用纯opencv部署yolov12目标检测onnx模型
FL1623863129
深度学习c++opencvYOLO
yolov12官方框架:sunsmarterjie/yolov12【算法介绍】在C++中使用纯OpenCV部署YOLOv12进行目标检测是一项具有挑战性的任务,因为YOLOv12通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,你可以通过一些间接的方法来实现这一目标,比如将PyTorch模型转换为ONNX格式,然后使用OpenCV的DNN
- 【亲测可行】最新ubuntu搭建rknn-toolkit2
computer_vision_chen
带你跑通人工智能项目YOLOrknn嵌入式AI
文章目录结构图(ONNX->RKNN)下载rknn-toolkit2搭建环境配置镜像源conda搭建python3.8版本的虚拟环境进入packages目录安装依赖库测试安装是否成功其它rknn-toolkit2rknn_model_zoo关于部署的博客发布本文的时间为2024.10.13rknn-toolkit2版本为2.2.0结构图(ONNX->RKNN)下载rknn-toolkit2gitc
- yolov5转onnx模型,onnx转rknn模型部署在rk3588平台上
wtqpshhh
YOLOpython
安装python等环境,以及相关依赖库,然后克隆YOLOv5仓库的源码。#安装anaconda参考前面环境搭建教程,然后使用conda命令创建环境condacreate-nyolov5python=3.9condaactivateyolov5#拉取最新的yolov5(教程测试时是v7.0),可以指定下版本分支#gitclonehttps://github.com/ultralytics/yolov
- pytorch模型(.pt、.pth)转onnx模型(.onnx)的方法详解
墨小傲
pytorch人工智能python
.pt和.pth只能在pytorch的框架中使用,但是有时我们需要在其他的框架使用模型或者使用模型可视化工具来展示模型(大部分对.pt格式不兼容),这时就需要用到.onnx模型形式来转换了。1、首先你要安装依赖库:onnx和onnxruntimepipinstallonnxpipinstallonnxruntime进行安装2、pytorch模型转换到onnx模型pytorch转onnx仅仅需要一个
- ios内付费
374016526
ios内付费
近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。
具体使用如下:
这里的sender其实就是调用者,这里主要是为了回调使用。
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa
- 20 款优秀的 Linux 终端仿真器
brotherlamp
linuxlinux视频linux资料linux自学linux教程
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。)
你能从开源世界中找到大量的终端仿真器,它们
- Solr Deep Paging(solr 深分页)
eksliang
solr深分页solr分页性能问题
转载请出自出处:http://eksliang.iteye.com/blog/2148370
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr
- 数据库面试题
18289753290
面试题 数据库
1.union ,union all
网络搜索出的最佳答案:
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
2.索引有哪些分类?作用是
- Android TV屏幕适配
酷的飞上天空
android
先说下现在市面上TV分辨率的大概情况
两种分辨率为主
1.720标清,分辨率为1280x720.
屏幕尺寸以32寸为主,部分电视为42寸
2.1080p全高清,分辨率为1920x1080
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有
适配遇到问题,已1080p尺寸为例:
分辨率固定不变,屏幕尺寸变化较大。
如:效果图尺寸为1920x1080,如果使用d
- Timer定时器与ActionListener联合应用
永夜-极光
java
功能:在控制台每秒输出一次
代码:
package Main;
import javax.swing.Timer;
import java.awt.event.*;
public class T {
private static int count = 0;
public static void main(String[] args){
- Ubuntu14.04系统Tab键不能自动补全问题解决
随便小屋
Ubuntu 14.04
Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限)
sudo vi /etc/bash.bashrc
接下来会提示输入密码
2、找到文件中的下列代码
#enable bash completion in interactive shells
#if
- 学会人际关系三招 轻松走职场
aijuans
职场
要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。
第一,多汇报
最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。
第二,勤沟通
团队的力
- 《O2O:移动互联网时代的商业革命》读书笔记
aoyouzi
读书笔记
移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。
O2O:Online to OffLine 线上线下活动
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人
- js实现图片随鼠标滚动的效果
百合不是茶
JavaScript滚动属性的获取图片滚动属性获取页面加载
1,获取样式属性值
top 与顶部的距离
left 与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次
例子:获取左边的宽度,当css写在body标签中时
<div id="adver" style="position:absolute;top:50px;left:1000p
- ajax同步异步参数async
bijian1013
jqueryAjaxasync
开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。
格式:
$.ajax({ type: 'POST', ur
- Webx3框架(1)
Bill_chen
eclipsespringmaven框架ibatis
Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发;
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部
- 【MongoDB学习笔记五】MongoDB概述
bit1129
mongodb
MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo
- spring/hibernate/struts2常见异常总结
白糖_
Hibernate
Spring
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
缺少aspectjweaver.jar,该jar包常用于spring aop中
②java.lang.ClassNotFoundException: org.sprin
- jquery easyui表单重置(reset)扩展思路
bozch
formjquery easyuireset
在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。
扩展的时候要考虑的控件有:
combo,combobox,combogrid,combotree,datebox,datetimebox
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。
在所有的reset方法添加完毕之后,就需要对fo
- 编程之美-烙饼排序
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
/*
*《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
*《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
*/
- Struts1.X 源码分析之ActionForm赋值原理
chenbowen00
struts
struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s
- [空天防御与经济]在获得充足的外部资源之前,太空投资需有限度
comsci
资源
这里有一个常识性的问题:
地球的资源,人类的资金是有限的,而太空是无限的.....
就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制....
&
- ORACLE临时表—ON COMMIT PRESERVE ROWS
daizj
oracle临时表
ORACLE临时表 转
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会
- 基于Nginx XSendfile+SpringMVC进行文件下载
denger
应用服务器Webnginx网络应用lighttpd
在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。
@RequestMapping("/courseware/{id}")
public void download(@PathVariable("id") String courseID, HttpServletResp
- scanf接受char类型的字符
dcj3sjt126com
c
/*
2013年3月11日22:35:54
目的:学习char只接受一个字符
*/
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
scanf("%
- 学编程的价值
dcj3sjt126com
编程
发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助
像这位朋友学习:
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html
VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的
- 二维数组(矩阵)对角线输出
飞天奔月
二维数组
今天在BBS里面看到这样的面试题目,
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
打印顺序
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
要
- Ehcache(08)——可阻塞的Cache——BlockingCache
234390216
并发ehcacheBlockingCache阻塞
可阻塞的Cache—BlockingCache
在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.
- mysqldiff对数据库间进行差异比较
jackyrong
mysqld
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:12345
- spring data jpa 方法中可用的关键字
lawrence.li
javaspring
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying
@Query("update User u set u.firstna
- Spring的ModelAndView类
nicegege
spring
项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的?
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* yo
- 搭建 CentOS 6 服务器(13) - rsync、Amanda
rensanning
centos
(一)rsync
Server端
# yum install rsync
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait
- Learn Nodejs 02
toknowme
nodejs
(1)npm是什么
npm is the package manager for node
官方网站:https://www.npmjs.com/
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用
&nb
- Spring MVC 拦截器
xp9802
spring mvc
Controller层的拦截器继承于HandlerInterceptorAdapter
HandlerInterceptorAdapter.java 1 public abstract class HandlerInterceptorAdapter implements HandlerIntercep