自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 【无标题】

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-12-20 09:53:24 862

原创 JAVA 栈,为什么要使用Deque,而不推荐使用Stack

为什么不推荐使用Stack?因为Vector是当初JAVA曾经写得不太行的类,所以Stack也不太行。Vector不行是因为效率不太行,很多方法都用了synchronized修饰,虽然线程安全,但是像ArrayDeque,LinkedList这些线程不安全的,在需要安全的时候也可以用Collections.synchronizedCollection()转化成线程安全的,所以Vector就没什么用处了再根据仿生学Stack只能上进上出,有点像刺胞动物(腔肠动物),就是那种从哪里吃进去就哪里拉出来的那

2022-01-09 10:43:08 642 2

原创 ExcelUtils

package com.charles.mvctest.utils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.poi.openxml4j.opc.OPCPackage;import org.apache.poi.xssf.usermodel.XSSFCell;import org.apache.poi.xssf.usermodel.XSSFRow;impo

2021-12-17 09:43:40 242

原创 数组:二分法和邊界問題,雙指針,模擬

二分查找暴力解法时间复杂度:O(n)二分法时间复杂度:O(logn)编号35:搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0class Solution

2021-11-04 16:34:21 100

原创 k8s与docker

Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。1、从虚拟化角度Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。我们的kuberbete就是管

2021-10-12 22:31:26 430

原创 HTML DOM元素

HTML DOM 方法是我们可以在节点(HTML 元素)上执行的动作。HTML DOM 属性是我们可以在节点(HTML 元素)设置和修改的值。getElementById() 方法getElementById() 方法返回带有指定 ID 的元素:实例var element=document.getElementById("intro");一些常用的 HTML DOM 方法:getElementById(id) - 获取带有指定 id 的节点(元素)appendChild(node) - 插

2021-10-12 15:29:23 160

原创 Mysql基础part1(基础服务和select讲解)

1.指定库和表按F12进行格式化2. 1Select在进行查询操作之前要指定所有的库:use myemployees;查询表中的单个字段:select last_name from employees;查询表中的多个字段:select last_name, salary, email from employees;查询表中的所有字段:select * from employees;起别名:select 100%98 as 结果;select last_name as 姓, first_na

2021-10-07 14:29:13 391

原创 sqlyog和navicat的区别

、1.支持的数据库,sqlyog目前除了mysql好像不支持其他数据库,Navicat支持一大堆的数据库2.sqlyog支持表名过滤,快速找表,当一个项目的表超过30个的时候这个功能就很实用了。3.sqlyog支持单表传到另外的机器上,非常方便,navicat我看了只能同步整个库,不能选表(也可能是我不常用navicat),感觉sqlyog这方面的功能做的更细更完善4.sqlyog还有一个很实用的功能,左边双击对象立即复制对象名到查询窗口,写复杂的查询时候这个功能很重要。5.sqlyog打开一个查询

2021-10-06 14:06:27 13326

原创 jenkins学习

1.jerkins工作流程,是干什么的?只要push就能自动化拉取部署打包发布CI持续集成 Continuous integrationCD持续交付 Continues DeloymentsSVN要关闭跨域请求

2021-10-06 10:54:09 79

原创 KAFKA入门(更新中)

什么是Kafka?发布-订阅消息系统Kafka结构关键术语:(1)生产者和消费者(producer和consumer):消息的发送者叫 Producer,消息的使用者和接受者是 Consumer,生产者将数据保存到 Kafka 集群中,消费者从中获取消息进行业务的处理。(2)broker:Kafka 集群中有很多台 Server,其中每一台 Server 都可以存储消息,将每一台 Server 称为一个 kafka 实例,也叫做 broker。(3)主题(topic):一个 topic 里保存的是

2021-09-21 16:55:42 46

原创 Mybatis-plus 常用配置

