摘要:
懒加载是一种加载方式,加载单例对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载。懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景。 好了,相信啥意思大家都明白!那么具体如何实现呢?其实挺有意思的! 方案1. 直接用懒加载实例进行判 阅读全文
摘要:
项目中常常使用mybatis配合spring进行数据库操作,但是我们知道,数据的操作是要求做到线程安全的,而且按照原来的jdbc的使用方式,每次操作完成之后都要将连接关闭,但是实际使用中我们并没有这么干。 更让人疑惑的点是,spring中默认使用单例形式来加载bean,而往往我们也不会改变这种默认, 阅读全文
摘要:
synchronized 和 volatile,是最基础的两个锁! volatile是轻量级锁,它在多核处理器开发中保证了共享变量的可见性。即当一个线程修改一个共享变量时,其他线程能够读到这个修改的值。它比syncronized使用和成本更低。 要说volatile的实现原理,就要先看一下cpu基本 阅读全文
摘要:
1. 锁介绍 java中锁是个很重要的概念,当然这里的前提是你会涉及并发编程。 除了语言提供的锁关键字 synchronized和volatile之外,jdk还有其他多种实用的锁。 不过这些锁大多都是基于AQS队列同步器。ReadWriteLock 读写锁就是其中一个。 读写锁的含义是,将读锁与写锁 阅读全文
摘要:
怎么获取一个客户端ip ? 我想这个问题,在网上遍地都是答案! 而且多半是像下面这样: 我也没说要去研究这玩意,我只是不想重复造轮子,然后找到了代码仓库里有这么一段代码,所以,我就用来去获取ip了! 测试环境一切ok。然后稀拉拉地,上线了! 嘿,一上线之后,发现了数据库ip字段竟然有两个ip: 10 阅读全文
摘要:
0.28+0.34=? 我相信这个简单的加法,谁都会,肯定等于0.62嘛。 这是两个特别简单的加法,那如果我在其整数位置上加上其他的数字,或者多加几个和项,你是否还能快速算过来? 我想这时候,我们又得借助计算器了!而这,有时可能就是电脑!尤其是如果咱们借助简单程序语言来算的时候,嘿嘿,可能就不是那么 阅读全文
摘要:
微信公众号作为强大的自媒体工具,对接一下是很正常的了。不过这不是本文的方向,本文的方向公众号接入的排序问题。 最近接了一个重构的小项目,需要将原有的php的公众号后台系统,转换为java系统。当然,也很简单的了。 不过,在接入的时候,遇到有一个有趣的问题,可以分享下。 大家知道,要将微信在接到用户的 阅读全文
摘要:
我们都知道,java中对类型的检查是很严格的,所以我们平操作时,也往往很小心。 如题: (T[]) new Object[size],这种写法是一般我们是不会干的!但是有点经验的同学,还是会遇到这样写的。那么,今天咱们就来看看,像这样的写法对不对,也顺便深入理解java的类型转换机制吧! 问题1: 阅读全文
摘要:
spring中,注册controller的url有多种方式: 1. 你可以啥都不都干,直接使用 @RequestMapping 注解上体路径,然后加上 <component-scan>, 访问的时候就根据这个路径来加载handler了; 2. 如果你想自定义一些路径的访问方式,那么你可以自定义 Re 阅读全文
摘要:
问题为对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener 。 然而在接入之后,却导致了应用无法正常启动,或者说看起来很奇怪,来看下都遇到什么样的问题,以及是如何处理的? 还是 web.xml, 原本是这样的: (很简洁!) 而需要添加的 fil 阅读全文