java
文章平均质量分 89
道不虚行只在人
悟来时见江海古,苍崖行遍谒玄门。向道偶题人间世,一笛一剑一昆仑。
展开
-
log4j将日志按模块输出到不同文件中
log4j将日志按模块输出到不同文件中所有的日志记录的一个文件中,可能会导致项目中的日志文件滚动过快时,之前的日志被冲掉,不方便定位问题。即使没被冲掉,在茫茫多的日志中找寻线索也是件很考验耐心和眼力的事情。 有时候也许会用想将不同模块的日志记录到不同的文件中,这样方便查找,且日志滚动不会太快。 log4j提供了这样的需求,先上代码:<appender name="appendFile"原创 2017-03-17 09:29:29 · 760 阅读 · 0 评论 -
java动态追踪技术
同步发表于:http://blog.lanjingdejia.com/articles/2019/01/02/1546398000734.html引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“debug一下吧”“线上机器,没开debug端口”“看日志,看看请求值和返回值分别是什么”“那段代码没打印日...原创 2019-01-10 11:30:40 · 1921 阅读 · 1 评论 -
那些惊艳的算法们(四)——唯一ID生成器snowflake
同步发表在个人博客中:http://blog.lanjingdejia.com/articles/2019/01/15/1547516544183.html分布式全局唯一ID生成器很多场景需要使用全局唯一ID,用来标识唯一一条消息,唯一一笔交易,唯一一个用户,唯一一张图片等等。传统数据库表的自增主键是很简单的一种实现方式,前提是你没有分库,也没有分表,如果你分表了,id就会重复,失去唯一性...原创 2019-01-15 19:27:56 · 10758 阅读 · 7 评论 -
那些惊艳的算法们(二)——一致性哈希
背景随着时代的发展,数据量与日俱增,相比纵向扩展单机的性能,人们更倾向于横向扩展,将多台一般的廉价机器组成集群来充当超级计算机,节省了大量的成本,代价是极大地增加了系统的复杂性。为了应对这些复杂性,一批又一批分布式领域的技术相继诞生,其中不乏一些看过之后令人拍案叫绝的精彩的想法。 从存储来说,数据量大的时候,一台机器不能胜任时,那么通常的做法是将数据分片,存储到多台机器上,通过集群的方...原创 2018-08-01 02:13:52 · 4136 阅读 · 2 评论 -
一次Java泛型引发的运行时异常
问题描述公司对redis进行了封装,提供了一套自己的客户端api,其中有两个hash相关的接口是这样的1. Long hincrBy(String key, String field, int amount)2. <T> Map<String, T> hgetAll(String key)业务中需要用到这两个接口,下面是我的用法: 1. ...原创 2018-07-11 00:01:43 · 423 阅读 · 0 评论 -
mysql事务隔离级别、脏读、幻读
Mysql事务隔离级别本身很重要,再加上可能是因为各大公司面试必问的缘故,在博客中出现的概率非常高,但不幸的是,中国的技术博客要么是转载,要么是照抄,质量参差不齐,好多结论都是错的,对于心怀好奇之心想弄明白问题的同学来说,这些博客是很危险的。 我当时也是看了各种版本的博客之后,翻官网,做实验,最终搞明白了一些事情,写在这里,希望对后来人有所帮助。水平有限,有不正确或者不明白的地方,欢迎指正...原创 2018-07-11 00:00:09 · 2245 阅读 · 0 评论 -
java程序员之路及各阶段书籍推荐
从四年前在学校初次接触java开始,一路摸索,走过不少弯路,浪费过不少时间,摸着石头过河,到现在多少有了一些心得,记录在此,希望对后来人有所帮助。入门篇怎样入门完事开头难,入门之后剩下的就都好说了。对于有其他程序语言使用经验的同学来说,java应该不需要入门,稍微看看就能明白了。对于没有编程经验的同学来说,初次接触java语言,选对学习途径非常重要。 我认为比较好的一个...原创 2018-07-10 23:56:59 · 2078 阅读 · 7 评论 -
First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.Examples:s = "leetcode"return 0.s = "loveleetcode",return 2.Note:原创 2017-05-21 13:17:44 · 219 阅读 · 0 评论 -
Longest Word in Dictionary through Deleting
Given a string and a string dictionary, find the longest string in the dictionary that can be formed by deleting some characters of the given string. If there are more than one possible results, retur原创 2017-05-21 10:30:58 · 294 阅读 · 0 评论 -
一次线上java应用响应时间过长问题的排查
同步发表在个人独立博客中,那里没有广告,很是清净http://blog.lanjingdejia.com/articles/2019/09/27/1569574874482.html最近接手一个老java应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的,记录一下。整个过程中,设计到cpu,内存,垃圾回收,引用,spring, 单例 等等知识,整个下来,心情愉悦。接到报警吃...原创 2019-09-27 17:05:22 · 2622 阅读 · 0 评论