![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java智库
知识整理,包括java基础、java进阶、框架、中间件、DB等原理及使用,持续更新。
pro-Li
让代码飞一会儿。
展开
-
SimpleDateFormat静态资源在多线程场景下的调用情况
静态场景多线程调用场景模拟:结果:可以看到,输出String类型的转换结果异常,这里吃了异常,输出看下异常信息:异常信息主要有NumberFormatException、ArrayIndexOutOfBoundsException,怎么解决?非静态场景下的测试,即每一次使用都新new一个:测试结果正常:这种方式固然能保证,在多线程场景下最终结果一致,但并不建议使用,推荐使用org.joda.time.format.DateTimeForma..原创 2020-06-17 11:04:16 · 261 阅读 · 0 评论 -
redis本地访问异常示例
异常信息:Exception in thread "main" java.lang.Error: Unresolved compilation problem:at com.xxx.xxx.util.redis.JedisUtil.main(JedisUtil.java:14)开始没一直没找到原因,以为是本地环境问题,但其实报错本身有提示信息。缺少org.apache.commons.pool2.impl.GenericObjectPoolConfig所在的jar,即commons-po.原创 2020-06-12 18:58:17 · 416 阅读 · 0 评论 -
HashMap底层实现及源码解读(jdk8)
先看一下基本的继承实现关系基本属性先从几个常用的方法看下hashmap空构造为loadFactor变量赋值为0.75,而hashmap的构造方法包含空构造有如下几种:详细看下前两个传参构造:一个传参的构造,给了0.75的默认参数,内部调用的双参数构造方法;而在HashMap(int initialCapacity, float loadFactor)方法内,第一步校验initialCapacity的下限,如果小于0抛异常;第二步校验initialCapacit原创 2020-06-09 20:30:20 · 192 阅读 · 0 评论 -
String、StringBuffer、StringBuilder的使用和区分
String字符串,属于对象,但是该对象的每一次赋值,都会重新创建一个新对象;是因为Stirng类中final关键字修饰value变量,其所有构造均需要使用该变量。StringBuilder对象,可以只创建一个对象,对其进行字符串操作,但是线程不安全;StringBuffer对象,可以只创建一个对象,对其进行字符串操作,是线程安全的;StringBuilder和StringBuffer的方法及结构基本一致,但是在一些方法上,StringBuffer有关键字synchronized,如:原创 2020-06-08 20:23:28 · 126 阅读 · 0 评论 -
eclipse打项目jar包时,不打第三方引用包场景
设置如下:注释掉该内容即可,重新打包则不会打入第三方引用包。此种打包方式针对的是,jar更新,脚本启动方式,因为第三方jar在部署时已经和业务jar包分离,后续更新非必要的场景只用更新业务jar包即可。...原创 2020-06-08 16:49:46 · 278 阅读 · 0 评论 -
为什么选择Redis缓存?
为了追求极致的产品体验,互联网企业架构的高性能和高可用便不可避免。而在数据库层面,一般有以下几种优化:1.主从配置:比如为mysql服务配置主从,则一台宕机,另一台顶上,达到高可用的要求。2.读写分离:配置一主多从,将读取请求分发到从服务器上,可以有效的提高响应速度。3.分库分表:当数据量不断增加,单库单表无法满足需求时,分布式数据库中间件可以解决这一问题。而在系统层面来说,为...原创 2019-03-10 11:13:18 · 462 阅读 · 0 评论 -
java进阶-1:常用设计模式
java设计模式多种多样,各有优劣,不同模式适用不同场景。菜鸟教程中列举设计模式多达33种,百度搜索相关设计模式技术文档,也有10到25种不等,这里只列举几种常用的设计模式,但学习的目的是为了辨别各设计模式的优劣,以及适用的场景,后续再不断补充更新。1.Proxy代理模式2.Factory工厂模式3.Singleton单例模式4.delegate委派模式5.Strategy...原创 2019-07-16 15:49:26 · 135 阅读 · 0 评论