- 博客(7)
- 收藏
- 关注
原创 中缀表达式转后缀表达式
public class test { public static void main(String[] args) { String str = "(2+((3+4)*(5*6)))"; List<String> revertolist = revertolist(str); List<String> strings = parseToSuffixExpression(revertolist); for (S.
2021-12-30 12:44:48
427
原创 单例设计模式
单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 具体的思路是: (1)别人不能new实例,所以要将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 (2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。 (3)定义一个静态方法返回这个唯一对象。 1.饿汉式 立即加载,就是使用类的时候已经将对象创建完毕(不管以后会不会使用到该实例化对象,先创建了再说。很着急的样子,故
2021-12-18 10:02:07
155
原创 在指定区间反转链表
1.头插法(比较好用) 解题思路: 1、我们定义两个指针,分别称之为 g(guard 守卫) 和 p(point)。 我们首先根据方法的参数 m 确定 g 和 p 的位置。将 g 移动到第一个要反转的节点的前面,将 p 移动到第一个要反转的节点的位置上。我们以 m=2,n=4为例。 2、将 p 后面的元素删除,然后添加到 g 的后面。也即头插法。 3、根据 m 和 n 重复步骤(2) 4、返回 dummy.next 具体代码 class Solution { public Li..
2021-12-17 18:46:41
533
原创 关于MySQL中MVCC的理解
首先,MVCC解决的问题是什么? 数据库并发场景有三种,分别为: 1.读读 :不存在任何问题,也不需要并发控制 2. 读写:有线程安全问题,可能会造成事物隔离性问题,可能遇到脏读、幻读、不可重复读 3. 写写:有线程安全问题,可能存在更新丢失问题 MVCC是一种用来解决读写冲突的无锁并发控制,也就是事务分配单项增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照,所以MVCC可以为数据库解决以下问题: 1.在并发读写数据库...
2021-12-09 10:18:28
497
原创 Java中res.add(list)和res.add(new ArrayList<Integer>(list))的区别
结论与总结: 1.res.add(list)是浅拷贝,将res尾部指向了path地址,后续list内容的变化会导致res的变化。 2.res.add(new ArrayList<>()) 是深拷贝,开辟一个独立地址,地址中存放的内容为list链表,后续list的变化不会影响到res。 具体测试案例: 输出结果: 参考博客: 参考1 参考2 ...
2021-12-04 08:50:53
1003
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人