
java基础
yangyongdehao30
这个作者很懒,什么都没留下…
展开
-
邀请码生成工具
import org.apache.commons.lang3.ArrayUtils;import org.apache.commons.lang3.RandomUtils;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author yy * @date 2020年9月14日 * @description 邀请码工具类 * */public class In.原创 2021-05-21 16:24:27 · 2857 阅读 · 0 评论 -
JAVA性能调优--CPU消耗过高
1.查看那个进程cpu消耗比较多 top直接看2.根据进程查看线程的占用时间top -Hp 3398993. 将线程号转换为16进制 printf "%x\n" 3400114.堆栈中找到对应的类jstack 339899|grep 5302b发现了lettuce ,redis占用过多根据后续业务优化即可...原创 2021-04-02 17:13:46 · 1340 阅读 · 2 评论 -
ReentrantReadWriteLock具体作用
通常情况下,使用synchronize就可以实现锁,但有些业务场景的时候不适合使用这个,synchronize本身无序的非公平锁,所以可能出现 多个线程一起读取,因为有其他线程更改过了,读取的数据不一样。以下是我写的demo,可以看出readWriteLock的所用。读写锁非常适合高频读取,又必须不能出现误差的场景,如行情信息等package com.yy.test.lock;impo...原创 2020-02-11 17:25:37 · 484 阅读 · 0 评论 -
java锁
哈哈哈,刚一朋友问我java锁里面有啥,想了一下,不知道怎么表达呀,太多了,在这里总结一下所谓多种锁,都是相对而言的,不同的锁都是通过不同维度来说明的悲观锁-乐观锁:这是两种不同的思想,悲观锁认为有并发就玩完,数据会不一致。乐观锁认为有并发没问题,检查一下就行了。基于这个思想,出现了不同的实现,synchronized就是这么认为的,有线程进来,其他线程就不要进来了。Ree...原创 2019-04-26 17:43:09 · 198 阅读 · 0 评论 -
JVM调优 及 GC收集器
根据Java GC收集器具体分类,我们可以看出JVM根据需求不同提供了三种选择:串行收集器、并行收集器、并发收集器。 串行收集器只适用于小数据量的情况,我们主要了解一下并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果需要使用其他收集器需要在启动的是时候加入相应的参数。JDK5.0以后,JVM会根据当前系统的配置进行判断。 我们先了解一下什么是并行和并发?...转载 2018-11-13 13:49:40 · 221 阅读 · 0 评论 -
多线程测试代码
package com.yy.read;import java.util.HashSet;import java.util.List;import java.util.Random;import java.util.Set;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionExc...原创 2018-02-14 21:44:00 · 613 阅读 · 2 评论 -
jdk1.8更新
一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代码代码如下:interface Formula { double calculate(int a); default double sqrt(int a) { retur转载 2017-01-08 20:19:39 · 516 阅读 · 0 评论 -
xml去掉多余空格
在xml的解析中,经常遇到因为xml不规范导致的错误如:The element type is required in the attribute-list declaration. 等问提就是xml格式不规范,只需要将标签之间的空格去除即可//去掉所有的换行符 空格 制表符String xml="";Pattern p = Pattern.compile(">(\\s*|\n|\原创 2016-12-15 14:34:38 · 9690 阅读 · 0 评论 -
获取不重复随机数分享
import java.net.InetAddress;import java.util.Date;import java.util.Random;import java.util.concurrent.atomic.AtomicInteger;import org.apache.commons.lang3.StringUtils;import org.apache.common...原创 2016-11-25 17:25:56 · 617 阅读 · 0 评论 -
版本校验,正则分享
通用的版本校验正则表达式 /** * @Title: checkVersion * @Description: TODO 检查是否是 小于6位段号的版本号 每个号段最大为3位 * @date 2016年1月18日 * @author yy * @param @param version * @param @return * @return boolean原创 2016-11-25 17:23:38 · 877 阅读 · 0 评论 -
分享给新手程序员
当年真是充满活力啊,大概12年年中,完成了人生第一个项目,总结了30条代码经验,过去几年了,分享下咯....适合1年左右新手阅读喔二十一、四种事务处理方式1.SupportsSupports:如果有带有事务的方法调用该方法,则使用事务,否则不使用。2.NoSupportsNoSupports:绝对不支持事务,反正就是不会支持事务.如果一个带有事务的方法调用它,它将先把事务停掉,然后执行完毕,然后再将对应事务重新开启。3.RequriedRequried:如果当前有空闲事务则使用空闲事务,如果原创 2016-11-28 16:30:18 · 528 阅读 · 0 评论