![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
fruggy
班门弄斧要的不是技术,而是勇气和决心
展开
-
查看spring源码出现找不到com.sun.net.httpserver.HttpServer错误
准备过一遍spring源代码。环境 eclipse3.7.2 和 jdk 7.0将org.restlet 包加入到eclipse中,出现com.sun.net.httpserver.* 包中的类无法找到。com.sun.net.httpserver是在jdk 6.0 就开始在jdk中提供的类。原创 2017-11-08 22:09:40 · 2309 阅读 · 0 评论 -
ConcurrentHashMap、synchronized与线程安全
最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全除去项目中的业务逻辑,简化后的代码如下:[java] view plain copypublic class Test40 { public static void main(String[] args) throws In原创 2017-11-17 22:42:50 · 237 阅读 · 0 评论 -
Java不定参数Object… obj 和 Object[] 的区别
出处:http://blog.csdn.net/mycup163/article/details/7204752简述:java中方法重载可以实现参数不同自动匹配对应方法。但现实中也存在这种问题。普通传参对于形如下面的方法,却显得臃肿而失优雅。 Map getRealLine( int left, int top String color) //other转载 2017-11-13 22:27:33 · 4283 阅读 · 0 评论 -
spring导入
1. 首先去下载spring的源码 https://github.com/spring-projects/spring-framework/releases。 因为我的jdk版本是1.8,所以我这里下载的版本是4.3.2。下载完成之后解压到本地目录。2. spring源码的编译需要gradle的支持,所以需要去gradle官网下载gradle https://gradl原创 2017-11-10 23:17:03 · 936 阅读 · 0 评论 -
深入理解Java:注解(Annotation)基本概念
转载自http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,转载 2017-11-26 22:07:17 · 127 阅读 · 0 评论 -
深入理解Java:注解(Annotation)自定义注解入门
转载自http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annota转载 2017-11-26 22:34:11 · 119 阅读 · 0 评论 -
深入理解Java:注解(Annotation)--注解处理器
转载自:http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.ref转载 2017-11-26 22:44:34 · 133 阅读 · 0 评论 -
threadlocal原理及常用应用场景1
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地转载 2017-12-06 21:33:12 · 223 阅读 · 0 评论 -
threadlocal原理及常用应用场景2
最近项目中遇到如下的场景:在执行数据迁移时,需要按照用户粒度加锁,因此考虑使用排他锁,迁移工具和业务服务属于两个服务,因此需要使用分布式锁。我们使用缓存(Tair或者Redis)实现分布式锁,具体代码如下:@Service public class Locker { @Resource(name = "tairClientUtil")原创 2017-12-06 21:52:13 · 692 阅读 · 1 评论 -
Spring中使用两种Aware接口自定义获取bean
转载自:https://www.cnblogs.com/handsomeye/p/6277510.html 在使用spring编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单:@Servicepublic class BeanFactoryHelper implements BeanFactoryAware...转载 2018-03-19 21:04:30 · 155 阅读 · 0 评论 -
在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
增加方式如下:[html] view plain copy <listener> <listener-class> org.springframework.web.util.IntrospectorCleanupListener </listener-class> </liste...原创 2018-03-29 13:49:17 · 170 阅读 · 0 评论 -
深入分析ConcurrentHashMap
转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 聊聊并发(四)深入分析ConcurrentHashMap线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。如以下代码:01final HashMap<S转载 2017-11-17 22:41:08 · 149 阅读 · 0 评论 -
深入理解final关键字
在Java中,final关键字可以用来修饰数据、方法、参数、类,下面我们来了解final的关键字的用法。基本用法final 数据对于基本类型,final使数值恒定不变;而对用对象引用,final使引用恒定不变。 final修饰的基本类型,一旦被初始化后,不能再被赋值。 final修饰的对象引用,一旦引用被初始化指向一个对象,就无法再把它改为指向另外一个原创 2017-11-17 21:10:42 · 258 阅读 · 0 评论 -
Gradle 配置环境变量
1.下载 Gradle2.配置环境变量 GRADLE_HOME将下载以后得到的 gradle-2.12-all.zip 文件夹解压到我们电脑磁盘上固定存放软件的位置。在环境变量里添加用户变量 GRADLE_HOME 然后在环境变量 path 中增加 %GRADLE_HOME%\bin;,如图所示: 3.测试环境变量是否配置成功的命令有gradle -v或者g转载 2017-10-24 23:19:19 · 338 阅读 · 0 评论 -
使用Log4j时,为什么要写if (log.isDebugEnabled()) 或 if (log.isInfoEnabled())
在项目中我们经常可以看到这样的代码:[java] view plain copyif (logger.isDebugEnabled()) { logger.debug(message); } 简单来说,就是用isDebugEnabled方法判断下是能提升性能的!!有些人不明白为转载 2017-11-11 00:22:31 · 317 阅读 · 0 评论 -
连接池的配置解释
#连接设置 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbc username=root password= # initialSize=10 #最大连接数量,连接数连不能超过该值 ldj注释:通过修改该值可以减小web项目数据库连接的原创 2017-11-02 23:02:51 · 260 阅读 · 0 评论 -
让Spring架构减化事务配置
让Spring架构减化事务配置 在划分事务时,我们需要进行事务定义,也就是配置事务的属性。事务的属性有传播行业,隔离级别,超时值及只读标志。TransactionAttribute接口指定哪些异常将导致一个回滚,哪些应该一次性提交。 (1) 使用ProxyFactoryBean 和TransactionInterceptor 定义本地数据源--> bean id="d原创 2017-11-02 22:49:09 · 156 阅读 · 0 评论 -
Java集合细节(一):请为集合指定初始容量
集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得异常重要。所以:对于已知的情景,请为集合指定初始容量。[java] view转载 2017-11-12 22:54:58 · 291 阅读 · 0 评论 -
Throwable#initCause(Throwable) 方法
代码://首先有个变量caseprivate Throwable cause = this; public synchronized Throwable initCause(Throwable cause) { // 保证只能调用一次 if (this.cause != this) throw new IllegalStateExc原创 2017-11-12 23:28:31 · 735 阅读 · 0 评论 -
Java中的break和continue关键字使用总结
continue用来结束本次循环 break用来结束整个循环体原创 2017-11-12 23:39:56 · 221 阅读 · 0 评论 -
CharSequence接口在方法定义中的应用
String 是java中的字符串,它继承于CharSequence。 StringBuilder 和 StringBuffer都是可变的字符序列。它们都继承于AbstractStringBuilder,实现了CharSequence接口。但是,StringBuilder是非线程安全的,而StringBuffer是线程安全的。 附录:spring StringUtils部分源码原创 2017-11-13 00:20:55 · 838 阅读 · 0 评论 -
Java Set容器添加相同元素的返回值判断
Java Set容器添加相同元素的返回值判断代码如下: /** * @from www.everycoding.com * @Description:Java Set容器添加相同元素的返回值判断 */public class SetAdd {public static void main(String[] args) {SetString> set =原创 2017-11-13 00:29:51 · 8299 阅读 · 0 评论 -
Spring jdbcTemplate查不到数据时抛出EmptyResultDataAccessException
@see https://blog.csdn.net/bbirdsky/article/details/8784434@see https://blog.csdn.net/zhang41228/article/details/52799868问题现象:org.springframework.dao.EmptyResultDataAccessException: Incorrect result ...原创 2018-05-08 12:35:35 · 3579 阅读 · 0 评论