- 基于 RISC-V SoC 的 1024 点 FFT 设计(10-02-05)1024 点 FFT 的 RISC-V SoC 整体架构
新芯设计
第十篇章基于RVSoC的1024点FFT设计ICFPGASoCVerilog芯片设计硬件开发RISC-V
芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构新芯设计:专注,积累,探索,挑战文章目录芯片原厂必学课程-第十篇章-基于RISC-VSoC的1024点FFT设计10-02-051024点FFT的RISC-VSoC整体架构引言一、FFT系统的架构设计二、FFT系统的总线设计三、FFT系统的资源分析与功耗分析引言 本
- 使用 C++23 从零实现 RISC-V 模拟器(5):CSR
everystep_
c++23risc-v
文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2YntcRISC-V为每个hart定义了一个独立的控制状态寄存器(CSR)地址空间,提供了4096个独立的寄存器位置。每个hart都可以通过这个独立的CSR地址空间来配置、管理和监控其执行环境,实现对其控制状态的细粒度操作。接下来
- 基于Qt的RTL可视模拟器(VSRTL)配置
吹角连营G
qtubuntu系统架构
文章目录VSRTL介绍Qt5.15.2安装构建VSRTLVSRTL介绍寄存器传输逻辑的可视模拟器(VisualSimulationofRegisterTransferLogic,VSRTL)是一个可以描述、可视化和仿真数字电路的框架。VSRTL描述的电路可以作为独立的应用,也可以嵌入到基于Qt的C++应用中。基于RISC-V指令集的模拟器Ripes即使用VSRTL开发。VSRTL依赖于C++17工
- RISC-V 在区块链智能及云原生中的应用、机遇与挑战
NervosNetwork
开发区块链rust虚拟机risc-v
本文转载自:斗篷客(ID:wearecloakman)区块链如同2000年前后的互联网,正一步步走入我们每个人的生活中。作为区块链整套技术中的核心之一,智能合约/虚拟机的设计在推动区块链创新的进程中,正扮演着越来越重要的角色。由此出发,虚拟机的设计也呈现着百花齐放的姿态。秘猿科技根据对智能合约层以及区块链虚拟机的理解与反思,基于RISC-V硬件指令集打造了虚拟机CKB-VM。在这次分享中,我们将会
- 使用 C++23 从零实现 RISC-V 模拟器(6):权限支持
everystep_
c++23risc-v
本节内容增加了权限表示,设置了三种权限。当cpu初始化时默认的权限为Machine模式。接下来实现这三种特权模式,随后实现sret和mret指令。RISC-V定义了三种特权等级,分别是用户态(UserMode)、监管态(SupervisorMode)、和机器态(MachineMode)。这三种特权等级对应着不同的操作系统和应用场景,提供了不同级别的访问权限。1.权限表示定义下面三个参数来表示不同的
- 关于RISC-V与Arm的对比分析和各自的应用
jacksong2021
原文:http://m.elecfans.com/article/1010395.html近日,开源指令集RISC-V得到了越来越多的重视。RISC-V是加州大学伯克利分校的开源指令集,由计算机体系架构的宗师级人物DavidPatterson领衔打造,通过将核心指令集以及其他关键IP开源,意图大大改变半导体的设计生态。随着西部数据、Nvidia等业界巨头以及大量初创公司宣布开始使用RISC-V,A
- RISC-V与ARM
吮指原味张
#其他指令集
参考资料:第五代精简指令集计算机RISC-V你了解多少?ARM与RISC-V架构的区别ARM与RISC-V的恩爱情仇1.ARM1991年ARM公司成立于英国剑桥,早期ARM也自主设计和生产芯片,但由于业绩平平,最后ARM改变了策略,他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司。ARM有三种授权方式:处理器、POP以及架构授权。ARM架构是一种采用独特的ARM指令集系统、并且根据
- RISC-V和ARM
小米人er
我的博客risc-varm开发
参考:https://www.eet-china.com/mp/a39867.htmlRISC-V和ARM都是基于**精简指令集计算(RISC)**原理建立的指令集架构。他们的主要区别在于他们的授权模式和开放性:ARM是一种专有的指令集架构,众多使用ARM架构的厂商,只能根据自身需求,调整产品频率和功耗,不得改变原有设计。ARM架构和RISC-V架构都源自1980年代的精简指令计算机RISC,两者
- 为什么RISC-V的指令结构如此的奇怪
Megahertz66
RISC-Vrisc-v
为什么RISC-V的指令结构如此的奇怪RISC-V有六种不同的指令集,如下图分别为R-type/I-type/S-type/B-type/U-type/J-type但是为什么像B-type的指令不将立即数的顺序排成类似于imm[12:1]而是要搞成像上图中分开的样子呢?刚开始学习RISC-V的时候也是不求甚解的看了一下,直到我无意中看到了一个stackoverflow上面的提问。有兴趣大家可以去看
- RISC-V MCU开发教程之低功耗蓝牙MCU看门狗使用
借过风景
risc-vmcu单片机
的卢CH582M,其采用沁恒自研RISC-V微处理器“青稞V4”,片上集成2Mbps低功耗蓝牙,兼容Bluetooth®lowenergy5.3,另外配备SPI、I²C、RTC等丰富外设。的卢CH573、的卢CH582的看门狗计数器是8位的(计数最大255),计数周期131072/Fsys以卢CH573、的卢CH582为例,evt中主频都是60M,看门狗最大时间(131072/60000000)*
- 【沁恒CH32学习】——RISC-V架构学习笔记
大蒙同学
stm32物联网risc-v
作为新手第一次接触RISC-V架构时。我首先百度简单了解了ARM架构和RISC-V架构的区别,以我个人的理解是ARM架构代表之前的复杂指令集,而RISC-V架构代表着精简指令集。就比如说同样是一个舞蹈动作,复杂指令集可能会是一个命令就完成舞蹈动作,而精简指令集是由手,腿的动作组合而成。而我这次的学习的重点并不是围绕着指令集,而是基于RISC-V架构的CHV103R8T6开发板的应用上。我们知道接触
- 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
- 使用 C++23 从零实现 RISC-V 模拟器(4):完善 log 支持并支持更多指令
everystep_
c++23risc-vredis
文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc这一节内容解析了更多的指令,并且提供了更详细的log输出从而进一步的定位问题。具体代码可以参考这个分支的代码:https://github.com/weijiew/crvemu/tree/lab4-load-store1.
- 基于RISC-V架构的通信DSP的设计以及在5G RedCap基带中的应用(一)
瑶光守护者
risc-v架构5G
1.引言1.1.研究背景和意义RISC-V的起源可以追溯到2010年,当时加州大学伯克利分校的一个研究团队准备启动一个新项目,他们对比了当时的ARM、MIPS、SPARC和X86等指令集架构,发现这些指令集不仅越来越复杂,还有很多知识产权、高昂授权费等问题。于是,该研究团队成立了一个四人小组,仅用了3个月的时间就完成了RISC-V指令集的开发。他们的目标是设计一套全新的指令集,以满足从微控制器到超
- 【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表
瑶光守护者
risc-v5G学习笔记网络架构
目录表3-1:定点滤波器功能表3-2:定点快速傅里叶变换(FFT)函数表3-3:定点数学函数表3-4:定点三角函数表3-5:定点向量函数表3-6:定点矩阵函数表3-7:浮点滤波器函数表3-8:浮点快速傅里叶变换(FFT)函数表3-9:浮点数学函数表3-10:浮点三角函数表3-11:浮点向量函数表3-12:浮点矩阵函数本文主要围绕数字信号处理(DSP)中的固定点滤波器函数进行了详细列表展示。这些函数
- 【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(一)-总体介绍
瑶光守护者
risc-v学习笔记网络架构
目录一、引言二、CEVA-BX1™DSPLibrary概述三、CEVA-BX1™DSPLibrary功能与特点四、CEVA-BX1™DSPLibrary优势今天开始我们继续对CEVADSP的架构和指令集进行分析,基于对CEVADSP的分析和了解,后续可以进行基于RISC-V内核架构的DSP指令集设计的分析。一、引言随着数字信号处理(DSP)技术的不断发展,越来越多的领域开始应用DSP技术,如通信、
- 计算机指令格式基础,RISC-V 指令格式
公幹氣褊
计算机指令格式基础
RISC-V宗旨——简约RISC-V指令集架构(ISA)作为新一代开源指令集架构,是一个最新的、简约的、清晰的、开源的指令集架构。RISC-V指令集架构的目标是让它在最小的到最快的所有计算机设备上都能够有效工作。RISC-V指令集架构强调简洁性来保证它的低成本,同时有着大量的寄存器和透明的指令执行速度,从而帮助编译器和汇编语言程序员将实际的重要问题转换为适当的高效代码。计算机指令即:汇编指令代码计
- risc-v指令集
狮子座硅农(Leo ICer)
芯片设计risc-v
lax18,symbol将symbol的地址加载到x[rd]中。lwux19,0x00(x18)无符号字加载(LoadWord,Unsigned),从地址x18+0x00读取四个字节,零扩展后写入x19。bnezx19,pass如果x19不等于0,走pass分支;若是x19=0,则继续执行。lix19,0x01swx19,0x00(x18)x.dcbstx0,x18 将0x01写入x19寄存器;x
- 使用 C++23 从零实现 RISC-V 模拟器(1):最简CPU
everystep_
c++23risc-v
本节实现一个最简的CPU,最终能够解析add和addi两个指令。如果对计算机组成原理已经有所了解可以跳过下面的内容直接看代码实现。完整代码在这个分支:lab1-cpu-add,本章节尾有运行的具体指令。1.冯诺依曼结构冯·诺依曼结构是现代计算机体系结构的基础,由约翰·冯·诺依曼在1945年提出。这种结构也称为冯·诺依曼体系结构,其核心特点是将程序指令和数据存储在同一个读写存储器(内存)中,计算机的
- 使用 C++23 从零实现 RISC-V 模拟器(2):内存和总线
everystep_
c++23risc-v
内存和总线上一部分将内存全部放到了CPU里面,总线的概念是隐含着的。这一部分将内存拆分出来,再引入总线的概念,CPU通过总线连接内存。完整代码可以查看这个分支:https://github.com/weijiew/crvemu/tree/lab2-memory实际上可以直接看代码,文章作为补充,这部分内容很简单。后续内容并没有完全将代码的所有修改列出来,建议快速浏览下面的内容有一个整体的认识后再结
- 使用 C++23 从零实现 RISC-V 模拟器
everystep_
c++23risc-v
使用C++23从零实现RISC-V模拟器使用C++23从零实现的RISC-V模拟器,最终的模拟器可以运行xv6操作系统。教程:everystep代码:crvemu本教程参考了Asami所写的Rust版本的模拟器教程,但是原版只写了前三章。此外也参考了Rare对rvemu的改进Rare这也是一个Rust版本的并且已经完结了,对rust版本感兴趣的可以参考上面所给出对应的链接。接下来我将会用C++23
- 使用 C++23 从零实现 RISC-V 模拟器(3):指令解析
everystep_
c++23risc-v
指令解析这章内容进一解析更多的指令,此外将解析指令的过程拆分为一个单独的类,采用表格驱动的方式,将数据和逻辑分离,降低了ifelse嵌套层数过多。这部分依旧改动不多,只增加了七个指令。此外代码中细碎的变动没有完全列出来,下面只是主体部分的更新,可以尝试自己动手实现,如果简单抄一遍是没有成长的,总之需要在解决问题中加深印象。可以参考这个分支的代码:https://github.com/weijiew
- RISC-V指令集之RV32I
百里杨
RISC-V指令集RISC-V
RISC-V指令集之RV32I1RV32I的寄存器2RV32I的指令2.1算术运算指令2.2逻辑运算指令2.3移位运算指令2.4内存读写指令2.5分支与跳转指令本文属于《RISC-V指令集基础系列教程》之一,欢迎查看其它文章。1RV32I的寄存器如下图,列出了RV32I寄存器和由RISC-V应用程序二进制接口(ApplicationBinaryInterface,ABI)定义的寄存器名称。我们将在
- RISC-V指令集简介
百里杨
RISC-V指令集risc-v
RISC-V指令集简介1RISC-V介绍2模块化ISA和增量型ISA2.1增量型ISA2.2模块化ISA3RISC-V定位4RISC-V优点5RISC-V缺点本文属于《RISC-V指令集基础系列教程》之一,欢迎查看其它文章。1RISC-V介绍RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用
- RISC-V指令集基础系列教程
百里杨
RISC-V指令集risc-vRISC-V
RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。我们,
- 沁恒 CH32V103 MCU介绍及呼吸灯演示
不划水的小王
mcustm32物联网c语言
一.沁恒微电子南京沁恒微电子股份有限公司是一家高速数模混合公司主要产品集成电路设计公司,成立于2004年,公司位于江苏南京。公司主要在物联网领域专注于连接和控制方面的芯片设计以及应用技术开发。沁恒微电子于2020年2月24日发布了首款基于RISC-V架构,自主设计的RISC-V3A处理器内核及其硬件产品——CH32V103系列MCU。二.CH32V103系列MCU1.芯片简介CH32V103系列是
- RISC-V MCU应用教程之ADC
借过风景
单片机risc-vmcu
简介CH32V103系列是以青稞V3A处理器为核心的32位通用RISC-VMCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。本章教程使用CH32V103开发板的ADC1通道1对开发板的V
- RISC-V MCU 应用教程之ADC(一)
借过风景
risc-vmcu单片机
1.ADC简介ADC,Analog-to-DigitalConverter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。ADC是MCU的重要外设,主要用于传感器的数据采集,常见的ADC类型一般为逐次逼近型。以沁恒RISC-VMCUCH32V307VCT6为例,内嵌2个12位的ADC模块,共有多达16和外部通道和2个内部通道。2.ADC引脚CH32V
- xv6(RISC-V)操作系统源码分析第六节——锁
MCQSLW
risc-vunix汇编c语言
一、程序并发执行带来的问题及解决方案(一)并发执行带来的问题程序的并发执行提高了程序执行的效率,这是大多数内核所追求的,xv6也是这样。xv6采用两种方式实现程序的并发执行:采用多处理器架构在一个CPU上实现多线程机制xv6采用多处理器架构(硬件系统具有多个CPU独立执行)来实现程序的并发执行。这些CPU共享同一个DRAM,这种共享就带了问题:一个CPU在读取一个数据的同时,另一个CPU正在更新它
- xv6(RISC-V)操作系统源码分析第一节——操作系统接口
MCQSLW
risc-vunix汇编vscodec语言
一、内核与进程xv6使用传统形式内核(一个向其他运行中的程序提供服务的特殊程序)。每一个正在运行的程序称为进程,进程拥有自己的指令、数据与栈的内存空间。它们的功能如下:指令:实现程序的运算数据:用于运算过程的变量栈:管理程序的过程调用一个计算机通常有许多进程,但只有一个内核。二、进程调用内核服务的方式——系统调用进程通过调用系统调用来调用内核的服务。系统调用是操作系统接口中的一个调用。系统调用会进
- 如何用ruby来写hadoop的mapreduce并生成jar包
wudixiaotie
mapreduce
ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安
- java编程思想 -- 访问控制权限
百合不是茶
java访问控制权限单例模式
访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问
一:包访问权限;
自定义包:
package com.wj.control;
//包
public class Demo {
//定义一个无参的方法
public void DemoPackage(){
System.out.println("调用
- [生物与医学]请审慎食用小龙虾
comsci
生物
现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....
所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质
- org.apache.jasper.JasperException: Unable to compile class for JSP:
商人shang
maven2.2jdk1.8
环境: jdk1.8 maven tomcat7-maven-plugin 2.0
原因: tomcat7-maven-plugin 2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin 2.2就行,即
<plugin>
- 你的垃圾你处理掉了吗?GC
oloz
GC
前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别
- shiro 和 SESSSION
杨白白
shiro
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此
- 移动互联网终端 淘宝客如何实现盈利
小桔子
移動客戶端淘客淘寶App
2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛
- wordpress小工具制作
aichenglong
wordpress小工具
wordpress 使用侧边栏的小工具,很方便调整页面结构
小工具的制作过程
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php)
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变
<?php
class AWP_Post_Category extends WP_Wi
- JS微信分享
AILIKES
js
// 所有功能必须包含在 WeixinApi.ready 中进行
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
&nb
- 封装探讨
百合不是茶
JAVA面向对象 封装
//封装 属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用
例如 1:
//属性 将其设为私有
姓名 name 可以公开
- jquery radio/checkbox change事件不能触发的问题
bijian1013
JavaScriptjquery
我想让radio来控制当前我选择的是机动车还是特种车,如下所示:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><
- AngularJS中安全性措施
bijian1013
JavaScriptAngularJS安全性XSRFJSON漏洞
在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。
一.JSON漏洞
当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,
- [Maven学习笔记九]Maven发布web项目
bit1129
maven
基于Maven的web项目的标准项目结构
user-project
user-core
user-service
user-web
src
- 【Hive七】Hive用户自定义聚合函数(UDAF)
bit1129
hive
用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?
Double evaluate(Double a, Double b)
- 通过 nginx-lua 给 Nginx 增加 OAuth 支持
ronin47
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证:
&n
- 利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法
bsr1983
session
在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking
As noted in the &qu
- 《代码大全》表驱动法-Table Driven Approach-1
bylijinnan
java算法
关于Table Driven Approach的一篇非常好的文章:
http://www.codeproject.com/Articles/42732/Table-driven-Approach
package com.ljn.base;
import java.util.Random;
public class TableDriven {
public
- Sybase封锁原理
chicony
Sybase
昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。 无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的
- java异常处理机制
CrazyMizzz
java
java异常关键字有以下几个,分别为 try catch final throw throws
他们的定义分别为
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating
- hive 数据插入DML语法汇总
daizj
hiveDML数据插入
Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l
- 工厂设计模式
dcj3sjt126com
设计模式
使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。
Example #1 调用工厂方法(带参数)
<?phpclass Example{
- mysql字符串查找函数
dcj3sjt126com
mysql
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st
- jvm内存管理
easterfly
jvm
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行
- CentOS-6.3安装配置JDK-8
gengzg
centos
JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME
- 【转】关于web路径的获取方法
huangyc1210
Web路径
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项
- php里获取第一个中文首字母并排序
远去的渡口
数据结构PHP
很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:
Array
(
[0] => Array
(
[sid] => 2885842
[recetcstoredpay] =&g
- java内部类
hm4123660
java内部类匿名内部类成员内部类方法内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。
&nb
- Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten
zhb8015
maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。
maven pom:
<dependency>
<groupId>org.hibernate</groupId>
<ar
- Spark 性能相关参数配置详解-任务调度篇
Stark_Summer
sparkcachecpu任务调度yarn
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。
由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便
- css3滤镜
wangkeheng
htmlcss
经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。
html代码:
<a href='' class='icon'><img src='utv.jpg' /></a>
css代码:
.icon{-webkit-filter: graysc