自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路之痕

码农一枚

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

转载 Spring 源码篇-Spring Bean

spring Bean启动使用BeanFactory启动Spring,使用xmlBeanFactory读取xml配置。* BeanFactory:获取bean,判断bean是否存在,获取别名,scope确定等接口;* ListableBeanFactory:可以根据类型、注解批量获取bean,获取bean定义相关数据;* HierarchicalBeanFactory:分层bean,获取...

2019-03-23 17:29:39 260 1

原创 Spring 源码篇-Spring Retry

写在前面Spring Retry为Spring提供的重试模块,spring retry是从spring batch独立出来的一个能功能,主要实现了重试和熔断。对于重试是有场景限制的,不是什么场景都适合重试,比如参数校验不合法、写操作等(要考虑写是否幂等)都不适合重试。远程调用超时、网络突然中断可以重试。在微服务治理框架中,通常都有自己的重试与超时配置,比如dubbo可以设置retries=1,t...

2019-03-23 14:40:25 1847

原创 Spring cloud入门

Spring cloud

2018-05-25 11:09:30 290

原创 Java:java.util.concurrent.atomic

类的小工具包,支持在单个变量上解除锁的线程安全编程。AtomicBoolean:可以用原子方式更新的 boolean 值。AtomicInteger:可以用原子方式更新的 int 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicInteger 可用在应用程序中(如以原子方式增加的计数器),并且不能用于替换 Integer。但是,此类确

2017-06-18 16:27:00 444

原创 Java:java.util包

java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。Collection 接口:扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Collection接口,并提供了i

2017-06-18 14:39:57 415

原创 借助@Conditional实现自定义初始化Spring Bean

本项目使用传统的Spring MVC框架进行搭建,未使用Spring Boot,而需要实现根据用户配置自动选择TCP、UDP、串口等不同协议进行数据获取,还有用户若在内网,实现短信服务动态关闭(wsimport 方式实现的,用户配置修改后Spring不加载相应的短信服务)。若使用Spring Boot,Spring Boot提供了一系列根据条件初始化Spring Bean的注解,非常方便的进行此等操

2017-06-18 12:56:58 2206

原创 Java 线程问题查错

在最近的项目中,遇到一个关于线程的问题:系统中包括许多线程,这些线程主要是获取不同的数据,但每次过一阵子就发现线程获取的数据混乱了,还有就是可能一个线程突然获取不到数据了。针对这些情况进行线程问题查错。线程获取数据混乱 一般线程获取的数据混乱,主要由于线程直接数据/资源共享导致的,所以这个问题需要查看代码是否存在线程间数据共享的问题,最后发现以下问题:public static File rep

2017-06-18 12:31:57 716

原创 web项目技术选型

后台数据库持久化: spring data jpa、mybatis后台校验:java validator权限控制:shiro缓存:redis(spring data redis,echache)前台校验: jquery.validate

2017-06-04 15:12:29 838

原创 api接口的实现

我们目前有一个系统,使用spring data jpa访问数据库,使用spring mvc提供rest接口给网站系统,同时使用shiro提供权限控制,目前需要对外部系统提供接口,需要满足以下情况: * 若目前已经存在了这样的接口, 不再另外提供,同时权限部分得满足; * 提供外部系统的接口权限使用token实现,即外部系统需要先获取到token,然后将t

2017-06-04 15:01:11 7920

原创 网站域名一二

