自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一学就明的博客

掌握高效的学习方法比懂得多少知识重要,因为前者让你拥有解决任何问题的能力...

原创 布隆过滤器和Hyperloglog基数统计的介绍

本文简单介绍一下布隆过滤器和Hyperloglog基数统计的应用案例,希望能给读者带来一点思考和启发 布隆过滤器介绍: 布隆过滤器可以判断一个元素是否在一个集合中。特点:该布隆过滤器中记录元素的集合占用的空间少,集合保存的不是元素本身,而是能代表这个元素的映射。当然,判断这个元素是否在集合中存在...

2017-08-22 22:32:09 1647 0

原创 (小工具)Java分组排序通用程序实践(终结篇)

本文是前两篇文章的终结篇,由前两篇文章介绍的通用程序,可以组合出分组排序以及提供排列名次的通用程序功能。 回顾: (小工具)Java反射机制实现任意对象集合排序并且获取排列名次的通用程序实践 (小工具)Java反射机制实现任意对象集合按指定任意字段进行分组通用程序实践 再回看: mysql...

2017-08-06 12:35:25 825 0

原创 (小工具)Java反射机制实现任意对象集合按指定任意字段进行分组通用程序实践

在应用开发的时候,我们有时候会遇到需要对一个给定集合进行分组的情况。如果该集合的数据记录是从数据库的获取,通常我们最简单的方案是直接在sql层面select后group by完成。 但是,假如某些场景下该数据不是从数据库获取呢?那就需要在应用程序层面进行分组。 假设给定一个集合,{A:5,A:4,...

2017-08-05 16:29:56 589 0

原创 (小工具)Java反射机制实现任意对象集合排序并且获取排列名次的通用程序实践

在应用开发的时候,我们有时候会遇到需要对一个给定集合进行排序的情况。如果该集合的数据记录是从数据库的获取,通常我们最简单的方案是直接在sql层面select后order by完成。 但是,假如某些场景下该数据不是从数据库获取呢?那就需要在应用程序层面进行排序。 假设给定一个集合,{5,4,3,6}...

2017-08-03 09:49:36 520 0

原创 TCP握手协议-原理和案例(服务端大量CLOSE_WAIT,TIME_WAIT问题)参考总结

互联网公司,对网络通讯原理的掌握估计要求比较高,分分钟面试官第一个问题问你就是请描述一下TCP握手协议,为什么有3次握手和4次握手的区别。 如果要深入而且全面的理解这个协议,建议浏览相关专业书籍,例如《UNIX 网络编程》。本博客定位是让有这个基础概念的小白同学加深一下理解。题外话,之所以写起这篇...

2017-07-21 23:58:47 781 0

原创 解决问题的通用思路 - 关于线上运行的程序出错

-查找原因 正向分析法: 查看日志,包括正常日志和错误日志。对于日志里的异常内容,找到每个错误,如果是和自己写的程序逻辑相关,则定位到具体代码,进行相关程序代码分析。 对比分析法:对比日志 参考最近一段时间正常运行时日志输出内容,对比现在出问题的日志内容。如果之前就有相同的异常日志并且程...

2017-05-25 23:55:23 1128 0

原创 Gradle搭建Spring源码项目并导入Eclipse

windows用户5分钟学会从GitHub下载Spring framework源码项目并在Eclipse里搭建项目 本文开发环境(供参考,其它版本未测试) - Spring源码版本:spring-framework-4.3.x - Gradle版本:gradle-2.14.1 - E...

2017-05-18 23:56:33 8863 0

原创 主数据和关系数据-业务系统建模系列

数据库建模能力在企业业务系统开发中是重要技能之一,相比互联网公司,编程技术虽然不会有太大难度,但是,业务建模过程中建立好数据关系表,代码实现中写好每一个逻辑细节,对思维能力的方面还是有一定要求的。

2017-05-11 00:57:19 2566 0

原创 异步和非阻塞一样吗? (内容涉及BIO,NIO,AIO,Netty)

写在开头:本文不是纯讲技术,会涉及概念理解和语义分析的要点。正如博主标题说的,高效的学习方法比拥有多少知识重要。高效的学习方法途径之一就是阅读理解,理解能力越好,掌握越快,知识体系更清晰。 如果刚入门Netty,看过Netty线程模型,又看过JDK的NIO、NIO2,是否困惑于NIO,AIO,...

2017-05-07 18:52:40 7645 5

原创 dubbo源码分析-客户端DubboInvoker调用服务端体会Netty的非阻塞IO使用

本文会介绍Dubbo客户端DubboInvoker调用服务端时候异步同步调用,借此理解Netty的阻塞非阻塞用法。

2017-04-29 00:54:29 2779 0

原创 dubbo源码分析-RPC远程调用模块与Remoting通讯模块协作细节

阅读需要技能: 1.设计模式:理解代理模式。JDK动态代理类的使用。 2.设计模式:理解装饰模式。 3.Netty网络通讯编程,server,handler,channel 4.了解Dubbo基本原理,Dubbo模块各层分包关系 Dubbo RPC 服务端提供服务实现细节 服务端提供服务...

2017-04-18 00:16:27 3684 0

原创 论敏捷开发重要性

现今企业系统的业务都复杂无比,给你无限的时间做规划设计,也无法保证软件产出完全满足客户需求。在这种各方充满着不可控因素的环境下,有什么银弹方法解决?

2017-04-09 23:09:06 2519 0

原创 dubbo源码分析-ExtensionLoader发现机制和Adaptive注解应用

Dubbo的灵活性体现在每个系统功能点都可以动态扩展为新的实现,而且只需要额外配置,不需要修改dubbo源码,非常符合面向对象设计的开闭原则,其实现原理利用了JDK5.0的自动发现机制,具体使用相关代码是ExtensionLoader 本文目的:对Dubbo使用ExtensionLoader动态加...

2017-04-03 20:23:38 3787 0

原创 Eclipse调试进阶-结合Dubbo调试实例分析

本文你会掌握的Eclipse进阶技能: ● Eclipse 调试窗口里显示多线程 ● 根据需要可以暂停某线程,然后在需要时候恢复 ● 使用Expression直观计算运行代码附件复杂的条件值 ● Step Into(F5) ● Step Over (F6) ● Ste...

2017-04-02 20:15:53 1646 0

原创 理论与实例,准确理解REST的无状态设计

如何理解REST的无状态设计? REST和RESTFUL是什么关系?区别是什么?

2017-03-19 00:46:03 6017 2

转载 推荐《Clean Code》一书,让你成为优秀的程序员

曾经维护过有十多年历史的银行系统,也全新开发过多模块的企业应用系统。经历过各种各样写法的代码,有的难以维护,有的清晰明了,有的埋下深坑… 在我的团队里,我总是向新人灌输代码整洁之道的思想,我时刻告诉他们,功能完成只是最基本的要求,更重要的是你能把代码清晰明白地表达出业务逻辑,别人容易看得懂你写的代...

2017-03-16 23:21:10 841 0

原创 非线程安全类SimpleDateFormat

SimpleDateFormat是非线程安全的,写处理日期的工具类时候请注意。 问题背景:项目组的同事在新项目里写了一个DateUtil专门处理日期格式化的工具。线上运行后台日志偶然发生莫名其妙的错误:java.lang.NumberFormatException: multiple points...

2017-03-14 23:11:37 678 0

原创 一分钟教你解密Druid配置加密后的密码

Druid是阿里巴巴开源平台上的一个数据库连接池。网上很多资料都是关于Druid数据源的配置与使用,却一直找不到一篇文章教人解密。本文教你如何解密Druid配置文件中加密后的密码。

2017-03-04 21:58:03 12279 2

原创 Spring MVC 典型分层Java代码生成工具

工具类用于生成基本的java的实体类模板,controller类模板,service类模板,mybatis xml文件。

2017-01-29 22:04:19 1722 0

原创 有道云笔记学习Markdown命令

有道云笔记学习Markdown命令

2017-01-27 11:51:06 920 0

原创 mysql 分组排序显示序列号 row_number()

mysql 分组排序显示序列号 mysql没有row_number()函数,如何实现分组排序显示序列号 需求:要求分组统计后得出排名。如图1,根据组织分组后按绩效得分排名得图2效果。表名:pef_score(图1) 组织 供应商 绩效得分 顺德工厂 智慧家居 80 顺...

2016-10-26 22:40:41 7999 2

原创 Eclipse and IDEA 快捷键对比

本文会记录常用Eclipse和IDEA的快捷键 1. 如何生成方法注释/** * some comments about the method * @param userInputxxx * @return valueyyy */在IDEA中: IDEA Creating Documentati...

2016-04-16 18:26:53 348 0

原创 Java编程良好习惯和性能优化

设计初期要分析用什么数据结构和相关算法实现 复杂运算和字符处理时候,用StringBuffer,不要用String 避免在循环块里写try-catch Synchronisation处理耗资源和影响运行速度,仅在十分必要使用且需要同步的方法相对简单的情况下使用 延迟初始化对象,仅在需要用到的方法时...

2016-03-08 01:58:59 344 0

原创 教大家看官方技术文档(三)- Spring,Mybatis整合

教大家看官方技术文档(二)- Spring MVC (续) 续上一篇文章,继续看看如何整合Mybatis实现mysql数据库操作主要从以下方向出发: 1)Spring配置dataSource, 包括driverclassname, jdbc url等等 2)Spring配置Mybatis的SQ...

