自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

samll leaf

学其根本,知其根源,方能应付八方!!

  • 博客(76)
  • 资源 (6)
  • 收藏
  • 关注

原创 关于程序员进阶

最近面试,让我产生无所不能幻觉,彻底消失了。我觉得程序员,就是应该有空的时候就出去面试,面试就=对公司不忠诚吗?当然不是,就自身而言,只有面试才能发现自己的差距。如果你在一个岗位做了几年,做着自己非常熟悉的业务,螺丝拧了一百遍,不会吗?拧了几年,员工走的只剩你和新员工,你顺利上位成了领导,就代表你能力强吗?最近有一个面试官,面了很多底层的问题,他说,你应该去看看tcp原理,花几个月好好啃这本书,你答我的问题都能答上而且也在点子上面,但是就说的不够清楚,了解的不够深入。面试官问道,你的数据库主库挂了怎

2021-07-06 00:35:11 298 1

原创 关于面试考算法题

关于程序员面试考算法的意义,我至今都没有想明白意义何在。我在网上看了很多这方面的文章,无非就是以下两个观点。说的直白点的就是,你不刷题别人面试不让你过。说的委婉点,刷题多了你的思维就会更加好,我们写的代码不就是算法吗,我们在思考最优解的时候方案就越多。对于第一点,如果不大量刷题,很多解题的方案,在很短的时间根本想不到很好的解题方案。对与非算法工作的,我相信大家如果遇到很复杂的问题,第一时间不是傻傻的自己思考。而是百度,Google,找到合适的方案,然后根据自己的经验去找到合适的解决方案。我是认为

2021-07-05 23:45:45 356 1

原创 Spring源码分析:@EventListener

今天天晴,心情不错,来盘他,分析一个Spring常用的事件技术,从源码的角度,以及Spring编写代码的方式来彻彻底底盘他。先来看注解@EventListener每一次我看到spring的一个注解,我的脑海就立马浮现1.有一个在spring生命周期中对应的类来处理它,如果是字段注解,那么一定是在对象实例化之前初始化它给他赋值,那么这个处理类可能就会实现BeanPostProcessor或者...

2020-03-04 10:46:38 361

原创 spring源码:spring生命周期中重要的接口类

spring启动后会有很有接口穿插在spring生命周期当中,熟练的了解这些,对我们读其他框架源码,或者自己写框架集成spring非常有帮助。1.BeanDefinitionRegistryPostProcessor扩展了BeanFactoryPostProcessor ,能够在BeanFactoryPostProcessor 检测之前执行,并且它也是BeanFactoryPostProces...

2020-03-03 22:00:10 478

原创 tars源码解析3-springboot启动

从spring xml ,spring JavaConfig,spring boot ,spring cloud。原理从始到终都是没有任何变化的,只要我们掌握了最核心的只不过是表现方式不同了。所以有了技术万变不离其中tars一样的,如果玩转它。从前面两篇,分析而言。要改成springboot的方式,无非就是使用它的方式改变了,核心是不会变的。使用方式有哪几个变化呢?启动方式,sprin...

2020-02-09 18:14:35 834

原创 tars源码解析2-客户端启动

在还没有认真分析源码之前,我根据以前阅读微服务框架的思路,去分析这样几个问题客户端如何获取服务节点列表客户端如何维持与服务之间的链接,这种链接是长连接还是短连接,使用的方式/框架是什么?客户端如何实现服务端调用的负载均衡,还是说负载均衡由硬件来处理(网络层来处理)。客户端与服务端数据是怎样通信的?序列化协议?客户端与服务端连接出现问题如何处理?这是我暂时想到的,当然微服务框架之间的处...

2020-02-02 13:03:23 957

原创 tars源码解析1--服务端启动

