自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Semaphore原理、源码分析

static final class NonfairSync extends Sync { private static final long serialVersionUID = -2694183684443567898L; NonfairSync(int permits) { // permits等于资源数 super(permits); } // Semaphore 方法, 方便阅读, 放在此处 public void acquire() throws Interrup.

2022-03-09 22:44:02 227

原创 读写锁加锁流程以及源码分析

读写锁接口结构public interface ReadWriteLock { //读锁上锁 Lock readLock(); //写锁上锁 Lock writeLock();}以下源码摘自ReentrantReadWriteLock一、写锁上锁static final class NonfairSync extends Sync { // ... 省略无关代码 // 外部类 WriteLock 方法, 方便阅读, 放在此处 public void lock()

2022-03-09 22:32:34 436

原创 字节dy一二面面经+面试经验(等三面中)

一面项目相关(问了很多项目中使用到的redis)redis里的过期时间如何设定的项目中是否使用redis做了持久化接口和抽象类有什么区别说说GC流程redis持久化(AOF和RDB)三次握手和四次挥手的具体流程tcp为什么可靠(答到了流量控制、拥塞避免、确认应答和同步序列号)那流量控制和拥塞避免具体是做什么的进程间通信的方式说说你的项目中用了哪些进程间通信的方式还问了一下项目中为什么要使用redis题目是将一个有序的上升数组转化成二叉搜索树,然后再通过中序遍历打印这棵树检验是不是转

2022-03-08 21:18:26 805

原创 【力扣每日一题】438. 找到字符串中所有字母异位词 双指针+滑动窗口双解法

原题地址:438. 找到字符串中所有字母异位词本来博主以为对双指针等模板题已经滚瓜烂熟了并且打算从此以后不再写算法博客的,今天做到这个题看到双指针解法我直呼妙!在纸上写了半天终于想明白那一瞬间的开心终于把前几天口红掉进厕所的悲伤覆盖了hhh。题意倒是不难。这里用双指针能很巧妙地还原count的状态。其实也算是双指针的模板题555因为双指针真的用得不难,我以后再也不说我对模板题滚瓜烂熟了(果然板子还是不能硬背)双指针解法class Solution {public: vector&lt

2021-12-10 22:05:53 374

原创 【pta】设计函数求一元多项式的导数。

设计函数求一元多项式的导数。(c语言)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例12 3 -10 1 6 0#include<stdio.h>in...

2021-11-13 22:56:18 2287 1

原创 洛谷 P1090 合并果子(贪心)和 洛谷 P1880 石子合并(区间dp)比较

题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1 次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 1 ,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最

2021-11-13 22:56:11 247

原创 ReentrantLock锁底层原理(加锁、解锁、可打断模式、公平锁、条件变量等源码)

一、加锁1、lock()final void lock() { //先尝试直接加锁 if (compareAndSetState(0, 1)) //成功了就结束方法 setExclusiveOwnerThread(Thread.currentThread()); else //失败了调用acquire(1) acquire(1);}2、acquire(1)public final void acquire(int arg) {

2021-11-11 16:59:56 740

原创 Maven中pom文件配置解析

<?xml version="1.0" encoding="UTF-8"?><!--Maven版本和头文件--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o

2021-11-10 08:55:51 84

原创 【AcWing算法基础】第三讲 搜索与图论

一、DFS1.1 排列数字是全排列的问题,很经典的dfs题,没什么难度,硬敲就行#include<iostream>using namespace std;const int N = 10;int n;int path[N];bool st[N];void dfs(int cnt){ if(cnt==n){ for(int i=0;i<n;i++){ cout<<path[i]<<" ";

2021-11-06 16:01:43 248

原创 【摩尔投票】找出序列中占总数1/2、1/3以上的数

一、占总数1/2面试题 17.10. 主要元素三叶姐姐的题解已经讲得很清楚了。就是代码可能要理解一下:class Solution { public int majorityElement(int[] nums) { int n = nums.length; int x = -1,cnt = 0; for(int num : nums){ if(cnt == 0){ x = num;

2021-10-22 15:24:50 128

原创 【AcWing算法基础】第二讲 数据结构

1、单链表2、双链表3、栈3.1 模拟栈3.2 表达式求值4、队列5、单调栈6、单调队列7、KMP8、Trie9、并查集

2021-10-20 19:16:30 712

原创 【AcWing算法基础】第一讲 基础算法

虽然说有常用的模板,但是更习惯自己写的。4、高精度4.1 高精度加法#include<iostream>#include<vector>#include<string>using namespace std;int main(){ string A,B; cin>>A>>B; vector<int> a,b,c; for(int i=A.size()-1;i>=0;i--) a.

2021-10-15 18:25:35 212

原创 【刷题记录】精选算法100道

跟着这篇博客在刷分类一:dp1、打家劫舍class Solution { int max = 0; public int rob(int[] nums) { int len = nums.length; int[][] dp = new int[len+1][2]; //dp[i][0]表示要偷第i家 //dp[i][1]表示不偷第i家 dp[0][0] = 0; dp[1][1] = 0

2021-09-28 18:45:46 285

原创 【字符串】系列解题

一些常见的字符串问题求解。

2021-09-25 10:00:28 76

原创 pageHelper查询不到总数的原因

controller层的代码如下:@GetMapping("/list")public ModelAndView list(@RequestParam(value = "page",defaultValue = "1") Integer page, @RequestParam(value = "pageSize",defaultValue = "1") Integer pageSize, Map<S

2021-08-15 22:26:39 2095

原创 Springboot项目中常见的工具代码及其依赖(持续更新)

一、Json转化为List首先导入Gson依赖<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId></dependency>2.json转化为List代码/*json转化为List*/List<OrderDetail> orderDetailList = new ArrayList<&g

2021-07-22 01:37:18 175

原创 mybatis逆向工程配置文件GeneratorMapper.xml详解及使用

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration&g

2021-06-24 21:25:05 354

原创 JDBC学习笔记

1.概念:Java Database Connectivity Java数据库连接,Java语言操作数据库*JDBC本质:其实是官方(sun公司 )定义的一套关于操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码时驱动jar包中的实现类。2.入门步骤://1.注册驱动Class.forName("com.mysql.jdbc.Driver"); //2.获取数据库连接对象Connection conn = D

2020-10-01 16:38:32 188

原创 Druid连接池的工具类

一、代码package util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.

2020-09-25 21:09:56 342

原创 如何抽取JDBC工具类:JDBCUtils

目的:简化书写分析:1.注册驱动也抽取2.抽取一个方法获取连接对象需求:不想传递参数(麻烦),还得保证工具类的通用性 解决:配置文件3.抽取一个方法释放资源在IEDA中的分布如下:JDBCUtils即为抽取出来的工具类jdbc.properties文件内容如下:代码实现:package util;import java.io.FileReader;import java.io.IOException;import java.net.URL;import java.sq

2020-09-23 15:39:01 329

原创 【sql】sql中常见的数据类型

大纲图一、数值型1.整型2.小数二、字符型1.较短文本2.较长文本三、日期型一、数值型1.整型整数类型字节范围Tinyint1有符号:-128~127;无符号:0 ~255Smallint2有符号:-32768~ 32767;无符号:0~1677215Mediumint3有符号:-8388608~8388607;无符号:0 ~1677215Int、Interger4非常大Bigint5更加的大特点:①数值设定时,默认有符号②

2020-09-18 08:33:12 2264 1

原创 【sql】进阶1:基础查询

/*select 查询列表 from 表名;1、查询列表可以是:表中的字段、常量值表达式、函数2、查询的结果是一个虚拟的表格*/USE myemployees;#打开库#1.查询表中的单个字段SELECT last_name FROM employees ;#2.查询表中的多个字段SELECT last_name, salary, email FROM employees ;#3.查询表中的所有字段#方式一SELECT `emplo

2020-09-08 21:07:51 104

原创 【哈夫曼树的应用】根据报文创建哈夫曼编码

要传输一则报文内容如下:“AAAAAAAAAAAAAAABBBBBBBBBCCCCCCCCDDDDDDDDDDDDEEEEEEEEEEFFFFF”请为这段报文设计哈夫曼编码,并输出每个字符的哈夫曼编码。思路:将问题分解为四个功能函数,逐个解决#include <stdio.h>#include <string.h>#include <malloc.h>#define MAXLEAF 50#define MAXNODE MAXLEAF*2-1typed

2020-07-04 11:55:40 2066 6

原创 【蓝桥杯】试题 算法训练 关联矩阵

问题描述有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。接下来m行,每行两个整数a、b,表示图中有(a,b)边。注意图中可能含有重边,但不会有自环。输出格式输出该图的关联矩阵,注意请勿改变边和结点的顺序。样例输入5 91 23 11 52 52 32 33 24 35 4样例输出1 -1 1 0 0 0 0 0 0-1 0 0 1 1 1 -1 0 00 1 0 0

2020-05-13 10:56:19 770 3

原创 【pta】两个有序链表序列的合并

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /*...

2020-05-08 16:37:11 651

原创 【pta】汉诺塔的非递归实现

借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。输入格式:输入为一个正整数N,即起始柱上的盘数。输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。输入样例:3输出样例:a -> ca -> bc ...

2020-05-07 17:06:22 991

空空如也

空空如也

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

TA关注的人

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