- 博客(40)
- 收藏
- 关注
原创 Mysql存储引擎
Memory:这是 MySQL 中的内存存储引擎,适用于需要快速读写的数据存储,但是它不支持持久化存储,当 MySQL 服务重启时,内存中的数据将丢失。可以看到Mysql支持的存储引擎,其中InnoDB是默认的存储引擎(Mysql5.5之后),当建表时没指定存储引擎就会使用默认的存储引擎。Archive:这是 MySQL 中的归档存储引擎,适用于对大量历史数据进行归档存储和压缩的场景,但是不支持索引和事务。NDB:这是 MySQL 中的集群存储引擎,适用于分布式数据存储和高可用性要求较高的场景。
2023-04-03 09:47:12
396
原创 ZooKeeper命令及JavaAPI操作
我们在进行单机应用开发,涉及并发同步的时候,,我们往往采用synchronized或者lock的方式来解决多线程间的代码同步问题,这时候多线程的运行都是在同一个JVM之下,没有任何问题。但当我们的应用时分布式集群工作的情况下,属于多JVM下的工作环境,跨JVM之间已经无法通过多线程的锁解决同步问题。那么就需要一种更加高级的锁机制,来处理跨机器进程之间的数据同步问题,这就是分布式锁。
2023-03-09 19:14:22
653
原创 Linux上安装配置ZooKeeper
进入到conf目录下,会看到一个.cfg结尾的文件,这个就是zookeeper的配置文件。注:第一个括号里面是压缩文件名称,第二个括号里面是解压到指定的目录。根据个人情况修改配置文件当中的dataDir。进入到解压后的文件夹当中,查看一下目录结构。启动zookeeper服务端。将压缩文件拷贝到指定目录下。
2023-03-09 08:48:20
572
原创 Redis主从复制
没有在配置文件当中配置主从关系,当从机断开连接后再恢复,就不再是以前那个主机的从机了,而是自己变成了一台主机。将replicaof 的注释取消,后接主机ip和端口号,如果主机有密码的话要将下面masterauth的注释取消后接上主机的密码。可以看到当前80的服务已经是79的从机了,同样的命令放到81服务当中执行一遍。由于是使用一台服务器来模拟集群,所以需要多个配置文件,本文章是一主二从,所以需要三个配置文件。当主机断开连接,从机没有主机了,无法进行写操作,只能进行读操作,当主机重新启动,恢复正常。
2023-03-08 08:32:09
219
原创 Redis订阅
这里channel就相当于发布者,而client*就是订阅者。发送者发送消息后接收者都能接受到消息(ps:大白话)引用菜鸟教程的两张图片,来搞清发送者和订阅者。发送者向channel01当中发送消息。可以看到返回了channel01。可以看到订阅者接受到了消息。将信息发送到指定的频道。退订所有给定模式的频道。退订所有给定模式的频道。
2023-03-07 15:49:13
118
原创 Docker常用基础命令
创建容器,名称为mn,80:80 使用的镜像是nginx,具体查看官方文档,不同容器创建的命令并不相同。将镜像打包,-o是输出到文件。进入到容器中使用bash命令。查看docker状态。加载一个镜像,从本地。
2023-01-05 13:11:47
172
原创 IDEA+Maven创建javaweb项目out.print()报错
IDEA+Maven创建javaweb项目out.print()报错从原型中创建如图所示注意不要选错!选好项目目录设置好项目名称之后下一步,注意这个地方的Maven路径、用户设置文件、本地仓库要选择自己的,不要使用IDEA自带的MAven!使用Maven当然要配置他的依赖,Maven的依赖在项目下的pom.xml当中配置。例如想要使用<% out.print();%>但是报红,就是因为没有导入依赖。在pom.xml导入自己需要的依赖就可以但有时即使导入依赖也还会出
2022-05-22 14:59:41
1888
原创 Linux启动并进入mongodb指令
Linux启动并进入mongodb指令操作环境VMware16Centos7XShell6首先在VMWare当中启动NoSql_1系统可以使用系统当中的终端,也可以使用XShell6远程链接,此教程使用后者第一步进入mongodb安装目录下的bin目录命令如下cd /usr/local/mongodb/mongodb-linux-x86_64-rhel70-5.0.8/bin/第二步启动mongodb服务命令如下./mongod --config /usr/local/mongo
2022-05-19 13:36:56
25861
原创 codeforces round #760 (div. 3)AB题
题目链接题意:给7个从小到大的数,是由x,y,z,x+y,x+z,y+z,x+y+z组成的,求出x,y,z;思路:由于是从小到大给的序列,所以第一个数就是三个数当中最小的,假设序列从大到小依次为a[0]-a[6];所以x就是a[6],而第三大的数就是a[2]就是x+y,所以y就等于a[2]-a[6],就差一个z不知道,但是知道三个数的和以及x,y的和,所以a[0]-a[2]就是z的值#include<bits/stdc++.h>using namespace std;int main(
2021-12-15 18:45:10
1639
原创 2021-11-23
A - On and Off题意:输入三个数,第一个代表灯开启的时间,第二个代表灯关闭的时间,输入第三个数之后判断在这个时间灯是不是亮着的。思路:二十四小时制,所以要先进行判断是在哪个时间段,再判断x在不在这个区间当中,符合条件就是yes,否则就是no#include<bits/stdc++.h>using namespace std;int main(){ int s,t,x; cin>>s>>t>>x; if(s<
2021-11-23 20:25:00
861
原创 2021-10-03
10.3训练题目链接题意:输入 A B C 在A和B之间找C的倍数,随便输出一个就行,找不到就输出-1注意包含A也包含B循环条件要加等于号#include<bits/stdc++.h>using namespace std;int main(){ long long a,b,c; bool k=true; cin>>a>>b>>c; for(long long i=a;i<=b;i++) {
2021-10-03 22:17:02
90
原创 9.26总结
把之前做过的题在做一遍并且写题解,因为有的题做过第一次第二次拿过来就不一定还能做出来。The Balance of the WorldThe world should be finely balanced. Positive vs. negative, light vs. shadow, and left vs. right brackets. Your mission is to write a program that judges whether a string is balanced with
2021-09-29 21:23:44
265
原创 JavaScript快速入门(一)
JavaScript快速入门(一)JavaScript简介JavaScript能够改变HTML内容JavaScript能够改变HTML属性JavaScript能够改变HTML样式(CSS)JavaScript能够隐藏HTML元素JavaScript的历史Nombas 和 ScriptEase大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代宏操作(macr
2021-09-11 16:25:08
124
原创 CSS快速入门
CSS什么是CSSCascading Style Sheet 层叠级联样式表CSS:表现(美化网页)就比如给一只小鸟上颜色字体,颜色,边距,高度,宽度,背景图片,网页定位,网页浮动…发展史CSS 1.0CSS 2.0 DIV+CSS,HTML与CSS分离的思想,网页变得简单,SEO搜索引擎优化CSS 2.1 浮动,定位CSS 3.0 圆角边框,阴影,动画… 浏览器兼容性。快速入门 <!-- 规范<style> 可以编写css代码,每一个声明,最好以一个分
2021-09-07 21:17:25
307
原创 HTML基础
初识HTML什么是HTMLHTMLHyper Text Markup Language(超文本标记语言)超文本包括:文字,突变,音频,视频,动画等。HTML5,提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素,特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形,图表和动画,以及不需要安装任何插件直接使用网页播放视频等。HTML5的优势世界知名浏览器厂商对HTML5的支持微软Google苹果OperaMozilla市场的
2021-08-27 11:26:29
112
原创 Java网络编程
网络编程ippackage inetAddress;import java.net.InetAddress;import java.net.UnknownHostException;//测试ippublic class Demo01 { public static void main(String[] args) { try { //查询本机地址 InetAddress inetAddress2 = InetAddres
2021-08-26 13:19:48
129
原创 注解和反射
注解和反射什么是注解Annotation是从JDK5.0开始引入的新技术.Annotation的作用不是程序本身,可以对程序做出解释(这一点和注释(comment)没什么区别)可以被其他程序(比如:编译器等)读取。Annotation的格式:注释是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(values=“unchecked”)Annotation在哪里使用?可以附加在package,class,met
2021-08-24 19:07:02
165
原创 Java线程 进程 多线程
Java线程 进程 多线程一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕等等。Process与Thread说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。注意:很多线程是模拟出来的,真正的多线程是指有多个cpu,既多核,如服务器。如果是模拟出
2021-07-30 15:30:11
756
原创 Java学习日记(十二)static关键字详解抽象类接口内部类
Java学习日记(十二)static关键字详解抽象类接口内部类static详解package oop0.Demo;public class Student { private static int age;//静态的变量 private double score;//非静态变量 public static void main(String[] args) { Student s1 = new Student(); System.out.pr
2021-06-27 22:43:42
178
原创 Java学习日记(十一)封装继承多态
Java学习日记(十一)封装继承多态封装该露的露,该藏的藏我们程序设计要求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许对外部干涉;低耦合:仅暴露少量的方法给外部使用。封装通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住:属性私有,get/setpackage oop.Demo;//类 private:私有public class Person { private String name; private i
2021-06-27 20:35:30
148
原创 Java学习日记(十)类与对象
Java学习日记(十)类与对象类是对象的模板,对象是类的实例对象创建package oop;public class Demo06 { public static void main(String[] args) { Student xiaoming = new Student();//创建对象 Student xiaohong = new Student(); xiaoming.age=10; System.out.prin
2021-06-25 22:55:17
117
原创 Java学习日记(九)面向对象,方法调用
Java学习日记(八)面向对象,方法调用方法的定义修饰符返回类型break:跳出switch,结束循环和return的区别方法名:注意规范,见名知意参数列表:(参数类型,参数名)…可变长参数异常抛出package oop;public class Demo01 { //main 放法 public static void main(String[] args) { String s = sayHello(); Sys
2021-06-25 22:01:28
76
原创 Java学习日记(八)递归,数组以及数组的使用
Java学习日记(八)递归,数组以及数组的使用递归,阶乘有递归体,有递归出口。注意!!必须要有递归出口。package method;import java.util.Scanner;public class Demo03 { public static void main(String[] args) { int sum = 0; Scanner scanner = new Scanner(System.in); int a;
2021-06-23 20:25:57
229
原创 Java学习日记(七)方法,以及方法的重载
Java学习日记(七)方法,方法的重载方法Java方法是语句的集合,他们在一起执行一个功能。方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则:一个方法只完成一个功能(原子性)。package method;public class Demo01 { // main方法 public static void main(String[] args) { int sum=add(1,2);
2021-06-20 17:36:01
101
原创 Java学习日记(六)循环控制结构
Java学习日记(六)循环控制结构if-else if-else语法和c语言的语法一样,不详细写。package base01;import java.util.Scanner;public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入分数:");
2021-06-20 14:35:36
85
原创 Java学习日记(五)用户交互,Scanner进阶
Java学习日记(三)用户交互Scanner对象基本语法:Scanner str = new Scanner(System.in);使用完要记得关闭!scanner.close();next()1.一定要读到有效字符才可以结束输入。2.对输入的有效字符前遇到空格,next()方法会自动将其去掉。3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。4.next()不能得到带有空格的字符串。这么说可能有点懵逼,代码演示。`package base01;import
2021-06-19 19:43:23
118
原创 Java学习日记(四)包机制和JavaDoc
Java学习日记(四)包机制和JavaDoc包机制包的本质就是一个文件夹一般理工公司域名倒置作为包文件包中的每一个文件代码的第一行都有一个相当于路径的一行代码package base;具体就是这个样子的,包的名字叫做base,这行代码必须放到第一行包的语法格式package pkg[. pkg[. pkg3…]];为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成这个功能。ps:感觉跟python中的模块非常像javadoc命令是用来生
2021-06-19 13:53:42
97
原创 Java学习日记(三)运算符
Java学习日记(三)运算符运算符包含很多种,加减乘除,取模运算就不再进行整理了。在Java中新学习到了&&有短路的功能,还有四个位运算符 & | ^ ~这四个运算符还有左移 << 右移>>`public class Demo05 { public static void main(String[] args) { boolean a = true; boolean b = false; //&
2021-06-19 13:07:01
163
原创 Java学习日记(二)基本数据类型与类型转换
Java基本数据类型与类型转换Java的数据类型有两大类1.基本类型数值类型包括整数类型,浮点类型,字符类型。boolean类型,就是布尔类型。类型说明byte占1个字节 范围:-128-127short占2个字节 范围 -32768-32767int占4个字节 范围 -2147483648-2147483647long占8个字节 范围 -92233720368547755808-9223372036854775807float占4个字节
2021-06-17 21:57:28
276
原创 Java学习日记(一)向世界呐喊
学习Java的第一天对世界呐喊,第一个Java程序,以及第一篇博客,通过写博客而熟悉Markdown的用法,提高自己的代码能力,希望是一个好的开始,也希望自己能够坚持下去。public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld!"); }}...
2021-06-17 20:18:57
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人