自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

haoyifen的专栏

技术小白, 整理思路, 把一件事情说清楚和说完整.

  • 博客(73)
  • 收藏
  • 关注

原创 一点点小感慨

看到一个面试者的简历, 点了看了下他的Github和CSDN博客, 想起了我以前也写过一些博客. 点过来看看以前写的博客还是有人看的. 也有反馈一些问题. 感觉自己以前真是热血, 现在真的是懒得写这些了....

2018-07-23 20:13:30 408

原创 为什么下一个5年java后台开发你该选择Spring Boot?

Spring是一个无所不包的一站式java开发平台. 但由于10多年的发展, Spring的体系太过庞大, 程序员无法掌握其历史, 同时复杂的依赖, 大量的配置, 复杂的部署给开发带来了很大的阻碍.Spring Boot基于约定大于配置的理念, 简化了依赖管理, 简化了配置, 简化了部署. 大大降低了使用Spring开发的难度, 大大加快了开发速度. 我认为必将是Java后台开发下一个5年的杀手级框架.

2017-05-29 21:19:55 15689 3

原创 你不知道的泛型--获取具体的泛型参数类型

为什么擦除的泛型又可以获取具体的泛型参数信息, 在怎样的情况下可以获取?这在哪些框架中使用到了?

2017-04-27 19:44:31 6016

原创 JCP和JSR. 以及工作中碰到的一些JSR

JCP, JSR, JSR总结

2017-04-18 21:28:59 1383

原创 kotlin与Spring, 默认类,方法,property为final带来的问题--依赖注入失效,NullPointerException异常

使用kotlin写Spring时,kotlin默认类,方法,property为final带来的问题 -- 依赖注入失效, NullPointerException的原理及解决方法

2017-04-18 14:26:04 4521 2

原创 我学JUC之LockSupport

java.util.concurrent之LockSupport

2017-03-13 20:28:03 603

原创 Kotlin enum类与companion设计的不协调--NPE导致ClassNotFoundException, Could not initialize class.

kotlin使用companion代替static, 而enum类是在类初始化时就初始化实例, 如果在enum实例中引入到了companion object中的字段, ide和编译器都不会提示错误, 但是运行那么就会导致enum类初始化失败. 因为初始化实例时, companion object还没有初始化. 引用其字段, 导致NPE, 类初始化失败, 导致ClassNotFoundException

2017-03-13 13:43:53 3509 1

原创 Kotlin是如何做的 之单例

Kotlin是如何实现的之 单例

2017-02-16 17:12:43 3569 1

原创 kafka多线程消费及处理和手动提交处理方案设计

kafka的消费者有很多种不同的用法及模型. 本文着重探讨0.9版本及之后的kafka新consumer API的手动提交和多线程的使用

2017-01-23 11:32:54 27182 11

翻译 Kafka 0.9 新版本consumer客户端使用介绍

kafka最初的客户端使用scala写的, 但是有很多限制. 在0.8.1版本中, 用Java重写了producer客户端, 0.9版本中用java重写了consumer客户端, 新的客户端提供了更加易用, 清晰一致的api. 本文翻译了kafka官方的新consumer使用介绍. 主要介绍了新版本的客户端与旧客户端的区别, 新版本的使用, 详细介绍了一些重要配置, 消费语义等方面.

2017-01-08 14:55:03 10670

翻译 kafka权威指南 第一章翻译 Meet Kafka

Kafka The Definitive Guide, Early Release第一章 Meet Kafka翻译. 主要介绍队列系统是如何逐渐引入业务中, 以及LinkedIn的业务需求的发展带来了哪些技术上的问题, 以及这个背景下kafka的诞生.

2017-01-07 12:29:44 6179

原创 MongoDB 单字段索引和复合索引

mongodb索引的使用及explain分析

2016-12-25 16:33:45 9838

原创 MongoDB 3.x版本explain命令

MongoDB 3.x 版本的explain介绍

2016-12-25 13:38:32 3042

原创 无法删除节点 Zookeeper: Packet len5391978 is out of range

