Linux C 编程中segmentation fault (core dump)错误

Linux C 小白,求大神指导,不胜感激。原代码在Windows下用VC++6.0编写,能正常运行,后复制到Ubuntu 12.04下,改了一部分命令,编译能通过,但在运行时报错segmentation fault (core dump)。下面为代码:
#include
#include
#include
#include
#include
double num;

int WriteDat(){

FILE *Data;

    const char *path1="/home/wanwan/Ai.txt";

    Data=fopen(path1,"a+");

printf("%lf\n",num); 

fprintf(Data,"%lf\n",num);

fclose(Data);

    return 1;

}

int main( ) {

FILE *fin;

int data1,data2,data3,data4 ;

int n,i;

    const char *path2="/home/wanwan/hotness.txt";

    fin = fopen(path2,"r");

for (i=0;i<37;i++){

    fscanf(fin,"%d %d %d %d", &data1, &data2, &data3, &data4); 

    num=0.001*data1+0.3*data2+0.2*data3+0.5*data4;

    WriteDat();

        }
    fclose(fin); 

            return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求救:Linux 出现segmentation fault 问题怎么解决
OpenSUSE 11原来安装的glibc-2.11,下载了glibc-2.14. 编译安装, 然后执行了 ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6 就出现segmentation fault ,任何操作都无法执行,求救解决方法
linux 下 segmentation fault (core dumped) 错误出在哪里
#include <pthread.h> #include <stdio.h> int sum; void * runner(void * param); int main(int argc,char * argv[]) { pthread_t tid; pthread_attr_t attr; if(argc<2) { printf("the number of paraments shuold more than 1"); return -1; } if(atoi(argv[1]<0)) { printf("the parament should be more than 0"); return -1; } pthread_attr_init(&attr); pthread_create(&tid,&attr,runner,argv[1]); pthread_attr_destroy(&attr); pthread_join(tid,NULL); printf("sum=%d",sum); } void * runner(void * param) { int i,upper=atoi(param); sum=0; for(i=0;i<=upper;i++) sum+=i; pthread_exit(0); } 大神求解答 在终端./main.c 5 输入后就提示 segmentation fault (core dumped)
用posix共享内存api,报错segmentation fault(core dump)
按照《操作系统概念》第十版上面照抄下来的,不知道为什么会报错 ``` #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/shm.h> #include <sys/stat.h> #include <sys/mman.h> int main() { /* the size (in bytes) of shared memory object */ const int SIZE = 4096; /* name of the shared memory object */ const char *name = "OS"; /* strings written to shared memory */ const char *message 0 = "Hello"; const char *message 1 = "World!"; /* shared memory file descriptor */ int fd; /* pointer to shared memory obect */ char *ptr; /* create the shared memory object */ fd = shm open(name,O CREAT | O RDWR,0666); /* configure the size of the shared memory object */ ftruncate(fd, SIZE); /* memory map the shared memory object */ ptr = (char *) mmap(0, SIZE, PROT READ | PROT WRITE, MAP SHARED, fd, 0); /* write to the shared memory object */ sprintf(ptr,"%s",message 0); ptr += strlen(message 0); sprintf(ptr,"%s",message 1); ptr += strlen(message 1); return 0; } ``` Figure 3.16 Producer process illustrating POSIX shared-memory API. ``` #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/shm.h> #include <sys/stat.h> #include <sys/mman.h> int main() { /* the size (in bytes) of shared memory object */ const int SIZE = 4096; /* name of the shared memory object */ const char *name = "OS"; /* shared memory file descriptor */ int fd; /* pointer to shared memory obect */ char *ptr; /* open the shared memory object */ fd = shm open(name, O RDONLY, 0666); /* memory map the shared memory object */ ptr = (char *) mmap(0, SIZE, PROT READ | PROT WRITE, MAP SHARED, fd, 0); /* read from the shared memory object */ printf("%s",(char *)ptr); /* remove the shared memory object */ shm unlink(name); return 0; } ``` Consumer process illustrating POSIX shared-memory API. 报错信息是这样的,先运行生产者,再运行消费者,就报错了 ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572258275_106038.jpg)
mac系统下gcc出现Segmentation fault: 11错误
如题。gcc版本为4.9.1 不管输入什么都是Segmentation fault: 11 代码没有问题用的最简单的输出也不行 gcc -version命令也是这个错误 有尝试过添加环境变量貌似还是不行
使用lex和yacc解析SQL语句,报错segmentation fault问题
我这有一个linux下c、c++多线程程序,使用lex和yacc解析SQL,程序执行较快时总是报错segmentation fault,执行非常慢时,可以解析好多sql语句,但是偶尔也会报segmentation fault错误。 跟踪是发现有个yyparse中的yyvas指针(YYSTYPE结构体)strval中有好多out of bound信息,不知道与这个有关系没有。有人遇到过这个类似问题吗?
linux系统运行java相关的程序时出现segmentation fault错误
环境为redhat6.5、jdk1.7、tomcat7 问题描述:tomcat网站突然就使用不了,上去查看之后发现tomcat程序不能正常运行解析不了war包, 然后再查看发现jdk带的java相关命令都不能使用,会报segmentation fault错误![图片说明](https://img-ask.csdn.net/upload/201911/26/1574755835_832060.png) ,所以这里tomcat的问题应该和这个有关,然候尝试重装过jdk,没反应; 后面查资料之后使用gdb进行调试,以下是调试的信息: ![图片说明](https://img-ask.csdn.net/upload/201911/26/1574755582_813124.png)![图片说明](https://img-ask.csdn.net/upload/201911/26/1574755595_738715.png) 各位有知道的劳烦帮回答一下怎么解决,感谢!
centos下 Segmentation fault 错误!
centos 6.9 执行 yum、wget、oracle启动实例dbstart、sqlplus 等 操作都会报错:Segmentation fault; 请问是哪里出现了问题?
关于pcap_dump_close出现Segmentation fault
最近在维护上届学长的一个应用协议识别毕业设计项目。很大一部分内容使用C++写的。其中有个协议的过滤,之前一直使用挺好的,但是数据只要超过30M就出现Segmentation fault(core dump)错误。 使用gdb查看的信息如下:![gdb信息提示](https://img-ask.csdn.net/upload/201503/30/1427685308_21689.png) 其中main.cpp内容如下: 这个方法的主要作用就是从一个流文件(pcap格式,经过协议识别处理后,每一条流记录都由一个特殊的数据报文头表示,其中32字节代表一种应用协议的编号)读取某种应用协议的数据报文然后再写入到一个pcap中去。这样子就将某种协议的数据报文给过滤出来了。 由于之前一直都只在做java和php的东西,C++这些可以看得懂,但是很少能写。周边的同学也基本上都不怎么会C++, 恳请有会的给出个大致解决思路。谢谢了。 ``` //读取流文件并处理 void readFile(string &flowDir, string &confDir, string &rstDir, string &application) { //定义类Compute Fliter *fliter = new Fliter(flowDir, confDir, rstDir, application); //将目录下的所有文件名存放到文件ls.txt中 string cmd = "ls " + flowDir + " >ls.txt"; system(cmd.c_str()); ifstream files("ls.txt"); assert(files); string pcapdir = rstDir + "pcap/"; string creatdir_cmd = "mkdir " + rstDir + "pcap"; system(creatdir_cmd.c_str()); pcap_dumper_t *pp_write = NULL; char pcapFile[256]; sprintf(pcapFile, "%s%s.pcap", pcapdir.c_str(), application.c_str()); cout <<"pcap file:" <<pcapFile <<endl; //依次读取文件 u_llong fileNum = 0; while(!files.eof()) { //获取文件名 string filename; getline(files, filename); if(filename.empty()) break; string inFile = flowDir + filename; cout <<"read file:" <<inFile <<endl; fileNum++; //打开pcap文件 char errbuf[128]; pcap_t *pp_read_flow = pcap_open_offline(inFile.c_str(), errbuf); assert(pp_read_flow); pcap_t *pp_read_pack = pcap_open_offline(inFile.c_str(), errbuf); assert(pp_read_pack); //读pcap文件 struct pcap_pkthdr ppHdr; //pcap数据包头,16字节 const u_char *pkt; while((pkt = pcap_next(pp_read_flow, &ppHdr)) != NULL) { if(0 == ppHdr.ts.tv_sec) //此条数据为流记录 { // 对应协议与提交任务一致 // pkt[31]处存放的协议号 if((*(u_short*)&pkt[31]) == fliter->convert_application(application)) { if(pp_write == NULL) pp_write = pcap_dump_open(pp_read_flow, pcapFile); assert(pp_write); pcap_dump((u_char*)pp_write, &ppHdr, pkt); while((pkt = pcap_next(pp_read_pack, &ppHdr)) != NULL) { if(ppHdr.ts.tv_sec != 0) { pcap_dump((u_char*)pp_write, &ppHdr, pkt); } else // 到达了下一条流记录 break; } } } } pcap_close(pp_read_flow); pcap_close(pp_read_pack); } ** pcap_dump_close(pp_write);** // 第94行 files.close(); cout <<"\ntotal files:" <<fileNum <<endl; } ```
很奇怪的segmentation fault(core dumped)的问题。c++
源代码如下,统计文件中字符串出现个数 #include<iostream> #include<fstream> #include<string.h> #include<iomanip> using namespace std; int Num; int main(int argc,char *argv[]){ //参数分别是字符串和文件 int length=strlen(argv[1]); //字符串长度 ifstream ifile; ifile.open(argv[2],ios::binary); ifile.seekg(0,ios::beg); char *temp, *ptr,*p; //temp一行行读入文件内容,*ptr *索引指针 while(1){ if(ifile.tellg()==EOF)break; //判断文件是否结束 //cout<<ifile.tellg()<<endl; ifile.getline(temp,1024); ptr=temp; (注意!!!!!) //cout<<temp<<strlen(temp)<<endl; //cout<<Num<<endl; while(1){ if(p=strstr(ptr,argv[1])){ Num++; //cout<<p<<endl; ptr=p+length; }else break; } memset(temp,0,1024); } cout<<Num<<endl; } 测试文件text.txt/dat(其中有空格论坛不能显示,所以第一次运行统计数字和看起来不一样) helloworldhelloworld helloworld world world helloworld 运行./a.out world text.txt 两次运行结果 第一次("注意"那行没有被注释时结果) helloworldhelloworld20 helloworld12 world 7 world 8 helloworld10//temp&strlen(temp) 0//最后一次读入空,长度为0 6//Num 第二次注释那一行,重新编译运行,显示错误 segmentation fault(core dumped) 按理那一行没什么作用,只是看读入是否正确用的,为什么会对结果产生影响??? 环境是fedora 另,如果换成windows 不报错,但结果恒为0 ubuntu即使有那一行也报错,错误一样segmentation fault(core dumped)
ld terminated with signal 11 [Segmentation fault]
有没有懂工具链的朋友?只要CPP里包括#include <iostream>就报 ld terminated with signal 11 [Segmentation fault], core dumped 的错误
Linux 编译安装libc.so.6时出现Segmentation fault (core dumped)错误导致ls等命令不能用怎么办?
在学校集群上装tensorflow,import tensorflow时出现ImportError: /lib64/libc.so.6: version `GLIBC_2.16' not found,网上查资料按以下步骤进行操作: (1)下载glibc-2.16.0.tar.bz并解压为 ~/Download/glibc-2.16.0 (2)cd ~/Download/glibc-2.16.0/ mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make (3) make install时出现错误: ...... ...... ![图片说明](https://img-ask.csdn.net/upload/201901/05/1546689124_286319.jpg) ![图片说明](https://img-ask.csdn.net/upload/201901/05/1546689159_184865.jpg) 如图所示: (1)make install 时出现错误:make[1]: *** [install] Segmentation fault (core dumped) (2)ls等命令无法使用,显示缺少version `GLIBC_2.14' (3)尝试gdb调试,结果显示与(2)中一样的问题 另外,系统本来的libc.so.6链接到libc-2.12.so,最高到GLIBC_2.12,由此看来libc-2.16好像已经安装了一部分。 求各路大神帮帮小弟!!!在线等,挺急的!!!不管是把glibc-2.16安装好还是回退到原来的版本都可以,目的只有一个,那就是让ls,cp,gdb等命令能正常使用。 集群linux版本(red hat)太低了,用起来太麻烦,把系统修复好之后我就不折腾了。
centos 安装bin文件报错segmentation fault
centos 安装bin文件报错segmentation fault
justniffer Segmentation fault
使用sourceforge的justniffer出现了这个问题,本人不懂C方面的,请教这种问题怎么解决: justniffer.sh: line 7: 28769 Segmentation fault justniffer -l "%source.ip , %dest.ip , %connection.time(0) , %request.timestamp , %response.time(0) , %response.size , %request.method , %request.protocol , %request.header.host(HOST_NOT_FOUND) , %request.url , %request.header.referer(REFERER_NOT_FOUND) , %request.header.user-agent(USER_AGENT_NOT_FOUND) , %response.code , %response.header.value(Location)%newline" -i eth0 -p "tcp port 80"
请教为何会有segmentation fault错误(linux系统下c)
程序是要实现弱口令扫描的原型实现 包括能扫描两个词条连在一起的口令,大写首字母的口令和后面带数字的口令 用命令gcc -o crack -lcrypt crack.c 编译通过,但运行时出现segmentation fault,求问错在哪里? 我只改了int dict_crack(FILE *dict_fp,struct userinfo_struct userinfo); 这个函数,其他的都是书上的。 #include<unistd.h> #include<stdio.h> #include<stdlib.h> #include<string.h> struct userinfo_struct{ char user[128]; char salt[128]; char crypt_passwd[128]; }; int parse_shadowline(char *shadow_line,struct userinfo_struct *parse_result); int dict_crack(FILE *dict_fp,struct userinfo_struct userinfo); int parse_shadowline(char *shadow_line,struct userinfo_struct *parse_result){ char *p,*q; if(shadow_line==NULL){ printf("Error shadow line input!\n"); return -1; } p=shadow_line; q=strchr(p,':'); if(!q){ printf("Error shadow file format!\n"); return -1; } strncpy(parse_result->user,p,q-p); parse_result->user[q-p]='\0'; p=q+1; if(strncmp(p,"$6$",3)!=0){//有可能系统$$中的数字不一样 printf("Not encrypted by md5 algorithm.\n"); return -1; } q=strchr(p+3,'$'); if(!q){ printf("Error shadow file format!\n"); return -1; } strncpy(parse_result->salt,p,q-p+1); parse_result->salt[q-p+1]='\0'; p=q+1; q=strchr(p,':'); if(!q){ printf("Error shadow file format!\n"); return -1; } strncpy(parse_result->crypt_passwd,p,q-p); parse_result->crypt_passwd[q-p]='\0'; return 0; } int dict_crack(FILE *dict_fp,struct userinfo_struct userinfo){ char *md5_check; int success_flag=0; char one_word[256]; char one_word1[256]; char md5_code[256]; strcpy(md5_code,strcat(userinfo.salt,userinfo.crypt_passwd)); fseek(dict_fp,0,SEEK_SET); while((fscanf(dict_fp,"%s",one_word))!=EOF){ md5_check=(unsigned char*)crypt(one_word,userinfo.salt); if(strcmp(md5_code,md5_check)==0){ success_flag=1; //printf("The passwd for user %s is %s\n",userinfo.user,one_word); return success_flag; } } //重复的单词 fseek(dict_fp,0,SEEK_SET); while((fscanf(dict_fp,"%s",one_word))!=EOF){ md5_check=(unsigned char*)crypt(one_word,userinfo.salt); md5_check=strcat(md5_check,md5_check);//重复 if(strcmp(md5_code,md5_check)==0){ success_flag=1; //printf("The passwd for user %s is %s\n",userinfo.user,one_word); return success_flag; } } //大写 fseek(dict_fp,0,SEEK_SET); while((fscanf(dict_fp,"%s",one_word1))!=EOF){ one_word[0]1=toupper(one_word1[0]);//使开头字母大写 md5_check=(unsigned char*)crypt(one_word,userinfo.salt); if(strcmp(md5_code,md5_check)==0){ success_flag=1; //printf("The passwd for user %s is %s\n",userinfo.user,one_word); return success_flag; } } return success_flag; } int main(int argc,char * argv[]){ FILE *shadow_fp; FILE *dict_fp; char shadow_line[256]; struct userinfo_struct userinfo; int SUCCESS=0; if(argc !=3){ printf("Input format erro!Usage as:\n"); printf("%s shadow _file dict_file\n",argv[0]); exit(1); } if((shadow_fp=fopen(argv[1],"r"))==NULL){ printf("Cannot open the shadow file.\n"); exit(1); } if((dict_fp=fopen(argv[2],"r"))==NULL){ printf("Cannot open the dict file.\n"); exit(1); } while((fscanf(shadow_fp,"%s",shadow_line))!=EOF){ if(parse_shadowline(shadow_line,&userinfo)!=0){ printf("Cannot parse the shadow line!\n"); continue; } if(dict_crack(dict_fp,userinfo)==1) SUCCESS=1; } if(SUCCESS==0) printf("Sorr,no password cracked,please try with another dictionary!\n"); fclose(dict_fp); fclose(shadow_fp); return 0; }
一个segmentation fault 问题
int main() { //srand(time_t(NULL)); time_t t; srand((unsigned) time(&t)); char filename[100] = "hep.txt"; bool directed = false; int R = 100; Graph::BuildFromFile2WC(filename); ..... } //下面是调用的原函数 void Graph::BuildFromFile2WC(char *file){ if (built) return; built = true; FILE* in = fopen(file, "r"); fscanf(in,"%ld %ld", &n, &m); ....} 执行到Graph::BuildFromFile2WC(filename);时就显示 segmentation fault,怎么解决啊,求大神指点
Segmentation fault问题
题目如下 Description 输入n(n<100)个整数,找出其中最小的数,将它与最前面的数交换后输出这些数。 Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。 Output 对于每组输入数据,输出交换后的数列,每组输出占一行。 Sample Input 4 2 1 3 4 5 5 4 3 2 1 0 Sample Output 1 2 3 4 1 4 3 2 5 我的代码 #include<iostream> #include<iomanip> #include<cmath> #include <algorithm> #include<string> using namespace std; int main() { int n,b,c,d; int number[100]; while (cin >> n) { if (n >= 0&&n<100) { if (n == 0) break; for (int a=0; a<n; a++) { cin >> number[a]; if (a == 0) { b = number[a]; } if (number[a] < b) { b = number[a]; c = a; } } d = number[0]; number[0] = b; number[c] = d; for (int a = 0; a < n; a++) { cout << number[a]<<" "; } cout << endl; } } } 在OJ上提示Segmentation fault:段错误,检查是否有数组越界,指针异常,访问到不应该访问的内存区域,求解答
g++编译成功,运行提示Segmentation fault (core dumped)
g++编译成功,运行提示Segmentation fault (core dumped) vs可以正常运行,为什么呢 #include<iostream> #include<cmath> #include<stdio.h> #include <cstdlib> using namespace std; int *move(int a,int b) { int *p; p[0]=a+1; p[1]=b+2; return p; } int main() { int *a=move(2,3); getchar(); return 0; }
Fibonacci的c++代码出现segmentation fault
我写了一个Fibonacci 的c++ 代码在linux 上运行 ./hw1 出现 segmentation 但是运行./hw1 10 可以运行 代码如下 #include <iostream> using namespace std; long int Fibonacci (int N) { if (N<=1){ return N; } else{ return Fibonacci(N-1)+Fibonacci(N-2); } } int main (int argc, char *argv[]) { int input =atoi(argv[1]); long int Result = Fibonacci(input); cout<<"enter the Fibonacci number:"<<input<<" The result is:"<<Result<<endl; } 出现的问题如图
Mac中抓包出现Segmentation fault:11,怎么解决?
执行airport en0 sniff 6,开始抓包,Capturing 802.11 frames on en0,没过几秒就出现了Segmentation fault:11,请问怎么解决?
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问