自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GarfieldEr007的专栏

勤奋治学 深度思考 静心钻研 先苦后甜

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

转载 Java GC系列(3):垃圾回收器种类

目录垃圾回收介绍垃圾回收是如何工作的?垃圾回收的类别垃圾回收监视和分析在这篇教程中我们将学习几种现有的垃圾回收器。在Java中,垃圾回收是一个自动的进程可以替代程序员进行内存的分配与回收这些复杂的工作。这篇是垃圾回 收教程系列的第三篇,在前面的第2部分我们看到了在Java中垃圾回收是如何工作的,那是篇有意思的文章,我推荐你去看一下。第一部分介绍了Java的垃 圾回收,主要有JVM体

2018-02-28 22:59:00 706

转载 JVM 垃圾回收器工作原理及使用实例介绍

垃圾收集基础Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担。拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别。在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间。当内存释放不够完全

2018-02-28 22:57:49 746

转载 深入理解JVM(6)——类加载器

虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流(即字节码)”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成字节码(.class 文件)。类加

2018-02-28 22:56:41 782

转载 深入理解JVM(5)——虚拟机类加载机制

在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机中,而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚拟机中会发生什么变化?本文将逐步解答这些问题。类加载过程概览类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括以下7个阶段:加载(Loading)验证(Verification)准备(Prepara

2018-02-28 22:55:32 769

转载 深入理解JVM(4)——如何优化Java GC「译」

本文翻译自Sangmin Lee发表在Cubrid上的”Become a Java GC Expert”系列文章的第三篇《How to Tune Java Garbage Collection》,本文的作者是韩国人,写在JDK 1.8发布之前,虽然有些地方有些许过时,但整体内容还是非常有价值的。译者此前也看到有人翻译了本文,发现其中有许多错漏生硬和语焉不详之处,因此决定自己翻译一份,供大家分享

2018-02-28 22:54:53 699

转载 深入理解JVM(1)——Java内存区域与Java对象

最近放暑假在家,没有实验室的工作要做,正好趁这个时间恶补了之前一知半解的JVM知识,使用的主要学习资料是周志明大大的《深入理解Java虚拟机——JVM高级特性与最佳实践》,我仔细拜读了两遍,结合一些优质博文以及论坛里的精彩解答,再加上自己的理解,对书中描述不细致的知识点进行了补充,写下了这个半读书笔记性质的系列博文,以供想深入学习JVM的同学们参考。运行时数据区域JVM载执行J

2018-02-28 22:53:54 1590

转载 深入理解JVM(2)——GC算法与内存分配策略

说起垃圾收集(Garbage Collection, GC),想必大家都不陌生,它是JVM实现里非常重要的一环,JVM成熟的内存动态分配与回收技术使Java(当然还有其他运行在JVM上的语言,如Scala等)程序员在提升开发效率上获得了惊人的便利。理解GC,对于理解JVM和Java语言有着非常重要的作用。并且当我们需要排查各种内存溢出、内存泄漏问题时,当垃圾收集称为系统达到更高并发量的瓶颈时,只有

2018-02-28 22:52:43 946 1

转载 深入理解JVM(3)——7种垃圾收集器

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。接下来讨论的收集器基于JDK1.7 Update 14 之后的HotSpot虚拟机(在此版本中正式提供了商用的G1收集器,

2018-02-28 22:51:34 2093 1

转载 深入理解JVM(5) : Java垃圾收集器

如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。HotSpot虚拟机的垃圾回收器图中展示了7种作用于不同分代的收集器,如果

2018-02-28 22:50:35 613

转载 了解CMS(Concurrent Mark-Sweep)垃圾回收器

1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial mar

2018-02-28 22:49:43 682

转载 60句高逼格的文言文,不收藏绝对是你的损失!

还记得前段时间火极一时的“看到……应该想到”系列吗?由此可见国学早已渗透到生活的方方面面,关键时候还能映衬出你的儒(liao)雅(mei)高(zhuang)深(bi)。今天小编给大家带来一些流行语相对应的高逼格文言文。话不多说,前方高能!(删选自知乎@吕中豪)1、原文:每天都被自己帅到睡不着翻译:玉树临风美少年,揽

2018-02-22 17:40:33 16213

转载 JVM字节码

栈和局部变量操作 将常量压入栈的指令 aconst_null    将null对象引用压入栈 iconst_m1      将int类型常量-1压入栈 iconst_0         将int类型常量0压入栈 iconst_1         将int类型常量1压入栈 iconst_2         将int类型常量2压入栈 iconst_3         将int类型常量3压入栈 icon...

2018-02-22 16:22:45 746

转载 22种代码味道(Martin Fowler与Kent Beck)

Martin Fowler在Refactoring: Improving the Design of Existing Code(中译名:《重构——改善既有代码的设计》)一书中与Kent Beck一起总结了22种代码坏味(Bad Smells in Code),因为Sunny这段时间正在做一些与代码味道自动识别与自动重构有关的研究工作,对这些内容进行了重新的深入理解与分析。后续将在博客中转载和

2018-02-22 15:27:15 866

转载 软件重构过程中的思维转换: 遗留代码如何变废为宝

“我开始收到各式各样的邮件,人们都表示‘天呐!我也是这样!’。”她说,“我开始去传播这条信息,告诉大家重新建构遗留代码这件事其实非常有价值,凭此来吸引合适的人。”                          —— Andrea Goulet编者注:Andrea Goulet是Corgibytes的首席执行官,她的公司专注于处理、改进并精简企业现

2018-02-22 15:18:33 749

转载 浅谈程序员的数学修养

可能有很多朋友在网上看过Google公司早几年的招聘广告,它的第一题如下了:{first 10-digit prime found in consecutive digits e}.com,e中出现的连续的第一个10个数字组成的质数。据说当时这个试题在美国很多地铁的出站口都有大幅广告,只要正确解答了这道题,在浏览器的地址栏中输入这个答案,就可以进入下一轮的测试,整个测试过程如同一个数学迷宫,直到你...

2018-02-22 15:14:48 822

转载 历年软件设计师下午考试试题汇总统计(更新至2016年上半年)

本文对2006年5月至2016年5月【11年,21次】的软件设计师级别下午试题进行一个简单的汇总统计,希望对准备参加软考的朋友能有所帮助。       从2006年5月开始(尤其是从2010年5月开始),软件设计师级别的试题题型基本固定:       (1) 第一题为结构化分析与设计,主要考查数据流图DFD的绘制,考查形式为顶层数据流图和0层数据流图填空(外部实体/数据源、数据存储

2018-02-22 15:11:35 2719

转载 历年系统架构设计师考试之设计模式试题-2012年

2012年系统架构设计师考试下午试题中出现了一道25分的设计模式大题,上午仍旧是5道选择题,可以说是从2009年开考以来设计模式试题量最大的一年。Sunny友情建议:建议大家先做做这些试题,看是否能够正确解答,如果在解答的同时能够拿出具体的设计和实现方案,我相信一定会受益匪浅!,试题分析和参考答案为Sunny个人所作,可能与某些已发布的“标准答案”会有所不同,如有不同意见,欢迎交流!【说明:为了体

2018-02-22 15:09:44 1116

转载 《C#设计模式》PPT及源码分享

《C#设计模式》一书所有PPT及源码已上传至百度文库和百度云网盘,欢迎各位阅读与下载,如有意见和建议,请发送邮件至:weiliu_china@126.com或weiliu_china@163.com,。 当当网            亚马逊             京东网         PS:本人正准备编写一本关于C++设计模式的书,如果大家有好的基于C++的模式

2018-02-22 15:03:48 818

转载 史上最全设计模式导学目录(完整版)

圣诞献礼!          2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 +  简单工厂模式),为了方便大家学习,现将所有文章的链接进行了整理,希望能给各位带来帮助!       祝大家圣诞节快乐! 花絮:本文的工作量大大超过之前的估计,几乎整个平安夜都花在

2018-02-22 15:01:42 655

转载 《设计模式》一书PPT浏览及下载地址

为了给大家浏览与下载提供方便,现将《设计模式》一书PPT的下载地址(百度文库)公布如下(可直接在线浏览,也可免费下载,):      第1章统一建模语言基础知识 http://wenku.baidu.com/view/a892f64fe45c3b3566ec8b07.html?st=1      第2章面向对象设计原则 http://wenku.baidu.com/view/2b7

2018-02-22 14:59:46 795

转载 使用 Binlog 和 Canal 从 MySQL 抽取数据

数据抽取是 ETL 流程的第一步。我们会将数据从 RDBMS 或日志服务器等外部系统抽取至数据仓库,进行清洗、转换、聚合等操作。在现代网站技术栈中,MySQL 是最常见的数据库管理系统,我们会从多个不同的 MySQL 实例中抽取数据,存入一个中心节点,或直接进入 Hive。市面上已有多种成熟的、基于 SQL 查询的抽取软件,如著名的开源项目 Apache Sqoop,然而这些工具并不支持实时的

2018-02-07 21:03:23 875

转载 谈谈对Canal( 增量数据订阅与消费 )的理解

原文出处: 朱小厮概述canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。起源:早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝

2018-02-07 21:02:09 862

转载 数据库事务的隔离级别

.NET 提供的数据库事务隔离级别 System.Data.IsolationLevel 枚举用于指定连接的事务锁定行为,它包含如下枚举:Chaos无法改写隔离级别更高的事务中的挂起的更改。 ReadCommitted在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻像数据。 

2018-02-06 21:34:04 700

转载 脏读、幻读和不可重复读 + 事务隔离级别

丢失更新:两个事务同时更新一行数据,最后一个事务的更新会覆盖掉第一个事务的更新,从而导致第一个事务更新的数据丢失,这是由于没有加锁造成的; 1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 e.g.        1.Mary的原工资为1000, 财务人员将Mary的

2018-02-06 21:31:09 699

转载 Java 异常处理的 9 个最佳实践

原文出处: oschina在 Java 中,异常处理是个很麻烦的事情。初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出。所以很多开发团队约定一些原则处理异常。如果你是一个团队的新成员,你可能会很惊讶,因为他们约定的规则可能和你以前使用的规则不一样。不过,有很多最佳实践的规则,被大部分团队接受。这里有 9 大重要的约定,帮助你学习或

2018-02-06 20:57:58 753

转载 阿里巴巴代码规范-note

阿里巴巴在之前的云栖大会上正式发出了 阿里巴巴Java开发手册. 并发布相关的Idea插件. 具体的信息可以到Github主页 p3c查看. 最近将手册重新学习了一遍, 发现在之前的工程项目里面, 有太多不规范的地方. 将特别注意的地方, 重点标记出来.Object 的 equals 方法容易抛空指针异常. 尽量使用, Objects.equals(JDK7进行比较, 匹配).所有

2018-02-06 20:53:13 1244

搜索引擎以及网上免费学术资源的检索

介绍了一下搜索引擎的工作原理和组成部分,以Google和百度为代表介绍了搜索引擎的高级检索功能,以及搜索引擎非常强大的最常用的八条高级检索命令,最后对网上免费学术资源网站进行了介绍。

2015-09-22

空空如也

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

TA关注的人

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