问题今天在对Zookeeper进行性能测试, 在/zktest节点下建了16W个节点,每个节点名为30个字符 然后进行删除时出现Packet len5391978 is out of range的错误, 导致不能获取节点列表, 也不能删除节点.

2016-10-15 13:14:37 6038

原创 Java中的相对路径解惑

让人迷惑的相对路径Java 中有一个很容易让人误解的问题, 就是相对路径问题. 对这个问题进行解析, 给出使用类路径进行加载的方法, 并且简单分析Spring中的做法.

2016-10-04 12:31:30 1982

原创 使用springfox整合SpringMVC和Swagger

Swagger 是一系列对 RESTful 接口进行规范描述和页面展示的工具. 通过 springfox-swagger 将 Swagger 与 Spring-MVC 整合, 可从代码中的注解获取信息, 并生成相应的文档. 效果如下所示. 目前 Swagger 的 api 版本规范已经更新到 2.0 版本, 中文网络上基本上都是 1.0 的 api 版本规范的教程. 捣鼓了一天终于搞定了.

2016-09-29 16:57:36 16963 1

原创 Spring中的所有路径匹配问题总结

Spring 路径问的最多的问题就是如何拦截所有以. do 结尾的请求. 大家都是在猜, 网上给出的答案五花八门然而大部分都是错的. 正确答案是 /**/*.do. 其实Spring中无论是handler路径映射, 还是interceptor路径匹配, 还是sping.xml中加载配置文件时使用的"classpath*", 都使用的是AntPathMatcher规则, 这里做详细的介绍

2016-09-27 12:02:58 7360 1

原创 Java7 NIO2 Path类

Java 从 1.0 开始就有了 Java IO 模型, 在 JDK 1.4 中添加了 NIO, 主要添加了非阻塞 IO 支持, Java 7 中, 增加了异步通道, 对本地文件系统添加了更多元数据支持 (File Attributes), 文件树遍历 (FileTreeWalker), 文件变化监测的 Watch Service 等功能

2016-09-25 14:54:15 1593

原创 CORS实现AJAX跨域的分析以及Spring实现

通过CORS标准在Spring MVC中实现JAX跨域请求

2016-09-24 21:52:56 1851

原创 Spring中配置WebSocket

Spring中使用WebSocket

2016-09-24 16:15:41 7372 4

原创 线程终止方法

如何正确关闭线程

2016-09-24 12:05:25 721

原创 Spring重复扫描导致事务失败的解决方案及深入分析

Spring重复扫描导致事务失败的解决方案及深入分析

2016-04-17 12:19:39 83285 6

Spring重复扫描导致事务失败的解决方案及深入分析