1.乐观锁,2.逻辑删除3.自动填充@TableField(… fill = FieldFill.INSERT) 生成器策略部分也可以配置!public class User { // 注意!这里需要标记为填充字段 @TableField(.. fill = FieldFill.INSERT) private String fillField; ....}自定义实现类 MyMetaObjectHandler@Slf4j@Componentpublic

2021-09-19 13:24:06 118

原创 关于分布式系统唯一ID的生成方案

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略一些常见的ID生成策略。1. 数据库自增长序列或字段分表分库的时候会有麻烦,多个系统或者数据库的id合并会有麻烦,而且还有系统和数据库版本差异,算法的不同大量新增记录的时候,IO会集中在一个分区上,造成热点数据。优化方案:有多个Master库,则每个Master库设置的起始数字不一样,步长一样,可以是Master的个数。比如:Master1

2021-09-17 10:19:39 75

原创 专用窗口函数rank

rank函数:这个例子中是5位,5位,5位,8位,也就是如果有并列名次的行,会占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,4。dense_rank函数:这个例子中是5位,5位,5位,6位,也就是如果有并列名次的行,不占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,2。row_number函数:这个例子中是5位,6位,7位,8位,也就是不考虑并列名次的情况。比如前3名是并列的名次,排名是正常的1,2

2021-09-15 15:35:18 982

原创 关于deque的offerLast和polllast方法和stack的区别

一个小细节:在Java 代码中,stack 并未用 push() 和 pop() ,而用的是 offerLast() 和 pollLast() 。这是因为 Deque 提供的 push() 和 pop() 是 “头插头取”,这与 ans.add(new ArrayList(stack)); 所需的顺序刚好相反,所以才改用了 “尾插尾取”。(其实我认为既然要 “尾插尾取”,还不如直接使用 List 呢)...

2021-08-27 21:55:02 1751

原创 leetcode丑数(堆加hashset去重)

给你一个整数 n ,请你找出并返回第 n 个 丑数 。1.什么是丑数:只包含质因子2,3和5的数解法:想要找出第n个丑数,用堆heap可以取出初始时堆为空。首先将最小的丑数 11 加入堆。每次取出堆顶元素 xx,则 xx 是堆中最小的丑数,由于 2x, 3x, 5x2x,3x,5x 也是丑数,因此将 2x, 3x, 5x2x,3x,5x 加入堆。想要不重复,用hashset判断后再存 public int nthUglyNumber2(int n) { int[] yinzi

2021-08-10 14:58:33 110

原创 KMP算法

https://www.cnblogs.com/dusf/p/kmp.html给自己留个眼

2021-07-20 22:23:30 49

原创 @Resource和@Autowired有什么区别?

@Resource和@Autowired有什么区别?@Autowired 根据类型注入@Resource 默认根据名字注入,其次按照类型搜索@Autowired @Qualifie(“userService”) 两个结合起来可以根据名字和类型注入,等同于@Resource

2021-07-20 16:06:07 125

原创 字符串转换整数 (atoi)

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“123” -

2021-06-03 13:50:41 103

原创 Java.Lang

2021-06-01 16:46:18 77

原创 redis命令

进入redis.conf文件后,按“/”键+“关键字”即可进行搜索修改好配置文件后需要进行重启,启动时需要指定配置文件,不然刚才你改的会不生效查看redis是否在运行: ps aux | grep redis 或 netstat -lntp启动redis: redis-server /etc/redis.conf关闭redis: /usr/bin/redis-cli shutdown当设置密码后,上面的关闭命令无效:带密码输入: redis-cli -a [password] 回车后输入:shu

2021-05-28 14:12:09 73

原创 在centos中打开docker的镜像

首先查看docker有的镜像docker images执行Redis应用docker exec -it redis-test /bin/bash然后就进入localhost:6379即系Redis 的默认端口

2021-05-28 12:33:41 168

原创 关于redis主从复制的原理和作用

【聊聊主从 – 同步原理】从服务器会向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中。在数据持久化期间,主服务器将执行的写指令都缓存在内存中。在BGSAVE指令执行完成后,主服务器会将持久化好的RDB文件发送给从服务器,从服务器接到此文件后会将其存储到磁盘上,然后再将其读取到内存中。这个动作完成后,主服务器会将这段时间缓存的写指令再以redis协议的格式发送给从服务器。另外,要说的一点是,即使有多

2021-05-25 15:17:28 104

原创 关于netty-all的一个demo

项目结构如下,需要netty-all的依赖channel适配器import io.netty.buffer.ByteBuf;import io.netty.channel.ChannelHandlerAdapter;import io.netty.channel.ChannelHandlerContext;import io.netty.util.CharsetUtil;import io.netty.util.ReferenceCountUtil;import io.netty.util.

2021-05-21 23:38:31 891 1

原创 反射破坏DCL懒汉单例模式的构造器

package 多线程.单例模式;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;//懒汉式单例模式public class LazyMan { private static boolean key = false; private LazyMan(){ synchron

2021-05-17 23:22:32 111

原创 ThreadPoolExecutor面向面试

线程池的三大方法ExecutorService//工具类 Executors 三大方法;public class Demo01 { public static void main(String[] args) { ExecutorService threadPool = Executors.newSingleThreadExecutor();//单个线程 ExecutorService threadPool2 = Executors.newFixedThrea

2021-05-16 21:19:18 80

原创 大数据时代的3V3高

大数据时代的3V: 主要是描述问题的海量Volume多样variety实时velocity大数据时代的3高: 主要是对程序的要求高并发高可拓高性能真正在公司中的实践: NoSQL + RDBMS 一起使用才是最强的

2021-05-14 16:34:05 211

原创 线程关键字

synchronized 关键字和 volatile 关键字的区别volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。volatile关键字只能用于变量而synchronized关键字可以修饰方法以及代码块。实际开发中使用 synchronized 关键字的场景还是更多一些。多线程访问volatile关键字不会发生阻塞,而synchronized关键字可能会发生阻塞volatile关键字能保证数据的可见性,但不能保证数据的原子性。synch

2021-05-10 14:07:12 421

原创 Hashmap面试垂直深入探究(一环扣一环)

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂。让我们开始探索的旅程吧!“你用过HashMap吗?” “什么是HashMap?你为什么用

2021-05-08 14:41:10 76

原创 HashMap,Hashset,Hashtable

HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。HashMap实现不同步,线程不安全。 HashTable线程安全HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性Hashtable和HashMap的区别:a)   继承不同。  public class Hashtable

2021-05-08 14:31:54 73

原创 Mybatis整合SpringBoot结果集映射实例

Employee实体类import com.charles.sbjdbc.pojo.Department;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.Date;@Data@AllArgsConstructor@NoArgsConstructorpublic class Employee { private Integ.

2021-04-27 16:18:16 176

原创 Springboot常用配置

<?xml version="1.0" encoding="UTF-8"?><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.org/xsd/mav

2021-04-25 19:20:26 50

原创 springboot 里面application.yml自动装配的的可选类的解析和原理

# AutoConfigureCache auto-configuration importsorg.springframework.boot.test.autoconfigure.core.AutoConfigureCache=\org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration# AutoConfigureDataCassandra auto-configuration importsorg.springfra

2021-04-20 21:30:16 202

原创 关于配置实体类在yaml中的注入爆红的问题吧

<!-- 导入配置文件处理器,配置文件进行绑定就会有提示,需要重启 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional></dependency>.

2021-04-20 18:51:45 426 1

原创 idea tomcat乱码

在IDEA中打开 Tomcat配置页面,在VM option 项中加入 -Dfile.encoding=UTF-8

2021-04-17 23:17:42 73

原创 Json乱码配置问题

<!--JSON乱码问题配置--> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg val

2021-04-17 21:52:46 65

原创 SpringMVC配置web.xml

web.xml<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>context

2021-04-17 18:45:54 125

原创 Mybatis-Config.xml

<?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> <settings> <setting name="log

2021-04-09 19:22:40 51

原创 动态代理模版

动态代理模版package com.charles.demo02;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class proxy implements InvocationHandler { /** * 我们要代理的真实对象 */ private Object target

2021-04-08 19:38:15 54

原创 6.Servlet

6.Servlet(Sun公司开发动态web的技术)servlet是他们提供的一个接口有两个默认的类给你继承public abstract class HttpServlet extends GenericServlet开发servlet程序需要两点:1.编写一个类实现接口2.把这个类部署到web服务器那个java程序就是servlet了1.构建一个maven项目1.空白maven只可以删除src以后就在这里建立moudel,这个工程就是maven的主工程放依赖,放入servlet和

2021-04-04 00:20:57 294

原创 QT学习日记

QT学习日记一.QWidget版本选择:win下选择MINGW (编码UTF-8)选择Qwidget之后勾选mingw不然会报错初识main.cpp详解:#include "widget.h"#include <QApplication>//main程序入口int main(int argc, char *argv[]){ //应用程序对象有且仅有一个 QApplication a(argc, argv); //窗口对象Widgt继承父类QWi

2021-04-04 00:20:14 572

b站狂神SpringBoot员工管理系统源码

b站狂神SpringBoot员工管理系统源码

2021-04-25

空空如也

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

TA关注的人

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