java
这些不会的
这个作者很懒,什么都没留下…
展开
-
JAVA 获取 URL 指定参数的值
时间戳原创 2022-07-28 11:47:03 · 1330 阅读 · 0 评论 -
Integer 时间戳类型不够了
时间戳原创 2022-07-21 17:15:23 · 306 阅读 · 0 评论 -
arthas 方法重调
arthas 问题排查原创 2022-07-18 10:38:16 · 367 阅读 · 0 评论 -
手动剔除eureka节点
PUThttp://eureka-ip:port/eureka/apps/applicationName/IP:PORT/status?value=OUT_OF_SERVICEapplicationName = 服务名原创 2021-06-16 17:08:47 · 886 阅读 · 0 评论 -
redis hash 小key过期策略 -自定义过期时间
//伪代码Object object = new Object();ObjectWapper object = new ObjectWapper();object.setObject(object);object.setExpire(expire + System.currentTimeMillis());redis.hput(key,object);get 获取到以后判断时间是否过期,过期则调用删除。若要删除大key,则可以清除整个hash 缓存数据。...原创 2021-01-31 15:51:41 · 4645 阅读 · 1 评论 -
线程 wait block
java synchronized ReentrantLock获取不到锁 状态为block 进去entryList调用wait 进去 waitset notifyAll 后 wait 状态变为 blocksynchronized (block 唤醒按照进去队列 先进后唤醒)ReentrantLock(先进先出唤醒)public static void main(String[] args) { Person person = new Person(); AtomicBoolean原创 2021-01-31 14:51:25 · 374 阅读 · 0 评论 -
CompletableFuture
public static void main(String[] args) { Map<String, String> result = new ConcurrentHashMap<String, String>(); result = CompletableFuture.supplyAsync(()-> getItemMap()) .thenCombine(CompletableFuture.supplyA原创 2020-07-31 11:18:28 · 200 阅读 · 0 评论 -
CompletableFuture
private List<CompletableFuture<List<ItemInfo4LoadMagicResp>>> getItemInfo(Set<String> itemIds, Long schoolId){ List<String> itemIdList = Lists.newArrayList(itemIds); List<List<String>> partitio...原创 2020-07-30 17:21:33 · 160 阅读 · 0 评论 -
forkjoin
private Map<String, ExamAnswerItemV1Entity> getSuperItemMapV3(Set<String> examId, Long schoolId) { List<String> examIdList = Lists.newArrayList(examId); ExamSuperItemServiceImpl.ItemAnswerQueryTask task = new ExamSuperI.原创 2020-07-24 10:31:06 · 105 阅读 · 0 评论 -
Java8 Stream 并行 parallel()
VisualVM 监控public static void main(String[] args) { Thread thread=new Thread(()-> { Arrays.asList(1, 2, 3, 4, 5, 6, 7, 9, 8, 0, 1) .stream() .parallel() .collect(C原创 2020-06-18 17:03:47 · 10432 阅读 · 0 评论 -
@Primary
@Autowired private MediaService mediaService; @Primary @Servicepublic class MediaServiceImpl implements MediaService service有多个实现类的时候,注入的时候需要按照@Qualifier() 注入,加了@Primary 可以实现一个默认的注入类@Primary is an effective way to use autowiring by type with se.原创 2020-05-13 23:48:06 · 1446 阅读 · 0 评论 -
Function.identity()
@FunctionalInterfacepublic interface Function<T, R> { /** * Returns a function that always returns its input argument. * * @param <T> the type of the input and output o...原创 2020-05-07 22:32:50 · 869 阅读 · 0 评论 -
lambda排序中nullpoint问题
public class Test { public static void main(String[] args) { List<CollectionsSuitDto.SuitItemBean> suitItemBeanList = Lists.newArrayList(); CollectionsSuitDto.SuitItemBean s...原创 2020-04-28 22:53:25 · 634 阅读 · 0 评论 -
do while
/**DefaultListableBeanFactorypublic class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {**...原创 2020-04-09 17:44:13 · 131 阅读 · 0 评论 -
线程顺序执行
public class MyThread extends Thread{ private static int num = 0; public MyThread(){ num++; } @Override public void run() { System.out.println("主动创建的第"+num+"个线程")...原创 2020-02-19 22:36:47 · 136 阅读 · 0 评论 -
ThreadLocal
父线程生成的变量需要传递到子线程中进行使用引入阿里提供的技术:TransmittableThreadLocal解决线程本地变量在线程池之间的传递问题github地址:https://github.com/alibaba/transmittable-thread-local例1:...原创 2020-02-16 12:13:47 · 121 阅读 · 0 评论 -
线程执行Thread.join()
public class Test { public static void main(String[] args) throws IOException { System.out.println("进入线程"+Thread.currentThread().getName()); Test test = new Test(); M...原创 2020-02-07 20:38:49 · 290 阅读 · 0 评论 -
为什么既要有equls又有hashcode
为什么要有equls 和 hashcode ?hashcode 是根据内存地址计算的,比较的时候效率高,equls 比较的全面,效率低,所以比较的时候先比较hashcode 不一样的话,就没必要比较equls对比Minor GCFull CG发生位置新生代老年代算法复制标记清除/标记整理调优参数 :Xms : Xmx:看日志:XXprintde...原创 2019-11-25 23:30:45 · 184 阅读 · 0 评论 -
Feign Ribbon
Feign 开发的声明式、模板化的HTTP客户端,在Spring Cloud中,使用Feign非常简单——只需创建接口,并在接口上添加注解即可。Ribbon是Netflix发布的负载均衡器它可以帮我们控制HTTP和TCP客户端的行为。只需为Ribbon配置服务提供者地址列表,Ribbon就可基于负载均衡算法计算出要请求的目标服务地址。Ribbon默认为我们提供了很多的负载均衡算法,...原创 2019-11-13 22:19:42 · 196 阅读 · 0 评论 -
我读过的最好的epoll讲解--转自”知乎“
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回...转载 2019-11-01 10:42:57 · 161 阅读 · 0 评论 -
两个大数相加减
题目描述两个大数相加。1、是整数;2、两个数无限大,long都装不下;3、不能用BigInteger;4、不能用任何包装类提供的运算方法;5、两个数都是以字符串的方式提供。思路1、字符串逐位相加,需要进位则进位处理,考虑两个问题:2、char怎么转换为integer, 减去’0’即可3、怎么处理对应位相加?反转字符串相加,正确处理进位即可,4、这样个位对应个位,十位对应十位,...原创 2019-10-17 20:39:27 · 246 阅读 · 0 评论 -
HashMap在jdk1.7和1.8中的区别
学习jdk1.8中的HashMap之前,需要先了解下什么是红黑树(了解红黑树的同学直接从共同点开始看即可):参考:https://www.cnblogs.com/ysocean/p/8032642.htmlhttps://www.cnblogs.com/ysocean/p/8004211.html类型二叉树红黑树说明每个节点最多只能有两个子节点的树型结构。超过两...原创 2019-07-24 23:09:50 · 464 阅读 · 0 评论 -
Java使用栈实现字符串反转
一、java创建栈内存使用java.util包中的Stack类创建一个栈对象public Object push(Object data);输入数据,实现压栈public Object pop();输出数据,实现弹栈public boolean empty()判空public Object peek();查看栈顶元素二、使用栈实现字符串反转import java.io.Buffe...原创 2019-07-22 23:12:24 · 998 阅读 · 0 评论 -
不使用synchronized和lock,如何实现一个线程安全的单例?
搞一下面试题啊单例,大家肯定都不陌生,这是Java中很重要的一个设计模式。稍微了解一点单例的朋友也都知道实现单例是要考虑并发问题的,一般情况下,我们都会使用synchronized来保证线程安全。那么,如果有这样一道面试题:不使用synchronized和lock,如何实现一个线程安全的单例? 你该如何回答? 可以使用饿汉模式实现单例。如:public class Singlet...原创 2019-07-31 23:28:24 · 183 阅读 · 0 评论 -
Unsafe
问题(1)Unsafe是什么?(2)Unsafe只有CAS的功能吗?(3)Unsafe为什么是不安全的?(4)怎么使用Unsafe?简介本章是java并发包专题的第一章,但是第一篇写的却不是java并发包中类,而是java中的魔法类sun.misc.Unsafe。Unsafe为我们提供了访问底层的机制,这种机制仅供java核心类库使用,而不应该被普通用户使用。但是,为了更好地了解...转载 2019-08-05 23:36:58 · 139 阅读 · 0 评论 -
多线程:为什么在while循环中加入System.out.println,线程可以停止
public class StopThread { private static boolean stopRequested; public static void main(String[] args) throws InterruptedException { Thread backgroundThread = new Thread(new Runnabl...原创 2019-08-01 23:49:25 · 221 阅读 · 0 评论 -
java并发锁ReentrantReadWriteLock读写锁源码分析
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-27 22:13:14 · 114 阅读 · 0 评论 -
手撕面试题ThreadLocal!!!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-16 22:33:16 · 133 阅读 · 0 评论 -
《Java虚拟机原理图解》5. JVM类加载器机制与类加载过程
0、前言读完本文,你将了解到:一、为什么说Jabalpur语言是跨平台的二、Java虚拟机启动、加载类过程分析三、类加载器有哪些?其组织结构是怎样的?四、双亲加载模型的逻辑和底层代码实现是怎样的?五、类加载器与Class<T> 实例的关系六、线程上下文加载器一、为什么说Java语言是跨平台的?Java语言之所以说它是跨平台的、可以在当前绝大部...转载 2019-09-28 10:58:00 · 85 阅读 · 0 评论 -
关于泛型的说法
https://docs.oracle.com/javase/tutorial/java/generics/why.html原创 2019-07-04 21:34:56 · 1409 阅读 · 0 评论