当一个网站开发完毕,需要以域名方式80端口访问(微信必须是80端口,而其中关于JS接口安全域名等地方配置域名必须已经备案,不能用ngrok映射),并且访问不同的二级域名,实现跳转到不同的网站。为了实现这个效果,需要经过以下过程。网站部署网站开发完毕,部署到真实机器上后,通过路由器静态映射的方式,将网站映射出去(若域名备案IP和网站部署的IP是在一起,可以不配,使用内部IP即可,而我这边由于网站部署

2017-06-04 14:20:35 744

原创 Mina 实现TCP、UDP、串口功能

Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。最近遇到一个问题,对于设备通讯,协议已经确定,但是通讯方式不太确定,可以是TCP(真实环境是TCP)、UDP或者是串口(测试时用串口)。经过查找发现,Mina正好合适,内部对于TCP、UDP和串口都做了封装,修改不同通讯方

2017-03-03 18:36:45 3018 2

原创 Web Service 接口调用

最近有一个项目,需要调用Web Service服务,是关于短信Web Service的服务,由于不太喜欢自己拼串,so网上找到另外一个方式—-生成本地代码调用。为了简单使用Web Service接口,本文档使用根据wsdl文件生成相应类文件的方式,然后在相应程序直接调用对应类的方式进行。根据中网云通提供的接口文档可知,Web Service服务描述语言的地址为:http://IP:PORT/SmSW

2017-03-03 18:27:08 1200

转载 Git 学习笔记

Git简介免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件Git安装下载Window版本Git,安装;安装完毕配置Git: shell git config --global user.name=""//配置Git名字和地址 git config --gl

2017-02-28 23:11:47 231

原创 Docker 学习

核心概念Docker镜像类似于虚拟机镜像,面向Docker引擎的只读模板(包含文件系统),是创建Docker容器的基础;Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。是通过镜像创建的应用运行实例,可以启动、开始、停止、删除。容器之间相互隔离。Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。(公开仓库,私有仓库)镜像Docker运行需要本地存在相应

2016-11-05 13:41:32 321

原创 Docker Window下安装

环境:window 7 64位 Docker Toolbox 1.10(下载地址:https://get.daocloud.io/toolbox/)下载程序包,安装,安装完成后可以看到以下软件。 * Oracle VM VirtualBox * Git * Boot2Docker for Windows设置环境变量(Git):在Path中添加C:\P

2016-10-31 18:59:27 1281

原创 Redis安装

说明:redis window安装版本从https://github.com/MSOpenTech/redis/releases 网址地址,其他Linux版本可从官网http://redis.io/ 找到下载地址;安装说明下载window版本安装包,安装提示一步一步执行安装;修改配置:找到redis.windows-service.conf文件打开,修改以下配置:bind 本地IP 注册R

2016-10-18 19:37:38 574

原创 Mycat读写分离使用

说明:Mycat是一个数据库分库分表的中间件,具体介绍见http://www.mycat.org.cn/安装配置从https://github.com/MyCATApache/Mycat-download下载Mycat;将其解压到本地目录;找到Mycat下conf下schema.xml,修改如下:<?xml version="1.0"?><!DOCTYPE mycat:schema SY

2016-10-18 19:17:31 593

原创 Mysql读写分离配置

说明: MySQL版本:5.7 Master服务器IP:10.10.31.4 Slave服务器IP:10.10.31.12Master服务器配置找到Master服务器MySQL配置文件my.ini,用记事本打开,在[mysqld]下添加主服务相关内容;log-bin=mysql-binlog-bin-index=mysql-bin.indexserver-id = 1

2016-10-18 19:03:30 442

原创 用户登录相关问题

问题描述目前系统包括一个Web网站系统和一个微信公众号,Web网站系统和微信公众号共用相同的用户信息。需要实现的功能是Web网站系统用户登录系统后,当在其他地方同时登录该用户信息,能够将前面那个用户挤下来并让后面那个用户信息登录(和微信多个地方登录类似);而微信公众号则若用户登录微信公众号,需要先绑定用户信息,绑定成功后,微信公众号用户将不需要再次登录,除非退出或者openID失效,而其他用户再次用

2016-09-27 21:34:43 955

转载 Git 学习笔记

Git学习笔记Git基础Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只举几个例子来帮助你们理解。熟悉编程的知道,我们在软件开发中源代码其实是最重要的,那么对源代码的管理变得异常重要:比如为了防止代码的丢失,肯定本地机器与远程服务器都要存放一份,而且还需要有一套机制让本地

2016-09-25 21:20:40 331

原创 Java自定义定时器

Java自定义定时器很多时候,我们需要使用定时器进行操作,比如数据统计、任务定时等等。但是很多时候,定时任务需要可以取消,需要重新设置时间等等,使用Java自带的Timer有时不太简单,所以想到对Timer进行扩展,实现自定义定时器的效果。 定时任务接口:public interface StartTimer { /** * startNextTimer * @描述

2016-09-24 19:26:52 933

原创 数据库优化

数据库优化对于一个数据量较大的系统,进行数据库优化是非常有必要的,这对于系统性能提升有很大的帮助。在这以MySQL数据库为例。索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引

2016-09-24 19:12:20 355

原创 Shell

Shell脚本学习shell脚本像早期dos年代的.bat,主要是将多条指令汇整在一起,让使用者能够一个操作执行多个指令,方便设置或者管理用的。不过,功能比bat更强大,提供了数组/循环/条件已经逻辑判断等功能,能够让使用者用shell写程序。shell脚本是利用Shell功能所写的一个程序。shell脚本包括:shell关键字,shell命令,Linux命令,文本处理功能,含税,控制流语句。L

2016-07-31 19:16:40 298

原创 Spring Data Redis 使用

Spring Data Redis使用Spring Data Redis 使用键值对存储数据方式及提供了高度抽象的模板对Redis接收/发送消息进行管理,和其他Spring Data系列的操作差不多。由于Redis是基于键值对存储数据,Spring Data Redis依赖于Spring Data Common和Spring Data KeyValue。以下内容基于今年发布的1.7.2版本的SPri

2016-07-30 12:01:11 2345

原创 Java连接Redis

Java连接Redis开始之前需要确定Redis是否安装及Java Redis驱动是否下载*下载jedis.jar* 导入驱动包连接到Redis服务 Jedis jedis=new Jedis("127.0.0.1",6379);//连接到本地的Redis服务 //jedis.auth("root");//权限认证 System.out.print

2016-07-30 10:46:49 308

原创 Redis

RedisRedis简介开源的高性能键值对数据库,提供多种不同的键值数据类型适应于不同的存储需求;Redis:远程字典服务器(Remote Dictionary Server)数据结构服务器,值可以为字符串(String),哈希(Hash),列表(List),集合(Set)和有序集合(Sort set)key-value存储系统性能极高原子性安装在ubuntu下安装:sudo apt-

2016-07-28 21:10:04 505

原创 Groovy学习

Groovy 学习 groovy是增强Java平台的脚本语言。提供类似Java的语法,内置映射(Map),列表(List),等。 弱类型 数值和表达式数值分为整数和浮点数表达式的运算符包括+-*/% java 5+3 5.plus(3) 5-3 5.minus(3) 5*3 5.mutiply(3) 赋值,自增自减类似Java 字符串和正则表达式字符串三种表达形式def a='232

2016-07-20 20:15:10 317

网站信息备案

网站信息备案

2017-06-04

java迷宫源码

这是用java开发的迷宫源码 这要用来DFS算法 Prim算法 树生成算法等

2014-04-12

空空如也

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

TA关注的人

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