- 博客(24)
- 收藏
- 关注
原创 Spring配置文件属性注入常见方式
Environment 接口是 Spring 中用于管理和访问应用程序环境的关键组件,提供了灵活的方式来处理配置和属性。
2024-09-03 17:37:22 197
原创 对象变更记录objectlog工具(持续跟新)
记录单个对象属性变化的日志工具,工具采用spring切面和mybatis拦截器相关技术编写了api依赖包,以非侵入方式实现对标记的对象属性进行记录,仅需要导入依赖即可,几乎不需要对原系统代码改动.
2024-03-03 00:06:21 669 1
原创 两个线程交替输出问题
synchronize实现public class SynchronizedArr { public static void main(String[] args) { char[] chars = {'A', 'B', 'C', 'D', 'E'}; int[] arr = {1, 2, 3, 4, 5}; final Object lock = new Object(); new Thread(() -> {
2021-10-05 23:32:03 366
原创 高并发学习笔记4-内存屏障
说明:本博客仅为个人学习笔记,无任何商业用途。1、前言上文我们讲到引入写缓存器和无效化队列的优缺点,本文我们讨论可见性和重排序相关的问题。2、产生背景写缓冲器对于变量的更新操作如果没有写到相应的处理器的高速缓存中,对其他处理器来说仍然不可见的,因为写缓冲器是处理器私有的东西。写缓冲器写入高速缓存的条件是,接收到了其他处理器的Invalidate Acknowledge的消息。若在此期间出现的读操作就会出现可见性问题无效化队列读取数据时候,如果没有将无效化队列中相应的缓存条目置为 I,则可
2021-10-05 13:24:35 469
原创 高并发学习笔记3-写缓冲器与无效化队列
说明:本博客仅为个人学习笔记,无任何商业用途。1、前言MESI协议解决了缓存一致性问题,但是其自身也存在一个性能弱点,处理器执行写内存操作时,必须等待其他所有处理器将自身高速缓存中相应的副本数据删除之后所发出的Invalidate Acknowledge/Read Response消息之后才能将数据写入高速缓存。 为了避免和减少这种等待所造成的写操作延迟(latency),硬件设计者引入了写缓存器和无效化队列2、CPU架构图3、写缓冲器 写缓冲器是处理器内部的一个容
2021-10-05 12:58:19 579 2
原创 oracle11g使用Navicat连接方法
前言首先你需要了解Oracle11g安装过程中你指定的指令:Oracle11g安装步骤参考工具版号Navicat11.0.10Oracle11.2.0.1.0文件下载instantclient-basic-nt-11.2.0.4.0.zipinstantclient-sqlplus-nt-11.2.0.4.0.zip因为Navicat改版本下只支持32bit的instantclient所以我们下载32bit的即可下载地址文件压缩我的压缩路径:文件配置说明:第一个对应:
2020-09-01 22:19:44 4986 1
原创 NAT模式下SSH连接虚拟机
简介VirtualBox6.1,Centos6.5,FinalShell由于使用学校内网ip地址发生变化,桥接模式仅能获取IPV6地址,因此使用NAT模式实现本地主机ip和虚拟机共享,因此使用SSH时需要端口转发,下面我们进行配置。步骤1、查看Centos的虚拟ipv4地址这个一般是你先配置成NAT模式,然后你虚拟机里面就有ipv4地址了,然后你的虚拟机也可以上网,你想利用SSH的工具就需要配置端口转发,下面将会提到。2、查看本机地址这个就是当时你配置的virtualbox虚拟地址,就是你虚
2020-08-29 23:12:37 2640
原创 SWUST oj 1042: 中缀表达式转换为后缀表达式
题目描述中缀表达式是一个通用的算术或逻辑公式表示方法,操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将中缀表达式转换为后缀表达式。(测试数据元素为单个字符)输入...
2020-04-22 11:35:27 2079 1
原创 SWUST oj 962: 括号匹配问题
题目描述假设表达式中允许包含两种括号:圆括号和方括号。编写一个算法判断表达式中的括号是否正确配对。输入由括号构成的字符串,包含”(“、”)“、”[“和”]“。输出如果匹配输出YES,否则输出NO。样例输入[([][]())]样例输出YES思路判断是否匹配,关键是,要怎么判断,在本题中,我们应该要这样做:左括号应该进符号栈,而遇到右括号就马上进行判断是否和符号栈的顶元素是...
2020-04-22 11:22:23 1305
原创 SWUST oj 446: 合并排序
446: 合并排序题目描述这是一个很简单的排序题目. 为了锻炼大家对不同算法的了解,请大家用归并排序法对此题进行解答. 对一组整数数列A[1],A[2],A[3]…A[N]进行排序,按照从小到大的顺序输出.输入本题只有一组测试数据,在输入的第一行输入N(表示整数数列的大小)(N < 1000)接下来N行输入N个整数,每一行一个整数.输出对已经排好序的数从小到大依次输出,每两个数之间用...
2020-04-22 11:07:05 4074 2
原创 SWUST oj 348: 花生采摘
题目描述鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。 鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株...
2020-03-27 21:37:55 4357 6
原创 SWUST oj 254: 翻煎饼
题目描述麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟。最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起。 这天,为了庆祝麦兜被保送上研究生,他从煎饼师傅那里买回来一些煎饼请客。但是麦兜买回的煎饼大小不一,麦兜太想吃煎饼了,他想吃这些煎饼中最大的那个。麦兜还知道同学们也很喜欢煎饼,为了表示他的诚意,他想让同学...
2020-03-27 15:00:46 1938 2
原创 SWUST oj 536: The Josephus Problem
题目描述The problem is named after Flavius Josephus, a Jewish historian who participated in and chronicled the Jewish revolt of 66-70C.E. against the Romans. Josephus, as a general, managed to hold the f...
2020-03-27 14:46:50 3018
原创 mybatis中resultMap的Colum和property属性
resultMap标签当我们的数据库字段与实体类的属性不一致时,就需要使用该标签进行一一映射。
2019-11-03 17:20:55 9260 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人