- 高性能linux内核参数调优,Nginx服务器高性能优化的配置方法小结
Hi纪
高性能linux内核参数调优
通常来说,一个优化良好的NginxLinux服务器可以达到500,000–600,000次/秒的请求处理性能,然而我的Nginx服务器可以稳定地达到904,000次/秒的处理性能,并且我以此高负载测试超过12小时,服务器工作稳定。这里需要特别说明的是,本文中所有列出来的配置都是在我的测试环境验证的,而你需要根据你服务器的情况进行配置:从EPEL源安装Nginx:yum-yinstallnginx备
- Linux内核中TCP协议栈的实现:tcp_close函数的深度剖析
109702008
编程#C语言网络网络tcp/ip人工智能
引言TCP(传输控制协议)作为互联网协议族中的核心协议之一,负责在不可靠的网络层之上提供可靠的、面向连接的字节流服务。Linux内核中的TCP协议栈实现了TCP协议的全部功能,包括连接建立、数据传输、流量控制、拥塞控制以及连接关闭等。本文将深入分析Linux内核中tcp_close函数的实现,探讨其在TCP连接关闭过程中的关键逻辑和设计考量。TCP连接关闭的背景在TCP协议中,连接的关闭是一个复杂
- Linux-----驱动
磨十三
linux运维服务器
一、内核驱动与启动流程1.Linux内核驱动NorFlash:可线性访问,有专门的数据及地址总线(与内存访问方式相同)。NandFlash:不可线性访问,访问需要控制逻辑(软件)。2.Linux启动流程ARM架构:IRAM(4KB):内部RAM,用于存储初始引导程序。NorFlash(2M):存储u-boot程序。内存(64M):用于加载内核和根文件系统。NandFlash(256M):存储内核、
- ArkTS 容器与原生容器行为差异解析
flfljh
HarmonyOSnextflutterharmonyos华为架构android
ArkTS容器与原生容器行为差异解析在当今数字化浪潮下,容器技术愈发关键,无论是原生容器,还是鸿蒙系统独具特色的ArkTS容器,都在各自生态里扮演重要角色。二者虽都旨在实现应用隔离与资源高效利用,但在诸多行为细节上存有明显差异。资源调度与管理原生容器,以Docker为典型代表,遵循传统Linux内核的资源调度机制。它基于cgroups(控制组)精准限制CPU、内存等资源配额。例如,启动一个Web服
- 计算机网络-TCP可靠传输机制
左灯右行的爱情
计算机网络计算机网络tcp/ip网络
计算机网络-TCP可靠传输机制3.TCP可靠传输机制3.1序列号与确认号机制3.1.1序列号与确认号的基本概念3.1.2序列号与确认号的工作原理3.1.3序列号与确认号在Linux内核中的实现TCP控制块中的序列号和确认号字段序列号的初始化发送数据时的序列号处理接收数据时的确认号处理3.1.4序列号与确认号的实际应用数据的有序交付检测丢失的数据去除重复的数据支持流量控制和拥塞控制支持选择性确认(S
- Android操作系统源码深度解析
Ga Ou
本文还有配套的精品资源,点击获取简介:Android源码是理解和定制移动操作系统的关键资源,包含Linux内核、HAL、运行时环境、系统服务、框架层、UI系统及应用程序。本资源旨在提供对Android操作系统构成的全面了解,帮助开发者深入学习系统工作原理、优化性能,以及进行系统级开发。研究这份源码将揭示Android如何通过不同组件构建其基石,并为开发者提供创建高效应用的洞察。1.Android系
- C语言与操作系统内核模块开发:Linux内核模块编写、设备驱动开发与内核调试(一)
JJJ69
学习C语言吧c语言linux驱动开发
目录引言第一部分:Linux内核模块基础1.1Linux内核概述1.2C语言在内核编程中的特殊考量1.3Linux内核模块编写入门引言操作系统内核作为计算机系统的指挥中心,其重要性不言而喻。它是操作系统中最为核心的部分,负责管理硬件资源、调度进程、提供系统服务、维护安全边界以及协调用户程序与硬件设备之间的交互。内核的性能与稳定性直接决定了整个系统的效率与可靠性,是支撑现代计算技术发展的基石。在内核
- VSCode+Qemu搭建Linux内核调试环境
破竹15
Linuxvscodelinuxide
查看当前内核源码uname-r查看源内内核源码apt-cachesearchlinux-source下载内核源码sudoaptinstalllinux-source-xxx或者https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.gz源码会被下载到/usr/src/目录下安装依赖sudoapt-getinstall
- linux内核
HackerElite
Linuxlinux
一初识linux内核1.1操作系统和内核简介操作系统的精确定义并没有一个统一的标准,这里我认为操作系统是指整个系统负责完成最基本功能和系统管理的那些部分这些部分包括内核,设备驱动程序,启动引导程序,基本的文件管理工具和系统工具用户界面是操作系统的外在表象,内核才是操作系统的内在核心。内核有时候被称作管理者或者操作系统核心,内核独立于普通的应用程序,它一般处于系统态,这种被保护起来的空间称为内核空间
- 系统开机设备寻址全流程:从 UEFI 伪代码到内核映射
不堪沉沦
操作系统驱动开发Linux学习linux
摘要在系统开机过程中,设备寻址是一个关键环节,它涉及到UEFI固件对硬件设备的初步探测和资源分配,以及Linux内核在此基础上进行的二次加工和冲突化解。本文以AMD集成GPU(ACPI描述)和NVIDIA独立显卡(PCIe设备)为例,详细介绍这一过程。UEFI固件阶段:硬件探测与地址预分配集成GPU(通过ACPI描述静态分配资源)在UEFI阶段,系统会对硬件设备进行扫描,并为它们分配初始的资源,包
- Linux 内核中的 TCP 早期多路分解机制解析
109702008
编程#C语言网络网络人工智能linux
一、引言在现代高性能网络环境中,Linux内核需要快速处理大量的TCP数据包,同时保持低延迟和高吞吐量。为了实现这一目标,Linux内核引入了早期多路分解(EarlyDemultiplexing)机制。这种机制允许内核在数据包进入传输层之前,快速找到对应的套接字(socket)并关联数据包,从而减少后续处理的开销。本文将详细解析Linux内核中TCP协议的早期多路分解实现,包括其核心函数tcp_v
- SPI传输与驱动框架的实现
憧憬一下
嵌入式驱动开发#SPI子系统嵌入式linux驱动开发arm开发SPI
本文章相关专栏往期内容,SPI子系统专栏:SPI通信协议与Linux设备驱动框架解析PCI/PCIe子系统专栏:专栏地址:PCI/PCIe子系统PCIe设备MSI/MSI-X中断源码分析与驱动编写–末片,有专栏内容观看顺序Uart子系统专栏:专栏地址:Uart子系统Linux内核早期打印机制与RS485通信技术–末片,有专栏内容观看顺序interrupt子系统专栏:专栏地址:interrupt子系
- 【简要】Android 15 适配之 16K Page Size:为什么它会是最坑的一个适配点?
米歪(MiWi)
Android1516K16K适配Android
核心问题:Android15将默认页面大小从4KB提升至16KB,以优化内存性能。但这会导致使用C/C++代码(Native代码)的应用很可能崩溃,除非重新编译并适配16K页面大小。原因:Linux内核限制:Android基于Linux内核,而Linux不支持混合页面大小。CPU运行模式:CPU运行时页面大小是全局设置,要么是4K,要么是16K,无法混用。影响:正面影响:提升系统内存性能,缩短应用
- linux第二章基础题,linux基础练习题(2)
毅燃君
linux第二章基础题
Linux命令作业(关卡二)练习题1理解操作系统的作用,以及各种操作系统的不同要求:为什么要有OS?没有OS能行吗?原因是什么?Linux内核指的是什么?Linux主要应用在哪些地方?使用虚拟机有什么好处?提示:功能机就是在没有OS的情况下运行,而现在经常用的Android手机就是在OS下运行的练习题2练习ls、cd、mkdir、touch、rm命令的使用要求:简述,如果在Ubuntu左侧的快捷菜
- Linux内核中inet_create函数的源码分析
109702008
编程#C语言网络linux人工智能网络
函数概述inet_create函数是Linux内核中用于创建Internet协议族(PF_INET)套接字的核心函数。它负责根据用户请求的套接字类型和协议,分配并初始化相应的套接字结构,同时进行必要的协议配置和资源分配。函数参数structnet*net:指向网络命名空间的指针。structsocket*sock:指向用户请求创建的套接字结构。intprotocol:指定使用的协议(如IPPROT
- 常见Linux操作系统的优缺点剖析
前进的程序员
linux运维服务器
Linux凭借开源、安全、稳定等特性,在服务器、桌面、嵌入式等诸多领域得到广泛应用。经过多年发展,基于Linux内核的操作系统发行版数量众多,下面将为您介绍Ubuntu、Debian、CentOS、Fedora、ArchLinux、RedHatEnterpriseLinux这六种常见Linux操作系统的优缺点。UbuntuUbuntu是使用最为广泛的Linux发行版之一,它对新手十分友好,安装过程
- Linux内核版本详解:从技术到实践的深度剖析
寒水馨
Linux问题解决方案linux服务器运维
Linux内核版本详解:从技术到实践的深度剖析摘要本文深入探讨了Linux内核的版本演进历程,详细分析了各个主要版本的特性、改进和影响。从早期的0.01版本到最新的5.x系列,我们将追溯Linux内核的发展脉络,解析版本号命名规则的变迁,并重点关注对系统性能、安全性和功能性的持续优化。文章还将探讨内核版本选择对企业IT基础设施的影响,以及如何在实际生产环境中进行内核升级和维护。通过本文,读者将全面
- 《Linux内存管理:实验驱动的深度探索》【附录】【实验环境搭建 4】【Qemu 如何模拟numa架构】
奔跑吧 android
linux内存管理linuxqemukernel内存管理
我们在学习linux内核时,会涉及到很多numa的知识,那我们该如何在qemu中模拟这种情况,来配合我们的学习呢?我们该如何模拟如下的numa架构Qemu模拟NUMA架构-Mvirt,gic-version=3,virtualization=on,type=virt\-cpucortex-a57-nographic-m4G\-smpcores=4,threads=1,sockets=2\-obje
- Docker介绍
laimaxgg
dockereurekajava服务器运维
Docker介绍Docker本身并不是容器,而是一个使用容器的工具。容器是Linux内核提供的技术,Docker只是将这种技术的使用简便化了。Docker的主要目标是“Build,ShipandRunAnyAPP,Anywhere”(“一次封装,到处运行”),即对组件的封装、分发、部署、运行等生命周期的管理。早期Docker是基于LXC容器的二次封装,后来Docker自建了一个容器引擎叫做libc
- 《Linux内存管理:实验驱动的深度探索》【附录】【实验环境搭建 3】【Qemu 运行 低版本linux内核注意事项】
奔跑吧 android
linux内存管理linuxqemu
我们在学习内核时,为了搞清楚某一个模块的来龙去脉时,需要找低版本的内核来学习对比。但是此时好多内核时跑不起来的,但是有迫切需要跑起来,那我们该注意那些内容呢?这里我们拿linux5.4内核编译举例。1.GCC版本的选择gcc版本选择成功与否,其实就已经解决了大部分问题了。有些问题解决不了,最终还是回归到gcc版本不对导致的。所以gcc版本选择是重点。1.1Linux内核编译所需的GCC版本Linu
- linux .cache目录,关于linux系统下的cache Memory
薯条说影
linux.cache目录
关于linux系统下的cacheMemory什么是CacheMemory?当你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是CacheMemory(缓存内存)。即使你的程序运行结束后,CacheMemory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。其实这缓存内存(CacheMemory)在你需要使用
- Linux内核入门(八)——进程间通信:有名管道
天气之大兔子
内核linux多进程
Linux内核入门(八)——进程间通信:有名管道前言有名管道进程间通信实验前言上回书说到,为了实现无亲缘关系进程之间通信,可以使用有名管道,那么这个有名管道相比无名管道,有什么不同的地方呢?使用有名管道是会在文件系统中创建一个管道文件的。无名管道中可没有提到过文件这个东西。既然有名管道是以文件的方式存在的,那么不同进程之间当然可以通过读写这个文件来实现进程间通讯。注:Linux下有7种文件类型:文
- Linux基础入门与实践
可乐要加冰^-^
linuxubuntu服务器
文章目录前言一、Linux基础入门1.目录结构2.常用指令总结前言Ubuntu是基于Linux内核的基于桌面的发行版中使用量最大、普及度最高的,本文主要记录一些Linux基础知识和常见的指令一、Linux基础入门1.目录结构1)/bin是Binary的缩写,这个目录存放着系统命令,是系统的必备执行文件;2)/dev是device的缩写,该目录存放着Linux的外部设备;3)/home是用户的主目录
- 【Linux】内核驱动学习笔记(二)
aoxiang_ywj
linuxlinux学习笔记
7、framebuffer驱动详解7.1、什么是framebuffer(1)裸机中如何操作LCD(2)OS下操作LCD的难点(3)framebuffer帧缓冲(简称fb)是linux内核中虚拟出的一个设备(4)framebuffer向应用层提供一个统一标准接口的显示设备(5)从驱动来看,fb是一个典型的字符设备,而且创建了一个类/sys/class/graphicsframebuffer的使用:(
- linux内核定时器(八)
wuzhidexiaoxiaoxia
imx6ulllinux
1、系统定时器高频和低频的优缺点a)高节拍率会提高系统时间精度,如果采用100Hz的节拍率,时间精度就是10ms,采用1000Hz的话时间精度就是1ms,精度提高了10倍。高精度时钟的好处有很多,对于那些对时间要求严格的函数来说,能够以更高的精度运行,时间测量也更加准确。b)高节拍率会导致中断的产生更加频繁,频繁的中断会加剧系统的负担,1000Hz和100Hz的系统节拍率相比,系统要花费10倍的“
- linux内核earlyprink,linux – 在启用early_printk的情况下更改Printk行为
秦王锐士
通常,printk不会在start_kernel中出现的console_init之前打印任何消息.但是在启用early_printk的情况下,printk会在控制台初始化之前开始打印消息.现在printk的这种行为如何改变,因为我仍然使用printk函数来打印调试消息而不是early_printk函数.这个映射是如何完成的?解决方法:这不是一个映射.当启用early_printk时,使用与之前相同
- early_printk函数及 在Linux中的调试使用技巧(转+原创)
chungle2011
linux内核2.6.33Linux内核及驱动
http://blog.csdn.net/fengel_cs/article/details/50468912分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过printk函数了,但是这个时候的printk函数只是将打印信息放在缓存区中,并没有打印到控制台上,因为这个时候控制台还没有被初始化。只有在start_kernel函数中的console_init函数被调用
- linux内核-Centos7-linux-4.15.10-x86_64位系统制作
克几尔
linux内核linux
1平台的搭建1.1软件平台(1)Window10操作系统。(2)VMwareWorkstation14Pro。(3)Centos7-x86_64-DVD-1804.iso。Centos硬盘稍微大些,50G左右比较合适。1.2安装编译环境yum-yinstallgcc配置的GCC4.9.0,参考博客:http://www.kejierda.com/blog/?p=567。yum-yinstallnc
- linux内核`fixmap`和`memblock`有什么不同?
最后一个bug
linux内核设计与实现linuxarm开发开发语言stm32嵌入式硬件
Linux内核中的fixmap和memblock是两个不同层次的内存管理机制,分别用于不同的场景和阶段。以下是它们的核心区别和联系:功能与作用memblock物理内存管理:memblock是内核启动早期的物理内存分配器,在伙伴系统(BuddySystem)和slab分配器初始化之前使用。它的主要职责是:跟踪物理内存的可用区域(如从BIOS或设备树获取的内存信息)。保留内存(如内核代码、设备保留内存
- Linux内核内存管理 ARM32内核内存布局的详细解析和案例分析
Linux技术芯
深入理解Linux内核原理之内存管理单元linux
一、虚拟地址空间划分ARM32系统采用4GB虚拟地址空间,分为用户空间和内核空间:用户空间:0x00000000~0xBFFFFFFF(3GB),供用户进程使用。内核空间:0xC0000000~0xFFFFFFFF(1GB),由内核独占。划分原因:ARMv7架构通过CPU运行模式(如用户态usr和内核态svc)隔离访问权限。用户进程通过系统调用进入内核态后,才能访问内核空间。二、内核空间详细布局内
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen