- 博客(61)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 C++20 协程的使用
C++20引入了协程(Coroutines)的概念,它允许函数在挂起(suspend)和恢复(resume)之间切换,这对于异步编程和生成器等模式非常有用。首先,你需要一个协程返回类型(也称为promise类型),它负责协程的底层实现。上述示例主要是为了演示协程的基本结构和用法,并不保证在所有编译器上都能正常工作。不是标准库的一部分,但可以作为参考实现)这样的类型。然而,为了理解协程的工作原理,我们可以手动定义一个简单的promise类型。或自定义的promise类型来作为协程的返回类型。
2024-06-02 15:08:54
1190
原创 C++ future的使用
C++ 的库是 C++11 标准引入的一个并发编程工具,它允许异步编程和结果检索。通常与std::async和一起使用,以支持异步操作。
2024-06-02 14:55:46
470
原创 C++中functional函数和bind的用法
std::function是一个可调用对象包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它们的执行。std::function对C++中各种可调用实体(普通函数、Lambda表达式、函数指针、以及其它函数对象等)的封装,形成一个新的可调用的std::function对象,简化调用;std::bind可以看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来适应原对象的参数列表。
2023-07-02 22:56:04
817
原创 C++常用的刷题技巧
std::function是一个通用的多态函数包装器,可以调用普通函数、Lambda函数、仿函数、bind对象、类的成员函数和指向数据成员的指针,function定义在名为function.h头文件中。A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;箭头(->):左边必须为指针。使用function函数可以不需要将主函数中的参数传入,直接以引用的方式捕获就可以。如果是二维数组,按照行翻转,比如第一行翻转之后到最后一行。点号(.):左边必须为实体。
2023-06-11 21:17:21
494
原创 C++常用函数语法
若pos+n的值超过了string的大小,则substr会调整n的值,只拷贝到string的末尾。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)sprintf_s是C++标准库中的一个函数,用于将格式化的字符串写入到一个缓冲区中。_Dst是目标起始地址,_Val是要赋的值,_Size是要赋值的字节数。
2023-05-14 19:07:20
689
2
原创 java锁记录从无状态锁->偏向锁->轻量级锁->重量级锁的演化过程
【代码】java锁记录从无状态锁->偏向锁->轻量级锁->重量级锁的演化过程。
2022-08-14 16:27:14
464
原创 【React问题解决】
Remove untracked files, stash or commit any changes, and try again.很久之前就遇到过这个问题,如今又遇到了,随手一记,以防忘记creact-react-app 构建项目之后,npm run eject 暴露项目配置这是git地址有问题,解决方法
2022-07-09 21:52:28
258
原创 CSS垂直居中的7中方法总结
CSS垂直居中的7中方法为了演示,首先创建两个嵌套的 div,然后设置一下大小和背景颜色这样比较容易看出效果。代码如下:// html<div class="outer outer-box"> <div class="inner inner-box"></div></div>// css<style>.outer { height: 100px; width: 100px; background-color: r
2022-01-16 23:15:26
393
1
原创 Java函数式接口
函数式接口/** *程序员必备技术:lambda表达式、链式编程、函数式接口、Stream流式计算 *函数式接口:只有一个方法的接口; *只要是函数型接口可以用Lambda表达式简化;*/@FunctionalInterfacepublic interface Function<T, R> { /** * Applies this function to the given argument. * * @param t the functi
2022-01-16 01:33:17
92
原创 Java线程池总结
线程池技术占用系统的资源,优化资源的使用! => 池化技术=>线程池、连接池、内存池、对象池线程池的好处:1、降低资源的消耗.2、提高响应的速度.3、方便管理。线程复用、可以控制最大并发数、管理线程。线程池:三大方法、7大参数、4种拒绝策略1、初期,弃用的线程池方法package pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/**
2022-01-16 00:08:12
240
原创 Java常用队列总结
1、ArrayBlockingQueue阻塞队列什么情况下,我们会使用阻塞队列: 多线程并发处理,线程池!添加、移除四组API1、抛出异常2、不会抛出异常3、阻塞等待4、超时等待package bq;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.TimeUnit;/** * @Pro
2022-01-12 01:33:40
385
原创 读写锁及集合安全性问题总结
0、ReentrantReadwriteLock读写锁顾名思义:读可以被多线程同时读,写的时候只能有一个线程去写。独占锁(写锁) :一次只能被一个线程占有共享锁(读锁):多个线程可以同时占有ReadwriteLock读-读可以共存!读-写不能共存!写-写不能共存!package threadMain;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurre
2022-01-11 23:52:17
297
原创 JAVA中的锁Synchronized和Lock区别
锁Lock1、常用函数总结synchronizedsynchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象; 4. 修改一个类,其作用的范围
2022-01-11 16:38:43
320
原创 实现一个loading动画
loading动画:1、使用到的常用函数总结自定义属性:--*来声明变量名,var(--*)来使用,也许你要问了,为什么使用--不用$一类的呢,唉,那不是sass、less两个货用了吗var() 函数用于插入自定义的属性值,如果一个属性值在多处被使用,该方法就很有用。justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。/* 对齐方式 */justify-content: center; /* 居中排列 */justify-content:.
2022-01-10 15:04:51
308
原创 Springboot配置绑定和条件装配
其他配置注解@ConditionalOnBean(name = “tom”) // 条件装配 ,存在tom容器时,配置类中所有容器才会生效。@ConditionalOnMissingBean(name = “tom”) // 和上个注解相反@ImportResource(“classpath:bean.xml”) // 导入xml容器配置资源package com.toec.boot.config;/** * @ProjectName: www-ES-Api * @Package: ..
2022-01-10 00:55:39
255
原创 Springboot使用杂谈
1、springboot配置1.0 maven配置最好增加对jdk版本的确认<profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation&
2022-01-10 00:09:52
355
原创 dockers迁移容器数据的方法
# 查看docker中的容器数量docker ps -a # 提交你的变更,并且把容器保存成镜像,命名为 mynewimage。docker commit 3a09b2588478 mynewimage # 把 mynewimage 镜像保存成 tar 文件docker save mynewimage > /tmp/mynewimage.tar# 把 mynewimage.tar 拷贝到新的 Docker 实例中docker load < /tmp/mynewimage.tar.
2021-08-10 01:34:01
219
原创 CentOS 8中无法上网问题解决-无法正常显示ens33中ip地址
ifconfig 查询 无法显示ens33的中 网卡ip地址ing: www.baidu.com: Name or service not known[hadoop100@localhost ~]$ ifconfiglo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<..
2021-08-07 22:02:40
1081
1
原创 spring 整合mybatis
方式一:1.编写数据源配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" ><configuration> <typeAliases> <
2021-07-30 01:03:37
143
原创 XML转义字符
<!-- 转义字符不合法的XML字符必须被替换为相应的实体。如果在XML文档中使用类似"<”的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:<message>if salary < 1000then</message>为了避免出现这种情况,必须将字符"<”转换成实体,象下面这样:<message>if salary <1000 then</message>下面是五个在XM
2021-07-28 21:49:51
205
原创 mybatis 的核心步骤
一、mybatis核心依赖支持<!-- 配置依赖支持 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> </dependency>
2021-07-28 21:41:52
114
原创 Spring 面向切面编程AOP
Spring 面向切面编程AOPAOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aop在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点
2021-07-27 00:08:34
99
原创 Spring注解开发
在Spring4之后,要使用注解开发,必须要保证aop的包导入了使用注解需要导入context约束,增加注解的支持!<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="htt.
2021-07-25 23:29:13
451
6
原创 Springboot注解实现自动装配
Springboot注解实现自动装配jdk1.5支持的注解,Spring2.5就支持注解了。The introduction of annotation-based configuration raised the question of whether this approach is "better"than XML.要使用注解须知:1.导入约束:context约束2.配置注解的支持:context:annotation-config/<?xml version="1.0" e
2021-07-25 02:33:11
290
原创 Vue暴露的属性和方法
Vue暴露 一些属性和方法Vue 选项对象中还暴露了一些有用的属性与方法。在通过实例对象使用选项对象的属性时,属性前面都需要带上前缀 $,以便与用户定义的属性区分开来。例如:<script> const data = { a: 1 } const vm = new Vue({ el: '#example', data: data }) vm.$data === data // => true vm.$el === doc
2021-07-22 22:41:41
2901
2
原创 使用Postman工具对ElasticSearch数据库的操作
Postman工具使用:索引操作 创建索引: PUT请求 路径:http://192.168.200.1:9200/shoping 删除索引: DELETE请求 路径:http://192.168.200.1:9200/shoping 全部查询 : GET请求 路径:http://192.168.200.1:9200/_cat/indices?v 单条检索: GET请求 路径:http://192.168.200.1:9200/shopping/文档操作 创建文档(自定义ID).
2021-07-04 22:55:45
328
原创 Spring之IOC本质简述
IOC的本质是:控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。loC是Spring框架的核心内容,使用多种方式完美的实现了loC,可以使用XML配置,也可以使用注解,新版本的Spring也..
2021-06-30 00:47:19
172
原创 spring简介综述
Spring学习spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架SSH : Struct2 + Spring +HibernateSSM : SpringMvc + Spring + Mybatis官网: https://spring.io/projects/spring-framework#overview官方下载地址: http://repo.spring.io/release/org/springframework/springGitHub: https
2021-06-28 23:13:05
274
原创 二十三种设计模式之代理模式
代理模式分类:静态代理模式角色分析:抽象角色:一般会使用接口或者抽象类来解决。真实角色︰被代理的角色。代理角色∶代理真实角色,代理真实角色后,我们一般会做一些附属操作。客户:访问代理对象的人!代码步骤:接口// 租房public interface Rent { public void rent();}真实角色// 房东public class Host implements Rent { @Override public void
2021-06-28 02:09:40
91
原创 二十三种设计模式之桥接模式
桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。// 品牌public interface Brand { void info();}// 苹果品牌public class Apple implements Brand { @Override public void info() { System.out.println("苹果");.
2021-06-26 23:13:03
105
原创 二十三种设计模式之适配器模式
适配器模式// 接口转化器的抽象实现public interface NetToUsb { // 作用:处理请求,网线=>usb public void handleRequest();}// 要被适配的类:网线public class Adaptee { public void request(){ System.out.println("连接网线上网!"); }}// 1.继承(类适配器,单继承)// 2.组合(对象适配器:常.
2021-06-26 21:35:56
87
原创 二十三种设计模式之单例模式
单例模式:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到单例模式。单例模式有八种方式:饿汉式(静态常量)// 静态常量式饿汉模式class Single..
2021-06-25 00:21:08
97
原创 二十三种设计模式之原型模式设计
原型模式import java.util.Date;/* 原型模式步骤* 1、实现一个接口 Cloneable* 2、重写一个方法 clone()* */public class Video implements Cloneable { private String name; private Date CreateTime; @Override protected Object clone() throws CloneNotSupportedException
2021-06-24 01:06:18
113
原创 二十三种设计模式之建造者模式
建造者模式建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)例子:工厂(建造者模式)︰负责制造汽车(组装过>程和细节在工厂内)// 有指挥的建造public abstract class Builder {
2021-06-23 21:59:02
111
原创 二十三种设计模式之工厂模式
第一种创建型模式(new Object )工厂模式作用:实现了创建者和调用者的分离。核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。详细分类:简单工厂模式用来生产同一等级结构中的任意产品(对于增加新的产品,需要扩展已有代码);// 定义接口public interface Car { void name();}public class Tesla implements Car {
2021-06-23 00:14:31
65
原创 JDBC封装管理
数据库配置文件的编写driver = "com.mysql.jdbc.Driver";url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai&?useUnicode=true&characterEncoding=utf8&useSSL=false";username = "root";password = "1234";编写公共类package com.jdbc;import .
2021-06-16 21:12:38
123
原创 关系型数据库的ACID原则
ACID 是关系型数据库的事务机制需要遵守的原则。事务是一个一致和可靠计算的基本单元,由作为原子单元执行的一系列数据库操作组成。数据库库一般在启动时会提供事务机制,包括事务启动、停止、取消或回滚等。关系型数据库支持事务的 ACID 原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),这四种原则保证在事务过程当中数据的正确性,具体描述如下。原子性(A)一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一
2021-06-16 01:06:29
1485
原创 关系型数据库事务
SQL语句:CREATE TABLE account ( id INT PRIMARY KEY auto_increment, `name` VARCHAR(40), money FLOAT);INSERT INTO account (`name`,money) VALUES ('A',1000);INSERT INTO account (`name`,money) VALUES ('B',1000);INSERT INTO account (`name`,money) V
2021-06-16 01:04:10
284
verdaccio 重启之后 之前用户名 、密码不能使用怎么处理?
2022-03-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人