
后端
脑袋不够用的小渣渣
虚负凌云万丈才,一生襟袍未曾开
展开
-
C++中functional函数和bind的用法
std::function是一个可调用对象包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它们的执行。std::function对C++中各种可调用实体(普通函数、Lambda表达式、函数指针、以及其它函数对象等)的封装,形成一个新的可调用的std::function对象,简化调用;std::bind可以看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来适应原对象的参数列表。原创 2023-07-02 22:56:04 · 819 阅读 · 0 评论 -
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 · 699 阅读 · 2 评论 -
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 · 94 阅读 · 0 评论 -
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 · 241 阅读 · 0 评论 -
读写锁及集合安全性问题总结
0、ReentrantReadwriteLock读写锁顾名思义:读可以被多线程同时读,写的时候只能有一个线程去写。独占锁(写锁) :一次只能被一个线程占有共享锁(读锁):多个线程可以同时占有ReadwriteLock读-读可以共存!读-写不能共存!写-写不能共存!package threadMain;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurre原创 2022-01-11 23:52:17 · 302 阅读 · 0 评论 -
JAVA中的锁Synchronized和Lock区别
锁Lock1、常用函数总结synchronizedsynchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象; 4. 修改一个类,其作用的范围原创 2022-01-11 16:38:43 · 325 阅读 · 0 评论 -
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 · 257 阅读 · 0 评论 -
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 · 356 阅读 · 0 评论 -
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 · 223 阅读 · 0 评论 -
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 · 1093 阅读 · 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 · 148 阅读 · 0 评论 -
XML转义字符
<!-- 转义字符不合法的XML字符必须被替换为相应的实体。如果在XML文档中使用类似"<”的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:<message>if salary < 1000then</message>为了避免出现这种情况,必须将字符"<”转换成实体,象下面这样:<message>if salary <1000 then</message>下面是五个在XM原创 2021-07-28 21:49:51 · 207 阅读 · 0 评论 -
mybatis 的核心步骤
一、mybatis核心依赖支持<!-- 配置依赖支持 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> </dependency>原创 2021-07-28 21:41:52 · 122 阅读 · 0 评论 -
Spring 面向切面编程AOP
Spring 面向切面编程AOPAOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。Aop在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点原创 2021-07-27 00:08:34 · 100 阅读 · 0 评论 -
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 · 455 阅读 · 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 · 292 阅读 · 0 评论 -
Spring之IOC本质简述
IOC的本质是:控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。loC是Spring框架的核心内容,使用多种方式完美的实现了loC,可以使用XML配置,也可以使用注解,新版本的Spring也..原创 2021-06-30 00:47:19 · 175 阅读 · 0 评论 -
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 · 280 阅读 · 0 评论 -
二十三种设计模式之代理模式
代理模式分类:静态代理模式角色分析:抽象角色:一般会使用接口或者抽象类来解决。真实角色︰被代理的角色。代理角色∶代理真实角色,代理真实角色后,我们一般会做一些附属操作。客户:访问代理对象的人!代码步骤:接口// 租房public interface Rent { public void rent();}真实角色// 房东public class Host implements Rent { @Override public void原创 2021-06-28 02:09:40 · 92 阅读 · 0 评论 -
二十三种设计模式之桥接模式
桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(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 · 106 阅读 · 0 评论 -
二十三种设计模式之适配器模式
适配器模式// 接口转化器的抽象实现public interface NetToUsb { // 作用:处理请求,网线=>usb public void handleRequest();}// 要被适配的类:网线public class Adaptee { public void request(){ System.out.println("连接网线上网!"); }}// 1.继承(类适配器,单继承)// 2.组合(对象适配器:常.原创 2021-06-26 21:35:56 · 88 阅读 · 0 评论 -
二十三种设计模式之单例模式
单例模式:所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到单例模式。单例模式有八种方式:饿汉式(静态常量)// 静态常量式饿汉模式class Single..原创 2021-06-25 00:21:08 · 97 阅读 · 0 评论 -
二十三种设计模式之原型模式设计
原型模式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 · 116 阅读 · 0 评论 -
二十三种设计模式之建造者模式
建造者模式建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)例子:工厂(建造者模式)︰负责制造汽车(组装过>程和细节在工厂内)// 有指挥的建造public abstract class Builder {原创 2021-06-23 21:59:02 · 113 阅读 · 0 评论 -
二十三种设计模式之工厂模式
第一种创建型模式(new Object )工厂模式作用:实现了创建者和调用者的分离。核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。详细分类:简单工厂模式用来生产同一等级结构中的任意产品(对于增加新的产品,需要扩展已有代码);// 定义接口public interface Car { void name();}public class Tesla implements Car {原创 2021-06-23 00:14:31 · 66 阅读 · 0 评论 -
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 · 125 阅读 · 0 评论 -
关系型数据库的ACID原则
ACID 是关系型数据库的事务机制需要遵守的原则。事务是一个一致和可靠计算的基本单元,由作为原子单元执行的一系列数据库操作组成。数据库库一般在启动时会提供事务机制,包括事务启动、停止、取消或回滚等。关系型数据库支持事务的 ACID 原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),这四种原则保证在事务过程当中数据的正确性,具体描述如下。原子性(A)一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一原创 2021-06-16 01:06:29 · 1499 阅读 · 0 评论 -
关系型数据库事务
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 · 287 阅读 · 0 评论 -
junit单元测试的使用
单元测试@Test注解只有在方法上有效,只要加了这个注解的方法,就可以直接运行!<!-- https://mvnrepository.com/artifact/junit/junit --><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></原创 2021-06-15 23:00:26 · 118 阅读 · 0 评论 -
JDBC的详细插入操作
package com.jdbc;import java.sql.*;public class JdbcTestTwo { private static String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai" + "&?useUnicode=true&characterEncoding=utf8&useSSL=false"; private原创 2021-06-15 21:50:37 · 2484 阅读 · 0 评论 -
JDBC删除操作
package com.jdbc;import java.sql.*;public class JdbcTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=Asia/Shanghai" + "原创 2021-06-15 21:13:31 · 985 阅读 · 0 评论 -
MySQL JDBC URL中几个重要参数说明
jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...参数名称参数说明缺省值最低版本要求user数据库用户名,用于连接数据库所有版本password用户密码(用于连接数据库)所有版本useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse转载 2021-06-14 22:06:35 · 544 阅读 · 0 评论 -
过滤器通过Session实现权限拦截
过滤器的权限拦截编写Session拦截过滤器package com.filter;import com.util.Constant;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * @author 125827 */public cla转载 2021-06-14 14:41:18 · 319 阅读 · 0 评论 -
cook基础
cook练习java代码:package com.servlet;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io原创 2021-05-31 22:21:41 · 151 阅读 · 0 评论 -
javaWeb之servlet详解
开启servletHelloServlet类建立package com.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import原创 2021-05-23 01:51:56 · 104 阅读 · 0 评论 -
Http请求响应梳理
Http响应服务器—响应-----客户端cache-control:private 缓存控制connection :Keep-Alive连接content-Encoding:gzip编码content-Type : text/html类型响应体Accept:告诉浏览器,它所支持的数据类型Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 IS08859-1Accept-Language:告诉浏览器,它的语言环境cache-contro1:缓存控制原创 2021-05-22 22:25:45 · 184 阅读 · 0 评论 -
Markdown使用
Markdown使用的符号:井号,星号,大于号,中括号,竖线,横杠,波浪线,反引号# ,*, > ,【】,|,-,~,`井号+ 空格:根据空格的个数显示各标题的大小,如果省事可以使用ctrl+1~6设置各级标题,如下面的1-5级标题星号有多种组成形式星号+空格:实星标记空格+星号+空格 :空心标记星号+文字+星号:文字变为斜体斜体文字星号星号+文字+星号星号:文字加粗加粗文字星号星号星号+文字+星号星号星号:文字斜体加粗*斜体并加粗*星号星号星号原创 2021-05-22 21:29:34 · 1383 阅读 · 0 评论 -
go语言的入门基础
一、基本的Go开发工具安装//安装beegogo get github.com/astaxie/beegogo get github.com/beego/bee//安装日志包:go get github.com/astaxie/beego/logs//设置代理:go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,direct//如果GO111MODULE=off,那么go命令行将不会使用新的module功能,相反的,它将原创 2021-03-28 20:58:02 · 353 阅读 · 1 评论 -
用SpringBoot整合ES数据库基础
一、SpringBoot整合ES数据库1、配置原生的依赖。<properties> <java.version>1.8</java.version> <!-- 自己定义es版本依赖,保证和本地- -致--> <elasticsearch.version>7.6.2</elasticsearch.version></properties><dependencies> <原创 2021-01-26 21:18:37 · 1128 阅读 · 0 评论