- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 ReentrantReadWriteLock 使用示例
ReadWriteLock 使用示例1.使用场景前两天同事发给我一个工具类,封装了调用第三方接口的方法。第三方接口调用需要带上访问凭据accessToken ,需要先调用login接口传入username password获取该token.他在方法内部,每个业务请求之前都login获取新的accessToken ,我认为这样做不优雅,因为accessToken 不是一次性的,是有有效时间...
2022-09-23 14:28:00 437
原创 非递归遍历二叉树Java
import java.util.*;public class Test { static class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int val) { this.val = val; ...
2022-06-28 00:51:00 267
原创 新人考试(100分) 有10道2分题..
题一:新人考试(100分)题目描述有10道2分题,10道4分题,5道8分题,满分100分,答对得分,答错不得分,累计错三道则停止作答结算分数输入:最终作答者获得分数 n输出:作答可能的情况总数 mpublic class NC { // 情况计数 static int count = 0; //题目的分值数组 static int[] nums = {2, ...
2022-05-19 14:05:00 336
原创 JVM的内存区域
HotSpot 虚拟机一、JVM的内存区域1.1 运行时数据区1.1.1 程序计数器 Program Counter Register 占据一块较小的内存空间,可以看做当前线程所执行的字节码的行号指示器。在虚拟机概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。由于jv...
2021-12-28 14:21:00 225
原创 NC46 加起来和为目标值的组合(二)
NC46 加起来和为目标值的组合(二)刷题的时候经常可以遇到这一类型的题目。这道题总有测试用例超时,总结一下,看能不能更清晰。//这里并不是题解,而是求出数组数字所有的组合 例如 [1,2,3] -> [[1],[1,2],[1,2,3],[2],[2,3],[3]]//求 数组中任意组合的和==target 就需要先列出所有的组合。先看懂这段代码。public class...
2021-12-01 16:11:00 378 2
原创 kafka传递保证语义
kafka传递保证语义Delivery guarantee semanticAt most once :消息可能会丢失,但绝不会重复传递。At least once :消息绝不会丢失,但可能会重复传递。Exactly once :每条消息只会被传递一次。At least once + consumer 幂等。如何实现Exactly once:实现Exactly once 需要生...
2021-11-26 14:35:00 182
原创 NC27 集合的所有子集(一)
1.题目描述现在有一个没有重复元素的整数集合S,求S的所有子集注意:你给出的子集中的元素必须按升序排列给出的解集中不能出现重复的元素数据范围:1≤n≤5,集合中的任意元素满足∣val∣≤10要求:空间复杂度 O(n!),时间复杂度 O(n!)示例1输入:[1,2,3]返回值:[[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]示例2输入...
2021-11-26 10:06:00 374
原创 最长递增子序列
原数组 arr [4 2 3 1 5] LinkedList<Integer> vec ;i arr vec0 4 4 //直接添加1 2 2 // 2小于4 替换掉42 3 2 3 //直接添加3 1 1 3 // 1 小于 2 替换。 即...
2021-09-16 16:17:00 87
转载 一文弄懂Spring事务管理
Spring事务失效的12种场景转载于 https://mp.weixin.qq.com/s/4M4rePjjy8-UBVvCzHchTQ前言对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。...
2021-09-10 09:44:00 185
原创 面试编程题
面试遇到了几个面试题 记录一下。1. 反射 + 代理import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/** * 1. IA 接口类中的getName()方法只是示例 * 2. 实现checkName方法,要求: * ...
2021-09-09 09:29:00 200
原创 ~ 非运算操作
java ~ 非运算操作看源码ThreadPoolExecutor 源码时,看到了这么一段~ 非运算符自己编程的时候用的比较少,于是就验证了一下这个运算符。//https://blog.csdn.net/wenxinwukui234/article/details/42119265 关于补码,我的总结是: 补码巧妙的运用了“进位丢失” 使得补码运算满足 -x + x = 0 ,...
2021-08-30 13:56:00 306
原创 大数字之和 Java实现
package Exercises;import java.util.Arrays;import java.util.Scanner;/** * 大数字之和, 字符串-字符数组实现 * 2020 07 12 */public class TheSumOfLargeNumbers { public static void main(String[] args) { ...
2021-08-27 16:16:00 186 1
原创 二分查找树(BST)源码
1.BST (Binary Search Tree)package BinarySearchTree;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.Queue;import BinarySearchTree.BST.TreeNod...
2021-08-27 15:08:00 166
原创 排序算法(五) 归并排序
1.动图演示1.1自顶向下的归并排序2.代码实现2.1自顶向下的归并排序package sort;import java.util.Arrays;// 测试工具类在这里 https://www.cnblogs.com/paidaxing7090/p/15080493.htmlimport 测试工具类.SortTestHelper;public class MergeSort...
2021-08-27 14:43:00 125
原创 NC78 反转链表
public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre = null; //保存前驱节点 ListNode cur = head; // cur 一开始指向头节点 ListNode nex = null; // 临时保存cur....
2021-08-27 10:35:00 236
原创 使用top命令、dump文件定位问题
使用top命令、dump文件定位问题1.背景定位java应用出问题的代码块2.一个demo一个springboot创建的demoimport org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestCo...
2021-08-26 10:44:00 432
原创 Sum by Factors
public static String sumOfDivided(int[] s) { for (int i:s){ primeFactors(i); } String[] res = {""}; integers.forEach( x->{ int sum = 0; ...
2021-08-17 15:00:00 181
原创 排序算法(四) 希尔排序
shellSort1.动图演示2.代码实现//测试工具类在这里 https://www.cnblogs.com/paidaxing7090/p/15080493.htmlimport 测试工具类.SortTestHelper;public class ShellSort { // 我们的算法类不允许产生任何实例 private ShellSort(){} ...
2021-08-02 12:32:00 80
原创 排序算法(三) 插入排序
InsertionSort1.动图演示1. 动图1双层循环,外部循环选择需要与数组中前面元素比较的元素。内层循环,从该选定元素开始 与 该元素左边的元素进行比较。如果选定元素小于左边元素 则与之交换位置。直至找到正确的位置,此次内层循环后,左侧部分元素已经有序。2.动图2动图1的优化版本。每次比较的时候不再与前面的元素交换位置。如果选定元素 比 左边的小,则让左边元素覆盖相邻右边元素...
2021-08-02 10:15:00 118
原创 排序算法(二) 选择排序
SelectionSort1.动图演示2.代码实现测试工具类 从这里复制 https://www.cnblogs.com/paidaxing7090/p/15080493.htmlimport 测试工具类.SortTestHelper;public class SelectionSort3{ // 我们的算法类不允许产生任何实例 public stati...
2021-07-31 12:42:00 119
原创 排序算法(一) 冒泡排序
BubbleSort1.动图演示2.代码实现2.1 测试工具类import java.lang.reflect.Method;/** * 测试排序的工具类 * 后续测试其他排序时也会用到 */public class SortTestHelper { // private 修饰构造方法。不允许产生任何该类实例 private SortTestHelper(...
2021-07-30 17:00:00 153
原创 spring-boot-starter-validation 校验参数
spring-boot-starter-validation 校验参数一、前言本章介绍使用spring-boot-starter-validation 校验 SpringMVC 的入参。<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-b...
2021-07-29 11:20:00 794
原创 Spring事务传播
1.事务传播特性2.实测教员说过,实践是检验真理的唯一标准。2.1 建表mysql数据库CREATE TABLE `student` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(45) NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=Inn...
2021-07-15 17:00:00 783
原创 记一次日志框架使用不当的事故
事故以及原因排查上午运维的同事告诉我某个系统登录不进了。赶紧测试了一下,然后就连接到服务器排查具体原因。jps 一看 服务全部都挂了,根本没有在运行的。赶紧看日志 ,发现有一个服务 logback 归档了大量的错误日志。一个100M 一天300个 周末这两天 到周一早上刚好把硬盘空间撑满了。df -h 查看有一个挂载点确实满了然后 使用 du -h --max-depth = 1 查...
2021-07-12 15:46:00 96
原创 分布式事务(二): XA分布式事务协议
分布式事务解决方案分布式事务有如下解决方案:XA分布式事务协议1 二阶段提交方案:强一致性阶段 1:准备阶段准备阶段有如下三个步骤:协调者向所有参与者发送事务内容,询问是否可以提交事务,并等待所有参与者答复。各参与者执行事务操作,将 undo 和 redo 信息记入事务日志中(但不提交事务)。如参与者执行成功,给协调者反馈 yes,即可以提交;如执行失败,给协调者反馈 no,即...
2021-07-08 09:52:00 328
原创 分布式事务(一) :分布式事务的概念
1.分布式事务的概念数据库事务:分布式事务:一项业务操作可能会调用执行多个微服务。如何保证多个服务执行的多个数据库的操作整体成功或整体失败?这就是分布式事务要解决的问题。2.CAP 、BASE原则2.1 CAPCAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于网络硬件肯定会出现延迟丢包等问题,所以分区容错性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡...
2021-07-08 09:44:00 178
原创 使用EsayExcel 实现 web上传excel文件(读取excel文件)
使用EsayExcel 实现 web上传excel文件(读取excel文件)1.创建项目、添加依赖<!-- 官方文档 https://www.yuque.com/easyexcel/doc/read#1bfaf593 --> <dependency> <groupId>com.alibaba</groupI...
2021-06-25 15:06:00 934
转载 设计模式之SOLID原则
转载:https://insights.thoughtworks.cn/what-is-solid-principle/尽管大家都认为SOLID是非常重要的设计原则,并且对每一条原则都耳熟能详,但我发现大部分开发者并没有真正理解。要获得最大收益,就必须理解它们之间的关系,并综合应用所有这些原则。只有把SOLID作为一个整体,才可能构建出坚实(Solid)的软件。遗憾的是,我们看到的书籍和文章都...
2021-06-03 16:26:00 248
原创 reflect 反射
reflect 反射1. reflect 反射,理解成“透视”会更准确一点 文本配置文件 config.txt day1901.A;a day1901.B;b day1901.C;c day1901.D;d 使用‘类对象’来执行反射 反射获得一个类的定义信息 反射创建对象 反射调用成员变量、方法 2.获得类对象的三种方式 A.class C...
2021-06-03 15:01:00 115
原创 Java8 stream流 基本用例、用法
1. 处理 List 三种方式对比public static void main(String[] args) { // 1. 添加测试数据:存储多个账号的列表 List<String> accounts = new ArrayList<String>(); accounts.add("tom"); a...
2021-06-03 14:37:00 116
原创 suse openoffice安装
1.官网下载openofficehttp://www.openoffice.org/download/index.html具体选择哪个包下载,根据操作系统选择,鼠标悬停橙色字体位置会有提示。2.解压tar -xvf Apache_OpenOffice_4.1.9_Linux_x86-64_install-rpm_zh-CN.tar.gz按照图片创建目录。3.安装注意提前安装jdk...
2021-03-08 11:18:00 196
原创 axios 发送并发请求
axios.all([ axios({ url:'', params:{} }), axios({ url:'', params:{} })]).then(res => { //res 是一个数组 console.log(res); })-...
2021-01-16 23:09:00 157
原创 docker 挂载文件(不是挂载目录)
docker 启动容器时 有时候需要挂载文件,注意不是挂载目录。有时候启动容器,例如 启动 nginx 或 mysql 需要挂载一个文件,docker应该不推荐这么做的。例如 ,直接执行如下命令 ,是会报错的。docker run -p 3306:3306 --restart=always --privileged=true --name mysql -v /opt/mysql/dat...
2021-01-05 09:53:00 5664 6
原创 求最大子序列和 时间复杂度O(N)
/** * @author wang * @description * 给定有可能负的整数 A1 A2 A3 ...An * 求 Ai+...+Ak (即最大子序列和)的最大值 (0 =< i <= k <= n) * 如果所有整数为负数,则最大子序列和为 0 * * 关于这段代码的描述: * 在求最大子序列和时,假设第x个数加到thisSum中,导致t...
2021-01-03 03:33:00 247
原创 springboot应用配置文件中密码加密
数据库密码直接明文写在配置中,对安全来说,是一个很大的挑战。一旦密码泄漏,将会带来很大的安全隐患。尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密。本文着重介绍Jasypt对SpringBoot配置文件加密。引入依赖:<dependency> <groupId>com.github.ulisesbocchio</group...
2020-12-31 16:22:00 277
常用的排序算法(java实现),附带一个PPT动画演示、详解了其中三种
2020-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人