- 使用 BPF 监控 Kubernetes 集群(k8s BPF 工具 kubectl-trace认知
山河已无恙
K8s&kubelct插件BPFkubernetes容器云原生
写在前面学习中遇到,整理分享,博文内容涉及:kubectl-trace安装,在节点,容器中如何使用需要注意的问题:job闪完成,一直Pending状态解决理解不足小伙伴帮忙指正不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树kubectl-trace安装┌──[
[email protected]]-[~/ansi
- 初识XDP
Iverson`
Linux内核之旅
网络钩子(hook)在计算机网络中,Hook钩子在操作系统中用于在调用前或执行过程中拦截网络数据包。Linux内核中暴露了多个钩子,BPF程序可以连接到这些钩子上,实现数据收集和自定义事件处理。虽然Linux内核中的钩子点很多,但我们将重点关注网络子系统中存在的两个钩子:XDP和TC。它们结合在一起,可以用来处理RX和TX上两个链路上靠近NIC的数据包,从而实现了许多网络应用的开发。今天我们先来讲
- 崔鹏程: 初识XDP
宋宝华
内核网络linux操作系统kernel
在计算机网络中,Hook钩子在操作系统中用于在调用前或执行过程中拦截网络数据包。Linux内核中暴露了多个钩子,BPF程序可以连接到这些钩子上,实现数据收集和自定义事件处理。Linux内核中的钩子点很多,比如说网络子系统中存在两个钩子:XDP和TC。它们结合在一起,可以用来处理RX和TX上两个链路上靠近NIC的数据包,从而实现了许多网络应用的开发。今天我们简单介绍下XDP。XDP全称为eXpres
- BPF开发: 从Hello World开始
Part1概述1.背景BPF技术被列为近些年Linux内核领域最火热的新领域之一。它成功的给Linux内核赋予了少量的动态可编程性,可以在Linux内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF在Linux世界中:网络可观测性安全三大领域大放异彩,学习好BPF技术,对于Linux内核和应用开发者来说,是一件非常有意义的事情。2.什么是BPF?BPF在Linux内核中,被实
- Flomesh 发布 Pipy 0.99.1
Flomesh
开源软件
值此新春佳节来临之际,我们很高兴地宣布Pipy0.99.1版本的发布,此次更新带来了多项重要特性和改进,进一步增强了Pipy的功能性和灵活性。新特性与改进:增加了对BPF(BerkeleyPacketFilter)的支持,包括加载和解析BPF程序以及BTF(BPFTypeFormat)解析,显著提升了网络处理和监控的能力。新增对FastCGI的支持,基于社区用户的真实需求,为原本使用Nginx+P
- python抓包 -- 用wireshark抓包、解析
星寂樱易李
telnetwireshark网络服务器
一、安装scapy模块1、打开DOS命令行python-mpipinstallscapy2、sniff()函数功能:数据嗅探参数:iface:指定在哪个网络接口上抓包count:表示要捕获数据包的数量。默认为0(不限制数量)filter:流量的过滤规则。使用的是BPF的语法prn:定义回调函数,使用lambda表达式来写回调函数(当符合filter的流量被捕获时,就会执行回调函数)【BPF过滤语法
- Knot Server XDP原理分析
码农心语
高性能knotdnsxdp源码分析
目录KnotServerXDP原理分析一、Kernel层代码分析1.kernel层源码的编译2.bpf-kenerl.c源码的分析二、User层代码分析KnotServerXDP原理分析xdp部分的代码分为Kernel层和User层两部分,Kernel层代码由User层代码调用linuxbpf接口加载到网卡内核驱动,对进入的数据包进行拦截,对于Knot关注的DNS数据包(包括UDP/TCP,甚至Q
- 【centos系统ddos攻击】
软件测试很重要
centosddoslinux
centos系统ddos攻击,使用hping3和ab测试攻击模拟攻击hping3工具hping3是一个命令行下使用的TCP/IP数据包组装/分析工具,通常web服务会用来做压力测试使用,也可以进行DOS攻击的实验。同样hping3每次只能扫描一个目标。安装hping3yuminstalllibpcap-develtc-develln-s/usr/include/pcap-bpf.h/usr/inc
- BPF开发: 从Hello World开始
MatrixOrigin
云原生分布式数据库
Part1概述1.背景BPF技术被列为近些年Linux内核领域最火热的新领域之一。它成功的给Linux内核赋予了少量的动态可编程性,可以在Linux内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF在Linux世界中:网络可观测性安全三大领域大放异彩,学习好BPF技术,对于Linux内核和应用开发者来说,是一件非常有意义的事情。2.什么是BPF?BPF在Linux内核中,被实
- 网络协议和Netty(7):常用的网络抓包工具 Wireshark
TofuCai
java网络协议和Netty抓包工具wiresharkBPF语法
目录Wireshark的使用1.下载2.安装数据包的捕获和基本用法过滤器捕获过滤器捕获过滤器的BPF语法显示过滤器比较操作符和逻辑操作符预定义过滤器前言:前面三次握手和四次挥手用的抓包工具就是Wireshark,本节主要介绍其简单的使用,不用死记硬背,知道大概的使用方法就行,至于命令搞个专门记录命令的文档记录,用的时候直接用就好了。提问:为什么要抓包?解答:1、定位网络问题;2、分析接口数据;3、
- mac Wireshark报错You do not have permission to capture on device “en1“
JudithHuang
macoswireshark测试工具
Wireshark开始抓包时报错Youdonothavepermissiontocaptureondevice"en1".((cannotopenBPFdevice)/dev/bpf0:Permissiondenied)查看/dev/bpf*文件的权限ls-l/dev/bpf*更新/dev/bpf*文件权限和组权限sudochmodg+r/dev/bpf*&&sudochgrpadmin/dev/
- Linux 可观测性 BPF&eBPF 以及 BCC&bpftrace 认知
山河已无恙
Linux性能调优linux运维服务器
写在前面博文内容为《BPFPerformanceTools》读书笔记整理,对原书内容做了摘要博文内容涉及:BPF和eBPF认知BCC和bpftrace认知BCC和bpftrace工具简单认知理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼
- 《Learning eBPF》读书笔记
香蕉割草机
ebpfebpfbcclibbpfbpftool
文章目录章节内容简介第1章什么是ebpf,为什么它很重要?第2章ebpf版helloworld第3章ebpf程序剖析ebpf虚拟机一个xdp的helloword例子c语言程序编译为ebpf字节码加载bpf程序到内核检查加载的程序运行时编译机器码附加到事件分离程序卸载程序第4章bpf()系统调用第5章CO-RE,BTF,andLibbpfCO-RE概览BTF例子libbpf生成内核头文件ebpf程序
- 观测云产品更新 | 日志、场景仪表板、监控器等
观测云
数据可视化日志数据访问apm
观测云更新用户访问监测(RUM)公网Dataway支持ip转换成地理位置信息。日志>查看器详情页1、新增BPF网络日志采集及日志详情页,支持Json格式转化;2、上述1中的日志详情页中新增可读的展示模式,即您可以快速直观了解客户端与服务端之间的网络情况;同时,也支持切换绝对/相对时间查看;3、新增绑定「关联网络日志」,您可以直接查看相关网络的日志详细内容,方便进一步分析。日志>数据访问新增支持新建
- 开源C语言库Melon:用户态动态追踪与控制反馈
码哥比特
开源c语言开发语言经验分享程序人生linux单片机
前言本文根据开源C语言库Melon的最新特性,讲述使用该库做用户态动态追踪,以及根据追踪内容进行计算,并将结果用于反馈给程序,同时对程序的处理流程进行影响。说到动态追踪,大家可能第一印象是bpf、dtrace、systemtap等等,但是本文介绍的动态追踪不依赖于这些内容。Melon中提供的功能更加倾向于让程序在用户态内完成对自身的动态追踪,而不依赖于内核态,也不依赖于uprobe和usdt等内容
- CTF-PWN-沙箱逃脱-【seccomp和prtcl-1】
Full Stack-LLK
CTF-PWN-沙箱逃脱redis数据库缓存PWN
文章目录啥是seccomp#ifndef#define#endif使用使用格式seccomp无参数条件禁用系统调用有参数条件禁用系统调用prctl实例seccomp_export_bpf啥是seccomp就是可以禁用掉某些系统调用,然后只能允许某些系统调用#ifndef#define#endif使用#ifndef#define#endif作用就是防止头文件被重复引用,其实“被重复引用”是指一个头文
- CTF-PWN-沙箱逃脱-【seccomp和prtcl-2】
Full Stack-LLK
CTF-PWN-沙箱逃脱CTF-PWN
文章目录沙箱逃脱prtcl题HITCONCTF2017QualsImpeccableArtifactflag文件对应prctl函数检查源码思路exp沙箱逃脱prtcl题HITCONCTF2017QualsImpeccableArtifactflag文件此时的flag文件在本文件夹建一个即可此时的我设置的flag为对应prctl函数第一条是禁止特权第二条是按定义的BPF来建立沙箱检查保护全开查看沙箱
- 性能分析与调优: Linux 安装基于BPF的bcc-tools系统性能工具库
cronaldo91
性能分析与调优linux服务器运维性能优化云计算
目录一、实验1.环境2.agent服务器安装使用ELRepo安装依赖包3.agent服务器安装基于BPF的bcc-tools系统性能工具库二、问题1.安装bcc-tools后执行命令报错一、实验1.环境(1)主机表1-1主机主机架构组件IP备注prometheus监测系统prometheus、node_exporter192.168.204.18grafana监测GUIgrafana192.168
- ebpf基础篇(二) ----- ebpf前世今生
self-motivation
性能分析优化ebpfXDP
bpf要追述ebpf的历史,就不得不提bpf.bpf(BerkeleyPacketFilter)从早(1992年)诞生于类Unix系统中,用于数据包分析.它提供了数据链路层的接口,可以在数据链路层发送和接收数据.如果网卡支持混杂模式,所有的数据包都可以被接收,即使这些数据包的目的地址是其它主机.BPF最为熟知的应用就是tcpdump,用户可以指定过滤规则,这样就可以避免不需要的数据包被从内核拷贝到
- epbf原理篇 -------- epbf编程语言
self-motivation
性能分析优化ebpflinuxbcctracepointkprobe
提示:本文约1.6万字通过学习此文,你可以了解到以下内容:Linux是如何通过新增bpf系统调用来支持ebpf功能的ebpf提供了哪些编程接口和编程便利如何在不使用bcc,bpftrace等高级工具的情况下,使用C语言来编写ebpf程序正如上文中提到Linus对epbf的评价"BPFhasactuallybeenreallyuseful,andtherealpowerofitishowitallo
- 技术分享 | 如何使用 bcc 工具观测 MySQL 延迟
爱可生开源社区
作者:刘安爱可生测试团队成员,主要负责TXLE开源项目相关测试任务,擅长Python自动化测试开发,最近醉心于Linux性能分析优化的相关知识。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。最近在极客时间上学习《Linux性能优化实战》,接触到了基于eBPF的BCC软件包。今天来分享一下bcc软件包中用来观测MySQL的几个工具。1.什么是BPF和
- linux 安全系列目录 - seccomp安全模块问题排查
yusq77
linuxlinux安全容器dockerbug
linux系列目录linux安全系列目录-seccomp一、Seccomp沙箱安全机制二、安装依赖包三、SeccompStrictMode四、SeccompFilterMode(Seccomp-BPF)-推荐五、有用资源六、总结linux安全系列目录-seccomp涉及seccomp安全模块问题时,可以参照本文档案例进行扩展分析,可以多访问文中的链接,很有用。一、Seccomp沙箱安全机制通过使用
- 3.11 Android eBPF Hello World调试(五)
高桐@BILL
AndroideBPFBookandroidebpf性能
一,写在前面HelloWorld程序的目标是跟踪当前core最近得到调度的任务ID;有同学遇到这样一个情况?明明cpu的核心只有8个核,但从map中却遍历了1024条数据。为什么会出现从eBPFmap中读取的数据都是1024个条目的情况呢?那是因为不同的eBPFmap类型有着不同的香味。例如,BPF_MAP_TYPE_ARRAY类型的map总是有一个固定的大小,并且索引是从0开始的连续整数。如果你
- 【BPF EBPF】
道剑剑非道
网络tcp/ip网络协议
linu4.14内核tcp.bt#include#includeBEGIN{printf("Tracingtcpstate.\n");@tcp_states[1]="ESTABLISHED";@tcp_states[2]="SYN_SENT";@tcp_states[3]="SYN_RECV";@tcp_states[4]="FIN_WAIT1";@tcp_states[5]="FIN_WAIT2
- JS 两个对象,针对第二个去合并第一个对象
圆脸喜欢吃菠萝
javascript前端html
constone={abc:'',aoe:'',bpf:'',dtn:'',gkh:'',mnl:'what'}constone1={abc:'杨幂',aoe:31,bpf:'女',dtn:'观塘',gkh:'90',mnl:'ccccd',opq:'测试',}constobj1=ref([])constobj2=ref([])obj1.value=oneobj2.value=one1Object
- 【libpcap】利用pcap实现抓包发包
xiaodaoaa
Linux积累c语言winpcaplinux
#include#include#include#defineSNAP_LEN65536staticcharg_ftag[6]={0xFE,0xFE,0xFE,0xFE,0xFE,0xFE};/*structpcap_pkthdr{structtimevalts;ts是一个结构structtimeval,它有两个部分,第一部分是1900开始以来的秒数,第二部分是当前秒之后的毫秒数bpf_u_int
- 【openwrt学习笔记】IPV6 ND协议学习和socket编程
瓜洲大大
网络相关openwrt学习笔记ND协议socket网络编程
目录一、参考链接二、学习目标三、代码解析3.1仅解析NA报文保存设备mac和ipv6地址信息3.1.1open_ns_socket3.1.2recv_ns_pack3.2解析NA和NS报文中DAD报文保存设备mac和ipv6地址信息3.2.1open_ns_na_socket3.2.2recv_ns_na_pack四、代码优化4.1BPF参考学习资料4.2代码实现4.2.1方式一:使用指令直接编写
- java虚拟机第三版学习
星月IWJ
JAVAjavajvm开发语言
java编译执行流程Java源文件—>编译器—>字节码文件—>JVM—>机器码Java内存区域与内存溢出异常[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkKr6bPF-1666975994807)(./java虚拟机运行时数据区.jpg)]执行引擎:即时编译器(JIT)/垃圾收集程序计数器当前线程所执行的字节码的行号指示器,唯一一个没有oom的区域虚拟机栈虚拟机
- Ubuntu16.04.4系统本地提权实验
夜间飛行
服务器网络运维
目录1.介绍:2.实验:3.总结:1.介绍:1.1:eBPF简介:eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制,BPF可以理解成用户与内核之间的一条通道,有非常强大的功能。一个典型的BPF程序流程为:用户程序调用syscall(__NR_bpf,BPF_MAP_CREATE,&attr,sizeof(attr))申请创建一个map,在att
- Wireshark捕获过滤器表达式
牙三十
wireshark抓包
表达式格式BerkeleyPacketFilter(BPF)语法:原语操作符原语原语1操作符原语2原语每个原语包含一个或者多个限定词,然后跟着一个ID名字或者数字。限定词:type:指出名字或者数字代表的意义,如:host,net,portDir:指明传输方向,src,dstProto:限定要匹配的协议,ether,ip(ipv4),ip6,tcp,udp,http,tcp操作符与:&&或:||非
- [黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
- jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
- 使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
- jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
- Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
- 在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
- spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
- mongoDB 入门指南、示例
adminjun
javamongodb操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
- CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
- Essential Studio for WinRT网格控件测评
Axiba
JavaScripthtml5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
- java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
- NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis数据库NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
- 异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
- 【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
- Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
- Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
- 读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
- Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
- [原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法工作PHP搜索引擎嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
- Linux中用shell获取昨天、明天或多天前的日期
daizj
linuxshell上几年昨天获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
- 我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
- YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
- 设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
- 【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
- Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
- Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
- Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
- 独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
- JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f