tars源码解析1-服务段启动1. 服务如何启动1.12. 服务如何注册到注册中心首先本例子是来自,TarsJava/examples/quickstart-server/新建一个启动类App.javapackage com.qq.tars.quickstart.server;/** * @author : yesheng * @Description : * @Date : 20...

2020-02-02 11:31:09 1091

原创 架构图:mysql系列

mysql相关系列的架构图记录这些架构图,如果脑海里面有这些图,自己就能想到很多东西,也许比文字有效的多。1.mysql逻辑架构图

2019-01-15 20:00:14 224

原创 爬坑:Java自动拆箱

先来代码。你是否写过这样的代码? public static void main(String[] args) { Integer test = null; int test2 = test; }或者说 public static void main(String[] args) { Integer test = null; ...

2018-12-18 14:50:29 158

原创 spring设计好美:走入spring请求分发

本编主要是讲解,spring请求这整个过程中,以及有哪些地方可以扩展1.简单聊聊springweb1.1 两个核心的Sevlet Api1.2 消失的web.xml2.请求开始2.1 请求全局变量,RequestContextHolder2.2 监听ServletRequestHandledEvent事件2.3 配置文件请求2.4 请求如何找到对应的执行方法handler2.5 使用Handler...

2018-12-11 21:52:46 514

原创 spring设计好美:WebMvcConfigurer

从WebMvcConfigurer了解spring设计的美味说明WebMvcConfigurer是什么WebMvcConfigurer设计中的优点总结说明本篇文章主要是讲WebMvcConfigurer设计的巧妙之处。目的之一:弄清WebMvcConfigurer是什么。目的之二:WebMvcConfigurer设计中的优点WebMvcConfigurer是什么如何使用WebMvcCo...

2018-12-11 18:08:13 1770

原创 springboot源码解析:自己实现一个springboot自动配置

上两篇将到了springboot自动配置和条件注解是如何实现,这篇在前两篇的基础上自己实现一个springboot的自动配置,用到条件注解。需求:加入自己手写的jar。直接就可以使用StringRedisTemplate。1.新建一个maven项目,pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project ...

2018-02-26 23:06:56 2429

原创 springboot条件注解源码分析

上篇我们讲到springboot注解之:@EnableAutoConfiguration,主要讲到springboot如何自动加载配置,核心类是ConfigurationClassPostProcessor。在spring容器启动的时候去扫描有@Component的类,然后对扫描到的类进行判断是否有条件注解,有的话判断是否通过能进行类的进一步解析和注册。这里就提到了条件注解,来看看具体使用到的...

2018-02-23 19:35:06 1233

原创 springboot注解之:@EnableAutoConfiguration

spring注解:@ComponentScan,@Bean,@Import,@Component,这篇文章当中讲到ConfigurationClassPostProcessor是我们实现注解的核心类,改类在spring启动的时候,会去加载该类到spring容器当中,因为该类是BeanDefinitionRegistryPostProcessor的子类,在spring生命周期当中它会去执行其相应的方...

2018-02-08 17:58:53 11565 2

原创 spring注解:@ComponentScan,@Bean,@Import,@Component

我们知道我们要扫描某些包下的注解类,或者某些注解类,可以用@ComponentScan去扫描。我们需要类能被扫描到,可能会用到@Configuration,@Service,@Repository,这三个都使用了@Component注解。实际上扫描的是Component注解。我们也可以用@Bean来定义一个bean,也可以用Import来导入一个bean或者一个资源文件。那么这些注解sprin

2017-12-14 18:29:25 4939

原创 spring源码分析:spring生命周期二

接着上一篇我们看看具体是哪里的代码执行了。1.初始化BeanFactoryPostProcessorinvokeBeanFactoryPostProcessors(beanFactory);-->PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory, getBeanFactoryPos

2017-12-13 19:33:32 287

原创 spring源码分析:spring生命周期

最近在看springboot自动配置,看到了@Conditional,@ConditionalOnMissingBean等等。这些注解,一直研究他们是如何实现springboot的条件注解的。由他们回到了@Configuration,回到了ConfigurationClassPostProcessor。ConfigurationClassPostProcessor实现了BeanFactoryPost

2017-12-13 18:15:27 1216 2

原创 spring源码分析:resource资源定位一

最近回过头来,再次看spring源码,以前很多次都是随意的一看,但是有了以前的基础现在理解起来容易很多了,于是这次想要分析源码的过程中,想要始终带着几个疑问去看源码1.spring源码这样写的好处? 2.spring源码使用了哪些设计模式? 3.自己该如何利用他的思想运用到自己平时的代码中?自己水平有限,可能出现理解出错的地方,希望看到的朋友指出一下。首先来看几个设计模式的定义:1.策略者模式:

2017-11-09 19:11:00 1264

原创 spring源码分析:Aware接口让你的bean对容器直接操作

相信大家都知道很多其他框架,比如mybatis,shiro等等,spring框架本身有些类会实现ApplicationContextAware,BeanFactoryAware或者等等其他XXXAware,这是用来干嘛呢?spring容器来管理bean。如果说bean需要知道容器的状态获取容器的信息直接使用容器那么就需要实现XXXAware来实现了。以下具体讲解spring是如何让bean直接操作s

2017-11-07 13:12:51 546

原创 shiro源码分析篇5:结合redis实现session跨域

相信大家对session跨域也比较了解了。以前单台服务器session本地缓存就可以了,现在分布式后,session集中管理,那么用redis来管理是一个非常不错的选择。在结合redis做session缓存的时候,也遇到了很多坑,不过还算是解决了。和上篇讲述一样,实现自定义缓存,需要实现两个接口Cache,CachaManager。 RedisCache.javapackage com.share

2017-10-22 20:00:17 1513 1

原创 shiro源码分析篇4:自定义缓存

这篇讲解shiro如何管理session,如何与ehcache结合。我们自己如何写个简单的缓存替换ehcache。首先来看看配置 <!-- 缓存管理器 使用Ehcache实现 --> <bean id="cacheManagerShiro" class="org.apache.shiro.cache.ehcache.EhCacheManager"> <property na

2017-10-22 10:13:14 1907 1

原创 shiro源码分析篇3:用户登录缓存登录信息

上篇讲了shiro是如何过滤请求链接,判断用户是否已经登录。这篇就是讲解shiro用户登录时,如何把登录信息缓存起来,下次用户登录其他需要登录的链接时,如何判断已经登录了。RetryLimitHashedCredentialsMatcher自定义的登录凭据,也就是登录的处理方案public class RetryLimitHashedCredentialsMatcher extends Hashed

2017-10-21 22:59:17 3068

原创 shiro源码分析篇2:请求过滤,登录判断

1.shiro如何拦截请求?通过spring DelegatingFilterProxy这个代理类获得了代理的ShiroFilterFactoryBean。然后通过配置中的filterChainDefinitions获得该请求拦截是否拦截,拦截就通过对应的拦截处理类比如上面的UserFilter来处理。2.如何判断有没有登录呢?return subject.getPrincipal() != null;也就是

2017-10-21 13:49:26 6316 1

原创 shiro源码分析篇1:前言

目的:通过这几篇shiro源码分析,用redis代替ehache做session缓存。相信大家对shiro也不陌生了,网上对shiro源码分析的也比较多了。笔者也看多很多优秀的博客。这几篇shiro源码分析的目的,就是弄明白,shiro是如何管理session的,如何通过redis来解决session跨域问题。一步步分析最终达到这个目的。前言:Session和cookies笔者想通过几个问题来解决我

2017-10-20 19:24:01 483

原创 Zookeeper: 数据发布订阅

Zookeeper几大典型应用场景1.数据发布订阅2.负载均衡3.命令服务4.分布式协调/通知5.Master选举6.分布式锁7.分布式队列我想每个应用场景均用实例来做一遍加深自己的影响。本次就写实例:数据发布订阅 .需求:将一个jdbc的配置放在zookeeper集群下,通过发布订阅,来动态获取jdbc配置。JDBC配置类** * jdbc 配置的信息 */public class Jdbc

