java基础
LionArt
这个作者很懒,什么都没留下…
展开
-
Java 随机数 Random VS SecureRandom
https://www.jianshu.com/p/2f6acd169202转载 2020-04-10 19:20:41 · 392 阅读 · 1 评论 -
如何正确地停止一个线程?
停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 使用stop方法强行终止,但是不推荐这个方法,因...转载 2019-06-18 11:19:11 · 250 阅读 · 0 评论 -
分布式系统的接口幂等性设计
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次 一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然...转载 2019-03-13 12:19:49 · 160 阅读 · 0 评论 -
ConcurrentHashMap 从Java7 到 Java8的改变
一、关于分段锁1.分段锁发展概况集合框架很大程度减少了java程序员的重复劳动。在Java多线程环境中,以线程安全的方式使用集合类是一个首先考虑的问题。能够保证线程安全的哈希表中,ConcurrentHashMap是大家都熟知的,也知道它内部使用了分段锁。然而,进入到Java8时代,分段锁成为了历史。2.新版本ConcurrentHashMap在Java8的Concurrent...转载 2019-03-17 19:33:00 · 338 阅读 · 0 评论 -
Java中的关键字 transient
先解释下Java中的对象序列化在讨论transient之前,有必要先搞清楚Java中序列化的含义;Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输,一般当我们使用缓存cache(内存空间不够有可能会本地存储到硬盘)或远程调用rpc(网络传输)的时候,经常需要让我们的实体类实现Se...转载 2019-02-26 16:09:54 · 114 阅读 · 0 评论 -
垃圾收集器的种类及原理
1、Serial收集器:古老的单线程收集器,作用于新生代。单线程的意义并非仅仅是只使用一条线程进行垃圾回收,更重要的是,在进行垃圾回收的时候,必须暂停其他所有的工作线程,因此,用户体验很不好。单实际上,Serial并不是一个一无是处的垃圾收集器,当虚拟机运行在Client模式下,Serial仍然是Client模式下的默认垃圾收集器。它有着优于其他收集器的地方:简单而高效。对于限定单个CPU的环境来...转载 2018-06-30 16:43:21 · 205 阅读 · 0 评论 -
Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-ea转载 2017-08-22 16:13:03 · 189 阅读 · 0 评论 -
Arrays.asList()是个坑
在java语言中,把数组转换成List集合,有个很方便的方法就是 List list = Arrays.asList("a","b","c");但你可能不知道这样得到的List它的长度是不能改变的。当你向这个List添加或删除一个元素时(例如 list.add("d");)程序就会抛出异常(java.lang.UnsupportedOperationException)。怎么会这样?!只需转载 2018-01-18 22:20:19 · 398 阅读 · 0 评论 -
html中实现添加水印的功能
1、使用背景图添加水印2、使用定位添加水印3、使用js添加可配置控制水印CSS:[css] view plain copybody{background-color: #eef1f8;} #one{padding: 10px 15px;background-color: #FFFFFF;background-image: u转载 2017-09-11 14:22:03 · 4429 阅读 · 0 评论 -
在jsp页面上直接打开PDF文件
1、在不需要使用插件,直接打开通过链接方式打开@ page language="java" import="java.util.*,java.io.*"pageEncoding="UTF-8"%>String path = request.getContextPath();String basePath = request.getScheme() + "://" + r转载 2017-09-11 13:11:44 · 4045 阅读 · 0 评论 -
java 判断日期是否是节假日
1.新建一个excel命名为“节假日.xls”存放节假日,模板格式如下2.判断是否是节假日的类 工作日返回true ,休息日返回false。 需要引用poi-bin-3.9包,包放在博客文件中import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;im转载 2017-08-30 10:18:52 · 3411 阅读 · 0 评论 -
HashMap的扩容机制, ConcurrentHashMap和Hashtable主要区别
源代码查看,有三个常量, static final int DEFAULT_INITIAL_CAPACITY = 16; static final int MAXIMUM_CAPACITY = 1 static final float DEFAULT_LOAD_FACTOR = 0.75f;三个常量中可以看出,默认的容器大小是16,最大长度是2的30次方,load转载 2017-08-21 17:00:12 · 982 阅读 · 0 评论