- 博客(170)
- 资源 (10)
- 收藏
- 关注
原创 java类加载器
本篇博文主要是探讨类加载器,同时在本篇中列举的源码都基于Java8版本,不同的版本可能有些许差异。主要内容如下 类加载的机制的层次结构 启动Bootstrap类加载器 扩展Extension类加载器 系统System类加载器 理解双亲委派模式 双亲委派模式工作原理 双亲委派模式优势 类加载器间的关系 类与类加载器 类与类加载器 ...
2018-07-08 19:15:58
219
原创 Lock和synchronized的区别和使用
Lock和synchronized的区别和使用 Java并发编程:Lock 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。 在上一篇文章中我们讲到...
2018-06-14 09:32:25
208
原创 Lock和synchronized的区别和使用
Lock和synchronized的区别和使用 Java并发编程:Lock 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。 在上一篇文章中我们讲到...
2018-06-13 18:24:04
200
原创 徒手搭建一个日志分析系统
应用FileBeat Kafka LogStash ElasticSearch Kibana 搭建一个日志分析系统 elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队 列,redis的list结...
2018-05-25 14:18:48
234
原创 Spring中<context:annotation-config/>的作用
最近在研究Spring中<context:annotation-config/>配置的作用,现记录如下: <context:annotation-config/>的作用是向Spring容器注册以下四个BeanPostProcessor: AutowiredAnnotationBeanPostProcessor CommonAnnotationBeanPost...
2018-03-01 16:00:39
151
原创 性能调优系列之一:工具及命令
性能调优系列之一:工具及命令 从今天开始,计划用一个月的时间来研究和规整性能调优专题,将研究的成果整理成文章,与大家分享,同时,为今后完善这一技术做准备: 下面介绍性能调优的第一篇: 性能调优的工具:Jmeter,top,jvisual,netstat,free ...
2018-01-13 09:11:36
162
原创 高并发分布式系统中生成全局唯一Id汇总
数据在分片时,典型的是分库分表,就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题,但是生成的ID通常要满足分片的一些要求: 1 不能有单点故障。 2 以时间为序,或者ID里包含时间。这样一是可以少一个索引,二是冷热数据容易分离。 3 可以控制ShardingId。比如某一个用户的文章要放在同一个分片内,这样查询效率高,修改也容易。 4 不要太长,最好64bit。使用l...
2017-05-23 09:56:25
120
原创 springboot学习
springboot学习资料 http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-first-application
2017-05-13 17:17:21
112
原创 docker学习
初学docker把学习过程记录下来: 我用的是mac,所以以下的所有步骤都是在有关mac的,linux的可以参考: 一、docker安装: 1 安装toolbox: 由于docker是在boot2docker上运行,而boot2docker是运行在toolbox上的。 https://www.docker.com/products/docker-toolbox...
2017-05-11 19:04:58
126
原创 GitLab Flow 的十一个规则
使用 Git 版本控制,是对使用它之前的所有版本控制方式的一种改进。然而,很多组织最终以太过混乱或过于复杂的流程来结束。这个问题对于刚从其他版本控制系统转过来的组织来说特别突出。在本文中我们会列出 GitLab 工作流 的11条规则,以帮助简化、整理工作流程。这些规则最主要的益处是(或我们希望是) 它能够简化流程并且产生一个更高效和更清楚的成果。我们认为总会有可改善的空间,并且每一次改善都是...
2017-05-10 20:02:23
205
原创 java编程规范----1命名规范
编程规约 命名规约 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / $Object / name_ / name$ / Object$ 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方...
2017-05-10 20:00:57
510
原创 代码规范
随着软件行业的不断发展,历史遗留的程序越来越多,代码的维护成本越来越大,甚至大于开发成本。而新功能的开发又常常依赖于旧代码,阅读旧代码所花费的时间几乎要大于写新功能的代码。 我前几天看了一本书,书中有这么一句话: “复杂的代码往往都是新手所写,只有经验老道的高手才能写出简单,富有表现力的代码。” 此话虽然说的有点夸张,可是也说明了经验的重要性。 我们所写的...
2016-09-14 09:11:53
122
原创 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 1、相关文件 关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases 由于我使用的是Mysql数据...
2016-07-19 18:06:35
124
原创 IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)
返回博客列表 原 IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) 洋哥6 发布时间: 2015/08/19 13:40 阅读: 13119 收藏: 46 点赞: 6 评论: 2 摘要 IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) Intelli...
2016-06-30 11:48:35
136
原创 JAVA程序员不可不留意的编码规范
好的编码规范可以尽可能的减少一个软件的维护本钱 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发职员来维护...... 1、规范存在的意义 应用编码规范对于软件本身和软件开发职员而言尤为重要,有以下几个原因: 1、好的编码规范可以尽可能的减少一个软件的维护本钱 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发职员来维护; 2、好的编...
2016-06-16 09:50:34
126
原创 ibatis分表处理
当某一个表的数据太庞大的时候,查询就会变得很困难,这个时候需要进行分表操作,就是把一个总表分成几个分表,这样查询某些数据的时候,就会变得快一些: 分表操作: 1 在sql中加一个占位符,代表分表,如下T_HTLPRO_DAYINCREASE_TBL_SHD : SELECT thd.increasetype, thd.increasea...
2016-05-19 11:37:47
252
原创 在Eclipse中使用JUnit4进行单元测试(高级篇)
通过前 2 篇文章,您一定对 JUnit 有了一个基本的了解,下面我们来探讨一下JUnit4 中一些高级特性。 一、 高级 Fixture 上一篇文章中我们介绍了两个 Fixture 标注,分别是 @Before 和 @After ,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过 500 兆)进行读写,他的每一个方法都是对文件进行操作。换句话说,在调用每一个方法之前...
2016-05-17 16:49:42
115
原创 在Eclipse中使用JUnit4进行单元测试(中级篇)
我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4。 一、 包含必要地Package 在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之后,绝大部...
2016-05-17 16:48:47
123
原创 在Eclipse中使用JUnit4进行单元测试(初级篇)
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的...
2016-05-17 16:47:36
119
原创 XShell下乱码的解决方法
XShell下乱码的解决方法 首先检查系统的language设置的是否是中文。 在终端下输入命令∶ # echo $LANG 若不是,则需要修改环境变量。修改环境变量有多种方法,简单总结三种比较常用的∶ 1>只针对当前终端的修改,对其他用户没有影响 在命令行下输入∶ # export LANG=ja_JP.UTF-8 这种修改只对当前终端有效,终端退...
2016-04-01 09:42:12
398
原创 apache CXF wsdl2java工具的使用
最近,由于要用到某公司提供的webservice实现的api接口,想到了用cxf的wsdl2java工具来生成客户端程序。(自己写是比较麻烦且费时,so偷懒一下、、) 使用步骤如下: 一、下载apache cxf的包,如apache-cxf-2.7.10.zip,地址:cxf.apache.org/download.html 二、解压apache-cxf-2.7.10.zip至某一目录,...
2016-01-30 11:19:30
153
原创 oracle选出commodityid 中上次推送时间最晚的那个
select * from ( select h.commodityid, h.lastpushresult, rank() over (partition by h.commodityid order by h.lastpushtime ) rk from t_elong_map_rateplan h ) t where t.rk=1; ...
2015-10-22 16:34:53
294
原创 ORA-01810格式代码出现两次 的解决方案
昨晚做一个系统时,需要查询两个时间区间的跨度,需要使用TO_DATE函数,一开始写成了Sql代码 TO_DATE('2011-09-24 00:00:00','YYYY-MM-DD HH:mm:ss') 结果报ORA-01810 格式代码出现两次的错误.后来上网查询后,发现是格式化字符串有问题,其中不应该将某个格式重复两次,否则Oracle就不知道要从哪个占位区间去解析该字段了,正确的格式应该是...
2015-06-04 19:13:45
109
原创 ROW_NUMBER() OVER函数的基本用法
简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。 row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内...
2015-05-28 10:00:55
334
原创 多个group by实例
一、 多个group by用法 select allchange.hotelId,allchange.chn_name ,allchange.isactive,allchange.createtime, max(allchange.operDate) modifytime from ( ...
2015-05-23 10:41:13
633
原创 union和union all的区别
Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All 两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致); 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。 union和union all的...
2015-05-22 09:50:48
105
原创 SimpleDateFormat使用详解
public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。 SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 Dat...
2015-05-21 17:43:00
212
原创 ibatis中CDATA的一点小知识
今天听一个哥们说了一下xxsqlmap.xml中的一个小知识点,现在赶紧记下来: <![CDATA[ id=#id# ]]> 大白话就好CDATA中的内容不用解析,就可以直接使用的东西。下面是一些资料: 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在 XML 元素中,"<" 和 "...
2015-05-21 12:01:04
167
原创 Java事务与JTA
一、什么是JAVA事务 通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。 事务必须服从ISO/IEC所制定的ACID原则。 原子性(atomicity) 一致性(consistency) 隔离性(isolation) ...
2015-05-21 09:57:59
126
原创 java获取路径方法
一、这种方法在java项目和web项目都通用: InputStream inpf = Thread.currentThread().getContextClassLoader() .getResourceAsStream("systemlog-config.properties"); 二、这个方法在java项目中可以用,移植到web项目中时会出错 InputStream i...
2015-05-19 18:02:11
125
原创 JAVA获取CLASSPATH路径
ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResourceAsStream (String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个...
2015-05-15 09:38:16
114
原创 Jackson 高性能的JSON处理 ObjectMapper
今天自行研究了下json ,感觉非常好用,经过测试比google的GSON快多了 同时Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。功能非常的强悍! 大家也知道,json 在如今互联网时代应用的非常广,因为大家如此的关注,所以对json的解析性能要求也是非常高的。 一、 准备工作 ...
2015-05-14 15:35:30
136
原创 hessian研究
hessian官网 最近一期的《programmer》里几乎从头至尾在讲关于“J2EE without EJB”的事情,可怜的ejb啊,居然被描述成了遗产系统的重要组成部分。。。 其实有上面的结论,无外乎现在java里面的新技术已经几乎能完全取代ejb的优点,而克服ejb的缺点,entity bean和有状态的session bean已经机乎被视为垃圾,hibernate和sprin...
2015-05-13 11:00:26
113
原创 ContextLoaderListener作用详解
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是...
2015-05-12 17:20:12
105
原创 maven的项目怎么导入到eclipse中
第一步,我使用maven创建了一个项目"helloworld",cmd命令如下: D:\mavenWorkplace>mvn archetype:create -DgroupId=com.company -DartifactId=helloworld -DarchetypeArtifactId=maven-archetype-webapp 第二步,我到项目所在目录进行导出project操作,...
2015-05-12 11:01:38
180
原创 maven安装及常用命令使用
Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可...
2015-05-12 09:10:44
206
原创 spring-data-redis详解
使用spring-data-redis实现java和redis的连接及操作 官方文档:http://projects.spring.io/spring-data-redis/#quick-start 1 下载 spring-data-redis的jar包 <dependencies> <dependency> <groupId>...
2015-05-09 18:20:24
230
常用性能参数的监控命令
2012-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人