自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vite整合electron,及错误记录

【代码】vite整合electron,及错误记录。

2022-08-28 20:49:18 1254 1

原创 o1-Linux下MySQL的安装与使用

CentOS6 和 CentOS7在 MySQL 的使用中的区别iptablesfirewalld。

2022-08-24 18:18:02 219

原创 windows 下发送 socket 请求工具

【代码】windows 下发送 socket 请求工具。

2022-08-23 13:49:26 1331 1

转载 回答:IO多路复用是否是同步?

所以你说,有的地方说同步,有的地方说异步,其实是不同分层的视角看。而之所以产生这个问题,一方面是计算机分层思维没有养成,另一方面是对 IO 模型的了解还不够透彻,我这里从头梳理下,希望可以帮到你。据说回答这里有的动图可能展示不全,也可以直接到这里看这篇文章。为了讲多路复用,当然还是要跟风,采用鞭尸的思路,先讲讲传统的网络 IO 的弊端,用拉踩的方式捧起多路复用 IO 的优势。为了方便理解,以下所有代码都是伪代码,知道其表达的意思即可。...

2022-08-10 16:00:59 530

转载 java 安全管理器

保护计算机上的信息不被非法获取和修改时 Java 最初的,也是最基本的设计目标,但同时还要保证 Java 程序在主机上的运行不受影响。JDK 本身提供了基本的安全方面的功能,比如可配置的安全策略、生成消息摘要、生成数字签名等等。同时,Java 也有一些扩展程序,更加全面地支撑了整个安全体系。Java 加密扩展包 (JCE) 提供了密码、安全密钥交换、安全消息摘要、密钥管理系统等功能。Java 安全套接字扩展包 (JSSE) 提供了 SSL(安全套接字层) 的加密功能,保证了与 SSL 服务器或 SSL 客户

2022-07-28 17:41:27 1361

原创 盒子模型、文档流、定位、布局和响应式设计

title: “盒子模型、文档流、定位、布局和响应式设计”当我们设置盒子的宽度与高度的时候,设置的是 的高度与宽度, 和 没有被计算进去。 可通过 设置盒子模型的大小,默认情况下是值 ,即计算内容区计算盒子大小。实际项目中,会按照 计算盒子大小,会将盒子外边框(margin)设置为 0。盒子在文档中如何排列,即行内块元素和块元素。坐标定位浮动定位Flex 容器溢出处理():no-wrap、wrap、wrap-reverse对齐方式( 和 ):flex-start、center、space-betw

2022-07-08 12:01:37 556

原创 Windows安装RabbitMQ 3.8.9

版本关系1、RabbitMQ依赖于Erlang,需要先安装Erlang2、Erlang和RabbitMQ版本有对应关系http://www.rabbitmq.com/which-erlang.html下载安装Erlang 23.1如果下载太慢了,可以把地址贴到迅雷里面,下载到本机https://www.erlang.org/downloads/23.1exe文件一路next就可以配置Erlang环境变量ERLANG_HOME=C:\Program Files\erl23.1Path添

2022-03-27 15:52:16 587

原创 二叉堆实现(优先队列实现)

