- 博客(18)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Netty启动的那点事(一)
背景 对于netty一直比较好奇,之前看过《Netty权威指南》、《Netty实战》,但是可能因为自己对于netty没有很好的实践感受,才促使自己深入学习,也可能对于没有静下心来,多种原因吧。 新年伊始,刚好年前一段时间对于netty也进去了项目上手,自己也能静下来一行一行阅读源码。启动Netty服务端代码public class HelloWorldSe...
2019-02-15 21:26:12
1388
原创 Dubbo Failover机制
背景: 某个服务有2台机器,但是其中一台机器挂了,dubbo的重试还是会调用这台机器,经过查资料,推荐使用Failover机制; 过程: 经过跟踪源码,发现dubbo默认的容错机制就是使用了Failover,在执行调用前会直接进入FailoverClusterInvoker.class的doInvoke中,翻开源码:public Result doI...
2019-02-15 18:04:30
3108
2
原创 dubbo的路由规则
因为项目部署分需要灰度发布,涉及到公用依赖需要根据版本号来路由到不同机器。使用了dubbo的keeper项目作为后台管理来新增路由规则,翻看dubbo源码, 发现dubbo使用了代理,代理会做的一件事就是使用路由规则,//AbstractDirectory 类public List<Invoker<T>> list(Invocation invocati...
2019-01-22 23:30:55
1542
原创 通俗的理解ThreadLocal
网上有很多如何使用ThreadLocal的文章,可参考:https://www.cnblogs.com/yxysuanfa/p/7125761.html但是对于通俗化的解释目前没有怎么看到。我的理解就是ThreadLocal相当于一个保险库,而且是刷脸的那种,首先A先去ThreadLocal调用set里存放了一本秘籍,过了一会B也调用set往里面存放了自己的宝剑,然后A过了1天再来保险库里面,只能...
2018-04-19 17:43:39
388
原创 简单工厂、工厂方法和抽象工厂的区别
现在有2种产品需要生产,各个工厂模式的方式简单工厂: 产品类和工厂类耦合在一起。 有一个工厂,里面有二条流水线,只能生产A、B,如果工厂要增加新产品,需要对工厂进行翻修,要有第三条流水线。 工厂方法: 产品类未抽象,工厂抽象出来了。 A工厂里一条流水线生产A,B工厂一条流水线生产B,如果此时要有第三种产品,则有C工厂去生产C。 父工厂通过统一的装修模式,来声...
2018-04-11 23:53:34
8045
原创 Java map 存取对象
今天刚好做一个了相关功能import java.util.HashMap;import java.util.Map;public class TestKey{ public static void main(String[] args){ Key k1 = new Key(1, 1); Map map = new HashMap(); map.put
2016-10-28 00:17:28
3115
原创 mybatis 在dao层插入数据, 返回了影响的行数, 但是数据库里面有看到数据
mybatis, 在批量插入数据的时候, insert into 返回了影响的行数, 但是查数据库一直是没有记录的.如果此时最后一条数据的ID为20的话, 调用insert into, ,此时查询数据库, 发现数据还是显示20条,但是直接在数据库里进行手动执行一条insert into的时候, 然后select 你会发现, 此时最后一条数据的ID为41,
2016-05-13 15:13:42
8401
原创 导出CSV格式的文件
package com.snowfish.omsdk.channelsdk.common.csv;public abstract class AbstractCSVItemProcessor {protected ICSVWriter writer;public void setWriter(ICSVWriter writer){this.writer = writer;}/** * Write
2016-01-12 17:18:01
427
转载 Syidentifier starts immediately after numeric literal
js异常:javascript Firebug error: Identifier starts immediately after numeric literal 异常原因:标识符以数字开头 异常分析: 示例1·?12345678910111213
2014-10-20 17:42:15
476
原创 年月日三级联动菜单
String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%>">My JSP 'Test.jsp
2014-10-15 14:19:10
715
原创 js二级联动菜单
String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%>My JSP 'index.jsp' s
2014-10-15 13:53:50
333
原创 js 直接初始化和赋值初始化?
js 中(1)var box1 = document.getElementById("box1");box1.style.display="";(2)document.getElementById("box1").style.display="";jsp中
2014-10-09 16:58:57
1030
转载 Ajax中的应用中的GET、POST方法原理分析
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。HTTP/
2014-09-28 17:05:58
398
转载 jquery $(this).attr $(this).val方法使用介绍
$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法 $(this).attr(key, value); 设置节点属性的值,相当于setAttribute(key,value)方法 eg: var diywidgetid = $('#w_1').attr('diywidgetid'); //获取节点属性的值 $(th
2014-09-26 16:39:42
781
空空如也
通过mybatis查询出来的结果中Integer类型出现了isDeleted=false
2016-03-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人