- Linux内存管理:(一)物理页面分配流程 及 Linux6.5源码分析(中)
Albert XUU
内存管理linux运维服务器
《Linux6.5源码分析:内存管理系列文章》本系列文章将对内存管理相关知识进行梳理与源码分析,重点放在linux源码分析上,并结合eBPF程序对内核中内存管理机制进行数据实时拿取与分析。在进行正式介绍之前,有必要对文章引用进行提前说明。本系列文章参考了大量的博客、文章以及书籍:《深入理解Linux内核》《Linux操作系统原理与应用》《奔跑吧Linux内核》《深入理解Linux进程与内存》《基于
- ebpf 月报 - 2023 年 2 月
ebpf
本刊物旨在为中文用户提供及时、深入、有态度的ebpf资讯。如果你吃了鸡蛋觉得好吃,还想认识下蛋的母鸡,欢迎关注:笔者的twitter:https://twitter.com/spacewanderlzxbpftrace发布0.17.0版本https://github.com/iovisor/bpftrace/releases/tag/v0.17.0时隔数月,bpftrace发布了新版本0.17.0
- eBPF 底层结构剖析
linuxebpf
寄存器:CPU不断读写内存是并不很快的,这个速度好像还取决与对应的总线长度,因此我们需要一个中间变量来帮助我们来快速访问对应的内存,这个时候我们就需要使用到栈。所以我们的寄存器,通常分为下面几种:数据寄存器,一般用于存储数据地址寄存器,用于存储地址,常见的有段指针在eBPF中常见的寄存器有下面这几种:R0,这个寄存器一般用于存储对应函数返回值R1-R5,这几个寄存器用于存储函数的参数值R10,这个
- 云原生 | 在 Kubernetes 中使用 Cilium 替代 Calico 网络插件实践指南!
全栈工程师修炼指南
企业IT运维实践云原生kubernetes网络容器
[知识是人生的灯塔,只有不断学习,才能照亮前行的道路]0x00简述介绍什么是Cilium?Cilium是一款开源软件,它基于一种名为eBPF的新的Linux内核技术提供动力,用于透明地保护使用Docker和Kubernetes等Linux容器管理平台中部署的应用程序服务之间的网络连接,Cilium主要使用场景是在Kubernetes中,但Cilium的优势并不仅限于Kubernetes环境。在Ku
- 观测云核心技术解密:eBPF Tracing 实现原理
观测云
网络ebpf
前言eBPF是一种强大的内核技术,允许在内核中安全地执行自定义代码。通过eBPF,开发者可以在不修改内核源码的情况下,对内核功能进行扩展和监控。eBPFTracing利用这一技术,对系统调用、内核函数等进行跟踪,从而实现对应用行为的深入洞察。与传统的监控方式相比,eBPFTracing具有以下优势:无侵入性:无需修改应用代码即可进行监控。高性能:在内核层面执行,减少了对应用性能的影响。细粒度:可以
- 云原生周刊:Kubernetes v1.31 发布
KubeSphere 云原生
k8s容器平台kubesphere云计算
开源项目推荐KardinalKardinal是一个用于在共享Kubernetes集群中创建超轻量级临时开发环境的框架。AnteonAnteon(以前称为Ddosify)是一个开源的、基于eBPF的Kubernetes监控和性能测试平台。KubetuiKubetui是一个用于监控Kubernetes资源的终端用户界面(TUI)工具。它为开发人员和运维人员提供了一个易于使用的界面,可访问有关其应用程序
- eBPF实践篇之环境搭建
醉墨居士
eBPFlinux网络c语言
文章目录前言实验环境前置知识配置开发环境最后前言你好,我是醉墨居士,本次我们学习一下eBPF,我们基于libbpf-bootstrap来进行我们的eBPF程序开发实验环境一台Debian12操作系统的计算机,我使用的是Debian12.2.0-amd64其它Linux发行版的环境也可以,Linux内核不低于5.4版本前置知识c语言,linux系统基本操作配置开发环境在Ubuntu/Debian系统
- 【理解 Cilium 系列文章】(一) 初识 Cilium
云原生Serverless
云原生ciliumcilium网络
Cilium作为近两年最火的云原生网络方案,可谓是风头无两。作为第一个通过ebpf实现了kube-proxy所有功能的网络插件,它的神秘面纱究竟是怎样的呢?本系列文章将带大家一起来慢慢揭晓作为《理解Cilium系列文章》的第一篇,本文主要介绍Cilium的发展,相关功能以及使用,深入理解及底层原理将在后续文章中继续介绍背景随着云原生的普及率越来越高,各大厂商基本上或多或少都实现了业务的k8s容器化
- 【理解 Cilium 系列文章】(二) 理解网络数据包的流转过程
云原生Serverless
云原生ciliumlinuxebpfcilium云原生
Cilium作为近两年最火的云原生网络方案,可谓是风头无两。作为第一个通过ebpf实现了kube-proxy所有功能的网络插件,它的神秘面纱究竟是怎样的呢?本系列文章将带大家一起来慢慢揭晓作为《理解Cilium系列文章》的第二篇,本文主要介绍Cilium网络相关知识点,为后续Cilium的深入了解做铺垫。了解Cilium是如何在网络流转的路径中做拦截处理的之前的两篇文章【25张图,一万字,拆解Li
- eBPF 科普第一弹| 初识 eBPF,你应该知道的知识
云原生与道客
云原生kubernetescloudnative容器docker
“eBPF作为一颗在基础软件领域冉冉上升的新星,可谓前途大好,越来越多的基于eBPF的应用如雨后春笋般蓬勃涌现,这是eBPF展现出的惊人力量。本文就将带着大家了解eBPF。11月,「DaoCloud道客」正式加入了eBPF基金会,是继8月12日创始成员Facebook、Google、Isovalent、Microsoft和Netflix之后,第一家正式获准加入的中国公司。01什么是eBPF与eBP
- 初识 eBPF,你应该知道的知识
Docker_
网络数据结构pythonlinuxjava
eBPF作为一颗在基础软件领域冉冉上升的新星,可谓前途大好,越来越多的基于eBPF的应用如雨后春笋般蓬勃涌现,这是eBPF展现出的惊人力量。本文就将带着大家了解eBPF。什么是eBPF与eBPF基金会?简单来说,eBPF是Linux内核中一个非常灵活与高效的类虚拟机(virtualmachine-like)组件,能够在许多内核hook点安全地执行字节码(bytecode)。很多内核子系统都已经使用
- 初识eBPF
YoungerChina
内核驱动EBPF内核Linux
eBPF是一项革命性的技术,它能在操作系统内核中运行沙箱程序。被用于安全并有效地扩展内核的能力而无需修改内核代码或者加载内核模块。从古至今,由于内核有监视和控制整个系统的特权,操作系统一直都是实现可观察性、安全性和网络功能的理想场所。同时,操作系统内核也很难进化,因为它的核心角色以及对稳定和安全的高度要求。因此,操作系统级别的创新相比操作系统之外实现的功能较少。eBPF从根本上改变了这个定律。通过
- 基于WebGPU的AI原生3D引擎将会迎来新机遇!Orillusion在GOTC上做主题演讲!
前端
全球开源技术峰会(GlobalOpen-sourceTechnologyConferencGOTC2023由开放原子开源基金会、Linux基金会亚太区、上海浦东软件园和开源中国联合发起,于5月27日至28日在上海顺利举行。GOTC是面向全球开发者的一场盛大开源技术盛宴,大会以行业展览、主题发言、专题论坛、开源市集的形式展现,与会者将一起探讨元宇宙、3D与游戏、eBPF、Web3.0、区块链等热门技
- ebpf-go 初体验
前言我们在《用eBPF/XDP来替代LVS》系列、《一张图感受真实的TCP状态转移》系列,以及《如何终结已存在的TCP连接?》系列文章中,均通过纯C语言和libbpf1这个库来运用eBPF。但是很多的场景中(尤其是云原生场景),我们出于避免重复造轮子、更快的迭代速度、运行时安全等原因,会选择go语言来进行开发,ebpf-go2这个库就是当前最好的选择。今天,我们就对ebpf-go进行一个初体验,这
- beyla源码:golang程序的trace context propagation
goebpfbpftrace
beyla支持通过ebpf,自动采集应用程序的trace信息。对于golang程序,beyla还支持tracecontextprogagation,即微服务之间的trace上下文传播,这样服务之间调用的链条就连起来了,达到了普通的侵入式tracing同样的效果。以golang的nethttp为例,讲述beyla对tracecontextpropagation的实现原理。一.整体原理Tracecon
- beyla源码:golang程序的trace采集
goebpfbpftrace
beyla支持通过ebpf,无侵入的、自动采集应用程序的trace信息。以golang的nethttp为例,讲述beyla对trace的采集的实现原理。一.整体原理trace采集时,监听了golang应用程序的net/http中的函数:net/http.serverHandler.ServeHTTP;net/http.(*Transport).roundTrip;监听ServeHTTP时:若req
- Cilium CNI深度指南
程序员
Cilium是基于eBPF的功能强大的CNI插件,为云原生环境提供了强大的网络和安全支持。原文:CiliumCNI:AComprehensiveDeepDiveGuideforNetworkingandSecurityEnthusiasts!简介欢迎阅读为网络和安全爱好者提供的全面深入的指南!本文将以一种初学者也能理解的方式解析Cilium的概念和复杂性,如果你对如何通过Cilium网络性能和安全
- C语言用户态函数可观测性
本文不是介绍eBPF相关的用户态Probe的内容,而是如何利用开源C语言库Melon的函数模板来轻松实现函数的可观测性需求,例如:测量耗时等。本文主要介绍的是Melon库中的func模块,之所以没有给这个模块起名叫可观测性或者span,原因是这是一个更为通用的模块,不仅限于可观测性的需求。func模块实现的功能与GCC的constructor和destructor特性十分相似,就是在C语言函数的入
- Cilium CNI深度指南
俞凡 DeepNoMind
程序人生
Cilium是基于eBPF的功能强大的CNI插件,为云原生环境提供了强大的网络和安全支持。原文:CiliumCNI:AComprehensiveDeepDiveGuideforNetworkingandSecurityEnthusiasts!简介欢迎阅读为网络和安全爱好者提供的全面深入的指南!本文将以一种初学者也能理解的方式解析Cilium的概念和复杂性,如果你对如何通过Cilium网络性能和安全
- 云原生可观测洞察及openEuler社区实践
openEuler社区
openEuler技术博客云原生openeuler开源操作系统ebpfk8s
应用可观测性可以对企业运营产生的实际数据进行分析,可观测性将成为企业数据驱动决策的最强支撑。云原生时代的基础设施更复杂,也暴露出可观测性存在一些问题,包括基础设施观测能力不足,缺乏应用视角的基础设施观测数据等,这些都为下一代云原生可观测提供了机会与挑战。openEuler社区项目gala-gopher[1]基于eBPF技术完成一系列全栈可观测实践工作。eBPF及其对可观测的意义eBPF是一个能够在
- OSDI论文:XRP: In-Kernel Storage Functions with eBPF
colagy wang
linux
1.论文概述当前NVMe存储设备的出现可以达到微秒级,Linux内核系统调用以及块存储设备所产生的开销的比例也明显上升.2.背景和动机![image.png](https://img-blog.csdnimg.cn/img_convert/cd713687ffe6f69473cd5b657b63b8d7.png#clientId=u6eca4c97-25d9-4&crop=0&crop=0&cro
- C语言用户态函数可观测性
码哥比特
c语言算法经验分享程序人生linux单片机数据结构
本文不是介绍eBPF相关的用户态Probe的内容,而是如何利用开源C语言库Melon的函数模板来轻松实现函数的可观测性需求,例如:测量耗时等。本文主要介绍的是Melon库中的func模块,之所以没有给这个模块起名叫可观测性或者span,原因是这是一个更为通用的模块,不仅限于可观测性的需求。func模块实现的功能与GCC的constructor和destructor特性十分相似,就是在C语言函数的入
- 应用监控 eBPF 版:实现高效协议解析的技术探索
阿里云云原生
阿里云云原生eBPF可观测
作者:彦鸿引言随着Kuberentes等云原生技术的飞速发展,带来了研发与运维模式的变革。企业软件架构由单体服务向分布式、微服务演进。随着业务发展,多语言、多框架、多协议的微服务在企业中越来越多,软件架构复杂度越来越高,如何快速通过可观测工具快速定位出问题对研发人员至关重要。为满足全场景、端到端的应用监控需求,应用实时监控服务ARMS推出应用监控eBPF版,通过eBPF技术完善整个应用监控体系。应
- 【权限提升】Linux Kernel ebpf 提权漏洞(CVE-2022-23222)
李火火安全阁
Linux权限提升漏洞复现安全
文章目录前言一、漏洞描述二、漏洞影响版本三、漏洞复现四、漏洞修复前言CVE-2022-23222LinuxKernelebpf权限提升漏洞一、漏洞描述eBPF(extendedBerkeleyPacketFilter)是一种可以在Linux内核中运行用户编写的程序,而不需要修改内核代码或加载内核模块的技术。简单来说eBPF让Linux内核变得可编程化了。由于内核在执行用户提供的eBPF程序前缺乏适
- Linux 可观测性 BPF&eBPF 以及 BCC&bpftrace 认知
山河已无恙
Linux性能调优linux运维服务器
写在前面博文内容为《BPFPerformanceTools》读书笔记整理,对原书内容做了摘要博文内容涉及:BPF和eBPF认知BCC和bpftrace认知BCC和bpftrace工具简单认知理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧——赫尔曼
- 互联网摸鱼日报(2022-10-20)
每日摸鱼大王
每日摸鱼新闻业界资讯
互联网摸鱼日报(2022-10-20)InfoQ热门话题81%的IT团队被公司高层指示要减少或停止云支出编程神器Copilot逐字抄袭他人代码?GitHub回应:相似,但不同…开发者如何应对当前与未来挑战?英特尔On技术创新峰会给出了答案SUSE推出业界首个自适应Linux平台原型将信用卡号存储在调试日志中,中国快时尚平台Shein母公司因安全意识薄弱被罚190万美元中国工商银行基于eBPF技术的
- eBPF运行时安全
统信软件技术有限公司
安全
引言eBPF作为当前linux系统上最为炙手可热的技术,通常被用于网络流量过滤和分析、系统调用跟踪、性能优化、安全监控,当下比较知名的项目有Cilium、Falco等。Cilium是一个开源的容器网络和安全性项目,致力于提供高效的容器通信和强大的安全性功能,Cilium基于eBPF、XDP、TC等技术实现了Layer3(IP)、Layer4(TCP/UDP)以及HTTP层的负载均衡和网络防护,是一
- 性能测试分析案例-使用动态追踪定位性能瓶颈
bala5569
性能测试性能测试小白服务器性能优化
所谓动态追踪,就是在系统或者应用程序正常运行的时候,通过内核中提供的探针,来动态追踪它们的行为,从而辅助排查出性能问题的瓶颈。使用动态追踪,可以在不修改代码、不重启服务的情况下,动态了解应用程序或者内核的行为,排查线上问题、特别是不容易重现的问题。在Linux系统中,常见的动态追踪方法包括ftrace、perf、eBPF以及SystemTap等。perf使用perfrecord/top时,都是先对
- 《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程序
- ebpf学习
香蕉割草机
ebpf学习ebpf
学习ebpf相关知识参考资料:awesome-ebpf文章目录初识准备ebpf.io介绍cilium的介绍内核文档BrendanGregg'sBlog的介绍书籍LearningeBPFWhatiseBPF?交互式环境视频基础知识学习学习环境搭建书籍阅读项目落地流程整理环境搭建内核编译bcc环境变量zliblibelflibbpflibbpf-bootstrapbpftool初识最开始接触到的是经典
- scala的option和some
矮蛋蛋
编程scala
原文地址:
http://blog.sina.com.cn/s/blog_68af3f090100qkt8.html
对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java 编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点
- NullPointerException
Cb123456
androidBaseAdapter
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
出现以上异常.然后就在baidu上
- PHP使用文件和目录
天子之骄
php文件和目录读取和写入php验证文件php锁定文件
PHP使用文件和目录
1.使用include()包含文件
(1):使用include()从一个被包含文档返回一个值
(2):在控制结构中使用include()
include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。
在php.ini文件中设置
- SQL SELECT DISTINCT 语句
何必如此
sql
SELECT DISTINCT 语句用于返回唯一不同的值。
SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。
SQL SELECT DISTINCT 语法
SELECT DISTINCT column_name,column_name
F
- java冒泡排序
3213213333332132
java冒泡排序
package com.algorithm;
/**
* @Description 冒泡
* @author FuJianyong
* 2015-1-22上午09:58:39
*/
public class MaoPao {
public static void main(String[] args) {
int[] mao = {17,50,26,18,9,10
- struts2.18 +json,struts2-json-plugin-2.1.8.1.jar配置及问题!
7454103
DAOspringAjaxjsonqq
struts2.18 出来有段时间了! (貌似是 稳定版)
闲时研究下下! 貌似 sruts2 搭配 json 做 ajax 很吃香!
实践了下下! 不当之处请绕过! 呵呵
网上一大堆 struts2+json 不过大多的json 插件 都是 jsonplugin.34.jar
strut
- struts2 数据标签说明
darkranger
jspbeanstrutsservletScheme
数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能
数据标签主要包括:
action :该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。
bean :该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入Sta
- 链表.简单的链表节点构建
aijuans
编程技巧
/*编程环境WIN-TC*/ #include "stdio.h" #include "conio.h"
#define NODE(name, key_word, help) \ Node name[1]={{NULL, NULL, NULL, key_word, help}}
typedef struct node { &nbs
- tomcat下jndi的三种配置方式
avords
tomcat
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称
访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
tomcat配置
- 关于敏捷的一些想法
houxinyou
敏捷
从网上看到这样一句话:“敏捷开发的最重要目标就是:满足用户多变的需求,说白了就是最大程度的让客户满意。”
感觉表达的不太清楚。
感觉容易被人误解的地方主要在“用户多变的需求”上。
第一种多变,实际上就是没有从根本上了解了用户的需求。用户的需求实际是稳定的,只是比较多,也比较混乱,用户一般只能了解自己的那一小部分,所以没有用户能清楚的表达出整体需求。而由于各种条件的,用户表达自己那一部分时也有
- 富养还是穷养,决定孩子的一生
bijian1013
教育人生
是什么决定孩子未来物质能否丰盛?为什么说寒门很难出贵子,三代才能出贵族?真的是父母必须有钱,才能大概率保证孩子未来富有吗?-----作者:@李雪爱与自由
事实并非由物质决定,而是由心灵决定。一朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜
- oracle 日期时间格式转化
征客丶
oracle
oracle 系统时间有 SYSDATE 与 SYSTIMESTAMP;
SYSDATE:不支持毫秒,取的是系统时间;
SYSTIMESTAMP:支持毫秒,日期,时间是给时区转换的,秒和毫秒是取的系统的。
日期转字符窜:
一、不取毫秒:
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
简要说明,
YYYY 年
MM 月
- 【Scala六】分析Spark源代码总结的Scala语法四
bit1129
scala
1. apply语法
FileShuffleBlockManager中定义的类ShuffleFileGroup,定义:
private class ShuffleFileGroup(val shuffleId: Int, val fileId: Int, val files: Array[File]) {
...
def apply(bucketId
- Erlang中有意思的bug
bookjovi
erlang
代码中常有一些很搞笑的bug,如下面的一行代码被调用两次(Erlang beam)
commit f667e4a47b07b07ed035073b94d699ff5fe0ba9b
Author: Jovi Zhang <
[email protected]>
Date: Fri Dec 2 16:19:22 2011 +0100
erts:
- 移位打印10进制数转16进制-2008-08-18
ljy325
java基础
/**
* Description 移位打印10进制的16进制形式
* Creation Date 15-08-2008 9:00
* @author 卢俊宇
* @version 1.0
*
*/
public class PrintHex {
// 备选字符
static final char di
- 读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
- 利用cmd命令将.class文件打包成jar
chenyu19891124
cmdjar
cmd命令打jar是如下实现:
在运行里输入cmd,利用cmd命令进入到本地的工作盘符。(如我的是D盘下的文件有此路径 D:\workspace\prpall\WEB-INF\classes)
现在是想把D:\workspace\prpall\WEB-INF\classes路径下所有的文件打包成prpall.jar。然后继续如下操作:
cd D: 回车
cd workspace/prpal
- [原创]JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
comsci
eclipse设计模式算法工作swing
JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明
&nb
- SecureCRT右键粘贴的设置
daizj
secureCRT右键粘贴
一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.7.5 ,这个功能也已经是默认配置了。
老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。
菜单:
Options->Global Options ...->Terminal
右边有个Mouse的选项块。
Copy on Select
Paste on Right/Middle
- Linux 软链接和硬链接
dongwei_6688
linux
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连
- DIV底部自适应
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- Centos6.5使用yum安装mysql——快速上手必备
dcj3sjt126com
mysql
第1步、yum安装mysql
[root@stonex ~]# yum -y install mysql-server
安装结果:
Installed:
mysql-server.x86_64 0:5.1.73-3.el6_5 &nb
- 如何调试JDK源码
frank1234
jdk
相信各位小伙伴们跟我一样,想通过JDK源码来学习Java,比如collections包,java.util.concurrent包。
可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。
下面是编译jdk的具体步骤:
1.把C:\java\jdk1.6.0_26\sr
- Maximal Rectangle
hcx2013
max
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.
public class Solution {
public int maximalRectangle(char[][] matrix)
- Spring MVC测试框架详解——服务端测试
jinnianshilongnian
spring mvc test
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。
Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。
&nbs
- Linux64位操作系统(CentOS6.6)上如何编译hadoop2.4.0
liyong0802
hadoop
一、准备编译软件
1.在官网下载jdk1.7、maven3.2.1、ant1.9.4,解压设置好环境变量就可以用。
环境变量设置如下:
(1)执行vim /etc/profile
(2)在文件尾部加入:
export JAVA_HOME=/home/spark/jdk1.7
export MAVEN_HOME=/ho
- StatusBar 字体白色
pangyulei
status
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
/*you'll also need to set UIViewControllerBasedStatusBarAppearance to NO in the plist file if you use this method
- 如何分析Java虚拟机死锁
sesame
javathreadoracle虚拟机jdbc
英文资料:
Thread Dump and Concurrency Locks
Thread dumps are very useful for diagnosing synchronization related problems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linux or Ctrl-B
- 位运算简介及实用技巧(一):基础篇
tw_wangzhengquan
位运算
http://www.matrix67.com/blog/archives/263
去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个r
- jsearch的索引文件结构
yangshangchuan
搜索引擎jsearch全文检索信息检索word分词
jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。
jsearch的索引文件结构定义如下:
1、一个词的索引由=分割的三部分组成: 第一部分是词 第二部分是这个词在多少