![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ĵjava小科技
llllllxj
业精于勤,荒于嬉;行成于思,毁于随
展开
-
线程安全的ArrayList CopyOnWriteArrayList
线程安全的ArrayList CopyOnWriteArrayList Vector 和 Collections.synchronizedList(new ArrayList<>()) 都是线程安全的list集合,但是他们在多线程的情况下虽然保证了线程安全,但是效率太低,因为在读取和插入元素的时候都会锁住整个对象,CopyOnWriteArrayList :特性基本与arrayList一致,底层也是数组结构,使用比较灵活的ReentrantLock对写入加锁。用于读多写少的并发场景。原创 2020-09-13 17:43:22 · 180 阅读 · 0 评论 -
java 实现 websocket消息推送
业务场景是后台触发某个事件(比如后台执行一条insert语句前台就要刷新界面),每一个用户都对应着一个界面,所以这里用wxId作为一个用户页面的唯一标识js代码var websocket=new WebSocket("ws://localhost/voucher/"+wxId); //接收到消息的回调方法 websocket.onmessage = function (ev...原创 2019-03-20 09:25:51 · 1086 阅读 · 0 评论 -
idea 配置 gradle 环境
1.配置jdk环境(略)2.配置gradle环境 2.1首先下载gradlehttps://download.csdn.net/download/l577125882/10893228 2.2解压 不要带中文路径2.3配置环境新建系统环境变量在path变量中加入2.4验证gradle版本gradle -v3.配置idea环境3.1新建仓...原创 2019-01-03 15:56:10 · 2777 阅读 · 0 评论 -
eclipse 快捷键大全 收藏起来慢慢看
https://www.cnblogs.com/mq0036/p/4995390.html转载 2018-12-20 14:42:27 · 143 阅读 · 0 评论 -
HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!
网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清楚。终归是希望能降低大家学习的成本,不希望大家到处找各种不是很靠谱的文章,看完一篇又一篇,可是还是模模糊糊。阅读建议: 四节基本上可以进行独立阅读,建议初学者可按照...转载 2018-12-19 20:53:46 · 147 阅读 · 0 评论 -
redis实现分布式锁
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...转载 2018-11-30 21:20:59 · 108 阅读 · 0 评论 -
poi解析excel 成List<Map> 结构
效果:导入poi依赖的jar包我是采用spring mvc,后台接受一个MultipartFile这里的PageData就是HashMap,业务需要所以封装了一次,大家可以将PageData直接替换成HashMap直接调用该方法就能将excel解析成map集合/** * 读EXCEL文件,获取Excel信息集合 * @param fileName * @...原创 2018-09-26 09:33:12 · 2785 阅读 · 3 评论 -
Servlet 单例多线程
Servlet 单例多线程Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的<Connector&g...转载 2018-09-12 16:02:01 · 144 阅读 · 0 评论 -
浅谈java集合
大家在知道集合是用来存放对象的,本文主要讲解集合内部构造和各个集合之间的区别,如果学过数据结构应该很容易理解。 api就不过多介绍,无非就是一些增删改查操作。java集合分类两大家族,Collection家族和Map家族,类图画的不是很详细,但总体也就是分为这样 Collectioncollection家族重要成员主要是LIst和SetListList集合特点:lis...原创 2018-08-30 10:12:58 · 234 阅读 · 0 评论 -
什么时候会用java匿名内部类以及注意事项
内部类的意义在一定程度上解决了java多重继承的问题。何时才能使用匿名内部类呢?满足下列条件: ·只用到类的一个实例 。·类在定义后马上用到。·类非常小(SUN推荐是在4行代码以下)·给类命名并不会导致你的代码更容易被理解。在使用匿名内部类时,要记住以下几个原则:·匿名内部类不能有构造方法。·匿名内部类不能定义任何静态成员、静态方法。·匿名内部类不能是pub...转载 2018-08-28 14:04:39 · 2608 阅读 · 0 评论 -
eclipse安装JAVA反编译插件
Help-----> Eclipse MarketPlace输入Decompiler 安装 全部勾选同意等待安装重启eclipseOK,完成,可以查看源码了,按住Ctrl点击类转载 2018-06-14 11:51:19 · 715 阅读 · 0 评论