- 一键教会OpenHarmony-4.1-Release的small系统的rootfs制作过程
wenfei11471
itopen组织1、提供OpenHarmony优雅实用的小工具2、手把手适配riscv+qemu+linux的三方库移植3、未来计划riscv+qemu+ohos的三方库移植+小程序开发4、一切拥抱开源,拥抱国产化一、rootfs制作命令small系统的rootfs制作脚本为build/ohos/packages/fs_process.py,制作的命令为build/ohos/packages/fs
- 【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(八)- 向量整数算术指令
瑶光守护者
RISC-V指令集分析risc-v人工智能机器学习
1.引言以下是《riscv-v-spec-1.0.pdf》文档的关键内容:这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量算术指令格式、向量整数和浮点算术指令、向量归约操作、向量掩码指令、向量置换指令、异常处理以及标准向量扩展等。首先,文档定义了向量元素和向量寄存器状态之间的映
- 探索RISC-V架构测试:一个开源的硬件验证工具链
钟洁祺
探索RISC-V架构测试:一个开源的硬件验证工具链riscv-arch-test项目地址:https://gitcode.com/gh_mirrors/ri/riscv-arch-test在软件开发领域,我们常说“测试是质量的保证”。而在硬件设计中,这一原则同样适用。项目就是一个致力于RISC-V架构验证的开源工具链,它可以帮助开发者确保其RISC-V处理器实现正确地遵循了指令集体系结构(ISA)
- riscv简单常用汇编指令xv6
耶耶耶耶耶~
操作系统操作系统
文章目录前言entry.Smretasmvolatilereadcsrwritecsrriscv常见csr寄存器ecall,系统调用指令cpu执行异常处理指令的三种事件异常处理相关寄存器用户态trapsret指令页表切换操作用户态系统调用过程总结内核态trap缺页异常中断与设备驱动Locking调度文件系统操作系统拥有的资源xv6系统启动过程1.准备C代码执行环境2.进入mainchar*argv
- [嵌入式系统-29]:开源的虚拟机监视器和仿真器:Windows环境下安装QEMU(Quick EMUlator)
文火冰糖的硅基工坊
嵌入式系统嵌入式架构操作系统
目录步骤1:windowsqemu的安装包下载步骤2:安装1.选择语言默认英文2.安装开始,选择Next3.安装选项,这里可以通过打开Systememulation中的下落项选择需要模拟的系统x86_64,arm,riscv64,riscv32等系统都可以支持勾选,尽量安装默认,全部勾选即可4.设置安装路径,选择自己合适的路径即可5.安装中,耐心等待即可6.安装完成,点击Finish即可7.qem
- SP1:基于Plonky3构建的zkVM
mutourend
zkVMzkVM
1.引言SP1为SuccictLab开源的,基于Plonky3构建的zkVM。开源代码见:https://github.com/succinctlabs/sp1(Rust)当前暂未实现onchain-verifier,但会采用标准的STARK->SNARKverifier。SP1zkVM基于的指令集为:riscv32im(与RISCZero的指令集一样)在SP1zkVM中运行某程序之前,需将该程序
- RSIC-V
h~k~f
risc-v
RISC-V环境搭建riscv-gnu-toolchain一、编译安装riscv-gnu-toolchain方式一、手动编译安装1、Cloneriscv-toolchain2、安装相关依赖库3、创建riscv文件夹,并设置权限4、设置环境变量5、编译(预计三个小时左右)方式二、编译压缩包安装(只适用于ubuntu)1、下载压缩包2、安装相关依赖库3、设置环境变量二、下载并编译riscv-fesvr
- NJU PA2思路(riscv32)
idMiFeng
PA笔记
运行NEMU后,当键入c或si时的原理是一样的,都是调用cpu_exec(n),执行n条指令,n是一个无符号整数,传入-1的话变成无符号整数的最大值,可视为把指令不停地执行下去无停顿,否则执行完n条指令后程序会回到sdb_mainloop中等待下一条用户的sdb命令。这段代码是cpu_exec函数的实现,下面是对其功能的详细说明:首先,根据传入的参数n和预定义的MAX_INST_TO_PRINT比
- NJU PA3思路(riscv32)
idMiFeng
PA笔记
异常响应机制(riscv32架构)riscv32提供ecall指令作为自陷指令,并提供一个mtvec寄存器来存放异常入口地址.为了保存程序当前的状态,riscv32提供了一些特殊的系统寄存器,叫控制状态寄存器(CSR寄存器).在PA中,我们只使用如下3个CSR寄存器:mepc寄存器-存放触发异常的PCmstatus寄存器-存放处理器的状态mcause寄存器-存放触发异常的原因riscv32触发异常
- QEMU&KVM 虚拟机实例demo以及RISCV上KVM的实现分析
papaofdoudou
KVM虚拟化内存管理linuxKVMQEMU
KVM(KernelVirtualMachine)是基于Linux内核的开源的虚拟化解决方案,KVM从linux-2.6.20版本开始被合入kernel主分支维护,成为linux的重要模块之一。KVM本身能够提供CPU虚拟化和内存虚拟化等部分功能,而其它设备的虚拟化和虚拟机的管理工作,则需要依靠QEMU完成,在KVM虚拟化环境中,一个虚拟机就是一个传统的Linux进程,运行在Qemu-KVM进程的
- ch32vxx模仿stm32位带操作
飙风者
stm32mcurisc-v
stm32系列中内核为cm3的芯片支持位带操作,国产芯片模仿stm32规格的很多(c8t6现实标准),最近买了块沁恒的ch32v103r8t6板子,ch32vxx系列是riscv内核的,不支持位带操作,这意味着好多代码没法直接借鉴(无奈)。通过网络搜索和C语言重新学习(位域和宏),找到了以下替代方法。typedefstruct{//根据芯片内存大小端设置,当前为小端模式,大端反过来uint32_t
- Difftest踩坑笔记(一)
icfg66
体系结构数字电路risc-vdifftest
一、Difftest简介Difftest是差分测试框架,有什么用呢?高性能CPU的设计需要做复杂的测试,传统的测试方法运行较慢,而且出了问题很难定位,Difftest就是为了解决这两个问题,基本的逻辑也不难:处理器运行一条指令模拟器运行相同的指令比较两者的状态为什么能运行更快呢?最著名的模拟器当属Qemu,此外伯克利也提供了针对riscv的模拟器spike,但两者的实现都比较复杂,中科院采用了南大
- Gem5 O3 可视化
icfg66
体系结构risc-v
Gem5是研究体系结构的硬件仿真工具,官方也提供了较详细的入门文档gem5documentation。在研究超标量乱序CPU时,Gem5也提供了可视化样例gem5:Visualization./build/RISCV/gem5.opt--debug-flags=O3PipeView--debug-start=78000--debug-file=trace.outconfigs/example/se
- RISC-V架构常见gcc编译选项(-march、-mabi=、-mcmodel、-mlittle-endian、-mbig-endian)
正在起飞的蜗牛
RISC-V架构risc-v
1、-march=RISCV_ARCH用于告诉编译器目标芯片的架构情况,生成对应的二进制代码比如:-march=rv32imrv32:告诉编译器生成的代码实在RISC-V架构的32位芯片上运行,就不会使用ld和sd命令,而使用lw和swim:芯片支持i指令集和m指令集怎么填写合适的参数-march这个参数不是软件来决定的,是具体的芯片来决定芯片是什么架构、32位还是64位、支持哪些指令集,这些都是
- alios things开发板_AliOS-Things: AliOS Things AliOS家族旗下面向IoT领域的轻量级物联网嵌入式操作系统AliOS Things将致力于搭建云端一体化IoT基...
小仙元
aliosthings开发板
EN|中文AliOSThings发布于2017年杭州云栖大会,是AliOS家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源.架构总览AliOSThings支持多种CPU架构,包括:ARM,C-Sky,MIPS,RISCV,rl78,rx600,xtensa等。AliOSThings认证的芯片和模组数量有200+,认证的传感器数量有100+。A
- 物联网操作系统AliOS Things之连接能力
LinkEverything
IoT物联网iot阿里云协议栈
AliOSThings是面向IOT领域的轻量级物联网嵌入式操作系统。2017年10月20日,AliOSThings正式开源。AliOSThings支持多种CPU架构,包括:ARM,C-Sky,MIPS,RISCV等,下图是AliOSThings的系统框架图,架构图中跟网络连接相关的模块有网络组件、蓝牙组件、连接协议族。从官网的描述看到AliOSThings支持的连接协议包括局域网连接(WiFi、B
- RISC-V 的MMU
__pop_
杂七杂八总览riscvMMU
以rv64为例riscv64的MMU为code增加了一个新概念:虚拟地址,在这个概念之上,加了很多限制目前好像是无法在物理地址上直接加限制的//MPU就是这样子的,但是颗粒度大相关的限制size:有效位数(可选择64/57/49/39)//根据satp.MODE选择,satp为标准寄存器颗粒度(总是4KB)//参考附录内存属性:共享缓冲缓存内存顺序模型(普通/设备)有扩展标准,Svpbmt对于设备
- RISC-V 常用汇编指令
程序DNA
笔记risc-v
RISCV常用汇编指令相关寄存器寄存器ABI名用途Saverx0zero读取时总为0,写入时不起任何效果-x1ra存放函数返回地址(returnaddress)Callerx2sp存放栈指针(stackpointer)Calleex3gpglobalpointer-x4tpthreadpoint-x5-x7t0-t2临时(temporaries)寄存器,Callee可能会使用这些寄存器,所以Cal
- 11 Ubuntu | 省时省事| riscv-gnu-toolchain工具链安装|无需编译
早上真好
从装硬盘开始的环境搭建RISC-V学习记录ubuntugnulinuxrisc-v
文章目录序言下载预编译包解压缩,观察该包添加环境变量验证安装成功序言大家好我是CSDN不知名放弃领域创作者早上真好,最近想放弃学习RISC-V了,所以首先得入门。入门RISC-V,当然需要安装RISCV的工具链,目前大多数教程都是编译安装的,这很难顶。我从GitHub上clone这个仓库,使用的命令是gitclone--recursivehttps://github.com/riscv-colla
- 清华大学操作系统rCore实验-第一章-应用程序与基本执行环境
Dr.Neos
rust汇编risc-v操作系统qemurCore
清华大学操作系统实验—rCore—应用程序与基本执行环境零、前言一、创建新项目neos二、配置执行环境1、切换riscv目标平台2、移除标准库std依赖(1)切换Rust核心库-core(2)注释println!宏,暂时绕过(3)实现简陋的异常处理函数(4)移除main函数(5)分析被移除标准库的程序三、内核第一条指令1、编写内核第一条指令2、调整内核的内存布局3、手动加载内核可执行文件4、使用g
- ubuntu-base(arm64与riscv64) 根文件系统
京雨
操作系统ubuntuarmlinuxqemu
ubuntu-base(arm64与riscv64)根文件系统有个小需求,是在arm64和riscv64上都跑起来speccpu2017首先在Qemu上跑起来,需要考虑需要的【Linux内核、根文件系统、Bootloader】,其中Bootloader在Qemu中可以很简化,对于内核可以使用kernel参数加载,对于根文件系统则要费一些功夫以下两篇博客是我记录的在x86物理机上执行speccpu2
- 获取编译工具链默认的链接脚本
正在起飞的蜗牛
嵌入式开发中的总结链接脚本
1、ld命令使用“–verbose”参数命令:riscv64-linux-gnu-ld--verbose想使用自己的链接脚本,链接时使用“-T”指定
- Ubuntu22.04安装riscv64-toolchain和QEMU
9174583
risc-vrisc-v
riscv64-toolchain环境搭建安装跨平台工具提供跨平台编译的各种库sudoaptinstalllibc6-riscv64-cross适用于GNU/Linux的linux-gnu-toolchain安装riscv64-linux-gnu-gccsudoaptinstallbinutils-riscv64-linux-gnusudoaptinstallgcc-riscv64-linux-g
- 基于Ubuntu Base构建根文件系统
牛角上的男孩
linuxlinux
1.什么是UbuntuBaseUbuntu针对不同的CPU架构提供相应的ubuntubase根文件系统,目前提供的架构有amd64、arm64、armhf、i386、s390x、ppc64el、riscv642.构建根文件系统2.1下载UbuntuBase到官网下载自己需要的版本:http://cdimage.ubuntu.com/ubuntu-base/releases/如下图:此次为arm设备
- Qemu 启动 Linux(aarch64 与 riscv64)
京雨
linuxqemuriscvaarch64
Qemu启动Linux(aarch64与riscv64)我的平台架构为x86_64,操作系统为Ubuntu22.04.3这部分涉及内核的编译以及文件系统的制作本博客中涉及了aarch64以及riscv64,以及临时文件系统以及永久文件系统,按需选择零、前提:安装Qemu以及aarch64与riscv64的交叉工具链Qemu的安装可以参考我之前的博客:https://blog.csdn.net/ji
- 汇编语言学习1
aaajj
汇编学习汇编
CompilerExplorer(godbolt.org)这个网站可以把我们写的C语言等实时翻译为汇编等语言,便于参考一个不错的视频讲解riscv(RISC-V)指令集(MIT)A01Introduction_哔哩哔哩_bilibilirisc-v汇编中,a0,a1,...用来传送函数参数,a0,a1用来作为函数值,使用简单的例子来了解其语法,通过在C语言中来调用,便于查看结果,以下是使用RISC
- 构建 aarch64 以及 riscv64 交叉编译工具链(裸机)
京雨
操作系统riscvarm交叉编译
构建aarch64以及riscv64交叉编译工具链(裸机)因为我的需求是构建裸机的程序,所以我选择了裸机相关的交叉工具链其他工具链也类似,在给出的两个官方链接中提供了所有的交叉工具链,选择合适的工具构建即可一、ARM64使用的工具链为:aarch64-none-elf-xxxaarch64-none-linux-gnu用于编译在ARM64架构的Linux内核以及在Linux系统上运行的程序aarc
- RISCV架构单周期CPU设计
大树D
硬件架构
指令选取R类型指令31-2524-2020-1915-1411-76-0funct7rs2rs1funct3rdopcode编号指令名称1addrd,rs1,rs2加2andrd,rs1,rs2与3orrd,rs1,rs2取或4xorrd,rs1,rs2异或5srlrd,rs1,rs2逻辑右移6sllrd,rs1,rs2逻辑左移7sltrd,rs1,rs2小于则置位8slturd,rs1,rs2无
- T40 T40N T40XP T40A 北京君正摄像头主控芯片
电子元器件专业户
人工智能
T40君正T40是一款4K视频和AI视觉应用处理器,T40采用了双核XBurst2及增强RISCV协处理器,启动速度、性能、功耗、首帧效果上进一步提升。8T算力的AIENPU,让T40在同级别芯片中算力遥遥领先。4K视频和ISP能力,丰富的前后IO接口,完全覆盖各种差异化视觉应用。产品特点:1.CPU●XBurst21.2GHz双核●256KB二级缓存●SIMD512指令集2.单片机●600MHz
- 全志R128 SDK架构与目录结构
DOT小文哥
全志R128架构SDKArmrisc-v全志
R128S2是全志提供的一款M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa)三核异构SoC,同时芯片内部SIP有1MSRAM、8MLSPSRAM、8MHSPSRAM以及16MNORFLASH。本文档作为R128FreeRTOSSDK开发指南,旨在帮助软件开发工程师、技术支持工程师快速上手,熟悉R128FreeRTOSSDK的开发流程。SDK架构R128包含3个核,需要编译
- Spring中@Value注解,需要注意的地方
无量
springbean@Valuexml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
- mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
- OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
- Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
- canvas中的像素绘制问题
换个号韩国红果果
JavaScriptcanvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
- 编码乱码问题
灵静志远
javajvmjsp编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
- java 求几个月后的日期
darkranger
calendargetinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
- 数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
- 想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
- Context和SQLiteOpenHelper创建数据库
百合不是茶
androidContext创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
- 浅谈group by和distinct
bijian1013
oracle数据库group bydistinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
- vi opertion
征客丶
macoprationvi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
- 【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
- java类加载机制
BlueSkator
java虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
- 动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input 
- 读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
- iOS应用打包发布常见问题
chenhbc
iosiOS发布iOS上传iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
- 工作流复杂拓扑结构处理新思路
comsci
设计模式工作算法企业应用OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
- oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
- 多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
- C语言学习七动态分配 malloc的使用
dcj3sjt126com
clanguagemalloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
- Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
- 0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt
- Java父类取得子类传递的泛型参数Class类型
happyqing
java泛型父类子类Class
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao<T> {
public void getType() {
//Class<E> clazz =
- 跟我学SpringMVC目录汇总贴、PDF下载、源码下载
jinnianshilongnian
springMVC
----广告--------------------------------------------------------------
网站核心商详页开发
掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架;
掌握数据库技术,表设计和索引优化,分库分表/读写分离;
了解缓存技术,熟练使用如Redis/Memcached等主流技术;
了解Ngin
- the HTTP rewrite module requires the PCRE library
流浪鱼
rewrite
./configure: error: the HTTP rewrite module requires the PCRE library.
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. s
- 第12章 Ajax(中)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Optimize query with Query Stripping in Web Intelligence
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence
and a very straightfoward video
http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936
- Java开发者写SQL时常犯的10个错误
tomcat_oracle
javasql
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写Prepar
- 世纪互联与结盟有感
阿尔萨斯
10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。
全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。
众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