2016-03-06 14:46:28 664 0

原创 回文串算法Java实现

今天看到一个回文串的问题:给定一个字符串,能否通过添加一个字母将其变成“回文串”,“回文串”是指正着和反着读都一样的字符串。如: “aa”, “aba” , ”abcba“等。“abcd”, “abce”就不是。网上可能有一些数学技巧的快速解法,但是我这里想利用程序的穷举办法实现。思路: 1)先...

2016-03-02 23:34:34 1852 0

原创 教大家看官方技术文档(二)- Spring MVC

教大家看官方技术文档(一)- Spring MVC 文章续篇

2016-03-02 21:34:06 1363 1

原创 教大家看官方技术文档(一)- Spring MVC

每当学习一门新技术时候,大部分人直接就是百度Bing搜索,借鉴别人的博客例子等。我也是一样,但是我经常想,这些牛人的例子如何写出来的,如何深入扩展其它功能等等。所以,我会做多一步,就是挖掘官方文档。 本文例子的软件环境: IntelliJ IDEA 15 CE (社区版) Maven3.0...

2016-02-28 12:54:11 10718 7

原创 IntelliJ创建基本的Maven Web project

很多时候,我们建立项目时候通常是在copy and paste网上别人的例子,很少有人会从零开始按照官网的文档一步一步搭建起项目的框架。本文从基础出发,教大家如何根据官网的文档搭建项目。

2016-02-27 23:17:22 414 0

原创 URI Is Not Registered

URI Is Not Registered使用IntelliJ Maven生成archetype时候,偶然会出现xml文件的头定义提示错误 URI is not registered

2016-02-27 22:05:24 33573 3

转载 mysql 更改root账户密码 - mysql-5.7.11-osx10.10

更改root账户密码 http://blog.csdn.net/maijunjin/article/details/22283265 cd /usr/local/mysql-5.7.11-osx10.9-x86_64/bin 1)尝试以下方法修改密码,但是报错,说密码过期 ./mysql...

2016-02-27 19:13:00 687 0

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