问题及日志使用Spring和mybatis,然后配置事务,出现SqlSession was not registered for synchronization because synchronization is not active,事务没有启用成功。[org.mybatis.spring.SqlSessionUtils] - Creating a new SqlSession [...

2016-04-17 12:19:00 2536 1

原创 IntelliJ IDEA使用Maven创建Spring和Mybatis工程出现...BindingException: Invalid bound statement (not found)

IntelliJ IDEA使用Maven创建Spring和Mybatis工程,出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常的解决方法

2016-04-16 20:36:31 2569 2

IntelliJ IDEA使用Maven创建Spring和Mybatis工程出现...BindingException: Invalid bound statement (not found)...

使用intelliJ idea创建Mybatis工程后,扫描xml所在的包也配置了,如下,<!--spring与MyBatis结合,不需要mybatis配置映射文件--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <pr...

2016-04-16 20:36:00 159

原创 ThreadLocal源码解析

JDK 1.8 ThreadLocal源码解析

2016-04-11 21:51:38 525

ThreadLocal源码解析

今天在看Spring 3.x企业应用开发实战,第九章 Spring的事务管理,9.2.2节ThreadLocal的接口方法时,书上有提到Threadlocal的简单实现,我就去看了下JDK1.8的Threadlocal的源码。发现实现方式与书中讲的并不相同,同时在网上搜索了一下,发现有比较多的人理解错了。先看一下容易误导的解释:在ThreadLocal类中有一个Map对象,这个Map以每个T...

2016-04-11 21:51:00 116

原创 FireFox和VimFox插件--个人感觉最好用的火狐快捷键插件

vimfox快捷键操作

2015-10-16 09:24:37 5090

FireFox和VimFox插件--个人感觉最好用的火狐快捷键插件

个人比较喜欢键盘操作,特别是浏览网页时,一般都说编程的人该用chrome,个人感觉并不是很好用.切换到linux下后,chrome有个比较严重的问题,就是在输入网址时,非常的卡顿,于是开始使用firefox浏览器.有了解到这些浏览器的插件都比较多,于是搜索了一下,Vimium比较难用,快捷键很少,而Vimperator学习成本又比较高,所以使用了VimFox后,就决定用它了.下...

2015-10-16 09:24:00 566

原创 HTTP摘要认证方式分析与验证

HTTP协议中的摘要认证,使用python进行算法分析和验证

2015-10-04 22:40:31 2154

HTTP摘要认证方式分析与验证

使用tomcat自己创建了一个网页.http://218.197.239.47:8080/First/MyHtml.html进行了权限设置,使用摘要验证,用户名(root)和密码(admin),输入提示"Test DIGEST"成功验证后,我们查看响应头和请求头信息如下所示:其中最重要的信息为请求头中的Authentication首部:...

2015-10-04 22:40:00 355

原创 HTTP内建Authentication机制分析

http协议内建的Authentication机制分析

2015-10-02 23:21:02 518

HTTP内建Authentication机制分析

内建的用户登陆机制Authentication:访问http://linux.linuxidc.com/网页弹出:此时的HTTP请求和响应如下:返回的是401 Unauthorized状态码,同时弹出需要验证的输入框如果不输入任何信息,验证失败。如果输入信息,用户名,密码都是www.linu...

2015-10-02 23:21:00 191

原创 我的linux系统配置

我的linux配置

2015-10-01 17:04:59 778

我的linux系统配置

更新了win10,使用了一段时间,win10经常蓝屏,发热也比较严重,如果使用了两天以上未关机就会比较卡了。所以决定使用linux,使用的是Deepin 2014.3版本。Deepin系统自带了搜狗输入法,wps,谷歌浏览器,windows版的QQ。可能是直接把独立显卡关了,就没有Ubuntu很头疼的发热问题。基本上可以直接使用了。做了一些配置,...

2015-10-01 17:04:00 107

原创 Top K问题用Python求解

用Python写的Top K问题,一种是对N个数据直接排序,然后取出其最大的K个数。复杂度为N*logN。一种是通过保留K个数的槽,然后不断去N个数中取数,如果取出的数比K个槽中的数的最小值要大,那么就替换这个最小值。所以时间复杂度为N*logK.以下为时间。复杂度N*logkN*logN1W0.0049101173134

2015-09-21 18:58:29 2566

Top K问题用Python求解

用Python写的Top K问题,一种是对N个数据直接排序,然后取出其最大的K个数。复杂度为N*logN。一种是通过保留K个数的槽,然后不断去N个数中取数,如果取出的数比K个槽中的数的最小值要大,那么就替换这个最小值。所以时间复杂度为N*logK.以下为时间。复杂度N*logkN*logN1W0.00491011731340.0...

2015-09-21 18:58:00 375

原创 对Throwable的处理

对java异常处理一点总结

2015-09-14 23:11:40 1366

对Throwable的处理

Java以严谨著称,对于checked异常, 1. 在出现异常的地方使用catch捕捉并忽略它 2. 直接抛出异常 对于第一种方法,有的时候很危险,异常有的时候必须被上层知道,如果有部分执行不正确,程序是需要停止的。第二种方法,会很麻烦,这样一层层调用,每层都要写异常相关的代码,会多很多的代码。 可以定义一个这样的方法对异常和错误进行处理: public static void...

2015-09-14 23:11:00 769

原创 同步工具类-闭锁CountDownLatch

闭锁用于同步几个操作,只有所有操作完成后,在这个锁上等待的线程才能继续执行。

2015-09-14 22:36:07 495

空空如也

空空如也

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

TA关注的人

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