AXI_STREAM;
void axi_stream_top(AXI_STREAM &inStream, AXI_STREAM &outStream);
#endif
1. template 模板
模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。
c++模板总结https://blog.csdn.net/qq_35637562/article/details/55194097
Template
返回类型 函数名(形参表)
{//函数定义体 }
template是一个声明模板的关键字,在模板定义语法中关键字class与typename的作用完全一样。声明一个模板关键字class不能省略,如果类型形参多余一个 ,每个形参前都要加class <类型 形参表>可以包含基本数据类型也可以包含类类型.
//exmaple
template
T min(T x,T y)
{ return(x
程序分析:main()函数中定义了两个整型变量n1 , n2 两个双精度类型变量d1 , d2然后调用min( n1, n2); 即实例化函数模板T min(T x, T y)其中T为int型,求出n1,n2中的最小值.同理调用min(d1,d2)时,,T为double型,求出d1,d2中的最小值.
类模板的写法
Template < class或者也可以用typename T >
class类名{
//类定义......
};
关于类模板的使用:类模板的使用实际上是将类模板实例化成一个具体的类,它的格式为:类名<实际的类型>
模板可以有类型参数,也可以有常规的类型参数int,也可以有默认模板参数,
当我们要定义模板的不同实现,我们可以使用模板的专门化。例如我们定义的stack类模板,如果是char*类型的栈,我们希望可以复制char的所有数据到stack类中,因为只是保存char指针,char指针指向的内存有可能会失效,stack弹出的堆栈元素char指针,指向的内存可能已经无效了。还有我们定义的swap函数模板,在vector或者list等容器类型时,如果容器保存的对象很大,会占用大量内存,性能下降,因为要产生一个临时的大对象保存a,这些都需要模板的专门化才能解决。
2.#ifndef,防止重复编译
2.1 #ifndef x //先测试x是否被宏定义过
2.2 #define x ... //如果没有宏定义下面就宏定义x并编译下面的语句
2.3 #endif //如果已经定义了则编译#endif后面的语句
条件指示符#ifndef检查预编译常量在前面是否已经被宏定义。如果在前面没有被宏定义,则条件指示符的值为真,于是从#ifndef到#endif之间的所有语句都被包含进来进行编译处理。相反,如果#ifndef指示符的值为假,则它与#endif指示符之间的行将被忽略。条件指示符#ifndef 的最主要目的是防止头文件的重复包含和编译。
3. iostream
iostream 库的基础是两种命名为 istream 和 ostream 的类型,分别表示输入流和输出流。流是指要从某种 IO 设备上读出或写入的字符序列。术语“流”试图说明字符是随着时间顺序生成或消耗的。
标准库定义了 4 个 IO 对象。处理输入时使用命名为 cin(读作 see-in)的 istream 类型对象。这个对象也称为标准输入。处理输出时使用命名为 cout(读作 see-out)的 ostream 类型对象,这个对象也称为标准输出。标准库还定义了另外两个 ostream 对象,分别命名为 cerr 和 clog(分别读作“see-err”和“see-log”)。cerr 对象又叫作标准错误,通常用来输出警告和错误信息给程序的使用者。而 clog 对象用于产生程序执行的一般信息。
因此,当使用时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
>>运算符,用来从一个istream对象读取输入数据;
<<运算符,用来向一个ostream对象写入输出数据;
//iostream example
int test_iostream_cin()
{
char name[50];
std::cout << "Please enter your name: ";
std::cin >> name;
std::cout << "Your name is: " << name << std::endl;
return 0;
}
4. C++中的&
&符号可以用于位与,取址,引用。
4.1 取址&
变量前面加上&即可。
int i = 0 , *pi = &i; //指针pi获得了i的地址
int ** p_pi = π //指针p_pi获得了pi的地址
cout << &i << endl
<< &pi << endl << &p_pi; //可以输出地址
4.2 引用&
引用就是被引变量的另一个名字 , 当改变引用值时 , 被引值也会改变 , 因为它们两就是同一个值 , 另外 , 引用不能脱离对象单独存在 , 引用是依附与对象存在的 , 因为引用在定义后可能被使用 , 所以引用不能是无对象的 , 所以引用在定义时必须初始化。
int i = 0 , &ri = i; //定义并初始化一个引用
ri++; //使i的值加1
//int &ri2; 这里是非法的 , 因为定义了引用ri2却没有初始化它 , 在这行代码和下一行之间可能使用无对象的引用
//ri2 = i;
//int &ri3 = 10;
//错误 , 引用必须有对象 , 常量没有对象int i = 0 , j = 0;
int & ri = i; //合法 , ri是i的引用
ri = j; //合法 , ri是j的引用int i = 0;
int &ri = i , *pi = &i; //前一个&是引用 , 与类型名绑定在一起 , 后一个是取地址
cout << ri << endl; //输出i的值
cout << &i << endl; //输出i的地址
cout << &ri << endl; //输出ri的地址
cout << &pi << endl; //输出pi的地址
为什么要有引用 , 在C++这样一种重视效率的语言里 , 必然需要这样一种类型 , 但我们调用一个函数时 , 就必须把参数全部复制一次 , 这样既浪费时间又浪费空间 , 但当我们把函数列表中的形参改为该类型的引用时 , 编译器就不会把整个对象复制进去 , 而只是把对象的地址传过去 , 这样在函数里使用的就是实参本身了 , 也能够修改它的值。
void reference_test(int &i){ //传入的是引用,不是地址!
cout << i <
主程序解析
//cnn.cpp
#include
#include
#include
#include "parameters.h"
#include "necstream.hpp"
#define REAL float
#define BIT_WIDTH 32
/* DMA constants */
float weights[16*27] = {}
void cnn(FloatStream streamIn, FloatStream streamOut)
{
FloatAxis tmp;
int i, j, k;
int sof = 1;
//DMA buffer and pointers
REAL buf_in[27*600];
REAL buf_out[16*600];
//REAL weights[16*27];
REAL temp, result;
//Load input image data
for (i = 0; i < 27 * 600; i++) {
#pragma HLS PIPELINE II=1
buf_in[i] = streamPop < float, FloatAxis, FloatStream > (streamIn);
}
for (i = 0; i < 16; i++) {
for (j = 0; j < 600; j++) {
result = 0;
for (k = 0; k < 27; k++) {
temp = weights[i*27+k] * buf_in[k*600+j];
result += temp;
}
buf_out[i*600+j] = result;
}
}
for (i = 0; i < 16 * 600; i++) {
//#pragma HLS PIPELINE II=1
FloatAxis d;
d.data = buf_out[i];
if (sof) {
d.user = 1;
sof = 0;
} else {
d.user = 0;
}
if (i == 16*600 - 1)
d.last = 1;
else
d.last = 0;
d.keep = -1;
streamOut << d;
}
}
5.全局变量与局部变量
//example
int a,b; /*外部变量*/
void f1() /*函数f1*/
{
……
}
float x,y; /*外部变量*/
int f2() /*函数f2*/
{
……
}
main() /*主函数*/
{
int maomi();
……
}/*全局变量x,y作用域 全局变量a,b作用域*/
从上例可以看出a、b、x、y 都是在函数外部定义的外部变量,都是全局变量。但x,y 定义在函数f1之后,而在f1内又无对x,y的说明,所以它们在f1内无效。 a,b定义在源程序最前面,因此在f1,f2及main内不加说明也可使用。
全局变量是使用相同的内存块在整个类中存储一个值.
全局变量extern与static:extern在其他源程序中也可以使用;static只能在本程序中使用。
所以程序中的weights算是全局变量,(存储在DMA constants中?)主函数中可以调用。
6. IPcore主函数的核心:输入输出
输入:buf_in[i] = streamPop < float, FloatAxis, FloatStream> (streamIn);
streamPop是个类模板。其中有三个参数,float,FloatAxis,FloatStream
6.1 FloatStream和UIntStream分别表示float和unsigned int类型的数据流。
在necstream.hpp程序中的定义:
typedef my_ap_axis FloatAxis;
typedef my_ap_axis UIntAxis;
typedef hls::stream FloatStream;
typedef hls::stream UIntStream;
6.2 streamPop 是一个函数,它的定义也在necstream.hpp中
template
RET streamPop(STREAM &stream){
RET value;
DATA axisData;
stream >> axisData;
value = axisData.data;
return value;
}
这个函数的的意思就是把单片机送来的stream送给axisData,然后把axisData.data给value,从而实现从单片机中送来的数据读入IPcore。这样看来单片机中的数据不止是数据,有其他的内容,而IPcore中程序需要用的value只是单片机送来的stream中的一部分。
所以相应的template
分别对应streamPop < float, FloatAxis, FloatStream> (streamIn);
主函数后面的参数(streamIn)对应于模板里面RET streamPop(STREAM &stream)中的(STREAM &stream)
6.3 输入和输出中,IPcore需要用于运算的数据仅仅是数据data,而与单片机通信的是stream,stream中包括data,但比data多一些其他的内容。
输出时,除了相应的d.data是需要的数据外,多一个d.user和d.last,这个在数据流之中,意思是当d.user为1时意思是数据流的开始,d.last为1时表示数据流的结束。
6.4 具体的输入输出流操作
输入输出参见上面3
>>运算符,用来从一个istream对象读取输入数据;
<<运算符,用来向一个ostream对象写入输出数据;
6.4.1 数据传入中,用streamPop函数来向IPcore传数据,stream>>axisData
template
RET streamPop(STREAM &stream){
RET value;
DATA axisData;
stream >> axisData;
value = axisData.data;
return value;
}
6.4.2 数据传出中,加一个d.user和d.last之后,直接<<,把数据传给输出流streamOut
FloatAxis d;
d.data = buf_out[i];//定义d.data
//定义d.user和d.last和d.keep
streamOut << d;
你可能感兴趣的:(c/c++,FPGA)
10倍速开发!飞算JavaAI实战:5分钟生成SpringCloud完整工程
LCG元
工具 Python 深度学习 人工智能 spring cloud spring 后端
目录一、颠覆性架构设计二、5分钟生成实战步骤1:定义服务架构(YAML配置)步骤2:执行AI生成命令(Python驱动)步骤3:验证生成结果(终端操作)三、双流程图解析横向对比:传统开发vsAI生成纵向核心流程四、量化性能对比五、生产级部署方案安全审计实现高可用部署架构六、技术前瞻性分析七、附录:完整技术图谱传统SpringCloud工程搭建平均耗时8小时,而使用飞算JavaAI只需5分钟,开发效
[OC]C++计算e(自然常数)
OC溥哥999
C++懒人套餐 算法 开发语言 c++
自然常数,符号e,为数学中一个常数,是一个无限不循环小数,且为超越数,其值约为2.718281828459045。它是自然对数函数的底数。有时称它为欧拉数(Eulernumber),以瑞士数学家欧拉命名;也有个较鲜见的名字纳皮尔常数,以纪念苏格兰数学家约翰·纳皮尔(JohnNapier)引进对数。它就像圆周率π和虚数单位i,是数学中最重要的常数之一。摘自秒懂百科计算方式一:e=1/0!+1/1!+
【学习笔记】jvm
liu1251303815
学习 笔记 jvm
1、jvm基础1.1什么是jvm?jvm是一种规范。jvm是一种什么样的规范?具体实现:hotspot2classFileFormat3:类加载-初始化3.1、loading加载class文件到内存中3.1.1引起类加载的情况new对象时调用静态属性,静态方法时。(访问staticfinal变量除外staticfinal修饰的是基本数据类型,或者字符串类型时,会替换为常量。比如有一个类A{stat
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
方法1:使用HttpClient(异步,推荐)csharpusingSystem;usingSystem.IO;usingSystem.Net.Http;usingSystem.Threading.Tasks;classFileDownloader{publicstaticasyncTaskDownloadFileAsync(stringurl,stringlocalFilePath){using
Flutter基础(ListView.builder)
ListView.builder最基本的形式需要两个参数:itemCount:列表项的总数。itemBuilder:一个回调函数,用于构建每个列表项。ListView.builder(itemCount:10,//列表项总数(这里是10个)itemBuilder:(context,index){//返回一个Widget作为列表项returnListTile(title:Text('项目$index
【Agent实战】用“前置编码器+LLM”复刻ChatGPT附件功能
kakaZhui
大模型Agent入门与代码实战 chatgpt 人工智能 LLM Agent AIGC DeepSeek
1.引言:多模态LLM解耦原生多模态LLM将多种模态的处理能力“内化”于一个庞大的模型中,是技术的前沿。而我们这里讨论的“前置编码器+LLM”方案,则是一种解耦的设计哲学:LLM专注于语言:让强大的文本LLM继续做它最擅长的事情——理解和生成高质量的文本、进行逻辑推理和遵循复杂指令。前置编码器专注于转换:为每种文件类型构建或调用专门的、最优的工具(模型或库)来将其转换为高质量的文本表示。这种方案的
C#基础笔记
gmf532196
C# CLR c# 数据库
普通方法中获取类名:this.GetType().Name静态方法中获取类名:MethodBase.GetCurrentMethod().ReflectedType.Name1.获取当前执行方法的类名:System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name;2.获取当前成员的名称:MethodBase.GetCurren
(转载)Box2D v2.3.0 用户手册中文版(第1章)-导言
Chapter1导言1.1关于Box2D是一个用于游戏的2D刚体仿真库。程序员可以在他们的游戏里使用它,它可以使物体的运动更加真实,并让游戏世界看起来更具交互性。从游戏引擎的视角来看,物理引擎就是一个程序性动画(proceduralanimation)的系统。(译注:做动画常有两种方法,一种是预先准备好动画所需的数据,比如图片,再一帧一帧地播放。另一种是以一定方法,动态计算出动画所需的数据,根据数
计算机网络深度解析:HTTPS协议架构与安全机制全揭秘(2025演进版)
知识产权13937636601
计算机 计算机网络 https 架构
摘要2025年全球HTTPS流量占比达99.7%(W3Techs数据),本文系统剖析HTTPS协议的技术演进与安全机制。从加密算法体系(国密SM2/3/4vsRSA/ECC)、TLS1.3协议超时优化、后量子密码迁移路径三大突破切入,结合OpenSSL3.2、BoringSSL实战案例,详解协议握手时延降低80%的底层逻辑,并首次公开混合加密、证书透明度、密钥交换攻击防御等关键工程部署策略,为开发
【SpringBoot】深度解析 Spring Boot 拦截器:实现统一功能处理的关键路径
GGBondlctrl
SpringBoot spring boot java 后端 拦截器
前言本期讲解关于拦截器的详细介绍~~~感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客你的点赞就是小编不断更新的最大动力那么废话不多说直接开整吧~~目录️1.拦截器1.1拦截器快速入门1.⾃定义拦截器2.配置拦截器1.2拦截器的详解1.拦截路径2.拦截器执行流程1.3登录校验1.定义拦截器2.配置拦截器️2.总结️1.拦截器强制登录的功能,后端程序根据Session来判断⽤⼾是否
C# 的DllImport
CHANGHAI1982
编程交流 C# c# api winapi dll .net google
最近在读《编程之美》,打算用C#实现其中一个题目,就是如何控制CPU的使用率在50%,使得在资源管理器中CPU利用率维持在一条直线。单核的还容易办到,但是现在的机器一般都是多核的,这样就需要调用Win32APISetThreadAffinityMask来给线程制定CPU去执行。但这个API只能在C++调用,那么在C#里如何调用呢?更进一步,就是在C#里为什么没有全部的WIN32API可以调用呢?有
JVM GC学习记录
不会吃萝卜的兔子
JVM GC jvm 学习 java GC
垃圾标记算法:引用计数:解决不了垃圾对象循环引用问题。root扫描(可达性分析):从根对象(线程、main函数、静态变量、常量)扫描。三色标记:黑:其下所有子树,引用均被标记完成,是存活的最终状态。灰:其下所有子树,但引用的对象尚未完全检查,是存活的过渡状态。白:对象未被标记,默认初始状态,标记结束后仍为白色的对象将被回收。标记时会STW扫描根节点,然后标记线程与业务线程并行存在;会产生情况2,业
大规模分布式数据库读写分离架构:一致性、可用性与性能的权衡实践
目录1引言:数据库架构的核心三角2原创架构设计2.1读写分离系统架构2.2读写核心流程3企业级实现代码3.1Python路由服务核心代码3.2TypeScript复制状态监控3.3Kubernetes部署YAML示例4性能对比量化分析5生产级部署与安全方案5.1高可用部署架构5.2安全审计方案6技术前瞻性分析6.1演进路线图6.2关键趋势解读7附录:完整技术图谱结论1引言:数据库架构的核心三角在大
C++2d我的世界V1.4
OC溥哥999
Paper Minecraft c++ 单片机 stm32
源代码#include#include//#include//联机可能会用到#include#include#definekey(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)usingnamespacestd;intworld[301][601];intgrass[601];intx,y;intseed;intfps=100,render
C#基础(DllImport)
aaiier
C# c# 开发语言
♂️1.什么是DllImport?一句话解释:DllImport是C#的“借书证”,用来借Windows系统自带的“魔法工具”(比如弹出消息框、播放声音)。2.超简单三步魔法!✅第一步:告诉电脑你要借谁的魔法usingSystem.Runtime.InteropServices;//先拿好“借书证”✅第二步:写下魔法咒语(DllImport)[DllImport("kernel32.dll")]
ChatGPT、DeepSeek等大语言模型技术教程
随着人工智能技术的快速发展,大语言模型如ChatGPT和DeepSeek在科研领域的应用正在为科研人员提供强大的支持。这些模型通过深度学习和大规模语料库训练,能够帮助科研人员高效地筛选文献、生成论文内容、进行数据分析和优化机器学习模型。ChatGPT和DeepSeek能够快速理解和生成复杂的语言,帮助研究人员在撰写论文时提高效率,不仅生成高质量的文章内容,还能优化论文结构和语言表达。在数据分析方面
处理私有方法模拟的深度解析
悟能不能悟
servlet
核心问题分析模拟私有方法的挑战在于:测试框架无法直接访问私有方法通过反射强制访问会破坏封装性暴力修改方法可见性不是良好实践需要保持测试代码的健壮性推荐解决方案方案一:重构代码(最佳实践)这是最推荐的方式,通过重构代码改善设计://重构前:包含私有方法的类publicclassA{publicStringa(){returnprocessResult(b());}privateStringb(){/
react+antd Table实现列拖拽,列拉宽,自定义拉宽列
搬砖的小编
react.js javascript 前端
主要插件Resizable,dnd-kit/core,dnd-kit/sortable,dnd-kit/modifiers其中官网有列拖拽,主要结合Resizable实现列拉宽,isResizingRef很重要防止拖拽相互影响1.修改TableHeaderCellconstisResizingRef=useRef(false);constTableHeaderCell=props=>{const{
synchronized的介绍与使用
骑牛小道士
java
synchronizedsynchronized的介绍synchronized的使用方式修饰实例方法修饰静态方法修饰代码块synchronized底层实现原理synchronized关键特性synchronized注意事项synchronized经典使用样例懒加载单例模式的双重检查锁生产者-消费者模型synchronized的介绍在多个线程执行任务时候,会存在资源竞争和数据不一致问题资源竞争:比如
【基于C# + HALCON的工业视系统开发实战】十七、航空级精度!涡轮叶片三维型面检测:激光扫描与CAD模型比对技术
AI_DL_CODE
c# halcon 三维检测 涡轮叶片 点云配准 型面偏差 激光扫描
摘要:涡轮叶片是航空发动机的核心部件,其型面精度直接影响发动机效率与安全性。传统三坐标测量存在效率低(单叶片需40分钟)、覆盖率不足(仅检测关键截面)等问题。本文基于C#.NETCore6与HALCON24.11,构建三维型面检测系统:通过激光线扫描(每秒2000线)获取百万级点云,经MLS滤波降噪(保留0.03mm细节)与快速采样(0.1mm间隔)优化数据;采用ICP算法实现点云与CAD模型配准
EventBridge精准之道:CloudTrail事件 vs. 服务原生事件,我该如何选?
运维开发王义杰
aws 系统运维 aws 运维
当我们深入使用AWSEventBridge时,常常会发现一个有趣的现象:对于同一个操作(比如启动一个EC2实例),EventBridge中似乎会出现两种事件。一种来自CloudTrail,记录了API调用的行为;另一种则直接来自EC2服务本身,描述了实例状态的变化。这引出了一个至关重要的问题:在创建EventBridge规则时,我应该监听哪一种?它们有什么区别?{"source":[{"prefi
基于Vue.js的图书管理系统前端界面设计的javascript逻辑部分
前文,我们实现了一个使用Vue3构建的图书管理系统的html部分,接下来我们看一下JavaScript逻辑部分。html部分以及整个系统的完整代码可以查看我的文章:基于Vue.js的图书管理系统前端界面设计-CSDN博客一、Vue3简介Vue3是渐进式JavaScript框架Vue.js的第三个主要版本,它延续了Vue易于上手、灵活性高和高效的特点,并在性能、可维护性和开发体验上进行了显著提升。(
主动防御的原理和架构
hao_wujing
安全
大家读完觉得有帮助记得关注和点赞!!!主动防御(ActiveDefense)是一种**通过动态欺骗、攻击反制、环境感知等手段,主动扰乱攻击者认知、消耗其资源并实现威胁狩猎的防御范式**。其核心在于从“被动防护”转向“攻防博弈”,利用攻击者的行为特征实施精准反制。以下是基于2025年技术演进的原理与架构深度解析:---###⚙️一、主动防御的三大核心原理####**1.攻击者认知干扰(Decepti
开发工具idea的安装
不想看到爱新觉罗·胤禩
intellij-idea java ide
1.下载官网:https://www.jetbrains.com/下载网址:https://www.jetbrains.com/idea/download/?section=windows2.安装新安装的idea,启动后,需要进行注册,这里我们可以在后面进行破解:IDEA破解方法1.先退出idea2.破解方法1网址:https://www.exception.site/essay/idea-res
C++协程的高性能并发编程的技巧指南
广州山泉婚姻
c++
一、理解C++协程基础协程是一种比线程更轻量级的执行单元,它允许函数在执行过程中暂停和恢复,而不需要像线程那样进行复杂的上下文切换。在C++中,协程通过co_await、co_yield和co_return三个关键字实现。co_await用于等待某个异步操作完成,当操作未完成时,协程会暂停执行,释放CPU资源,直到操作完成后再恢复执行。co_yield则常用于生成器模式,在迭代过程中暂停并返回中间
双核架构 + 超强性能,AMD Venice成新一代服务器CPU“核“武器!
古猫先生
GPU智算 CPU 架构 服务器 云计算
随着数据中心算力需求向"核海战术"演进,“AMDAdvancingAI2025”大会上披露第六代EPYC9006"Venice"处理器架构细节,揭示了x86服务器CPU的下一个技术奇点。这款基于Zen6微架构的旗舰产品首次实现256核Zen6c高密度核心配置,结合台积电2nm工艺与先进封装技术,正以"算力密度革命"回应英特尔DiamondRapids等竞品的挑战。以下从架构创新、技术实现与市场影响
AI大模型的2种模型能力Function call 和ReAct
DeepSeek-大模型系统教程
人工智能 react.js 前端 git ai 语言模型
近年来,随着AI大模型的快速发展,如何让这些模型更好地与现实世界交互成为了一个重要课题。FunctionCall和ReAct作为两种重要的模型能力,为大模型提供了更强大的工具调用和任务执行能力。我们将深入探讨这两种能力的背景、原理、应用场景以及它们之间的对比。帮助你深入了解他们的价值。01背景介绍AI大模型(如GPT-4、PaLM等)在自然语言处理、文本生成等任务中表现出色,但它们的能力往往局限于
主流视频流格式及 Vue3 实现方案
玛卡巴卡半夜不睡觉
html5 前端 vue.js
1.HLS(HTTPLiveStreaming)技术原理:基于HTTP的流媒体协议,使用.m3u8索引文件+.ts分片文件。特点:高兼容性(尤其iOS)、10+秒延迟、支持自适应码率。Vue3实现(video.js):npminstallvideo.jsvideojs-contrib-hlsimport{ref,onMounted,onUnmounted}from'vue';importvideo
github上传代码步骤
gitstatus//查看状态gitinit//初始化仓库gitadd.(文件name)//添加文件到本地仓库gitcommit-m“注释”//添加文件描述信息gitremoteaddorigin+远程仓库地址//链接远程仓库,创建主分支gitpulloriginmaster//把本地仓库的变化连接到远程仓库主分支gitpush-uoriginmaster//把本地仓库的文件推送到远程仓库如果确保
contenteditable网页富文本编辑无法选中图片
专注VB编程开发20年
前端 javascript html5
在contenteditable的编辑区中,图片()默认无法直接通过鼠标点击选中,这是由其底层实现机制决定的。核心原因和解决方法如下:原因分析焦点机制的差异contenteditable区域的光标(Selection)默认聚焦在文本节点上。当区域包含非文本元素(如图片)时,浏览器不会自动将这些元素视为可被光标直接捕获的“可编辑单元”34。点击图片时,光标实际落在图片相邻的文本位置而非图
JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm 字节码 Class文件 StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
[时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery 开发 插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
RSA加密解密
无量
加密 解密 rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
linux 软件安装遇到的问题
aichenglong
linux 遇到的问题 ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
探索JUnit4扩展:深入Rule
bijian1013
JUnit Rule 单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
[CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
java netty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
mysql 在linux客户端插入数据中文乱码
daizj
mysql 中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
好代码是廉价的代码
dcj3sjt126com
程序员 读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化 Oracle sql语句优化 SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android 移动开发 滑动机制 嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
使用hovertree菜单作为后台导航
hvt
JavaScript jquery .net hovertree asp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
一个简单的队列
luyulong
java 数据结构 队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
项目出现的一些问题和体会
Steven-Walker
DAO Web servlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,