2017-07-09 21:36:35 507

原创 jedis连接linux集群失败,单个可以连接

最近在搭建redis集群时。用jedis连接集群总是失败。本机能够远程redis集群,但是每当写入数据,进行节点切换的时候总是不能连接。172.16.168.200:2010> set hahah 2-> Redirected to slot [5096] located at 127.0.0.1:1010Could not connect to Redis at 127.0.0.1:1010:

2017-07-07 22:31:05 785

原创 mysql join操作【实例教程】

mysql join操作实例1.准备数据1.1创建表create table test1 ( id TINYINT PRIMARY key, name VARCHAR(225) );create table test2 ( id TINYINT PRIMARY key, name VARCHAR(225))1.2插入数据INSERT INTO test1 (id

2017-06-19 19:31:34 1010

原创 云服务器 centos mysql搭建

云服务器 centos mysql搭建最近一直在搭建服务器,mysql遇到了一些安装的问题,总结下,免得总是百度找资料。1.下载mysql的repo源wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2.安装mysql-community-release-el7-5.noarch.rpm包sudo rpm -ivh

2017-06-16 14:29:36 467

原创 阿里云服务器搭建

自己搭建过几次阿里云,看到很多人新人不知道如何配置环境,这里分享自己的一点心得。前提是你已经有了一台云服务,此时你会拥有的云服务器的ip,用户名和密码。这里以ubunto 64位1.下载工具(xshell,xftp)xshell:是模拟终端软件,也就是说,你拥有一台linux服务器,也是就是说,你可以用xshell 来连接它。xftp:是和它配套的软件,用来上传文件到服务器用的。2.配置环境

2016-10-05 14:34:50 589

转载 并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht

2016-07-10 19:49:46 529

原创 JavaWeb之抓包之旅(三) :HttpClient封装工具类

JavaWeb之抓包之旅(二) :HttpClient封装工具类

2016-05-15 23:09:46 18747 1

原创 JavaWeb之抓包之旅(二) :抓包工具

谈到抓包工具,我们很多的浏览器都内置了抓包工具,还有很多优秀的插件,这里我用到的是:charles。(当我说到这个工具的时候,你可能会,哦,原来是这个啊,网上也有一堆教程,但是这里我想用多个例子来示例)。至于Charles的安装说明,请看链接:charles使用教程指南接下来我就来讲3个实例:(记得Charles代理得开,手机抓包时,wifi设置代理)第一我们来抓今日头条网页的一个新闻链接,来看看

2016-05-05 12:22:23 14896 1

原创 JavaWeb之抓包之旅(一)

JavaWeb 抓包之旅(二) :Http协议注:http协议,我是从网上总结出来 首先来看看界面吧再来看看抓包的界面(暂时不要问我用的什么工具,我们慢慢来)先看请求报头 我们来分析看看:我只知道POST请求 地址default/2.aspx Http1.1(持久连接)Host:指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主

2016-04-22 15:27:49 8143

原创 JavaWeb之抓包之旅

JavaWeb 抓包之旅作为一个做Web开发,我们经常会跟Http协议打交道,对网络请求我们必须掌握的十分熟练,由于最近工作抓包用的比较多,于是想写一套抓包的教程,也希望自己在这个过程中能巩固自己的不足,也能给大家一个学习的参考,如果文中有什么错误,也希望大家能够指出。

2016-04-22 13:19:49 800

原创 关于springMVC中ModelAndView的问题

本人在学spingmvc中 遇到一个很奇怪的问题,modelAndView.setViewName("success");不起作用返回的始终是@requestMapping上的参数。后来发现提交的方式有问题。用登录 返回的会是 user/login.jsp modelAndView 不会起作用,不管怎么改。但是改成表单就可以了。我还没有弄明白,不过希望遇到此类的问题的同学能注意这一

2016-03-13 18:04:59 689

原创 数据结构之排序

package com.small;/** * 注意a[0]是否有意思,书上c语言基本都是将a[0]作为哨兵,那么0号元素不能用,我这里全部是flag代替 * @author small leaf * */public class Sort { /** * 直接插入排序 */ public static void insertSort(int a[]){ int i,

2016-03-01 17:05:16 337

原创 数据库基本操作

学习或者工作当中经常会遇到数据库的基本操作,写下来加深点影响,以后也方便查阅(不同数据库可能会有差错,由于考研复试的需要,我就写的sql server)在进行数据库操作时,无非就是添加、删除、修改,这得设计到一些常用的SQL语句,如下: SQL常用命令使用方法: 1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 orde

2016-02-29 14:19:30 340

转载 Hibernate注解

http://blog.csdn.net/zajin/article/details/8904274

2016-02-10 14:07:44 314

原创 SpringMVC +hibernate4 集合中的疑问

最近学完了springmvc ,hibernate,于是想整合两者做点小项目,可是在整合的过程中出现了问题。配置文件网上一大把,这里我就不贴上去了。当时在controller中注入service时,我就想用xml注入的方式,强迫症的我啊,就是要用xml注入。于是出现了这样几种情况:     1、 我将注入service,dao的bean 放在 spring-hibernate(配置数据源,se

2016-02-08 09:21:34 422

转载 web.xml 中的listener、 filter、servlet 加载顺序及其详解

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。        首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener ->

2016-02-07 23:37:23 370

spring+mybatis+springmvc 全注解框架

spring+mybatis+springmvc maven框架,单模块,导入就可以使用,里面有一个user的增删查改,大家拿来修改就可以使用

2017-04-29

java热部署工具

热部署工具

2017-04-28

HttpClient工具类

HttpClient工具类,很详细,能拿来就用。

2016-05-15

Android管理手机短信

可以显示未看短信,listview下拉刷新,发送短信,以及自动刷新,异步处理。

2015-03-13

Android TCP文件下载

PC端作为服务器,很简单实用的例子,多线程,安卓端获取电脑文件夹中的文件,然后开始下载,与我上个例子TCP上传结合起来。

2014-12-30

安卓TCP文件上传

TCP 文件上传,安卓客户端,pc服务器,很好的采用多线程,支持多个文件同时上传,暂停,已经取消上传,上传文件可以上传到服务器的指定文件夹。

2014-12-16

空空如也

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

TA关注的人

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