自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 排序

稳定排序算法冒泡排序 插入排序 桶排序 归并排序不稳定排序算法选择排序 希尔排序 堆排序 快速排序

2020-09-04 10:43:19 112

原创 Java关于Excel模板下载乱码

File file = new File(filePath);response.setCharacterEncoding(System.getProperties().getProperty("file.encoding"));

2020-08-03 13:49:33 1054

原创 NIO

CountDownLatch,允许一个或多个线程等待某些操作完成。CyclicBarrier,一种辅助性的同步结构,允许多个线程等待到达某个屏障。Semaphore,Java 版本的信号量实现。如果要读 Buffer 中的值,需要切换模式,从写入模式切换到读出模式。注意,通常在说 NIO 的读操作的时候,我们说的是从 Channel中读数据到 Buffer 中,对应的是对 Buffer 的写入操作,初学者需要理清楚这个。...

2020-07-31 15:29:08 93

原创

偏斜锁会延缓 JIT 预热的进程,所以很多性能测试中会显式地关闭偏斜锁,命令如下:-XX:-UseBiasedLockingfast_enter 是我们熟悉的完整锁获取路径,slow_enter 则是绕过偏斜锁,直接进入轻量级锁获取逻辑。fast_enter 是如何实现的呢?1、biasedLocking定义了偏斜锁相关操作,revoke_and_rebias是获取偏斜锁的入口方法,revoke_at_safepoint 则定义了当检测到安全点时的处理逻辑。2、如果获取偏斜锁失败,则进入

2020-07-30 11:30:59 200

原创 IOC模块

IOC主要实现策略服务定位模式依赖注入上下文的一个依赖查询通用职责依赖处理依赖查找依赖注入生命周期管理容器托管的资源(Java Beans或其他资源)配置容器外部化配置托管的资源(Java Beans或其他资源)什么是IOC简单地说,IOC是反转控制,类似于好莱坞原则,主要有依赖查找和依赖注入实现依赖查找和依赖注入的区别依赖查找是主动或手动的依赖查找方式,通常需要依赖容器或标准API实现。而依赖注入则是手动或自动依赖绑定的方式,无需依赖特定的容器和

2020-07-12 15:27:24 355

转载 迭代特性

小马哥 Spring编程思想笔记文章目录小马哥 Spring编程思想笔记Spring Framework1. 课前准备2. Spring 特性总览3. Spri...

2020-07-11 21:21:46 478

原创 Spring概览

核心特性web技术数据存储技术整合测试

2020-07-11 21:05:44 83

原创 记录JMeter踩坑

文件类型设置为csv参数分隔符设置为",“会不成功,需要设置为”:"

2020-06-28 22:26:54 217

原创 MyBatis

BatchExecutor:批处理执行器只针对修改操作批处理操作必须手动刷新executor.doFlushstatements(isRollback: false);ReuseExecutor:可重用执行器,避免相同语句执行多次预编译MyBatis一级缓存命中条件:1.必须是同一个会话(会话级缓存)2.方法名必须一样,类名也必须一样(statement ID必须一样)3.RowBounds行范围必须一样4.sql语句参数命中条件:操作配置1没有手动清空 -clearCache

2020-06-22 15:49:39 97

原创 递归动态规划问题

斐波那契问题F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.public int f1(int n){ if (n<1) return 0; if (n==1||n==2) return 1; int res = 1,pre = 1,temp=0; for (int i = 3; i <= n ; i++) { temp = res

2020-06-14 22:12:53 337

原创 AbstractQueuedSynchronizer学习

有两种队列同步队列(FIFO队列)条件队列都共用了节点ADT参数 //表示共享 static final Node SHARED = new Node(); //表示独占 static final Node EXCLUSIVE = null; //当前节点线程被取消 static final int CANCELLED = 1; //当前节点的后继节点的线程在等待锁 static final int SIG

2020-06-12 20:53:35 96

原创 CAS学习

定义CAS操作包含三个操作数-内存位置(V)、期望值(A)和新值(B)如果内存位置的值与期望值匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不作任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。(CAS在一些特殊情况下仅返回CAS是否成功,而不提取当前值)CAS有效的说明了“我认为位置V应该包含值A:如果包含该值,则将B放到这个位置;否则,不要更改该位置的值,只告诉我这个位置现在的值即可。”写一个简易CAS锁package concurrent;import java.

2020-06-11 21:21:32 154

原创 FutureTask源码学习

FutureTask作用:将Runable和Callable封装为FutureTask提交submit进线程池ExecutorService pool = Executors.newFixedThreadPool(5);Future future = threadPool.submit(new Runnable实现类);<T> Future<T> submit(Runnable task,T result)Future<?> submit(Runnable t

2020-06-11 12:04:20 113

原创 HashMap

参数//缺省table大小static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大table长度static final int MAXIMUM_CAPACITY = 1 << 30;//缺省负载因子大小static final float DEFAULT_LOAD_FACTOR = 0.75f;//树化阈值static final int TREEIFY_THRESHOLD = 8;

2020-06-09 23:04:36 114

原创 链表的荷兰国旗

解法一:利用一个数组存储node节点,快排思想进行swap操作public Node listPartition(Node head,int pivot){ if (head==null) return null; Node cur = head; int i = 0; //计算节点个数 while (cur!=null){ i ++; cur = cur.next;

2020-06-09 09:55:02 136

原创 链表回文问题

//方法一,利用一个栈 public boolean isPalindrome(Node head){ Stack<Node> stack = new Stack<>(); Node cur = head; while (cur!=null){ stack.push(cur); cur = cur.next; } while (head!=null)

2020-06-09 08:52:46 135

原创 链表翻转

单链表翻转public ListNode reverseList(ListNode head) { ListNode pre = null; while (head!=null){ ListNode next = head.next; head.next = pre; pre = head; head = next; } return pre;

2020-06-08 17:19:52 98

原创 链表问题

链表中倒数第k个节点public ListNode getKthFromEnd(ListNode head, int k) { ListNode fast = head, slow = head; for (int i = 0; i < k; i++) fast = fast.next; while (fast!=null){ fast = fast.next; slow = slow.next;

2020-06-08 15:58:38 193

原创 记录一个list转数组

List<int[]> list = new ArrayList<>();list.toArray(new int[list.size()][]);

2020-06-05 16:24:37 105

原创 字符串的一个测试

字符串的一个测试int a = 5-‘0’;int b = 5+‘0’;int c = ‘0’;char d = (char)( 5+‘0’);int e = d-‘0’;System.out.println(“a:”+a); //a:-43System.out.println(“b:”+b); //b:53System.out.println(“c:”+c); //c:48System.out.println(“d:”+d); //d:5System.o

2020-06-03 07:57:01 140

转载 JVM小结

转自:https://www.jianshu.com/p/9e6841a895b4 注意:我们平时说的栈是指的Java栈,native method stack 里面装的都是native方法。见下文 注意:方法区并不是存放方法的区域,其是存放类的描述信息(模板)的地方 Class loader只是负责class文件的加载,相当于快递员,这个“快递员”并不是...

2020-03-15 09:06:09 119

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除