自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (6)
  • 收藏
  • 关注

原创 javaagent

javaagentJVM启动前静态InstrumentJavaagent 是什么?Javaagent是java命令的一个参数。参数 javaagent 可以用于指定一个 jar 包,并且对该 java 包有2个要求:这个 jar 包的 MANIFEST.MF 文件必须指定 Premain-Class 项。 Premain-Class 指定的那个类必须实现 premain() 方法。 public class PreMainTraceAgent { public s...

2020-10-16 11:31:10 366 1

原创 流量回放上的调研

探索如何利用流量回放,将线上真实的数据流转化为覆盖全面的回归测试用例。在调研了业内比较知名的流量回放方案,如 TcpReplay,TcpCopy 后。发现这些方案均只是服务端入口流量的 Copy 组件,虽然的确能将线上流量「复制 & 引流」至目标服务,如果仅仅是复制 HTTP 入口的流量,那么接收流量回放的服务必须也要配套和被流量录制服务业务数据一致的缓存,数据库,第三方服务等, 能录制/回放应用调用链路入口(通常为 HTTP)的 Request/Response能录制/回放应...

2020-10-15 16:59:39 2125

原创 JVM SandBox简要介绍

JVM-SANDBOX(沙箱)实现了一种在不重启、不侵入目标JVM应用的AOP解决方案。沙箱的特性无侵入:目标应用无需重启也无需感知沙箱的存在类隔离:沙箱以及沙箱的模块不会和目标应用的类相互干扰可插拔:沙箱以及沙箱的模块可以随时加载和卸载,不会在目标应用留下痕迹多租户:目标应用可以同时挂载不同租户下的沙箱并独立控制高兼容:支持JDK[6,11]沙箱常见应用场景线上故障定位线上系统流控线上故障模拟方法请求录制和结果回放动态日志打印安全信息监测和脱敏.

2020-10-15 15:50:13 13224 3

原创

提高“锁”的性能1、减少锁持有的时间。2、减少锁粒度。concurrentHashMap3、读写分离锁来替换独占锁。4、锁分离;LinkedBlockingQueue的put()、take() 方法。采用不同的锁。5、锁的粗化。减少对锁的请求同步次数。Java虚拟机的锁1、偏向锁 ;如果一个线程获得了锁,那么锁就进入偏向模式。当这个线程再次请求锁时,无须再做任何同步操作...

2019-10-30 17:04:14 125

原创 Linux网络IO模型

同步和异步,阻塞和非阻塞Linux下的五种I/O模型:同步模型1)、同步阻塞I/O;2)、同步非阻塞I/O;3)、I/O多路复用(select、poll、epoll )4)、信号驱动I/O;2、异步异步I/O;...

2019-10-25 15:31:24 92

原创 Zookeeper observer作用

zookeeper 服务中的每个Server可服务多个client,并且Client可连接到ZK服务中的任何一台Server来提交请求。若是读请求,则由每台Server的本地副本数据库直接响应。若是改变Server状态的写请求,需要通过一致性协议来处理。zab协议规定:来自Client的所有写请求,都要转发给ZK服务中唯一的leader,由leader根据该请求发起一个proposal。然后,...

2019-10-25 15:31:14 2562 9

原创 Java虚拟机

Java虚拟机栈:栈桢:每个方法执行都会创建一个栈桢,伴随着方法从创建到执行完成。用于储存局部变量表,操作数栈,动态链接,方法出口。局部变量表:存放编译期可知的各种基本类型,引用类型。局部变量表内存空间在编译期完成内存分配。虚拟机栈与线程同时创建,每个方法在执行时在其中创建一个栈帧,用于存储局部变量、操作数栈、动态链接、方法返回地址。正常调用完成后恢复调用者的局部变量表、操作数栈、递增...

2019-08-20 10:39:23 92

原创 Python属性

在Python中,属性和方法的访问权限只有两种,也就是公开的和私有的,如果希望属性是私有的,在给属性命名时可以用两个下划线作为开头。但是,Python并没有从语法上严格保证私有属性或方法的私密性,它只是给私有的属性和方法换了一个名字来“妨碍”对它们的访问,事实上如果你知道更换名字的规则仍然可以访问到它们,下面的代码就可以验证这一点。之所以这样设定,可以用这样一句名言加以解释,就是“We are a...

2019-07-19 16:06:28 125

原创 Java 多线程 join() 方法

join 方法的使用在很多情况下,主线程创建并启动子线程,如果子线程需要大量耗时运算,主线程往往早于子线程结束之前结束。这时,如果主线程想等待子线程执行完成之后再结束,比如子线程处理一个数据,主线程要取得这个数据的值,就要用到join() 方法。join()的作用就是等待线程对象销毁。join 方法释放锁。join() 方法在内部使用wait() 方法进行等待。...

2019-07-19 11:01:33 176

原创 Java多线程之volatile

volatile只是轻量级的线程操作可见方式,并非同步方式,如果是多写场景,一定会出现线程安全问题。如果是一写多读的并发场景,使用volatile修饰则非常合适。volatile一写多读最典型的应用是CopyOnWriteArrayList。它在修改数据的时会把整个集合的数据全部复制出来,对写操作加锁,修改完成后,在用setArray()把array指向新的集合。使用vol...

2019-07-19 11:00:52 229 1

