`
文章列表
    本篇博文主要是探讨类加载器,同时在本篇中列举的源码都基于Java8版本,不同的版本可能有些许差异。主要内容如下   类加载的机制的层次结构 启动Bootstrap类加载器 扩展Extension类加载器 系统System类加载器 理解双亲委派模式
    Lock和synchronized的区别和使用   Java并发编程:Lock 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是 ...
    Lock和synchronized的区别和使用   Java并发编程:Lock 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是 ...
应用FileBeat Kafka  LogStash  ElasticSearch  Kibana  搭建一个日志分析系统 elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队 列,redis的list结构正好可以作为队列使用。然后分析使用elasticsearch就可以进行分析和查询了。 我们需要的是一个分布式的,日志收集和分析系统。logstash有agent和indexer两个角色。对于agen ...
最近在研究Spring中<context:annotation-config/>配置的作用,现记录如下: <context:annotation-config/>的作用是向Spring容器注册以下四个BeanPostProcessor: AutowiredAnnotationBeanPostProcessor CommonAnnotationBeanPostProcessor PersistenceAnnotationBea ...
性能调优系列之一:工具及命令      从今天开始,计划用一个月的时间来研究和规整性能调优专题,将研究的成果整理成文章,与大家分享,同时,为今后完善这一技术做准备:     下面介绍性能调优的第一篇:      性能调优的工具:Jmeter,top,jvisual,netstat,free
数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求:   1 不能有单点故障。   2 以时间为序,或者ID里包含时间。这样一是可以少一个 ...
  springboot学习资料   http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-first-application
初学docker把学习过程记录下来: 我用的是mac,所以以下的所有步骤都是在有关mac的,linux的可以参考:   一、docker安装: 1  安装toolbox:     由于docker是在boot2docker上运行,而boot2docker是运行在toolbox上的。     https://www.docker.com/products/docker-toolbox   2  安装boot2docker      a 首先安装homebrew:执行以下脚本   /usr/bin/ruby -e "$(curl -fsSL https://raw ...
使用 Git 版本控制,是对使用它之前的所有版本控制方式的一种改进。然而,很多组织最终以太过混乱或过于复杂的流程来结束。这个问题对于刚从其他版本控制系统转过来的组织来说特别突出。在本文中我们会列出 GitLab 工作 ...
编程规约 命名规约 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / $Object / name_ / name$ / Object$ 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
随着软件行业的不断发展,历史遗留的程序越来越多,代码的维护成本越来越大,甚至大于开发成本。而新功能的开发又常常依赖于旧代码,阅读旧代码所花费的时间几乎要大于写新功能的代码。   我前几天看了一本书,书中有这么一句话:   “复杂的代码往往都是新手所写,只有经验老道的高手才能写出简单,富有表现力的代码。”   此话虽然说的有点夸张,可是也说明了经验的重要性。   我们所写的代码除了让机器执行外,还需要别人来阅读。所以我们要:   写让别人能读懂的代码 写可扩展的代码 写可测试的代码(代码应该具备可测试性,对没有可测试性的代码写测试,是浪费生命 ...
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。   1、相关文件 关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases 由于我使用的是Mysql数据库,这里需要在准备一个连接mysql数据库的驱动jar包 以下是相关文件截图:
返回博客列表 原 IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)   洋哥6 发布时间: 2015/08/19 13:40   阅读: 13119   收藏: 46   点赞: 6   评论: 2 摘要 IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) 1. -----------自动代码-------- 常用的有fori/sout/ps
好的编码规范可以尽可能的减少一个软件的维护本钱 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发职员来维护......       1、规范存在的意义   应用编码规范对于软件本身和软件开发职员而言尤为重要,有以下几个原因: 1、好的编码规范可以尽可能的减少一个软件的维护本钱 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发职员来维护; 2、好的编码规范可以改善软件的可读性,可以让开发职员尽快而彻底地理解新的代码; 3、好的编码规范可以最大限度的进步团队开发的合作效率;
Global site tag (gtag.js) - Google Analytics