- shell 笔记_s1=abc,s2=def,[-z‘‘‘]&;&;echo‘$s1‘ echo‘$s2‘的输出是什么
2024云技术
运维linux面试
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- Linux平台上DPDK入门指南(一)
lingshengxiyou
网络linux服务器网络协议云计算
1.简介本文档包含DPDK软件安装和配置的相关说明。旨在帮助用户快速启动和运行软件。文档主要描述了在Linux环境下编译和运行DPDK应用程序。1.1.文档地图以下是一份建议顺序阅读的DPDK参考文档列表:发布说明:提供特性发行版本的信息,包括支持的功能,限制,修复的问题,已知的问题等等。此外,还以FAQ方式提供了常见问题及解答。入门指南(本文档):介绍如何安装和配置DPDK,旨在帮助用户快速上手
- DPDK基础入门(七):网卡性能优化
指针从不空
Linux高性能网络性能优化网络
DPDK的轮询模式运行在操作系统内核态的网卡驱动程序基本都是基于异步中断处理模式,而DPDK采用了轮询或者轮询混杂中断的模式来进行收包和发包。任何包进入到网卡,网卡硬件会进行必要的检查、计算、解析和过滤等,最终包会进入物理端口的某一个队列。物理端口上的每一个收包队列,都会有一个对应的由收包描述符组成的软件队列来进行硬件和软件的交互,以达到收包的目的。轮询模式DPDK的轮询驱动程序负责初始化好每一个
- 如何在DPDK中实现协议解析?
编码小哥
dpdk架构
在DPDK中实现协议解析涉及几个步骤,包括初始化环境、配置网卡、接收数据包、解析数据包并处理数据包。下面将详细介绍这些步骤以及如何在DPDK中实现基本的协议解析。初始化DPDK环境首先,你需要初始化DPDK环境,加载EAL(EthernetAddressLearning)库,并设置好内存池、环形缓冲区等。#include#include#includeintmain(intargc,char**a
- OVS主线流程之ovs-vswitchd主体结构分析
大空新一
网络OVS
OVS是openvirtualswitch的简称,是现在广泛使用的软件实现的虚拟网络交换机。各大云厂商普遍使用OVS来实现自身的虚拟网络,各厂商会根据自身需要加以修改使之符合自身需求,DPU中也使用OVS来实现流表的offload。OVS中的流表基于多级结构,与用户强相关的是opwnflow,下发的流表称为emcflow。OVS一般存在两种运行模式,内核模式和DPDK模式。内核模式下存在一个dat
- DPDK22.11环境搭建
羽思
DPDK网络驱动开发
1.工具下载1.ubuntu安装工具:sudoapt-getinstallmesonsudoapt-getinstallninjasudoapt-getinstallpython3-pyelftools2.centosyuminstall-ypython3-pipnumactl-devellibibverbs-utilslibpcap-devel//安装libpcap依赖包wgethttp://m
- Linux进程间通信方式之管道(pipe)_
前端老侯
运维linux面试
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- Docker容器如何与主机同网段其它主机互通?
lingshengxiyou
linuxDPDKc++docker容器linux服务器后台开发
一、前言1、使用场景对开发者而言,随着容器的普遍使用,开发者可以很方便的搭建项目的简易测试环境。有时候为了项目可以在任意机器一键运行,不用配置连接IP等信息。所以希望可以提前固定容器的IP地址,而且一个项目有时候涉及多个容器,可能还会部署在多台机器上。所以如果容器间可以固定IP跨机器通信的话,会有很大方便。(免费订阅,永久学习)学习地址:Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟
- DPDK mlx5 驱动使用报错
choumin
小问题DPDKDPDKmlx5
还是记录一个小点,希望对大家有所帮助。背景:最近需要用DPDK测试Mellanox的ConnectX-4Lx网卡。在DPDK中,该网卡对应的驱动是mlx5。使用的DPDK版本是20.11和22.03,结果都出现了类似的报错信息。问题:在testpmd中启动上述网卡出现报错情况,testpmd的命令如下:$./build/app/dpdk-testpmd-l0-3-a0000:06:00.0-a00
- DPDK源码分析之DPDK技术简介
lingshengxiyou
c++linuxDPDK服务器linuxc++dpdk虚拟机
Cache和内存技术1.Cache一致性多核处理器同时访问同一段cacheline时,会出现写回冲突的情况,操作系统解决这个问题会消耗一部分性能,DPDK采用了两个技术来解决这个问题:对于共享的数据,每个核都定义自己的备份lcore[RTE_MAX_LCORE],这样多核处理事务时只处理自己的部分,lcore[idx]利用单网卡有着多队列的能力,当多核处理同一个网卡的数据包时,进行分队列处理,例如
- Linux:dperf---100Gbps开源压力测试工具
技术探索者
工具使用linux知识测试工具dperf
简介dperf是一个基于DPDK开发,具有千万级HTTPCPS,几十亿并发,几百Gbps带宽的开源压力测试仪,dperf实现了一个精简的用户态TCP/IP协议栈、精简的Socket、精简的HTTP客户端与服务器,可以curl/ab/nginx进行对接。dperf是一款开源的高性能网络压测软件,可用于测试四层负载均衡等网关设备的的各项性能指标(新建、带宽、并发、PPS)。总之,dperf是一个100
- 高性能异步io机制:io_uring
linux大本营
c++linuxepollio_uring异步io
io_uring是linux内核5.10引入的异步io接口。相比起用户态的DPDK、SPDK,io_uring作为内核的一部分,通过mmap的方式实现用户和内核共享内存,并基于memorybarrier在这块内存上实现了两个无锁环形队列:submissionqueuering(sq)和completionqueuering(cq)。sq用于用户程序向内核提交IO任务,内核执行完成的任务会放入cq,
- OSDI 2023: Userspace Bypass Accelerating Syscall-intensive Applications
结构化文摘
操作系统用户态内核硬件兼容分层架构存储结构
我们使用以下6个分类标准对本文的研究选题进行分析:1.方法:**系统调用消除:**专注于完全消除I/O路径中的系统调用(例如DPDK、UserspaceBypass)。**系统调用优化:**在不完全消除的情况下,旨在降低系统调用的成本(例如io_uring、F-Stack)。**替代执行模型:**探索使用用户空间或微内核等不同执行环境来绕过系统调用(例如QEMU、Unikernels)。2.应用重
- DPDK初始化
phone1126
linux
rte_eal_init│├──rte_cpu_is_supported:检查cpu是否支持│├──rte_atomic32_test_and_set:操作静态局部变量run_once确保函数只执行一次│├──pthread_self()获取主线程的线程ID,只是用于打印│├──eal_reset_internal_config:初始化内部全局配置变量structinternal_config│├
- DPDK大页内存
ordersyhack
引导指南解决方案系统搭建linux运维服务器
2Mlscpu|greppse1Glscpu|greppse1gbgrep-iHUGETLB/boot/config-$(uname-r)cat/proc/meminfo|grep-ihugepagesdefault_hugepagesz--表示默认的大页内存大小。hugepagesz--一个大页内存大小。hugepages--大页内存总的页数。vi/etc/default/grub#defaul
- DPDK系列之四十一数据收发整体流程源码分析之一整体流程
fpcc
网络开发DPDK
一、说明在前面的分析中基本介绍了DPDK中的各种模块的技术架构,从这篇开始,就从头开始对整个代码的流程进行分析,然后在此基础上,初步掌握了DPDK的代码架构和功能分析后,再对基于DPDK的上层应用进行分析。这是一个从分到合,从基础到应用的过程。在这个过程中需要不断的回顾和补充原来的知识。二、数据包流程在前面详细分析过数据包的转运流程,其实做一种IO接口,一定是分成两部分,即数据的接收和发送。从宏观
- 【dpdk】NVIDIA Poll Mode Driver (PMD) in DPDK
Henry Patch
#DPDK后端
DataPlaneDevelopmentKit(DPDK)AchievefastpacketprocessingandlowlatencywithNVIDIAPollModeDriver(PMD)inDPDK.DPDKisasetoflibrariesandoptimizednetworkinterfacecard(NIC)driversforfastpacketprocessinginauser
- 【dpdk】NVIDIA MLX5 Common Driver
Henry Patch
#DPDK后端
From3.NVIDIAMLX5CompressDriver—DataPlaneDevelopmentKit23.11.0documentation(dpdk.org)5.NVIDIAMLX5CommonDriverNoteNVIDIAacquiredMellanoxTechnologiesin2020.TheDPDKdocumentationandcodemightstillincludeins
- 【dpdk】qat-getting-started-guide-with-dpdk-v2.0
Henry Patch
#DPDK#SPDK后端
文章目录参考文档1.QATdriverinstallation1.1.Installationusingkernel.orgdriver1.2.**Bind**ingtheavailableVFstothevfio-pcidriver1.2.1.ForanIntel(R)QuickAssistTechnologyDH895xCCdevice1.2.2.ForanIntel(R)QuickAssis
- 【星海草稿】DPDK 后期会继续更新
活跃的煤矿打工人
chrome前端
官网:https://www.dpdk.org/https://launchpad.net/kollaPCI设备[查看和列出PCI设备。]lspci[网卡驱动程序设置特定的参数]modprobexxxx[查看是否正常运行]ifconfig内存设备64位Linux通常使用48位来表示虚拟地址空间,43位表示物理地址。#uname-m,然后按回车。如果输出是x86_64,那么你的系统就是64位的。如果
- 网络协议笔记 - L2TP协议
sz66cm
Linux数据处理网络协议网络服务器
网络协议笔记-L2TP协议背景协议格式协议字段解析总结背景基于dpdk,实现了一套L2TP协议接入接口;协议格式协议字段解析T:0代表数据报文,1代表控制报文;L:1代表存在Length字段,0代表不存在Length字段;S:1代表Ns与Nr字段存在(控制报文S必须为1);O:1代表OffsetSize字段存在,(可控制报文O必须为0);P:1表示需要优待的报文,控制报文P必须为0;总结协议的学习
- DPDK 中断处理流程
分享放大价值
本文整理下之前的学习笔记,基于DPDK17.11版本源码分析。主要分析一下中断处理流程。网卡支持的中断有多种类型,比如收发包,LSC(链路状态变化),mailbox等,但是DPDK使用PMD来收发包,不用处理收发包中断。将网卡绑定到igb_uio时会注册uio,生成/dev/uiox字符设备。DPDK初始化时会open/dev/uiox设备,对应到kernel端会申请中断号,并注册中断处理函数。D
- [Suricata]基于DPDK抓包
LzSkyline
项目需要用到Suricata的解包能力,但由于分光流量较大,软件自带的抓包方式并不能满足需求,于是发现了这个基于dpdk的Suricata.使用过程中遇到一些依赖和万兆网卡驱动的问题,已经解决并merge到master分支了,现在clone下来应该可以直接用安装DPDK#下载安装wgethttp://fast.dpdk.org/rel/dpdk-18.11.tar.xztarxfdpdk-18.1
- dpdk20.11.9 编译arm版本以及在arm 应用中引用dpdk20.11.9
coolfishbone_joey
arm开发
以往19版本的dpdk都是可以直接用make的方式进行编译,e.g,makeT=x86_64-native-linux-gccinstall为了和客户那边用的DPDK版本一致,这次要用dpdk20.11.9,并且要把之前跑在X86版本的服务器上的程序跑在ARM版本上.目前有两个问题:1.编译出arm版本的dpdk.2.把编译出来的dpdklib引用到arm版本的testArmApp中.------
- 抓包神技--DPDK
qintian0225
学习业界资讯
DPDK,全称DataPlaneDevelopmentKit,是一个高性能的数据包处理工具集。估计有不少朋友使用过或者之前了解过,它通过绕过Linux内核协议栈,直接在用户空间进行数据包处理,大大提高了数据包处理的效率和吞吐量。DPDK主要解决了传统网络数据包处理中存在的问题。传统的数据包处理方式需要经过内核协议栈的处理,导致数据包处理速度慢、效率低下。而DPDK通过直接在用户空间进行数据包处理,
- 10道网络八股文,每道都很经典,让你在面试中逼格满满
linux大本营
linux后台开发网络编程tcpudp
10道网络八股文,每道都很经典,让你在面试中逼格满满|tcp与udp有区别?大量close专注后台服务器开发,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等学习地址:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂
- 基于DPDK的Virtio-Crypto运算资源虚拟化
lingshengxiyou
服务器网络运维网络协议linux
为什么要Virtio-Crypto?随着近年来互联网,特别是移动互联网的高速发展,用户对数据安全的要求也越来越高。越来越多的网络信息流都被做了加密处理,来防止诸如泄密,仿冒,和重播等类型的网络攻击。Google目前已实现全站HTTPS加密,并在其安全性报告中指出截止2018年7月,超过70%的Chrome数据都已实现加密。而密保工作如IPSec则需要大量的计算机资源来进行。一个最基本的AES块加密
- DPDK扩展自己的库
龙葵他
有时候我们想在DPDK里添加自己的库~假设我们要在lib文件夹下添加一个lib_test文件夹,并生成一个librte_test.a的库改配置文件在DPDK/config/common_base中增加lib_test的configconfig添加自己的文件在lib文件夹下,新建librte_test文件夹,在librte_test文件夹中新建librte_test.c、librte_test.h、
- 【DPDK 】dpdk测试发udp包
道剑剑非道
udp网络协议网络
send.c#include#include#include#include#include#defineENABLE_SEND1#defineENABLE_ARP1#defineNUM_MBUFS(4096-1)#defineBURST_SIZE32#ifENABLE_SENDstaticuint32_tgSrcIp;//staticuint32_tgDstIp;staticuint8_tgSr
- VPP使用DPDK纳管主机网卡
Danileaf_Guo
正文共:888字24图,预估阅读时间:1分钟我们之前安装的VPP版本是20.09(安装一个VPP20.09),现在看官网版本已经更新到22.06.0了。我们先用命令yumupdatevpp-y看一下YUM仓库里面更新版本了没有。确认一下。确实,仓库里面最新版本还是20.09,那就还用这个版本吧。在DPDK官网,关于部署有相关文档,但是没有和VPP对应的20.09这个版本,所以我选择安装20.11这
- LeetCode[位运算] - #137 Single Number II
Cwind
javaAlgorithmLeetCode题解位运算
原题链接:#137 Single Number II
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一
- 《JavaScript语言精粹》笔记
aijuans
JavaScript
0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。
1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。
2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是
- 你应该更新的Java知识之常用程序库
Kai_Ge
java
在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。
Guava
Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。
guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该
- HttpClient
120153216
httpclient
/**
* 可以传对象的请求转发,对象已流形式放入HTTP中
*/
public static Object doPost(Map<String,Object> parmMap,String url)
{
Object object = null;
HttpClient hc = new HttpClient();
String fullURL
- Django model字段类型清单
2002wmj
django
Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha
- 在SQLSERVER中查找消耗CPU最多的SQL
357029540
SQL Server
返回消耗CPU数目最多的10条语句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_of
- Myeclipse项目无法部署,Undefined exploded archive location
7454103
eclipseMyEclipse
做个备忘!
错误信息为:
Undefined exploded archive location
原因:
在工程转移过程中,导致工程的配置文件出错;
解决方法:
 
- GMT时间格式转换
adminjun
GMT时间转换
普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。
1、可以使用
SimpleDateFormat SimpleDateFormat
EEE-三位星期
d-天
MMM-月
yyyy-四位年
- Oracle数据库新装连接串问题
aijuans
oracle数据库
割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下:
Fatal NI connect error 12170.
VERSION INFORMATION: TNS for Linux: Version 10.2.0.4.0 - Product
- 回顾java数组复制
ayaoxinchao
java数组
在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方
- java web会话监听并使用spring注入
bewithme
Java Web
在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。
import java.util.ArrayList;
import java.ut
- NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)
bijian1013
redis数据库NoSQL
一 .Redis常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
a.键值相关命令
b.服务器相关命令
1.键值相关命令
&
- java枚举序列化问题
bingyingao
java枚举序列化
对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题:
1.加一个枚举值
新机器代码读分布式缓存中老对象,没有问题,不会抛异常。
老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。
2.删一个枚举值
新机器代码读分布式缓存中老对象,反序列
- 【Spark七十八】Spark Kyro序列化
bit1129
spark
当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。
Spark
- Hybridizing OO and Functional Design
bookjovi
erlanghaskell
推荐博文:
Tell Above, and Ask Below - Hybridizing OO and Functional Design
文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,
- Java-Collections Framework学习与总结-HashMap
BrokenDreams
Collections
开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。
&nb
- 读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请
* bylijinnan
*/
abstract class Handler {
/*
- Android中启动外部程序
cherishLC
android
1、启动外部程序
引用自:
http://blog.csdn.net/linxcool/article/details/7692374
//方法一
Intent intent=new Intent();
//包名 包名+类名(全路径)
intent.setClassName("com.linxcool", "com.linxcool.PlaneActi
- summary_keep_rate
coollyj
SUM
BEGIN
/*DECLARE minDate varchar(20) ;
DECLARE maxDate varchar(20) ;*/
DECLARE stkDate varchar(20) ;
DECLARE done int default -1;
/* 游标中 注册服务器地址 */
DE
- hadoop hdfs 添加数据目录出错
daizj
hadoophdfs扩容
由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误:
2014-11-18 08:51:39,128 WARN org.apache.hadoop.h
- grep 目录级联查找
dongwei_6688
grep
在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数:
grep -n -r "GET" .
上面的命令将会找出当前目录“.”及当前目录中所有下级目录
- yii 修改模块使用的布局文件
dcj3sjt126com
yiilayouts
方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用 protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr
- 设计模式之单例模式
come_for_dream
设计模式单例模式懒汉式饿汉式双重检验锁失败无序写入
今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。
*********************************
- 8、数组
豆豆咖啡
二维数组数组一维数组
一、概念
数组是同一种类型数据的集合。其实数组就是一个容器。
二、好处
可以自动给数组中的元素从0开始编号,方便操作这些元素
三、格式
//一维数组
1,元素类型[] 变量名 = new 元素类型[元素的个数]
int[] arr =
- Decode Ways
hcx2013
decode
A message containing letters from A-Z is being encoded to numbers using the following mapping:
'A' -> 1
'B' -> 2
...
'Z' -> 26
Given an encoded message containing digits, det
- Spring4.1新特性——异步调度和事件机制的异常处理
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- squid3(高命中率)缓存服务器配置
liyonghui160com
系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz &&
- 避免Java应用中NullPointerException的技巧和最佳实践
pda158
java
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常
Object unk
- 如何在Swift语言中创建http请求
shoothao
httpswift
概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。
如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。
在这里,我将作出一些建议来回答上述问题。常见的
- Spring事务的传播方式
uule
spring事务
传播方式:
新建事务
required
required_new - 挂起当前
非事务方式运行
supports
&nbs