原创 Java 多线程之synchronized(一)

package com.company.thread.synchronize;/** * @Description TODO * @Author zhouxinjian * @Date 2019-07-19 09:49 **/public class PublicVar { public String username = "A"; public Strin...

2019-07-19 10:02:12 90

转载 Cron表达式详解

序言Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无缝,说是编码艺术凝集一点不过分。牛逼吹完啦,我就写几个简单的cron表达式欣赏下:1、0/20 * * * * ? note:每20秒2、15 0/2 * * * ?            note:每...

2018-04-27 14:28:49 341

深入理解java虚拟机jvm高级特性与最佳实践第2版原创精品系列4124642.epub

“本书一共分为五个部分:走近Java、自动内存管理机制、虚拟机执行子系统、程序编译与代码优化、高效并发。各部分基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何一个感兴趣的专题开始阅读,但是每个部分中的各个章节间有先后顺序。” 摘录来自: 周志明. “深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) (原创精品系列)。” Apple Books.

2019-07-19

hadoop大数据挖掘从入门到进阶实战视频教学版5547871.epub

“Hadoop在分布式计算与存储上具有先天优势。它作为Apache软件基金会的顶级开源项目,其版本迭代持续至今,而且已经拥有一个非常活跃的社区和全球众多开发者,并且成为了当前非常流行的大数据处理平台。很多公司,特别是互联网公司,都纷纷开始使用或者已经使用Hadoop来做海量数据存储与数据挖掘。” 摘录来自: 邓杰. “Hadoop大数据挖掘从入门到进阶实战:视频教学版。” Apple Books.

2019-07-19

kafka权威指南5209107.epub

“这本书是为使用 Kafka API 开发应用程序的工程师和在生产环境安装、配置、调优、监控 Kafka 的运维工程师(也可以叫作 SRE、运维人员或系统管理员)而写的。我们也考虑到了数据架构师和数据工程师,他们负责设计和构建整个组织的数据基础架构。” 摘录来自: [美] Neha Narkhede Gwen Shapira Todd Palino. “Kafka权威指南。” Apple Books.

2019-07-19

springboot实战图灵程序设计丛书4178488.epub

“Spring Boot旨在简化Spring的开发,就这点而论,Spring Boot涉及了Spring的方方面面。用一本书讲清楚Spring Boot的所有用法是不可能的,因为这必须涵盖Spring本身所支持的各种技术。所以《Spring Boot实战》把Spring Boot大致分为4个主题:自动配置、起步依赖、命令行界面和Actuator。书中还会讲到一些必要的Spring特性,但重点还是在Spring Boot上” 摘录来自: [美]克雷格·沃斯(Craig Walls). “Spring Boot实战 (图灵程序设计丛书)。” Apple Books.

2019-07-19

人月神话二十周年纪念版3218058.azw

二十周年纪念版序言(Preface to the 20thAnniversary Edition) 令我惊奇和高兴的是,《人月神话》在20年后仍然继续流行,印数超过了250,000。人们经常问,我在1975年提出的观点和建议,哪些是我仍然坚持的,哪些是已经改变观点的,是怎样改变的?尽管我在一些讲座上也分析过这个问题,我还是一直想把它写成文章。 Peter Gordon现在是Addison-Wesley的出版伙伴,他从1980年开始和我共事。他非常耐心,对我帮助很大。他建议我们准备一个纪念版本。我们决定不对原版本做任何修订,只是原封不动地重印(除了一些细小的修正),并用更新的思想来扩充它。 第16章重印了一篇在1986年IFIPS会议上的论文《没有银弹:软件工程的根本和次要问题》。这篇文章来自我在国防科学委员会主持军用软件方面研究时的经验。我当时的研究合作者,也是我的执行秘书,Robert L. Patrick帮助我回想和感受那些做过的软件大项目。1987年,IEEE的《计算机》杂志重印了这篇论文,使它传播得更广了。 《没有银弹》被证明是富有煽动性的,它预言十年内没有任何编程技巧能够给软件的生产率带来数量级上的提高。十年只剩下一年了,我的预言看来安全了。《没有银弹》激起了越来越多文字上的剧烈争论,比《人月神话》还要多。因此在第17章,我对一些公开的批评作了说明,并更新了在1986年提出的观点。 在准备《人月神话》的回顾和更新时,一直进行的软件工程研究和经验已经批评、证实和否定了少数书中断言的观点,也影响了我。剥去辅助的争论和数据后,把那些观点粗略地分类,对我来说很有帮助。我在第18章列出这些观点的概要,希望这些单调的陈述能够引来争论和证据,然后得到证实、否定、更新或精炼。 弗雷德里克·布鲁克斯. 人月神话(二十周年纪念版)

2019-07-11

hadoop大数据处理3709937.azw3

hadoop 大数据处理的书,刘军的。第1章大数据处理概论1.1什么是大数据1.2数据处理平台的基础架构1.3大数据处理的存储1.3.1提升容量1.3.2提升吞吐量1.4大数据处理的计算模式1.4.1多处理技术1.4.2并行计算1.5大数据处理系统的容错性1.5.1数据存储容错1.5.2计算任务容错1.6大数据处理的云计算变革本章参考文献第2章基于Hadoop的大数据处理架构2.1Google核心云计算技术2.1.1并行计算编程模型MapReduce

2019-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除