为爱奔跑


无论在家出家。必须上敬下和。忍人所不能忍。行人所不能行。代人之劳。成人之美。静坐长思己过。闲谈不论人非。行住坐卧。穿衣吃饭。从幕至朝。一名佛号。不令间断。或小声念。或默念。除念佛外。不起别念。若或妄念一起。当下就要教他消灭。当生惭愧心及忏悔心。从有修持。总觉我工夫很浅。不自矜夸。只管自家。不管人家。只看好样子。不看坏样子。看一切人都是菩萨。唯我一人是凡夫!

摘要: 一、spring xml配置(不包括AOP,主要了解在初始化及实例化过程中spring配置文件中每项内容的具体实现过程,从根本上掌握spring) 二、BeanFactory容器后置处理接口(BeanFactoryPostProcessor) 三、基于注解的依赖注入 四、aop部分 五、spring 阅读全文
posted @ 2016-09-02 10:48 RunforLove 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 一、Redis基础介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、a 阅读全文
posted @ 2016-09-01 22:37 RunforLove 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 一、spring容器中的aware接口介绍 Spring中提供了各种Aware接口,比较常见的如BeanFactoryAware,BeanNameAware,ApplicationContextAware,BeanClassLoaderAware等,方便从上下文中获取当前的运行环境。我们先从使用的角 阅读全文
posted @ 2016-09-01 18:07 RunforLove 阅读(5618) 评论(0) 推荐(0) 编辑
摘要: 一、AOP实现 Spring代理对象的产生:代理的目的是调用目标方法时我们可以转而执行InvocationHandler类的invoke方法,所以如何在InvocationHandler上做文章就是Spring实现Aop的关键所在。Spring的代理类正是继承了Factory Bean的ProxyF 阅读全文
posted @ 2016-09-01 16:38 RunforLove 阅读(2296) 评论(0) 推荐(1) 编辑
摘要: 一、网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP) 阅读全文
posted @ 2016-09-01 13:59 RunforLove 阅读(529) 评论(0) 推荐(0) 编辑
摘要: ApplicationContext作为资源加载器;ApplicationContext作为事件发布者; Java原生提供了事件发布机制 EventObject对象作为发布的事件,EventListener作为处理发布事件的监听器。但是其并没有提供发布者的角色来桥接EventObject和Event 阅读全文
posted @ 2016-09-01 12:58 RunforLove 阅读(880) 评论(0) 推荐(0) 编辑
摘要: web项目中可以集成spring的ApplicationContext进行bean的管理,这样使用起来bean更加便捷,能够利用到很多spring的特性。我们比较常用的web容器有jetty,tomcat,jboss等,以jetty为例,我们看一下web容器是如何初始化和启动spring的conte 阅读全文
posted @ 2016-09-01 11:57 RunforLove 阅读(1142) 评论(0) 推荐(0) 编辑
摘要: 在spring管理Bean的初始化过程中,除了正常管理bean的实例化(初始化、参数注入等)外,还对外提供了丰富的对Bean操作的扩展。例如自定义初始化操作,自定义容器退出时Bean的销毁操作等等。这段时间看源码觉得此方面最实际的一个例子就是,我们在Bean初始化之前以及之后,框架允许我们做一些统一 阅读全文
posted @ 2016-09-01 10:38 RunforLove 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 一、BeanDefinition BeanDefinition是配置文件<bean>元素标签在容器中内部表示形式。创建最终的BeanDefinition主要包括两个步骤: 1)利用BeanDefinitionReader对配置信息Resource进行读取,通过XML解析器解析配置信息的DOM对象,简 阅读全文
posted @ 2016-09-01 09:35 RunforLove 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 目前系统中存在批量审批、批量授权等各个操作,批量操作中可能因为处理机器、线程不同,造成刷新缓存丢失授权等信息,如批量审批同一用户权限多个权限申请后,流程平台并发的发送多个http请求到acl不同服务器,a机器处理了授权a,b机器同时处理了授权b,然后刷新用户缓存。因为在事务里彼此看不见对方提交的数据 阅读全文
posted @ 2016-07-28 15:53 RunforLove 阅读(2639) 评论(0) 推荐(1) 编辑
摘要: 一、ActiveMQ 首先,ActiveMQ不是一个框架,它不是struct,webx,netty这种框架,它更像是tomcat服务器,因为你使用它之前必须启动它,activeMQ和JMS的关系有点类似于tomcat和servlet的关系,tomcat实现了servlet规范,同理activeMQ实 阅读全文
posted @ 2016-07-27 15:04 RunforLove 阅读(583) 评论(0) 推荐(1) 编辑
摘要: 一、存储引擎 存储引擎,MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。InnoDB存储引擎是5.5版本后Mys 阅读全文
posted @ 2016-07-23 08:47 RunforLove 阅读(2095) 评论(0) 推荐(0) 编辑
摘要: 一、简介 Cobar是一个对数据进行拆分后进行分布式存储的产品,可以支持使用后台的 MySQL或者Oracle数据库,通过配置,将数据按照一定规则存储入不同的数据库中。即用分布式数据库代替了集中式数据库。传统的集中式数据库系统有如下不足:集中式处理,势必造成性能瓶颈;应用程序集中在一台计算机上运行, 阅读全文
posted @ 2016-07-22 14:07 RunforLove 阅读(5890) 评论(1) 推荐(1) 编辑
摘要: 通过对SpringMVC启动过程的深入研究,期望掌握Java Web容器启动过程;掌握SpringMVC启动过程;了解SpringMVC的配置文件如何配置,为什么要这样配置;掌握SpringMVC是如何工作的;掌握Spring源码的设计和增强阅读源码的技巧。 目录 1.Web容器初始化过程 2.Sp 阅读全文
posted @ 2016-07-20 16:10 RunforLove 阅读(52923) 评论(5) 推荐(22) 编辑
摘要: 目录: 1.volatile变量 2.Java并发编程学习 3.CountDownLatch用法 4.CyclicBarrier使用 5.BlockingQueue使用 6.任务执行器Executor7.CompletionService使用8.ConcurrentHashMap使用9.Lock使用 阅读全文
posted @ 2016-07-19 17:47 RunforLove 阅读(1325) 评论(0) 推荐(1) 编辑
摘要: CountDownLatch是一个同步辅助类,犹如倒计时计数器,创建对象时通过构造方法设置初始值,调用CountDownLatch对象的await()方法则使当前线程处于等待状态,调用countDown()方法就将计数器减1,当计数到达0时,则所有等待线程全部开始执行。它提供的常用方法: 阅读全文
posted @ 2016-07-06 11:23 RunforLove 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 在Java web项目开发中,经常会听到在做订单系统中生成订单的时候,要做幂等性控制和并发控制,特对此部分内容作出总结,在高并发场景下,代码层面需要实现并发控制;但是幂等性,其实更多的是系统的接口对外的一种承诺,承诺一次请求和多次请求会返回同样的数据。关于幂等性将分别从高等代数中的幂等性、HTTP中的幂等性和订单生成系统中的幂等性阐述;并发性控制则提供了分布式锁等方式来对并发场景进行代码实现。 阅读全文
posted @ 2016-07-04 16:45 RunforLove 阅读(11091) 评论(3) 推荐(1) 编辑
摘要: 在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单、服务器|网络设备重启工单、服务器光纤网线更换工单、网络设备撤线布线工单、服务器|网络设备替换工单、服务器|网络设备RMA工单、通用原子工单、硬盘消磁折弯工单、物流工单、资产初入门工单、机柜上下电工单、待盘点|待盘盈工单等等。工单管理系统中要涉及到工单的创建|API创建和维护。所以有必要将一些通用的方法提出来,类似于模块化的架构涉及。 1.业务逻辑描述:在工单系统的详情页中,需要展示对工单的操作记录,所以做了通用的模块设计,这样当要对工单详情中的日志部分作出修改的时候,能在最短的时间,最小的改动的情况下,完美的解决问题。日志表中新增附件字段,关联app_attachment表中的主键,当操作人与登录人相一致时,可以通过附件上传文件。 阅读全文
posted @ 2016-06-30 17:54 RunforLove 阅读(1691) 评论(1) 推荐(0) 编辑
摘要: 伪共享 false sharing,顾名思义,“伪共享”就是“其实不是共享”。那什么是“共享”?多CPU同时访问同一块内存区域就是“共享”,就会产生冲突,需要控制协议来协调访问。会引起“共享”的最小内存区域大小就是一个cache line。因此,当两个以上CPU都要访问同一个cache line大小的内存区域时,就会引起冲突,这种情况就叫“共享”。但是,这种情况里面又包含了“其实不是共享”的“伪共享”情况。比如,两个处理器各要访问一个word,这两个word却存在于同一个cache line大小的区域里,这时,从应用逻辑层面说,这两个处理器并没有共享内存,因为他们访问的是不同的内容(不同的word)。但是因为cache line的存在和限制,这两个CPU要访问这两个不同的word时,却一定要访问同一个cache line块,产生了事实上的“共享”。显然,由于cache line大小限制带来的这种“伪共享”是我们不想要的,会浪费系统资源。   缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个 阅读全文
posted @ 2016-06-28 18:09 RunforLove 阅读(4886) 评论(0) 推荐(2) 编辑
摘要: 引入索引的目的是为了加快查询速度。如果数据量很大,大的查询要从硬盘加载数据到内存当中。   InnoDB是Mysql的默认存储引擎,InnoDB有两种索引:B+树索引和哈希索引,其中哈希索引是自适应性的,存储引擎会根据表的使用情况,自动创建哈希索引,不能人为的干涉。   B树、B-树、B+树、B*树四种数据结构在索引中的运用,这四种数据结构的顺序必须是这样的。分别阐述如下: 阅读全文
posted @ 2016-06-21 14:05 RunforLove 阅读(3705) 评论(0) 推荐(1) 编辑
摘要: private static long getTime() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = System.nanoTime(); return currentTimeMillis * 100 阅读全文
posted @ 2018-11-29 15:33 RunforLove 阅读(199) 评论(0) 推荐(0) 编辑
摘要: #!/bin/sh function trapper(){ trap 'exit 1' EXIT QUIT; } serverArr=( guard-boot-001,10.1.17.12 guard-boot-002,10.1.17.13 guard-boot-003,10.1.18.231 guard-bo... 阅读全文
posted @ 2017-12-01 16:42 RunforLove 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 0.Groovy和Gradle是什么关系? Gradle,自动化构建工具,通过简单编写Groovy脚本,便可进行依赖管理并完成项目构建; 1. Groovy有什么用? 脚本+Java代码; 2. Gradle 和 Maven比各有什么特点?Gradle有什么优势? Gradle依赖的语法更加简洁;G 阅读全文
posted @ 2017-11-10 21:23 RunforLove 阅读(917) 评论(0) 推荐(0) 编辑
摘要: @Autowired 默认根据ByType, 当一个类有两个对象的时候,会报错。 @Resource 默认是ByName,可以精准的找到<bean>的配置项。 jar包推送,应该级联推送;子jar包在publish的时候,父jar包应该自动级联提交; 在obelisk中,应该发父pom,再发子pom 阅读全文
posted @ 2017-07-10 19:27 RunforLove 阅读(3914) 评论(0) 推荐(1) 编辑
摘要: http://www.cnblogs.com/lonecloud/p/5937513.htmlhttp://www.cnblogs.com/lonecloud/p/5937513.htmlhttp://www.cnblogs.com/lonecloud/p/5937513.htmlhttp://ww 阅读全文
posted @ 2017-07-02 18:54 RunforLove 阅读(297) 评论(0) 推荐(0) 编辑
摘要: Java范型类 对比一下没有使用范型类(如下代码),也可以输出一样的结果,为什么要使用范型类?类型检查?? 我们做实验如下: 范型类语法解释 限制范型 在上面的例子中,由于没有限制class GenericsTest<T>类型持有者T的范围,实际上这里的限定类型相当于Object,这和“Object 阅读全文
posted @ 2017-06-29 11:26 RunforLove 阅读(1237) 评论(0) 推荐(1) 编辑
摘要: Dubbo通常我们是如何使用的? 详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详细解释详 阅读全文
posted @ 2017-06-27 16:56 RunforLove 阅读(5028) 评论(0) 推荐(0) 编辑
摘要: 概念:透传。 Callback 在异步线程中是如何使用的。?? Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 && Servlet 3. 阅读全文
posted @ 2017-06-26 21:22 RunforLove 阅读(1314) 评论(1) 推荐(0) 编辑
摘要: 什么是注解? 什么是metadata元数据? 注解的分类? 注解是如何使用? 自定义注解(注解与反射机制) 关于注解的一些其他说明 注解在程序运行时是如何作处理的 java在java.lang.reflect下新增了AnnotatedElement接口,java处理注解的原理如下: 自定义注解 && 阅读全文
posted @ 2017-06-26 11:12 RunforLove 阅读(914) 评论(0) 推荐(0) 编辑
摘要: Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成。第一个是你的工作目录,它持有实际文件;第二个是缓存区(Index),它像个缓存区域,临时保存您的改动;最后是HEAD,指向你最近一次提交后的结果。 git add . 完成的是:把改动添加到缓存区;git commit -m "提 阅读全文
posted @ 2017-06-22 10:59 RunforLove 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 问题描述:使用@Autowired注入的类,没有实例化 上述代码debug,发现@Autowired @Value注入为null,依次检查application.properties和dubbo-spring.xml文件,@Value变量和dubbo bean都有注入 解决问题的过程: 解决问题都过 阅读全文
posted @ 2017-03-17 20:59 RunforLove 阅读(353) 评论(0) 推荐(1) 编辑
摘要: 1. JWT的使用场景:身份认证。 2.Twitter的分布式自增ID算法:snowflake (Java版)。 3.SpringBoot中使用Swagger。 补充: 阅读全文
posted @ 2017-02-24 13:51 RunforLove 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 目录: 1.定位问题 2.问题产生的原因 3.解决问题 一 定位问题 首先,如下图所示:输入到地址栏的地址被302重定向到单点登录地址,地址由Response Headers中的参数Location所指定,勾选Preserve log,保存跳转之前的请求轨迹。 接下来,如下图所示:浏览器访问带 ?s 阅读全文
posted @ 2017-02-09 13:57 RunforLove 阅读(6387) 评论(1) 推荐(0) 编辑
摘要: 阿里一面:1. 入场就是红黑树,B数2. apache和nginx源码看过多少,平时看过什么技术论坛,还有没有看过更多的开源代码3. pthread 到自旋锁4. hadoop源码看过没5. 为什么选择TCP而不是直接用服务器6. 你们的大数据怎么处理的,还怎么优化,说了个公司业务决定分布式是不可能 阅读全文
posted @ 2017-01-08 12:26 RunforLove 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 熟练使用工具,可以提高一个人的做事效率~ 1. iTerm2快捷键使用 ⌘ + d: 垂直分屏,⌘ + shift + d: 水平分屏。 ⌘ + ]和⌘ + [在最近使用的分屏直接切换.而⌘ + opt + 方向键切换到指定位置的分屏。 ⌘ + w :关闭当前标签页。 ⌘ + enter: 最小化最 阅读全文
posted @ 2016-12-11 00:08 RunforLove 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 一 简洁 java.util.stream JDK8引入Stream, 配合lambda实现了集合数据的过滤,转换,去重,遍历和截取操作。它不同于传统的输入输出stream流;它提供了串行和并行两种模式; Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版 阅读全文
posted @ 2016-10-12 20:23 RunforLove 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 一 安装破解 破解选择服务器,然后选择地址:http://www.iteblog.com/idea/key.php http://idea.iteblog.com/key.php http://idea.qinxi1992.cn 二 Intellij IDEA 更改代码区域字体大小 file =》s 阅读全文
posted @ 2016-10-12 20:23 RunforLove 阅读(881) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-09-23 09:18 RunforLove 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一 常用Git命令 git clone;(区分SSH or HTTP) git init;初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份到本地。 git init,初始化操作,Git就会对该目录下的文件进行版本控制。 git statu 阅读全文
posted @ 2016-09-19 09:14 RunforLove 阅读(1387) 评论(0) 推荐(0) 编辑
摘要: 一 总结 熟悉廖雪峰git基础; 由于git跟踪的是修改,而不是版本号;因此对于修改撤销的操作,文件在eclipse中依旧有>修改标记,这点不同于svn。 二 BUG描述:熟悉Git基础 在Git中,HEAD表示当前版本,它是一个指针;Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候, 阅读全文
posted @ 2016-09-11 14:26 RunforLove 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 一 总结 eclipse集成插件lombok; 启动Spring Boot项目; sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集成eclipse插件lombok lombok插件,使用注解@Data的方式,从而省略了代码中频繁的 阅读全文
posted @ 2016-09-10 13:34 RunforLove 阅读(3029) 评论(2) 推荐(0) 编辑
摘要: 一 总结 二 Bug描述:eclipse Installed JREs 配置引出的问题 刚新鲜检索出的代码,同学们编译都ok的,自己编译总是出错。原因在于eclipse Installed JREs 配置出错引出的问题。路径:windows->preferences->输入jre->Installe 阅读全文
posted @ 2016-09-09 20:34 RunforLove 阅读(1451) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2016-09-01 14:52 RunforLove 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 桌面最好干干净净的,不要放各种软件和文件,文件统一放到硬盘当中管理。文件归类条理有序。桌面保留只开2~3个窗口,方便alt+Tab快捷键切换。 输入法时刻保持英文状态,当需要输入中文的时候,输入完中文,立即切换回英文状态。好的编码习惯,可以很大程度上提升效率。 必备工具: 有道词典:变量、方法命名规 阅读全文
posted @ 2016-08-31 17:08 RunforLove 阅读(1299) 评论(0) 推荐(1) 编辑
摘要: 一、总结 二、BUG描述:else逻辑未补全,倒置查询数据泄露 在查询筛选参数的时候,有如下逻辑: 由于未补全orderIds为空的逻辑,导致没有把参数传入,因此全量数据被查询了出来。因此要补全else情况,插入“-1”,做为查询条件。但这里同时要注意,如果数据库中该字段是无符号整型,那么就不可以这 阅读全文
posted @ 2016-08-31 10:58 RunforLove 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-08-30 17:56 RunforLove 阅读(3449) 评论(0) 推荐(0) 编辑
摘要: 现有数据库开发过程中对事务的控制、事务锁、行锁、表锁的发现缺乏必要的方法和手段,通过以下手段可以丰富我们处理开发过程中处理锁问题的方法。For Update和For Update of使用户能够锁定指定表或表的数据行这个功能在实际应用中具有很重要的意义,特别对于多用户多线程处理中如要先获取数据通过判 阅读全文
posted @ 2016-08-30 17:04 RunforLove 阅读(9607) 评论(0) 推荐(0) 编辑
摘要: 一、总结 二、BUG描述:MyBatis中resultType使用 MyBatis中的resultType类似于入参:parameterType。先看IDCM项目中的实际使用案例代码,如下: 我们的目的是通过*Ext层直接返回一个list,list中有我们所需要操纵的数据。logisticsOrde 阅读全文
posted @ 2016-08-30 16:03 RunforLove 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 一、研发流程规范 二、SQL编码规范 数据库命名规范:数据库名一律小写,必须以字母开头。库名包含多个单词的,以下划线“_”分隔。如果采用分库方案,分库编号从“0”开始,用“0”左补齐为四位。 表名规范:表名一律小写,必须以字母开头。表名中包含多个单词的,以下划线“_”分隔。如果采用分表方案,同时分表 阅读全文
posted @ 2016-08-29 14:43 RunforLove 阅读(3122) 评论(0) 推荐(0) 编辑
摘要: 在团队代码中看到对于当前类中的方法,使用了this关键字。经过测试发现,在此种情况下,this关键字的使用可有可无。因此,对java中this的使用做下总结: 阅读全文
posted @ 2016-08-29 11:30 RunforLove 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 1、中国驻泰使馆提醒中国公民,入境泰国需要随身携带2万泰铢现金(约合4000元人民币)或等值外币,银行信用卡等无效。泰移民官以随机方式抽查,现金不足额者将被拒入境。这一规定适用包括落地签在内的各种签证入境人士。 2、行李:手提行李每位限携带一件,规格不得超过56CMx36CMx23CM(22寸x14 阅读全文
posted @ 2016-08-17 13:21 RunforLove 阅读(386) 评论(0) 推荐(0) 编辑