- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 基于注解的Spring项目启动源码分析(也适用Spring Boot)
去年从深圳辞职后,现在打算开始找新工作了。其实以前才开始流行注解配置项目时就看过这些源码了,可能由于懒惰吧,没有留下只言片语。现在写篇文章查遗备缺,也便各位做个交流。注解的自启动基于Servlet3.0的检测与调用首先我们来看AbstractAnnotationConfigDispatcherServletInitializer这个抽象类,一般我们的启动都需要继承这个类...
2020-05-04 21:49:06
318
原创 gson和jackson序列化简单基准测试
首先声明这个测试不是严谨的基准测试(BenchmarkTesting),只是自己用来说明一些问题的代码,比如严谨的测试应该是测试多次并列举出内存占用,cpu使用情况,执行的最大时间、最小时间平均时间等等等。废话不多说先上代码首先是Book的实体类,尽量将一些常用类型包括package com.example.demo.model;import java.time.L...
2019-09-09 10:41:35
341
原创 基于WebFlux的响应式Spring初探demo
1、响应式编程式什么?为什么现在都认为这个是微服务的趋势?先挖个坑吧,给个简单的公式。响应式编程=数据流+变化传递+声明式2、下面废话不多说直接上代码WebFlux的核心Reactor的实现思路和介绍可跳转https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.h...
2019-09-09 10:25:33
373
原创 简单的压测模拟
[code="java"]import java.time.Duration;import java.time.LocalDateTime;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Execu...
2018-05-11 19:52:10
284
原创 Java的驼峰与下划线的属性对象互相转换
[code="java"]import com.xxxx.util.constant.PropertyNameStyle;import com.google.common.collect.Lists;import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections.CollectionUtils;i...
2018-05-11 19:50:49
4709
4
基于netty的echo server和echo client
既然学了netty自然需要实验下,自然自己就简单实验下。这个是简版的,所以比较粗糙。[code="java"]package study.netty;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import io.netty.bootstrap.ServerBootstrap;import...
2018-04-05 12:59:34
412
基于Nio的echo server和echo client
最近想学netty,但平常工作中NIO用的比较少,所以最近就复习了下NIO。自己写了个基于NIO的echo例子,代码挺简单的。[size=medium][color=red]echo 服务端代码[/color][/size][code="java"]package study.nio.echo;import java.io.IOException;import ja...
2018-04-05 12:28:14
260
原创 面试编程题的实验
昨天某知名互联网企业对我做了一个电话面试。然后叫我在他给的一个网址上面做一个编程题。题目是这样的。[size=x-large][color=green]共计9个苹果,有2只猴子,一个猴子每次拿2个苹果,一个猴子每次拿3个苹果,如果剩余的苹果不够猴子每次拿的数量,则2只猴子停止拿苹果,请用java多线程模拟上面的描述[/color][/size][size=med...
2018-03-28 19:38:36
685
针对基于Redis Cluster的接口数据缓存删除实现
首先定义个工具interface,基于Java 8的实现.主要利用了Redis Cluster的hashTags特性。详细细节可前往[url]https://redis.io/topics/cluster-spec[/url]的Keys hash tags章节了解。个人建议还是看完这个规范的前半部分才好理解,为什么会出现hash tags这个东西。[code="java"]pa...
2018-03-26 10:35:27
772
原创 spring的基于java的项目配置示例2
[code="java"]import com.xxx.support.config.AbstractAppInitializer;import com.xxx.support.config.BaseRootConfig;public class AppInitializer extends AbstractAppInitializer { @Override prot...
2018-03-20 17:32:16
216
简单ELK配合logback搭建日志监控中心
今天得闲就自己搭了个ELK示例,过程挺简单的。 Elastic Search,logstash, kibana再这个地址[url]https://www.elastic.co/cn/products[/url]都可以下载。话不多说。首先安装ES。解压下载包到置顶目录启动脚本再bin目录下的elasticsearch,参数配置在config目录下。主要配置文件为elasticsearc...
2018-03-20 17:30:14
475
原创 spring的基于java的项目配置示例1
spring的基于java的项目配置示例。[code="java"]import org.springframework.web.context.AbstractContextLoaderInitializer;import org.springframework.web.context.WebApplicationContext;import org.springfram...
2018-03-16 08:26:31
240
原创 HttpClient实例
[code="java"]import java.io.IOException;import java.io.InterruptedIOException;import java.net.UnknownHostException;import java.security.KeyManagementException;import java.security.NoSuchAlgo...
2018-03-16 08:15:47
190
基于spring data的Elastic Search的配置示例
基于spring data的Elastic Search的配置示例[code="java"]import java.net.InetAddress;import java.net.UnknownHostException;import java.util.ArrayList;import org.apache.commons.lang3.tuple.Immutabl...
2018-03-15 17:41:50
584
方便jedis cluster操作的工具类
由于redis的集群 redis cluster不支持keys这样的多key操作(具体原因由于sharding 后,不同的key属于不同的slot,难以支持原子操作)。所以如果一个对外需要对缓存做失效处理时比较棘手。所以本类提供工具方法再redis cluster查找按照hashTags处理的keys和一般的keys。基于jedis cluster实现。有优化空间,现在懒得改了...
2018-03-15 17:37:58
1709
爬虫基础类
自己封装的爬虫基础类。[code="java"]public interface TaskBaseInfo { /** * 返回任务的名称. * * 一般用作日志输出 * @return */ String taskName(); /** * 返回任务的唯一code * @return 在整个爬虫项目中不重复的Cod...
2018-03-15 17:28:46
173
基于AOP的ajax的referrer判断
网页中ajax请求的referrer的值是当前域名。(其实这个工作nginx来做最好)所以对于一些简单的安全验证可以通过这样的方式来做。下面是我的实现。[code="java"]import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.a...
2018-03-15 17:23:28
334
原创 冒泡排序、快速排序(快排)、KMP算法的Java实现
[size=medium]人太懒了,好久没发文章了。今天就写点自己的算法实现吧。比较简单恐贻笑大方之家,但又觉得还是记录下来比较好。 前两天qq的群里有人再说他老大不懂java但在招聘Java工程师。所以就选择语言无关又能考察下能力的最大公约数----算法。大概是冒泡排序、快速排序(快排)、二分查找、KMP算法。 做Java大家都懂,可以通过comparable和Compar...
2018-03-15 14:43:21
269
RedisHandler实例
[code="java"]import java.util.HashMap;import java.util.Map;import org.apache.log4j.Logger;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jed...
2016-02-16 13:36:57
900
Java Timestamp从MySQL数据库取出的字符串转换为LocalDateTime
最新在工作中使用了Java 8的LocalDateTime这个新的日期时间类,整体感觉还是不错的。不过在使用过程中遇到一个问题,写了个转换方法。 我在从一个从数据库取出并生成的一个名为user的实体对象。这个实体对象包涵一个String(BTW.为什么Java到8了还不能像c#一样写成string)类型的属性,这个属性是由数据库中的timestamp直...
2016-01-26 16:08:25
2933
原创 shell 函数_1
说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自然”的错误,也让我吃了不少的苦头,所以总结一下Shell中函数的调用方法。一、Shell中函数的定义为了方便程序和管理和模块化并减少代码的重复,函数的确是一个好东西。而Shell中函数的定义有两种方法,如下:function...
2015-10-10 14:21:12
137
原创 reviewC指针
[size=large][b]由于要考试,有C的考核内容。所以今天把C拉出来又看了下,其实基本没什么难度,除了写面向对象许久所以没太在意的指针,其他内容都还好,温故而知新嘛。下面是一道题的内容和我的一种玩趣式解法。 请编写函数,对传送过来的三个数选出最大值和最小值,并通过形参传回调用函数(即用a,b,c的顺序表示大小)。[/b][/size][code="c"]void test...
2014-03-02 22:05:05
271
使用java NIO实现复制文件
前几天自己在做一个小实验来着,突然想到自己以前通过TCP(socket)的方式做过复制文件的事情,然后就想到貌似没试过UDP(DatagramSocket)的方式实现复制文件(其实这从头就是个错误的思路)。遂马上动手试验,理所当然的写到后面就发现这样的方式有缺陷(UDP本身特性决定了),但是在思索有不有其他的变通的方式实现的时候,无意中看到了NIO这个以前一直没注意的东西,当时还想通过NIO找一些...
2013-12-30 01:09:12
252
原创 Python2.X内置函数学习
[size=large][b]1.apply()函数[/b][/size] 学过Python的都知道Python支持可变参数,例如function_name(*parameters)或function_name(**parameters)。前者是把参数放入一个元组里,后者则是键值对的参数放入一个字典里。 Python内置一个可以讲可变参数的元组直接放入函数的参数列表的方...
2013-12-19 21:52:51
170
学习Python中遇到的问题
最近学习Python中。[size=large][b]先上代码:[/b][/size][code="python"]# -*- coding: UTF-8 -*-class Person: '''Represents a person''' population=0 def _init_(self,name): self.name=n...
2013-09-04 23:26:50
191
原创 敏感词Filter的实现
首先声明这片文章不是我的原创,我只是为了查遗备缺所以在这里写上。敏感词的Filter从本质上说是属于一种内容替换Filter。内容替换Filter的工作原理是,在讲Servlet内容输出到Response时,Response将内容缓存起来,在Filter中进行替换,然后再输出到客户端浏览器。由于ServletResponse默认不能严格的缓存输出内容,因此需要自定义一个具备缓存功能的respo...
2013-06-24 16:00:30
229
原创 字符编码Filter的实现
每天写一点,慢慢进步。虽说在Servlet里面也可以设置编码方式,但是Filter就像一个沙漏一样,你可以随时拆卸,并且可以更灵活的设置编码方式。[code="java"]package com.googlefans.filter;public class CharacterEncodingFilter implements Filter{ private String c...
2013-06-23 23:13:00
204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人