摘要: 在上篇博客中分析了hashmap的用法,详情查看java并发之hashmap 本篇博客重点分析下hashmap的源码(基于JDK1.8) 一、成员变量 HashMap有以下主要的成员变量 /** * The default initial capacity - MUST be a power of 阅读全文
posted @ 2019-05-26 12:04 良工说技术 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 在Java开发中经常会使用到hashmap,对于hashmap又了解多少,经常听到的一句话是hashmap是线程不安全的,那为什么是线程不安全的,如何才能保证线程安全,JDK又给我们提供了那些线程安全的类,这些问题是今天讨论的问题, 一、hashmap为什么线程不安全 说到hashmap为什么线程不 阅读全文
posted @ 2019-05-25 11:31 良工说技术 阅读(4042) 评论(0) 推荐(0) 编辑
摘要: 在Java开发过程中经常需要用到线程,为了减少资源的开销,提高系统性能,Java提供了线程池,即事先创建好线程,如果需要使用从池中取即可,Java中创建线程池有以下的方式, 1、使用ThreadPoolExecutor类 2、使用Executors类 其实这两种方式在本质上是一种方式,都是通过Thr 阅读全文
posted @ 2019-05-21 23:18 良工说技术 阅读(42703) 评论(0) 推荐(1) 编辑
摘要: springAOP指的是在spring中的AOP,什么是AOP,相对于java中的面向对象(oop),在面向对象中一些公共的行为,像日志记录,权限验证等如果都使用面向对象来做,会在每个业务方法中都写上重复的代码,造成代码的冗余。而AOP指的是面向切面编程,定义一个切面,用切面去切相应的方法,就可以织 阅读全文
posted @ 2019-04-24 17:53 良工说技术 阅读(23603) 评论(5) 推荐(10) 编辑
摘要: LinkedBlockingQueue是BlockingQueue中的其中一个,其实现方式为单向链表,下面看其具体实现。(均为JDK8) 一、构造函数 在LinkedBlockingQueue中有三个构造函数,如下图, 1、LinkedBlockingQueue() 这是一个无参的构造函数,其定义如 阅读全文
posted @ 2019-04-07 23:19 良工说技术 阅读(9169) 评论(2) 推荐(1) 编辑
摘要: 在Java的java.util.concurrent包中定义了和多线程并发相关的操作,有许多好用的工具类,今天就来看下阻塞队列。阻塞队列很好的解决了多线程中数据的安全传输问题,其中最典型的例子就是客园很好的解决“生产者--消费者”问题。下面来看其中一个实现类ArrayBlockingQueue。看到 阅读全文
posted @ 2019-04-07 14:58 良工说技术 阅读(20865) 评论(0) 推荐(0) 编辑
摘要: 在Java编程中我们经常会遇到异常,像空指针异常、数组越界异常等,但你真正了解异常吗,程序出现了异常我们要如何处理,在mvc的编程模式下要如何优雅的处理异常,这就是本文我们要解决的问题。 一、初始异常 在Java中所有的异常类有个超类那就是java.lang.Throwable,java API中对 阅读全文
posted @ 2019-02-26 22:05 良工说技术 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 在上篇博客中从springboot的入门到运行一个springboot项目进行了简单讲述,详情请查看“springboot入门之一”。下面继续对springboot做讲述。 开发springboot测试类 在上篇博客中仅仅是把一个springboot环境的项目运行起来,但并没有进行实际的开发测试,下 阅读全文
posted @ 2019-01-27 22:34 良工说技术 阅读(198) 评论(0) 推荐(0) 编辑
摘要: springboot简介 springboot做为微服务的开发集合框架,有着天然的好处,它不像springmvc那样笨重繁杂,springmvc众多的配置使得开发人员很厌烦,为解决众多的配置带来的烦扰,springboot采用约定大于配置的方式,即开发过程中的配置项可以不配置,spring已经内置了 阅读全文
posted @ 2019-01-27 14:21 良工说技术 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 问题描述 今天在使用spotbugs代码走查时发现这样一个问题,如下, 一看看上去这个代码没什么问题,打印了数组的值,关键是打印出的结果是什么?结果如下 那么问题来了,打印出上面一行东西,这是什么,初衷是要打印数组中的值,起码也是能看懂的呀 暴露的问题 上面的代码,暴露了下面的问题, 1、对toSt 阅读全文
posted @ 2019-01-11 18:43 良工说技术 阅读(301) 评论(0) 推荐(0) 编辑