java基础
文章平均质量分 75
我敲代码像把梭
这个作者很懒,什么都没留下…
展开
-
二分法及二分法的变形
常规二分法public int bSearch(int[] a, int n, int value){ int low = 0; int high = n-1; while (low <= high) { int mid = (low + high)/2; if (a[mid] == value) { return mid; } else if (a[mid] < value) { low = mid + 1; } else { high = mid原创 2021-10-18 14:58:11 · 146 阅读 · 0 评论 -
实现分布式锁的三种方式
实现分布式锁的三种方式概述简而言之,要保证一个方法在同一时间内只能被同一个线程执行特性互斥性:可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行可重入:这把锁要是一把可重入锁(避免死锁)避免死锁:有一个客户端在持有锁的过程中崩溃而没有解锁,设置超时自动释放锁,让其他客户端能够加锁持锁人解锁:要保证加锁的客户端与解锁的客户端为同一个数据库分布式锁实现设置一张表,当某个客户端加锁时,插入一条数据,包括方法名,版本号,加锁的客户端信息,重入次数等信息。解原创 2021-06-01 10:01:41 · 172 阅读 · 0 评论 -
JAVA八股文(未整理完)
JVM字节码文件中包含哪些内容版本号信息 226静态常量池(符号常量)类相关的信息字段相关的信息方法相关的信息调试相关的信息JVM的运行时数据区有哪些程序计数器Java虚拟机栈堆内存方法区运行时常量池本地方法栈常用的JVM启动参数有哪些# JVM启动参数不换行 # 设置堆内存 ‐Xmx4g ‐Xms4g # 指定GC算法 ‐XX:+UseG1GC ‐XX:MaxGCPauseMillis=50 # 指定GC并行线程数 ‐XX:ParallelGCThre原创 2021-06-01 10:00:50 · 1047 阅读 · 0 评论 -
支付系统风险总结
造成资金损失风险原因网络异常问题当支付系统调用银行系统后,接口因网络原因发生异常,支付系统未到达最终状态,使用try catch处理后一般会走失败分支。但银行侧的最终状态可能是成功、失败、或处理中、但是商户侧走失败分支后,可能会触发重试机制造成重复出款。网络异常包括(Connection Reset 、Connection Refuse、The target server failed to respond、Connection Timed Out、Socket Read Timed Out等)原创 2021-05-18 16:57:03 · 995 阅读 · 1 评论 -
Spring事务传播性
是什么当多个含有事务的方法进行嵌套调用时,多个方法处理事务的规则传播行为PROCPAGATION_REQUIRED理论如果外层方法开启了事务,内层方法就会加入到外层事务如果外层方法未开启事务,内层方法就会开启新的事务可保证多个嵌套的事务方法在同一个事务内执行,也就是保证多个事务方法同时提交、同时回滚,这个机制可以满足大多数业务场景。实例@Servicepublic class ServiceA { @Autowired private SerivceB serbiceB;原创 2021-05-18 15:51:36 · 178 阅读 · 0 评论 -
stream流式处理demo
package com.Test;import java.util.Arrays;import java.util.List;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Predicate;import java.util.functi...原创 2020-03-02 22:15:14 · 307 阅读 · 0 评论 -
隐藏idea不想看到的文件
打开setting,搜索FileType,在框中输入要隐藏的文件后缀即可;*.classpath;*.gitignore;*.hprof;*.idea;*.iml;*.out;*.project;*.pyc;*.pyo;*.rbc;*.settings;*.sh;*.yarb;*~;.DS_Store;.git;.hg;.svn;CVS;__pycache__;_svn;logs;targe...原创 2019-12-07 15:43:09 · 396 阅读 · 0 评论 -
java线程、并发性学习笔记
1.并发性 多任务:在同一刻运行多个程序的能力。如今单台计算机可能拥有多个cpu,但是并发执行的进程数目并不是由cpu的数目制约的。操作系统将cpu的时间片分配给每一个进程,给人并行处理的感觉 多线程程序:通常,每一个任务称为一个线程,多线程程序指可以同时运行一个以上线程的程序2.线程 线程(英语:thread):操作系统能够进行运算调度的最小单位。它被包含...原创 2019-10-28 13:48:01 · 143 阅读 · 0 评论 -
List删除指定元素以及List删除与另一List相同元素的方法
List删除指定元素在List类中,提供了删除元素的remove()方法,有如下两种传参方式 1.根据index删除,会删除指定位置的元素,源码如下public E remove(int index) { try { ListIterator<E> e = listIterator(index); E outCast = e...原创 2019-10-12 22:50:06 · 5804 阅读 · 0 评论