package heap;/** * @author: huzc * @date: 2022/2/13 15:28 * @description: 优先队列实现 */public class MaxPQ<K extends Comparable<K>>{ private K[] array; // 元素个数 private int n = 0; public MaxPQ(int cap) { array = (K[])

2022-02-13 15:50:31 139

原创 synchronized原理之对象头

如果你能模拟一把锁,你就大概知道了锁其实很简单,就是一个对象里面用了一个变量来标识是否自由状态。所谓加锁就是改变这个对象当中的这个变量;如:status=1,所谓解锁就是把这个变量的值改为0,如果加锁成功就正常返回,如果加锁不成功就死循环或者阻塞。对象头的信息分析已经自己实现了一把锁,那么关于Java当中的内置锁synchronized是怎么实现的?首先为什么我要去研究Java的对象头,因为所谓锁便是给对象一个标识;而这个标识便是存在对象头当中。这里截取一张hotspot的源码当中的注释:这张图换成

2022-01-22 16:37:01 1104 9

原创 02、MySQL的Buffer Pool原理

数据库增删改查说起回顾Buffer Pool存在原因: 对数据库读、写是随机IO操作,是相当慢的。引入解决的问题: 对数据的增删改主要放在内存中执行,增加TPS。为了防止宕机数据丢失,还引入了redo log日志,没刷盘的时候丢失数据,系统重启也能从redo log中加载之前的修改日志。总结Buffer Pool:增删改实际自行地,配合redo log 、刷盘等机制和操作其是一个内存组件,缓存了真实的数据Buffer Pool的内存结构:配置Buffer Pool的大小默认

2022-01-21 12:55:03 974 6

原创 01、MySQL基础笔记

MySQL基础MySQL基本概念MySQL驱动是什么东西?访问数据库则进行网络连接这个网络连接则需要由MySQL驱动创建基于网络连接建立各种CRUD操作数据库连接池解决了什么问题?当并发过高时候,如果此时只有一个数据库连接,多个线程抢占一个数据库连接,肯定会导致效率低下如果每个请求去访问数据库都创建一个连接,使用后进行销毁,那么创建和销毁线程的开销过大,会导致程序效率低下故引进连接池,需要的时候从池里取,不需要的时候放回池里数据库连接池是用来干什么的?

2022-01-21 11:28:30 473 7

原创 nacos详细安装指南(踩坑日记)

更新这篇安装教程的背景:帮别人解决项目问题时,启动了半天 Nacos 都闪退了,去官方文档看了一下启动方法,新版本需要用命令行来配置单机模式启动。1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/re..

2022-01-19 17:08:41 1026

原创 RocketMQ笔记(单机版)

MQ简介项目工程弊端MQ简介MQ(Message Queue)消息队列,是一种用来保存消息数据的队列。队列:数据结构的一种,特征为 “先进先出”何为消息?服务器间的业务请求。原始架构:服务器中的A功能需要调用B、C模块才能完成微服务架构:服务器A向服务器B发送要执行的操作(视为消息)服务器A向服务器C发送要执行的操作(视为消息)MQ作用优势:应用解耦异步提速削峰填谷劣势:系统可用性降低系统复杂度提高一致性问题MQ基本工作模式应用解

2022-01-19 16:01:27 850 5

原创 面试-Java基础篇(一)

技术面试中的几个注意点:面试时,你熟悉的问题要和面试官多聊,不要为了回答问题而回答问题一个问题的沟通时间最好能多聊一会儿,简单问题说3/5分钟,如果问题的规模比较大,10分钟左右也是可以的回答问题时不要为了凑时间而凑时间,聊的内容一定要和问的问题相关,知识点可以连续的引入了解的东西多聊,不了解的少说对于知识可以有一些自己的见解,自己的想法,清晰表述出来,虽然自己的看法有时候不会特别的恰当请聊一下java的集合类,以及在实际项目中你是如何用的?注意说出集合体系,常用类、接口、实现类。加上你

2022-01-19 13:57:32 1639 11

原创 记录一次前后端分离中session问题(应用场景:session记录验证码信息)

最近在学习一个前后端分离的项目,有一个需求是:后端生成验证码,并保存在session中。但是会存在一些问题,因为不同源,所以存在跨域,导致cookie不能被后端接收到,从而导致无法使用session,后来查阅资料解决了,特此记录一些。后端需要允许跨域,全局配置: //设置允许跨域的路径registry.addMapping("/**") //是否允许证书,不再默认开启 .allowCredentials(true) .allowedOrigins("http

2022-01-16 22:09:53 2496 6

原创 如何理解@Autowired?

@Autowired这个注解到底是不是自动装配,这个看似愚蠢的问题,却困扰了我许久。都已经很明显了autowired翻译就是"自动装配",还有什么疑惑呢?确实,但是看了一些视频,发现有人说@Autowired并不是自动装配,并且我也认同,但是翻译明明就是自动装配啊!那该如何理解呢?下面仅仅是我的理解,不对望指正。上面是自动注入的四种模式,先看第一种:“(Default) No autowiring. Bean references must be defined by ref elements.

2022-01-06 23:15:34 1270 1

原创 HashMap无聊之谈

在HashMap中,计算下标使用了这样一个公式: hash & (n-1)。该公式于 hash % n结果是一样的,不过有一个前提:n必须是2的次方数,但第一个公式效率上却要高出许多。why?为了解决心中的疑惑,自己证明了一下,特此记录。首先写几个n的数,大致一看就明白了:n = 4 转换为二进制为100n = 8 转换为二进制为 1000n = 16 转换为二进制为10000…发现 n 的二进制的首位均为 1 ,其余位均为 0 , 因此 n - 1 就刚好相反,其余位均为 1,第一位为

2022-01-06 21:58:43 269 4

原创 原型spring bean之Lookup

平时在用spring帮我们管理bean的时候,大部分情况下bean的scope都是singleton,但是偶尔也会使用prototype,下面看这样一种情况:// connection 对象@Configuration@Scope("prototype")public class Connection { private String name; public String getName() { return name; } public void setName(String nam

2022-01-01 20:41:20 530 6

原创 RabbitMQ部署指南

单机部署在Centos7虚拟机中使用Docker来安装。下载镜像方式一:在线拉取docker pull rabbitmq:3-management方式二:从本地加载镜像包下载地址:rabbitmq镜像docker load -i mq.tar安装MQ执行下面的命令来运行MQ容器:docker run \ -e RABBITMQ_DEFAULT_USER=123456 \ -e RABBITMQ_DEFAULT_PASS=123456 \ --name rabbitmq

2021-12-13 14:28:53 2703 1

转载 关于虚拟内存

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,{% label danger@也就是说程序中访问的内存地址都是实际的物理内存地址 %}。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法:某台计算

2021-12-13 14:26:14 208

原创 用户态和内核态

在Java中,基本我们说的线程(Thread)实际上应该叫作「用户线程」,而对应到操作系统,还有另外一种线程叫作「内核线程」。用户线程和内核线程之间必然存在某种关系,多对一模型、一对一模型和多对多模型Java线程模型多对一线程模型多个用户线程对应到同一个内核线程上,线程的创建、调度、同步的所有细节全部由进程的用户空间线程库来处理。优点:用户线程的很多操作对内核来说都是透明的,不需要用户态和内核态的频繁切换,使线程的创建、调度、同步等非常快;缺点:由于多个用户线程对应到同一个内核线程,如果其

2021-12-13 14:14:45 359 16

转载 MySQL5.7详细下载安装配置教程

title: MySQL5.7史上最详细下载安装配置教程,肝了!tag: mysqldescription: “十步杀一人,千里不留行。事了拂衣去,深藏功与名。” ——李白[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xT57xIDD-1638683182144)(https://io-oi.me/favicon.ico)]下载步骤访问官方网站:MySQL官网。选择Downloads下的Community下载对应的版本,点击上图的MySQL Comm.

2021-12-05 13:47:43 2422

原创 关于aop的几个小知识点

jdk动态代理为什么jdk动态代理使用的是继承而不是实现接口的方式通过获取代理类的字节码可知,jdk动态代理类继承了Proxy,而由于Java是单继承,所以不能使用继承的方式。关于aop中的几个概念aspect:切面join point:连接点pointcut:切点advise:通知…...

2021-11-17 23:03:24 402 2

原创 浅谈MySQL中的join查询

最近在学习关于MySQL优化的问题,涉及到了join的知识,特以此篇文章来记录一下。查阅了一些资料,《MySQL技术内幕》中是这样说的:1)FROM: 对FROM子句中的左表<left_table>和右表<right_table>执行笛卡儿积(Cartesian product),产生虚拟表VT1。2)ON: 对虚拟表VT1应用ON筛选,只有那些符合<join_condition>的行才被插入虚拟表VT2中。3)JOIN:如果指定了OUTER JOIN(如LEF

2021-11-11 22:22:49 986 10

原创 一、MySQL基础篇

MySQL基本概念MySQL驱动是什么东西?访问数据库则进行网络连接这个网络连接则需要由MySQL驱动创建基于网络连接建立各种CRUD操作数据库连接池解决了什么问题?当并发过高时候,如果此时只有一个数据库连接,多个线程抢占一个数据库连接,肯定会导致效率低下。如果每个请求去访问数据库都创建一个连接,使用后进行销毁,那么创建和销毁线程的开销过大,会导致程序效率低下。故引进连接池,需要的时候从池里取,不需要的时候放回池里。数据库连接池是用来干什么的?维护了server与DB之间的多个

2021-11-02 23:01:07 1960 8

原创 安装elasticsearch

部署单点es创建网络需要让es和kibana容器互联,创建一个网络:docker network create es-net加载镜像elasticsearch镜像体积很大,接近1G,直接pull速度较慢。可以去我的网盘下载镜像:点击直接下载elasticsearch运行docker命令,部署单点es:docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=sin

2021-09-12 13:38:41 143

原创 es安装IK分词器

安装es可参考: 《安装elasticsearch》安装ik插件(在线较慢)# 进入容器内部docker exec -it elasticsearch /bin/bash# 在线下载并安装./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip#退出exit

2021-09-12 13:35:39 3234

原创 通宵整理出来的spring boot笔记(很全)

SpringBoot概述SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率SpringBoot功能1)自动配置Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。2)起步依赖起步依赖本质上是一个Maven项目对象模型(P

2021-09-11 17:38:15 1150 3

原创 01、单例模式

对于重量级资源,我们需要采用单例模式进行设计。如:ApplicationContext、ThreadPool示例public class Person{ private Person(){} private static Person instance; public static volatile Person getInstance() { if(null == instance) { synchronized(Person.class) { if(null == in

2021-09-04 12:13:36 113

原创 01消息队列好处,缺点和常见消息队列产品

项目中为什么使用消息队列解耦,降低各个系统间的耦合度,使项目易于维护。将系统产生的消息发送给MQ,不用维护系间的调用,而是让有需要的系统自己来消费消息。异步(提速),提高系统响应的速度(200ms为用户无感知时间)削峰,抗住大量请求涌向数据库消息队列的缺点系统可用性降低系统复杂度提高存在数据一致性问题常见的消息队列产品activemq、rabbitmq、rocketmq、kafka四种消息队列各有优缺点,项目中根据实际情况选择建议: 中小型公司选用rabbitmq(社区活跃

2021-08-23 22:31:37 186

原创 关于安装zookeeper中的一些坑

在安装zookeeper的时候一切都很顺利,启动(zkServer.sh start)也是正常的,但是在使用zkServer.sh status查看状态时,发现zookeeper并未正常启动!而是出现如下情况:原因:不能和Tomcat部署在同一台机器上,因为zookeeper和tomcat同样默认使用的都是8080端口;解决方案:修改zk的端口号修改tomcat的端口号以修改zk的端口为例子去到zk的配置文件,添加如下代码:admin.serverPort=没有被占用的端口号...

2021-05-15 19:42:57 176 1

原创 vue-element-admin整合tinymce富文本编辑器

前端的水太深了,在使用vue-element-admin整合富文本的时候走了不少弯路,踩了不少坑。在网上查了一些博客,但是问题都没能解决好此问题,要么是版本不对应,我使用的是vue-element-admin最新的 版本,目录结构发生了一些变化,要么是整合过来富文本显示为空白。因此想记录一下,供其他人一些参考:最新版的vue-element-admin整合tinymce是非常简单的,省去了之前版本的复杂。首先我们去到官网,将tinymce组件下载下来,文件本身不大,下载很快。将下载下来的文件拷贝

2021-01-03 14:10:15 4192 6

原创 log4j踩的坑

此处不能写console,尚未发现原因# DEBUG < INFO < WARN < ERROR < FATAL# Global logging configurationlog4j.rootLogger=info, stdout,file# My logging configuration...#log4j.logger.com.tocersoft.school=DEBUG#log4j.logger.net.sf.hibernate.cache=debug## Co

2020-10-04 19:10:53 291

原创 JDBC笔记

JDBC核心技术第1章:JDBC概述1.1 数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。1.2 Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库J

2020-09-30 22:29:36 16027 11

原创 编写一个bean工厂类及springIOC原理简述

大体思路:调用工厂类的方法,传递类的名称给工厂类,工厂类通过配置文件获取类的全路径,反射创建对象。编写BeanFactory类-1.0版通过getBean方法反射创建对象import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class BeanFactory { private static Properties pro; static {

2020-09-16 23:20:04 339

原创 使用IDEA创建Maven的Java Web项目(细)

对于新手,使用IDEA通过Maven创建web项目确实是比较棘手的。因此写这篇文章总结了如何用IDEA创建Maven Web项目此前,先用Maven配置阿里云镜像在用Maven下载jar时,速度特别慢,甚至超时下载不下来(下载几个小时时不足为奇…)。因此我们可以用maven配置镜像,提供下载速度。配置如下:在你的maven安装路径下的conf文件夹里面有一个settings.xml文件,打开文件将以下内容添加进你的文件中<mirror> <id>alimaven&

2020-09-15 19:00:59 848

空空如也

空空如也

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

TA关注的人

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