摘要:
说法一:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行 说法二:进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一 阅读全文
摘要:
Linux网络编程一步一步学-异步通讯聊天程序selectClient#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <unistd.h>#include <arpa/inet.h># 阅读全文
摘要:
问题:org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.解决办法:Edit /var/lib/pgsql/data/postgresql.conf fileChange#listen_addresses = 'localhost'to listen_addresses = '*'问题:org.postgr 阅读全文
摘要:
1. 第一种方法,编辑${CATALINA_HOME}/conf/context.xml文件,将以下行的注释打开,然后重新启动Tomcat <Manager pathname="" /> 2. 第二种方法,编辑具体的webapp的context.xml文件,这个文件有可能是${CATALINA_HOME}/conf/Catalina/localhost/<myapp>.xml,也有可能是${CATALINA_HOME}/webapps/<myapp>/META-INF/context.xml,编辑这个文件,加入以下行,然后重新启动Tomc 阅读全文
摘要:
Android中几个常用的Layout虽然有scrollbar属性,但是并不能实现当其中内容太多时自动在Activity上出现Scrollbar,后来发现对于这种情况其实是需要使用ScrollView来处理的,具体配置可以如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical 阅读全文
摘要:
最近在使用Tomcat开发一个项目,由于特殊原因不能使用IDE自带的Maven或者Web Server环境,因此每次修改都需要copy文件到生产环境,但是当项目文件太多以后每次copy都会很慢,于是就想到使用Linux软连接的方式,但是我在自己的webapp下创建软链接之后总是不能访问,后来发现如果需要使用软链接的话需要修改webapp的一些设置,具体方法是,在webapp目录下创建META-INF目录,并在其下创建一个context.xml文件,内容如下:<?xml version="1.0" encoding="UTF-8"?><C 阅读全文
摘要:
题目:Hello world要求:案例程序基于TCP协议,由客户程序启动后向服务器程序发送“hello world”,服务器程序显示客户机IP地址、端口、以及发送的信息。服务器将收到的字符串发送给客户端,客户端显示验证。使用方法:在linux下编译$gcc -o client client.c$gcc -o server server.c先运行server程序$./server再运行client程序$./client xxx(你要访问服务器名---非IP)程序:/* client.c */#include <stdio.h>#include <stdlib.h>#inc 阅读全文
摘要:
alarm(设置信号传送闹钟)相关函数 signal,sleep表头文件 #include<unistd.h>定义函数 unsigned int alarm(unsigned int seconds);函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。返回值返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。范例 #include<unistd.h>#include<signal.h>void handler() {printf(& 阅读全文
摘要:
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对应的事件。基本概念对于理解和使用信号,对于理解信号机制都特别重要。下面就来看看什么是信号。 1、基本概念 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调 阅读全文
摘要:
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类型的错误往往与指针操作相关。往往可以通过这样的方式进行定位。一 造成segment fault,产生core dump的可能原因1.内存访问越界a) 由于使用错误的下标,导致数组访问越界b) 搜索字符串时,依 阅读全文