随笔 - 289  文章 - 1  评论 - 2716  阅读 - 195万

随笔分类 -  java

上一页 1 2 3 下一页
从头开始搭建一个Spring boot+RabbitMQ环境
摘要:消息队列在目前分布式系统下具备非常重要的地位,如下的场景是比较适合消息队列的: 跨系统的调用,异步性质的调用最佳。 高并发问题,利用队列串行特点。 订阅模式,数据被未知数量的消费者订阅,比如某种数据的变更会影响多个系统的数据,订单数据就是比较好理解的。 之前有一个场景是商品数据在修改后需要推送到el 阅读全文
posted @ 2017-02-18 21:23 min.jiang 阅读(37341) 评论(1) 推荐(3) 编辑
理解redis高可用方案
摘要:理解并从头搭建redis集群 部分开发人员工作当中只是在应用中使用redis,比如用来做数据结果的缓存。而且现在有很多不错的redis客户端工具(redisson),基本上可以不用关注redis命令就可以完成相当部分的功能。所以可能会对如下这些问题关注点不够: 如何容灾?即某个redis节点出了问题 阅读全文
posted @ 2017-02-15 12:21 min.jiang 阅读(2818) 评论(1) 推荐(8) 编辑
redisson实现分布式锁原理
摘要:Redisson分布式锁 之前的基于注解的锁有一种锁是基本redis的分布式锁,锁的实现我是基于redisson组件提供的RLock,这篇来看看redisson是如何实现锁的。 不同版本实现锁的机制并不相同 引用的redisson最近发布的版本3.2.3,不同的版本可能实现锁的机制并不相同,早期版本 阅读全文
posted @ 2017-02-10 10:33 min.jiang 阅读(12187) 评论(0) 推荐(3) 编辑
计算两个字符串最大公有子串
摘要:背景 对算法一直应用的比较少,最近看到一些典型的算法想练练手,想看看到底有多么让人讨厌。其实发现算法都有一定的套路,一般并不是临时凭空想出来的,大都建立在一些已经存在的经典算法知识以及数据结构上。换句话来说,如果某些玩法之前未接触过,那么让你在短时间内临时想出来还是有一定难度的。这有点类似项目经验, 阅读全文
posted @ 2017-01-23 13:03 min.jiang 阅读(8101) 评论(0) 推荐(0) 编辑
技术图谱
摘要:技能图谱 技能总结:查漏补缺,做到极致 开发语言 工作语言 Java,C#,JavaScript 兴趣语言 Shell,Go JAVA语言 IOC AOP ClassLoader 集合 泛型 多线程 异常 JVM 内存模型 GC GC的种类及应用场景,典型GC算法 监控(计划学习) 优化 借助jdk 阅读全文
posted @ 2017-01-22 13:59 min.jiang 阅读(939) 评论(1) 推荐(1) 编辑
基于注解的锁
摘要:背景 某些场景下,有可能一个方法不能被并发执行,有可能一个方法的特定参数不能被并发执行。比如不能将一个消息发送多次,创建缓存最好只创建一次等等。为了实现上面的目标我们就需要采用同步机制来完成,但同步的逻辑如何实现呢,是否会影响到原有逻辑呢? 嵌入式 这里讲的嵌入式是说获取锁以及释放锁的逻辑与业务代码 阅读全文
posted @ 2017-01-19 21:50 min.jiang 阅读(2819) 评论(0) 推荐(0) 编辑
变通实现微服务的per request以提高IO效率(二)
摘要:效率 变通实现微服务的per request以提高IO效率中提到的同一请求过程中对于同一个方法的多次读取只实际调用一次,其余的读取均从第一次读取的结果缓存中获取,以提高读取的效率。实现方案是引入了Context对象,可以理解成上下文的一个环境变量,业务方法在获取数据时先从Context中取,如果取不 阅读全文
posted @ 2016-11-27 19:18 min.jiang 阅读(1631) 评论(0) 推荐(1) 编辑
ZKUI中文编码以及以docker方式运行的问题
摘要:ZKUI中文编码 问题 上周有同事反馈,通过ZKUI这个工具去上传带有中文的节点值时会出现中文无法显示的问题。最终发现编码是NCR编码,全称是:Numeric Character Reference。 什么是NCR? 这里引入一段维基百科的描述。 A numeric character refere 阅读全文
posted @ 2016-11-20 11:32 min.jiang 阅读(3756) 评论(0) 推荐(0) 编辑
回顾面试题:计算两个数组交集
摘要:背景 工作多年,语言经历过C#,JAVA。但是做过的项目大多以业务系统为主,曾经做过一些基础架构的工作,但算法一直在工作中应用的比较少,导致多年之后基本都忘记完了。上一次面试过程中就有一个算法题,我能做对,但是感觉不是最优方案就放弃了。最近想想做为一个程序员,算法还是有必要再补习补习。 案例 有两个 阅读全文
posted @ 2016-11-06 01:11 min.jiang 阅读(28913) 评论(7) 推荐(1) 编辑
转:Java Web应用中调优线程池的重要性
摘要:不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求。线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的。本文主要介绍Java线程池的使用和如何正确的配置线程池。 单线程 我们先从基础开始。无论使用哪种应用服务器或者框架(如Tomcat、Jetty等),他们 阅读全文
posted @ 2016-09-04 16:56 min.jiang 阅读(966) 评论(0) 推荐(0) 编辑
转:什么是即时编译(JIT)!?OpenJDK HotSpot VM剖析
摘要:重点 应用程序可以选择一个适当的即时编译器来进行接近机器级的性能优化。 分层编译由五层编译构成。 分层编译提供了极好的启动性能,并指导编译的下一层编译器提供高性能优化。 提供即时编译相关诊断信息的JVM开关。 像内联化和向量化之类的优化进一步增强了性能。 OpenJDK HotSpot Java V 阅读全文
posted @ 2016-09-03 15:50 min.jiang 阅读(1558) 评论(0) 推荐(0) 编辑
rest api参数与content-type
摘要:rest api的参数想即能支持application/x-www-form-urlencoded也能支持application/json方式传参。 阅读全文
posted @ 2016-08-06 20:51 min.jiang 阅读(12676) 评论(0) 推荐(0) 编辑
从头开始搭建一个mybatis+postgresql平台
摘要:这篇将分享安装postgresql,配置tk.mybatis的详细步骤以及在这过程中可能遇到的一些小问题。通过少量的代码完成大部分的工作,重复劳动交给工具完成。 阅读全文
posted @ 2016-07-10 03:48 min.jiang 阅读(19880) 评论(2) 推荐(0) 编辑
从头开始搭建一个dubbo+zookeeper平台
摘要:本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用。 阅读全文
posted @ 2016-06-28 00:57 min.jiang 阅读(130082) 评论(10) 推荐(14) 编辑
从头开始搭建分布式日志平台的docker环境
摘要:从头开始搭建基于spring mvc+redis+logback+logstash+elasticsearch+kibana的分布式日志平台的docker环境,重点是分享其中遇到过的一些问题。 阅读全文
posted @ 2016-06-21 18:04 min.jiang 阅读(4877) 评论(0) 推荐(5) 编辑
spring mvc+ELK从头开始搭建日志平台
摘要:经过接近两天的研究,终于从0开始搭建成功了spring mvc+ELK的分布式日志管理平台,java平台的优势就是开源的产品多,可利用优秀插件也多,擅于去发倔还是可以很省事的做些比较优秀的项目的。虽然本篇只是一个练手入门文章,但有了开始就会有收获。 阅读全文
posted @ 2016-06-17 17:08 min.jiang 阅读(11332) 评论(3) 推荐(3) 编辑
两个与spring事务相关的问题
摘要:通过事务的两个小问题,总结出解决问题的一些小技巧或者叫经验:发现问题之后,不要局限于某个点,最好根据上下文来结合分析,比如问题一的readonly可写入,单看那段代码很难找出合理的解释,只有结合前后端调用才能找出根本原因。写单元测试尽量写相同的代码,否则有可能会出现一些干扰项影响判断。学习呢,有时间尽量学的全点,比如@Transactional这个注解,除了readOnly还有Propagation等等。 阅读全文
posted @ 2016-06-08 15:42 min.jiang 阅读(2454) 评论(1) 推荐(0) 编辑
shiro realm 注解失败问题解决过程
摘要:做为一名在.net混了八九年的老兵油子,转战java时间并不长,刚开始做项目完全是凭借对C#的认识来做,虽然遇到一些问题,但实际结果显示C#在语言上和java还是有很大相似度,而且微软的MVC与Spring MVC也是那么的神似,这也是为什么我在做项目前并未对java进行系统的学习也能做项目的原因。最近稍微有些空闲时间,所以决定从基础开始系统的学习java,这里并没有太多高深技术可分享的,本篇给大家分享我解决问题的一个经验:触类旁通或者叫举一反三,对了还有一点,对于存在可优化点的部分要不轻言放弃。 阅读全文
posted @ 2016-05-19 01:55 min.jiang 阅读(4171) 评论(0) 推荐(0) 编辑
如何解决CRUD操作中与业务无关的字段赋值
摘要:通过自定义实现HandlerMethodArgumentResolver,来捕获ajax请求的参数,利用反射机制动态的将系统字段以及需要处理默认值的字段自动赋值,避免人工干预,起到了代码精简,逻辑干净,问题统一处理的目的。需要注意的是这些实现都是结合当前系统设计的,比如我们认为id字段>0就代表是更新操作,为空或者等于小于0就代表是创建,系统字段也是约定名称的等等。 阅读全文
posted @ 2016-04-14 22:50 min.jiang 阅读(5500) 评论(19) 推荐(8) 编辑
通过angularjs的directive以及service来实现的列表页加载排序分页
摘要:angularjs的directive以及service用好了真的很强大,这里通过一个service两个directive简单的实现了我对于列表页展示的需求,相比第三方js组件最大的优点是支持angular model的更新且不需要写配置相关的js,样式控制容易。 阅读全文
posted @ 2016-03-23 17:42 min.jiang 阅读(4841) 评论(1) 推荐(1) 编辑

上一页 1 2 3 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示