通过new创建对象,是驻留在堆区还是栈区

C++ primer plus中提到通过new创建对象,是驻留栈区,如图所示,但new分配内存不是在堆区的吗,求解!图片

c++

4个回答

找到了英文原版。。

图片说明

new肯定是分配在堆上的。

果然看译本要小心,一不小心就入坑了,多谢大神找原版

new肯定是分配在堆上,相应地使用完一定要delete

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
BufferedReader与BufferedWriter流这样用不关闭会一直驻留在内存中吗
下面是代码部分: ``` public static void count() throws IOException { Properties prop = new Properties(); File file = new File("app.ini"); if (!file.exists()) file.createNewFile(); prop.load(new BufferedReader(new FileReader(file))); int count = 0; String appRunCount = prop.getProperty("appruncount"); if (appRunCount != null) { count = Integer.parseInt(appRunCount); if (count >= 5) { System.out.println("试用次数超过限制,请注册后使用"); return; } } count++; prop.setProperty("appruncount", count + ""); prop.store(new BufferedWriter(new FileWriter(file)), ""); } ``` 请问在我这段代码里,BufferedReader与BufferedWriter流不显示的去关闭会占用内存吗?由于匿名对象使用方便就这么写了,但是我又怕不关闭流占用内存。其实我想问的是程序会自动的帮我关闭这两个流吗?或者说匿名对象用完之后自动释放不会占用内存呢?
对于目前第三方推送后台驻留问题如何解决
目前推送消息的第三方推送服务都难以后台驻留,特别是华为和小米,清理后台直接把Push服务清理掉了关掉app就无法接收到推送服务了。 使用Jobservice拉起Push服务,华为的6.0的机子只执行JobService 只有StartJob有反应 TAT 并没有执行StopJob(),结束进程时似乎同时清空Job 调度,具体原因不了解。 其余机子如Flyme 5.1 API 21以上的 可以使用JobService 调度进行Push服务拉起保活..
不知道CPU使用率变高和IO等待时间变长有关系吗?
根据 cpu使用率 = 1-p^n P: 进程等待IO时间/进程驻留内存时间 问题1: 这里的等待IO时间是 iostat 命令中 %iowait 项吗? 问题2: 进程驻留内存时间怎么查看?
求助大家:操作系统kernel启动完成后,BIOS和引导程序的装态问题。
比如,linux kernel已经启动完成,此时,BIOS和引导程序是分别处于什么状态?是仍然驻留在内存中运行,还是所占用的内存被回收了? kernel又是如何知道BIOS和引导程序所使用的内存信息的?
一个写操作的事务过长怎么处理?
项目中通常将事务加在service层,如果一个写操作过长,驶入驻留的时间过长,怎么处理?
新手请教下如何实现基于国密sm2/sm3算法的SSL认证?
现在要做一个网关系统,客户端(windows系统)设一个驻留程序,可以和服务端(linux服务器)进行SSL通讯。 当客户端的应用(浏览器或其他client程序)发起登录认证、加密、签名等请求操作时,驻留程序接收到该请求,和服务端进行基于国密SM2/SM3的SSL通讯,服务端完成相应业务操作后,由驻留程序最终将服务端返回的结果送回浏览器或其他client程序。 请教下: 1、如何在原有的无SSL模块的网关系统中,集成进去 基于国密SM2/SM3的SSL模块? 2、基于国密SM2/SM3的SSL模块,有现成的开源代码吗? 谢谢谢谢! ps:如果有c的实现就更好了。
VC程序编写,可以调试但不能直接运行……
// LOL信息系统2 V1.6 最终版 #include "stdio.h" #include "string.h" #include "stdlib.h" #include "dos.h" #define Length sizeof(struct Lol) //****************************结构体********************************** struct Lol { char Number[15]; char Area[50]; char Name[50]; char Grading[50]; int Level; int Battle; }; //**************************打开文件,返回当前长度************************************* int Readfile(struct Lol *p) { FILE *fp; int n=0,i; struct Lol *t; //临时储存 t=malloc(Length); if ((fp=fopen("data.dat","rb"))==NULL) { printf("打开文件失败,或者不存在此文件,请新建后再运行。"); exit(0); } while (!feof(fp)) { fread((t+n),Length,1,fp); n++; } n=n-1; for (i=0;i<n;i++) { *(p+i)=*(t+i); } return n; fclose(fp); } //***************************保存数据*********************************** void Savefile(struct Lol *p,int *n) { FILE *fp; int i; if ((fp=fopen("data.dat","wb"))==NULL) { printf(" 保存文件失败。"); exit(0); } for (i=0;i<*n;i++) fwrite(p+i,Length,1,fp); fclose(fp); } //***************************输入函数*********************************** void Number(struct Lol *t) { printf("\n ———————————————————————\n"); printf(" 你的学号是:"); gets(t->Number); } void Name(struct Lol *t) { printf("\n ———————————————————————\n"); printf(" 你的游戏名是:"); gets(t->Name); } void Area(struct Lol *t) { printf("\n ———————————————————————\n"); printf(" 你的游戏大区是:"); gets(t->Area); } void Level(struct Lol *t) { printf("\n ———————————————————————\n"); printf(" 你的等级是:"); scanf("%d",&t->Level); getchar(); } void Battle(struct Lol *t) { printf("\n ———————————————————————\n"); printf(" 你的战斗力是:"); scanf("%d",&t->Battle); getchar(); } void Grading(struct Lol *t) { printf(" ———————————————————————\n"); printf(" 你的段位是:"); gets(t->Grading); } //***************************输出函数*********************************** void Output(struct Lol *p) { printf(" 你的学号是:%s\n",p->Number); printf(" 你的游戏名是:%s\n",p->Name); printf(" 你的游戏大区是:%s\n",p->Area); printf(" 你的等级是:%d\n",p->Level); printf(" 你的战斗力是:%d\n",p->Battle); printf(" 你的段位是:%s\n",p->Grading); } //****************************驻留**************************************** void Stay() { printf(" ———————————————————————\n"); printf(" 查看完毕请按回车键继续。"); getchar(); system("cls"); } //****************************注册**************************************** void Register(struct Lol *p,int *n) { int Choose; struct Lol *t; //临时储存 t=malloc(Length); R: system("cls"); printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" 注册信息填写\n"); Number(t); Name(t); Area(t); Level(t); Battle(t); Grading(t); printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" ==>1.确认信息\n ==>2.重新输入\n ==>3.放弃返回\n "); printf("你的选择是:"); scanf("%d",&Choose); getchar(); switch (Choose) { case 1:*(p+*n)=*t;(*n)++;printf(" 注册成功!按回车键返回。");getchar();system("cls");break; case 2:goto R; case 3:system("cls");break; } } //****************************浏览**************************************** void View(struct Lol *p,int *n) { int i; system("cls"); for (i=0;i<*n;i++) { printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); Output(p+i); } Stay(); } //****************************↓匹配函数**************************************** void CheckNumber(char String[30],struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (strcmp(String,(p+i)->Number)==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } void CheckName(char String[30],struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (strcmp(String,(p+i)->Name)==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } void CheckArea(char String[30],struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (strcmp(String,(p+i)->Area)==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } void CheckLevel(int x,struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (x-((p+i)->Level)==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } void CheckBattle(int x,struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (x-(p+i)->Battle==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } void CheckGrading(char String[30],struct Lol *p,int n) { int i,label=0; for (i=0;i<n;i++) { if (strcmp(String,(p+i)->Grading)==0) { if (label==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); } printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; printf(" ———————————————————————\n"); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n"); else printf(" 查询完毕,共找到%d个对象。\n",label); } //****************************查询**************************************** void Find(struct Lol *p,int *n) { int Choose,x; char String[30]; y: system("cls"); printf(" ———————————————————————\n"); printf(" 你想什么方式查找信息:\n"); printf(" ———————————————————————\n"); printf(" 1.以学号查找个人\n 2.以游戏名查找个人\n 3.以大区信息查找\n 4.以等级查找\n 5.以战斗力查找\n 6.以段位查找\n 7.退出查找\n"); printf(" ———————————————————————\n "); printf("你的选择是:"); scanf("%d",&Choose); getchar(); switch (Choose) { case 1: printf(" 请输入学号:");gets(String);CheckNumber(String,p,*n);printf("\n");Stay();goto y; case 2: printf(" 请输入游戏名:");gets(String);CheckName(String,p,*n);printf("\n");Stay();goto y; case 3: printf(" 请输入大区:");gets(String);CheckArea(String,p,*n);printf("\n");Stay();goto y; case 4: printf(" 请输入等级:");scanf("%d",&x);;CheckLevel(x,p,*n);printf("\n");Stay();goto y; case 5: printf(" 请输入战斗力:");scanf("%d",&x);CheckBattle(x,p,*n);printf("\n");Stay();goto y; case 6: printf(" 请输入段位:");gets(String);CheckGrading(String,p,*n);printf("\n");Stay();goto y; case 7: system("cls");break; } } //****************************删改函数**************************************** void Delete(struct Lol *p,int i,int *n) { int j; struct Lol *t; t=p; { for (j=i;j<*(n-1);i++) { *(p+j)=*(t+j+1); } *n=*n-1; } } void ChangeData(struct Lol *p,int i,int *n) { int Choose1,Choose2; struct Lol *t; //临时储存 t=p+i; printf("\n ———————————————————————\n"); printf(" 更新信息填写,你要更新的信息是:\n"); printf("\n ———————————————————————\n"); printf(" 1.更改学号 2.更改姓名 3.更改大区\n 4.更新等级 5.更新战斗力 6.更新段位\n 7.删除本信息 0.放弃并返回\n "); printf("你的选择是:"); scanf("%d",&Choose1); getchar(); R: system("cls"); switch (Choose1) { case 1:Number(t);break; case 2:Name(t);break; case 3:Area(t);break; case 4:Level(t);break; case 5:Battle(t);break; case 6:Grading(t);break; case 7:break; case 0:break; } if (Choose1!=7 && Choose1!=0) { printf(" ———————————————————————\n"); printf(" 1.确认更新信息\n 2.重新输入\n 3.放弃更新\n "); printf("你的选择是:"); scanf(" %d",&Choose2); getchar(); switch (Choose2) { case 1:system("cls");*(p+i)=*t;printf("\n ———————————————————————\n");printf(" 更新后的信息:\n");Output(p+i);Stay();break; case 2:goto R; case 3:system("cls");break; } } else if (Choose1==7) { printf("\n ———————————————————————\n"); printf(" 1.确认删除此信息\n 2.放弃删除\n "); printf("你的选择是:"); scanf("%d",&Choose2); getchar(); switch (Choose2) { case 1:Delete(p,i,n);break; case 2:break; } } } void ChangeNumber(char String[30],struct Lol *p,int *n) { int i,label=0; for (i=0;i<*n;i++) { if (strcmp(String,(p+i)->Number)==0) { system("cls"); printf(" ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf(" ———————————————————————\n"); printf(" 学号:%s\n",(p+i)->Number); printf(" 游戏名:%s\n",(p+i)->Name); printf(" 游戏大区:%s\n",(p+i)->Area); printf(" 等级:%d\n",(p+i)->Level); printf(" 战斗力:%d\n",(p+i)->Battle); printf(" 段位:%s\n",(p+i)->Grading); label++; ChangeData(p,i,n); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n "); } void ChangeName(char String[30],struct Lol *p,int *n) { int i,label=0; for (i=0;i<*n;i++) { if (strcmp(String,(p+i)->Name)==0) { system("cls"); printf("\n ———————————————————————\n"); printf(" 找到匹配对象:\n"); printf("\n ———————————————————————\n"); printf(" 学号:%s\n",(p+i)->Number); printf("\n ———————————————————————\n"); printf(" 游戏名:%s\n",(p+i)->Name); printf("\n ———————————————————————\n"); printf(" 游戏大区:%s\n",(p+i)->Area); printf("\n ———————————————————————\n"); printf(" 等级:%d\n",(p+i)->Level); printf("\n ———————————————————————\n"); printf(" 战斗力:%d\n",(p+i)->Battle); printf("\n ———————————————————————\n"); printf(" 段位:%s\n",(p+i)->Grading); label++; ChangeData(p,i,n); } } if (label==0) printf(" 查询完毕,未找到匹配对象。\n "); } //****************************删改**************************************** void Change(struct Lol *p,int *n) { int Choose,i,j,x; char String[30]; y: system("cls"); printf("\n ———————————————————————\n"); printf(" 你想修改或删除的信息:\n"); printf("\n ———————————————————————\n"); printf(" 1.以学号查找\n 2.以游戏名查找\n 3.退出修改\n "); printf("你的选择是:"); scanf("%d",&Choose); getchar(); switch (Choose) { case 1: printf(" ———————————————————————\n");printf(" 请输入学号:");gets(String);ChangeNumber(String,p,n);printf("\n ");goto y; case 2: printf(" ———————————————————————\n");printf(" 请输入游戏名:");gets(String);ChangeName(String,p,n);printf("\n ");goto y; case 3: system("cls");break; } } //****************************排行**************************************** void Rank(struct Lol *p,int *n) { int *t,temp,i,j; t=malloc(10); for (i=0;i<*n;i++) *(t+i)=i; system("cls"); for (i=0;i<*n-1;i++) { for (j=i+1;j<*n;j++) { /* if ((p+*(t+i))->Battle<(p+*(t+j))->Battle) { temp=*(t+i); *(t+i)=*(t+j); *(t+j)=temp; } */ if (strcmp((p+*(t+i))->Number,(p+*(t+j))->Number)<0) { temp=*(t+i); *(t+i)=*(t+j); *(t+j)=temp; } } } printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" 所有注册者的战斗力排名信息:\n"); printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n\n"); for (i=0;i<*n;i++) { printf(" ——————————NO.%d———————————\n",i+1); printf(" 学号:%s\n",(p+*(t+i))->Number); printf(" 游戏名:%s\n",(p+*(t+i))->Name); printf(" 游戏大区:%s\n",(p+*(t+i))->Area); printf(" 等级:%d\n",(p+*(t+i))->Level); printf(" 战斗力:%d\n",(p+*(t+i))->Battle); printf(" 段位:%s\n",(p+*(t+i))->Grading); printf("\n"); } Stay(); } //****************************主函数**************************************** void main() { int *n,i,Choose; struct Lol *p; p=malloc(Length); n=malloc(10); *n=Readfile(p); x: printf(" 欢迎使用张楠的英雄联盟信息登记系统。\n"); printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" ≡≡ ≡≡ ≡≡\n"); printf(" ≡≡ 1.注册信息 ≡≡ 2.删改信息 ≡≡\n"); printf(" ≡≡ ≡≡ ≡≡\n"); printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" ≡≡ 3.查询信息 ≡≡ 4.战力排行 ≡≡\n"); printf(" ≡≡ ≡≡ ≡≡\n"); printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf(" ≡≡ 5.浏览全部 ≡≡ 6.退出系统 ≡≡\n"); printf(" ≡≡ ≡≡ ≡≡\n"); printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n"); printf("\n\n 请输入您的选择:"); scanf("%d",&Choose); getchar(); switch (Choose) { case 1:Register(p,n);goto x; case 2:Change(p,n);goto x; case 3:Find(p,n);goto x; case 4:Rank(p,n);goto x; case 5:View(p,n);goto x; case 6:printf(" 感谢您使用本系统!\n ");Savefile(p,n);exit(0); } Savefile(p,n); } 求大神看看谢谢……
这段代码有哪里会引起RuntimeError的地方么
我在本地测试没出过问题,但是放到oj系统上就runtime error,错误代码11。 应该是访问到未定义的内存,可是我查了好久都没找到哪里越界了,求指教 ``` #include <cstdio> #define Length 1600050 struct StacketNode { int data; StacketNode* next; }; class Stacket { private: int _size; StacketNode* Bottom; StacketNode* Top; public: Stacket(); ~Stacket(); void Push(int tra); int Pop(); int GetTop(); private: }; Stacket::Stacket() { Bottom = new StacketNode(); Bottom->data = 0; Top = Bottom; _size = 0; } void Stacket::Push(int tra) { StacketNode* temp = new StacketNode(); temp->data = tra; temp->next = Top; Top = temp; _size++; return; } int Stacket::Pop() { StacketNode* temp; int temint; temp = Top; temint = temp->data; Top = Top->next; Top->next; delete temp; _size--; return temint; } int Stacket::GetTop() { return Top->data; } int main() { int n = 0, m = 0, b = 0, t = 0; int trains[Length]; bool Isfeasible = true; scanf("%d %d",&n,&m); int Seq[Length]; Stacket* A = new Stacket(); Stacket* B = new Stacket(); for (int i = 0; i < n; i++) { scanf("%d", &trains[i]); A->Push(n-i); } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (B->GetTop() == trains[i]) { B->Pop(); Seq[t++] = 1; b--; break; } else if(A->GetTop() == 0) { Isfeasible = false; break; } else { if (++b <= m) { B->Push(A->Pop()); Seq[t++] = 0; } else { Isfeasible = false; break; } } if (Isfeasible == false) break; } } if (Isfeasible == false) printf("No\n"); else { for (int i = 0; i < t; i++) { switch (Seq[i]) { case 0: printf("push\n"); break; case 1: printf("pop\n"); } } } return 0; } ``` 补充OJ问题: > 描述 某列车调度站的铁道联接结构如Figure 1所示。 其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S的容量有限,同时驻留的车厢不得超过m节。 设某列车由编号依次为{1, 2, ..., n}的n节车厢组成。调度员希望知道,按照以上交通规则,这些车厢能否以{a1, a2, ..., an}的次序,重新排列后从B端驶出。如果可行,应该以怎样 的次序操作? 输入 共两行。 第一行为两个整数n,m。 第二行为以空格分隔的n个整数,保证为{1, 2, ..., n}的一个排列,表示待判断可行性的驶出序列{a1,a2,...,an}。 输出 若驶出序列可行,则输出操作序列,其中push表示车厢从A进入S,pop表示车厢从S进入B,每个操作占一行。 若不可行,则输出No。 样例 见英文题面 限制 1 ≤ n ≤ 1,600,000 0 ≤ m ≤ 1,600,000 时间:2 sec 空间:256 MB Example 1 Input 5 2 1 2 3 5 4 Output push pop push pop push pop push push pop pop Example 2 Input 5 5 3 1 2 4 5 Output No
在屏幕上弹出或隐去系统时间
要求使用程序驻留内存的方法,在图形模式下的屏幕右上角“弹出”一个系统时钟窗口,显示当前系统时间的时、分、秒值。如果 不想显示,则只要同时按下左SHIFT键和右SHIFT键,然后再按ENTER键,此时窗口关闭。若再想看,需再次同时按下左SHIFT键和右SHIFT键。 提示:使用INT 16H的2号功能 ,键盘硬件中断INT 9H和定时软中断INT 1CH等。
汇编中接管16H使得输入A显示B,输入B显示A并驻留内存,不知道怎么老报cpu错误
.386 DATA SEGMENT DATA ENDS STACK SEGMENT USE16 STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT USE16 ASSUME DS:DATA,CS:CODE,SS:STACK OLD_INT DW ?,? NEW16H: CALL DWORD PTR OLD_INT CMP AL,41H JZ L1 CMP AL,42H JZ L2 JMP L3 L1: MOV AL,42H JMP L3 L2: MOV AL,41H L3: IRET START: XOR AX,AX MOV DS,AX MOV AX,DS:[16H*4] MOV OLD_INT,AX MOV AX,DS:[16H*4+2] MOV OLD_INT+2,AX CLI MOV WORD PTR DS:[16H*4],OFFSET NEW16H MOV DS:[16H*4+2],CS STI MOV AH,0 INT 16H MOV DX,OFFSET START+15 SHR DX,4 ADD DX,10H MOV AL,0 MOV AH,31H INT 21H MOV AH,4CH INT 21H CODE ENDS END START
java 应用长时间运行效率低
目前接手一个java做的定时读取日志,大量计算后会生成报表,日志文件数量在稳定在2000个,目前的问题就是软件运行第一天生成报表总耗时2:30小时,第二天总耗时3:20小时,第三天总耗时4:21小时,第四天总耗时5:08小时,第五天总耗时6:09小时,一直到几天后的22:33小时,然后时间大于一天后,新一天的报告就开始运行了,这样报告就一直不会生成了, 请教下应该从哪些方面去确定耗时的问题?现在头比较大,没有方向~ 注:服务器配置比较低,内存4G 系统server 2014,数据库SQLserver 2014 今天看最近一段时间的日志发现一个现象 : 2017-02-18 Thread-5 2017-02-19 Thread-7 2017-02-20 Thread-9 2017-02-21 Thread-11 2017-02-22 Thread-13 2017-02-23 Thread-17 2017-02-24 Thread-19 2017-02-25 Thread-21 2017-02-26 Thread-23 2017-02-27 Thread-25 2017-02-28 Thread-27 2017-03-01 Thread-29 2017-03-02 Thread-31 2017-03-03 Thread-33 2017-03-04 Thread-35 请教一下,会不会是每天启动新的任务,前一天的任务还驻留在内存中,没有被释放?
关于react事件系统的一些疑问,求react大神解答
看react的源码时,发现react事件系统的设计有一点不太明白。 最初发现react把所有的事件都绑定到document上,以为做了一个顶层的事件代理,减少事件handler在内存中的驻留数, 以此来提高性能。后来发现react的所有事件都会在存在内存的一个map中,key为domId,value是handler。 这样的话,回调函数一个都没有减少,事件代理的优势就不存在了,react为什么要这么设计呢?
CDH中ZK是否有内存泄露的问题
如图所示,ZK驻留内存持续走高,其中三个波谷是我主动重启ZK导致的,因为当时ZK报警请求延迟最大值已经到了十几分钟了。。。 ![图片说明](https://img-ask.csdn.net/upload/201708/09/1502248364_509594.png)
请大神们帮我看一下这个程序哪出错了,万分感谢!!
STACK1 SEGMENT STACK DW 200 DUP (?) STACK1 ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ') DBUFFER DB 8 DUP (':'),12 DUP (' ') DBUFFER1 DB 20 DUP (' ') STR1 DB 0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK1 START: MOV AX,0001H ;设置显示方式为40*25彩色文本方式 INT 10H MOV AX,DATA MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,0B00H MOV CX,1000 MOV BX,0040H MOV AX,1300H INT 10H MOV BP,OFFSET PATTERN ;显示矩形条 MOV DX,0B00H MOV CX,120 MOV BX,004EH MOV AX,1301H INT 10H LEA DX,STR1 ;显示提示信息 MOV AH,9 INT 21H MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,44H ;AL='D'? JNE A CALL DATE ;显示系统日期 A: CMP AL,54H ;AL='T'? JNE B CALL TIME ;显示系统时间 B: CMP AL,51H ;AL='Q'? JNE START MOV AH,4CH ;返回dos状态 INT 21H DATE PROC NEAR ;显示日期子程序 dis:MOV AH,2AH ;取日期 INT 21H MOV SI,0 MOV AX,CX MOV BX,100 DIV BL MOV BL,AH CALL BCDASC1 ;日期数值转换成相应的ASCII码字符 MOV AL,BL CALL BCDASC1 INC SI MOV AL,DH CALL BCDASC1 INC SI MOV AL,DL CALL BCDASC1 MOV BP,OFFSET DBUFFER1 MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H ;设置光标位置 MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H REPEA: MOV CX,0FFFFH ;延时 REPEAT:LOOP REPEAT DEC BX JNZ REPEA MOV AH,01H ;读键盘缓冲区字符到AL寄存器 INT 16H JE dis JMP START MOV AX,4C00H INT 21H RET DATE ENDP TIME PROC NEAR ;显示时间子程序 DISPLAY1:MOV SI,0 MOV BX,100 DIV BL MOV AH,2CH ;取时间 INT 21H MOV AL,CH CALL BCDASC ;将时间数值转换成ASCII码字符 INC SI MOV AL,CL CALL BCDASC INC SI MOV AL,DH CALL BCDASC MOV BP,OFFSET DBUFFER MOV DX,0C0DH MOV CX,20 MOV BX,004EH MOV AX,1301H INT 10H MOV AH,02H MOV DX,0300H MOV BH,0 INT 10H MOV BX,0018H RE: MOV CX,0FFFFH REA: LOOP REA DEC BX JNZ RE MOV AH,01H INT 16H JE DISPLAY1 JMP START MOV AX,4C00H INT 21H RET TIME ENDP BCDASC PROC NEAR ;时间数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER[SI],AL INC SI ADD AH,'0' MOV DBUFFER[SI],AH INC SI POP BX RET BCDASC ENDP BCDASC1 PROC NEAR ;日期数值转换成ASCII码字符子程序 PUSH BX CBW MOV BL,10 DIV BL ADD AL,'0' MOV DBUFFER1[SI],AL INC SI ADD AH,'0' MOV DBUFFER1[SI],AH INC SI POP BX RET BCDASC1 ENDP CODE ENDS END START cursor equ 45H attrib equ 2fh code segment assume cs:code,ds:code start: jmp go oldcur dw ? OLD1C DW 2 DUP(?) NEWINT1C: PUSHF CALL DWORD PTR CS:OLD1C push ax PUSH BX PUSH CX PUSH DX XOR BH,BH MOV AH,3 INT 10H MOV CS:OLDCUR,DX MOV AH,2 xor bh,bh MOV DX,CURSOR INT 10H MOV AH,2     ;读取系统时钟 INT 1AH PUSH DX PUSH CX POP BX PUSH BX CALL SHOWBYTE CALL SHOWCOLON POP BX XCHG BH,BL CALL SHOWBYTE CALL SHOWCOLON POP BX CALL SHOWBYTE MOV DX,CS:OLDCUR MOV AH,2 XOR BH,BH INT 10H POP DX POP CX POP BX POP AX IRET SHOWBYTE PROC NEAR PUSH BX MOV CL,4 MOV AL,BH SHR AL,CL ADD AL,30H CALL SHOW CALL CURMOVE POP BX MOV AL,BH AND AL,0FH ADD AL,30H CALL SHOW CALL CURMOVE RET SHOWBYTE ENDP SHOWCOLON PROC NEAR MOV AL,':' CALL SHOW CALL CURMOVE RET SHOWCOLON ENDP CURMOVE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,3 MOV BH,0 INT 10H INC DL MOV AH,2 INT 10H POP DX POP CX POP BX POP AX RET CURMOVE ENDP SHOW PROC NEAR PUSH AX PUSH BX PUSH CX MOV AH,09H MOV BX,attrib MOV CX,1 INT 10H POP CX POP BX POP AX RET SHOW ENDP GO: PUSH CS POP DS MOV AX,351CH ;取中断向量 INT 21H MOV OLD1C,BX      ;保存原中断向量 MOV BX,ES MOV OLD1C+2,BX MOV DX,OFFSET NEWINT1C ;置新的中断向量 MOV AX,251CH INT 21H MOV DX,OFFSET GO SUB DX,OFFSET START MOV CL,4 SHR DX,CL ADD DX,11H MOV AX,3100H       ;结束并驻留 INT 21H CODE ENDS END START
string.intern()如何实现查找并 添加字符串到常理池的 ?
[code="java"]public class CommonPoolTest2 { private static final String x="ccc"; public static String getX() { return x; } }[/code] [code="java"] public class CommonPoolTest { public static void main(String[] args) throws IOException { String strc = new String("ccc").intern(); CommonPoolTest2 cpt2= new CommonPoolTest2(); System.out.println(strc==cpt2.getX()); } }[/code] 结果是true 那就是说常量池是所有jvm中类共享的,那么当多个线程同时执行intern的时候,为了线程安全,是不是要锁住整个常量池,如果这样,当大量并发线程的情况下,会不会导致性能很低?还是采用的其他更灵活的方式呢,谢谢! [b]问题补充:[/b] [quote]该池的粒度比较粗,如果驻留的字符串过多倒是可能引发更多的hash冲突而使得池的性能降低。[/quote] 有什么办法能降低同步的开销吗,或者降低锁的粒度?
怎么开发客户端公告程序?
我公司有一套ERP系统,是WEBSTART的。 现在我想开发一个客户端的驻留小程序,不用打开ERP就可以有提示,公告出现。 因为ERP程序比较占资源,领导也不能时时都在线上,有审批信息的时候,通常看不到,还要人工通知 如果有这么一个程序,就可以避免漏掉一些信息。 没有开发过这种程序,不知道怎么入手。 还有两个程序之间怎么通讯?
spring3.1+ehcache配置问题
ehcache主配置如下: <!-- 配置ehcache缓存管理器 --> <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache/ehcache.xml" /> <property name="shared" value="true"/> </bean> <!-- 配置一个简单的缓存工厂bean对象 --> <bean id="simpleCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <property name="cacheManager" ref="cacheManager" /> <!-- 使用缓存 关联ehcache.xml中的缓存配置 --> <property name="cacheName" value="mobileCache" /> </bean> <!-- 配置一个缓存拦截器对象,处理具体的缓存业务 --> <bean id="methodCacheInterceptor" class="com.scxxs.ehcache.MethodCacheInterceptor"> <property name="cache" ref="simpleCache"/> </bean> <!-- 配置一个缓存拦截器对象,处理具体的缓存业务 --> <bean id="methodCacheAfterAdvice" class="com.scxxs.ehcache.MethodCacheAfterAdvice"> <property name="cache" ref="simpleCache"/> </bean> <!-- 参与缓存的切入点对象 (切入点对象,确定何时何地调用拦截器) --> <bean id="methodCachePointCut" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <!-- 配置缓存aop切面 --> <property name="advice" ref="methodCacheInterceptor" /> <!-- 配置哪些方法参与缓存策略 --> <!-- .表示符合任何单一字元 ### +表示符合前一个字元一次或多次 ### *表示符合前一个字元零次或多次 ### \Escape任何Regular expression使用到的符号 --> <!-- .*表示前面的前缀(包括包名) 表示print方法--> <property name="patterns"> <list> <!-- <value>com.scxxs.dao.*get*</value> <value>com.scxxs.dao.*find*</value> <value>com.scxxs.dao.*query*</value> --> <value>.*find.*</value> </list> </property> </bean> <!-- 当发生create,save,insert,update,delete,remove等方法时,就会去flush一下 --> <bean id="methodCachePointCutAdvice" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <property name="advice" ref="methodCacheAfterAdvice" /> <property name="patterns"> <list> <value>.*add.*</value> </list> </property> </bean> ehcache.xml配置如下: <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd"> <!-- 设置缓存文件 .data 的创建路径。 如果该路径是 Java 系统参数,当前虚拟机会重新赋值。 下面的参数这样解释: user.home – 用户主目录 user.dir – 用户当前工作目录 java.io.tmpdir – 默认临时文件路径 --> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="30" overflowToDisk="false"/> <!-- 配置自定义缓存 maxElementsInMemory:缓存中允许创建的最大对象数 eternal:缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。 timeToIdleSeconds:缓存数据的钝化时间,也就是在一个元素消亡之前, 两次访问时间的最大时间间隔值,这只能在元素不是永久驻留时有效, 如果该值是 0 就意味着元素可以停顿无穷长的时间。 timeToLiveSeconds:缓存数据的生存时间,也就是一个元素从构建到消亡的最大时间间隔值, 这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间。 overflowToDisk:内存不足时,是否启用磁盘缓存。 memoryStoreEvictionPolicy:缓存满了之后的淘汰算法。 --> <cache name="SimplePageCachingFilter" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="900" timeToLiveSeconds="1800" memoryStoreEvictionPolicy="LFU" /> <cache name="mobileCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="true" timeToIdleSeconds="1800" timeToLiveSeconds="3600" memoryStoreEvictionPolicy="LFU" /> </ehcache> applicationContext.xml spring主配置如下: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://127.0.0.1:3306/mytest</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>root</value> </property> </bean> <!-- 配置事务管理器 --> <bean id="transcationManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:ibatis/SqlMapConfig.xml" /> <!--src/ WEB-INF/<property name="mapperLocations" value="classpath*:com/xxt/ibatis/dbcp/domain/user.map.xml"/ > --> </bean> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transcationManager"> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <!-- 配置AOP切入点 --> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(* com.scxxs.dao.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod" /> </aop:config> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref local="dataSource"/> </property> </bean> <import resource="spring/applicationContext_dao.xml"/> <import resource="spring/applicationContext_biz.xml"/> <import resource="spring/applicationContext_ehcache.xml"/> 我遇到的问题就是,ehcache在配置两个切面的时候报错: 2013-01-06 14:33:38Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1aaf64d: defining beans [dataSource,transcationManager,sqlSessionFactory,sqlSession,txAdvice,org.springframework.aop.config.internalAutoProxyCreator,allManagerMethod,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,jdbcTemplate,springDemoDao,userDao,userBiz,cacheManager,simpleCache,methodCacheInterceptor,methodCacheAfterAdvice,methodCachePointCut,methodCachePointCutAdvice]; root of factory hierarchy 2013-01-06 14:33:38Retrieved dependent beans for bean 'cacheManager': [simpleCache] 2013-01-06 14:33:38Retrieved dependent beans for bean 'simpleCache': [methodCacheAfterAdvice] 2013-01-06 14:33:38Retrieved dependent beans for bean 'methodCacheAfterAdvice': [methodCachePointCutAdvice] 2013-01-06 14:33:38Invoking destroy() on bean with name 'cacheManager' 2013-01-06 14:33:38Shutting down EHCache CacheManager 2013-01-06 14:33:38Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCachePointCut' defined in class path resource [spring/applicationContext_ehcache.xml]: Cannot resolve reference to bean 'methodCacheInterceptor' while setting bean property 'advice'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:452) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:566) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCachePointCut' defined in class path resource [spring/applicationContext_ehcache.xml]: Cannot resolve reference to bean 'methodCacheInterceptor' while setting bean property 'advice'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:86) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:100) at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:107) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:278) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:880) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:852) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:446) ... 34 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) ... 50 more Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:485) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:516) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:510) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1406) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1365) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ... 56 more Caused by: java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:241) at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:470) ... 62 more 2013-1-6 14:33:38 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCachePointCut' defined in class path resource [spring/applicationContext_ehcache.xml]: Cannot resolve reference to bean 'methodCacheInterceptor' while setting bean property 'advice'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:452) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:566) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCachePointCut' defined in class path resource [spring/applicationContext_ehcache.xml]: Cannot resolve reference to bean 'methodCacheInterceptor' while setting bean property 'advice'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:86) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:100) at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:107) at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:278) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:880) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:852) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:446) ... 34 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'methodCacheInterceptor' defined in class path resource [spring/applicationContext_ehcache.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) ... 50 more Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type '$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'net.sf.ehcache.Cache' for property 'cache'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:485) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:516) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:510) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1406) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1365) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ... 56 more Caused by: java.lang.IllegalStateException: Cannot convert value of type [$Proxy4 implementing net.sf.ehcache.terracotta.InternalEhcache,net.sf.ehcache.store.StoreListener,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [net.sf.ehcache.Cache] for property 'cache': no matching editors or conversion strategy found at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:241) at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:470) ... 62 more 我试过删除一个切面的话项目是能够完全启动的, <!-- 配置一个简单的缓存工厂bean对象 --> <bean id="simpleCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <property name="cacheManager" ref="cacheManager" /> <!-- 使用缓存 关联ehcache.xml中的缓存配置 --> <property name="cacheName" value="mobileCache" /> </bean> <!-- 参与缓存的切入点对象 (切入点对象,确定何时何地调用拦截器) --> <bean id="methodCachePointCut" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <!-- 配置缓存aop切面 --> <property name="advice" ref="methodCacheInterceptor" /> <!-- 配置哪些方法参与缓存策略 --> <!-- .表示符合任何单一字元 ### +表示符合前一个字元一次或多次 ### *表示符合前一个字元零次或多次 ### \Escape任何Regular expression使用到的符号 --> <!-- .*表示前面的前缀(包括包名) 表示print方法--> <property name="patterns"> <list> <!-- <value>com.scxxs.dao.*get*</value> <value>com.scxxs.dao.*find*</value> <value>com.scxxs.dao.*query*</value> --> <value>.*find.*</value> </list> </property> </bean> 像上面这种配置有两个删除其中一个都没问题。我还测试过缓存起作用没,当我删除后面那个after切面后项目正常启动且缓存起作用,请教各位大虾为了我两个切面都存在的时候就要报错,报错信息就是上面那种,搞不懂啊!!!!
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
相关热词 如何提升c#开发能力 矩阵乘法c# c#调用谷歌浏览器 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天
立即提问