- 博客(57)
- 收藏
- 关注
原创 Nacos的集群配置
Nacos的集群配置nacos的持久化切换到mysql,首先执行nacos自带的nacos-mysql.sql 文件(在nacos的conf文件下)。在nacos/conf 下找到application.properties 文件#*************** Config Module Related Configurations ***************#### If use MySQL as datasource:# 配置mysql的连接spring.datasource.p
2021-01-23 21:20:56
346
原创 JVM02——垃圾回收
一、垃圾回收概述什么是垃圾?垃圾就是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。Java自动内存管理自动内存管理,不需要参与内存的分配与回收,这样可以降低内存的泄露和内存溢出的风险。自动内存管理机制,可以更专注于业务开发。垃圾回收的区域:面试题二、垃圾回收相关算法标记阶段引用计数算法引用计数算法(Refer
2020-08-28 11:44:46
765
原创 JVM01-堆、方法区、对象创建、执行引擎和StringTable
一、堆概述MinorGC、MajorGC和FullGCJVM在进行GC时,并非每次都对上面的三个内存(新生代、老年代;方法区)区域一起回收,大部分时候回收的都是 新生代。针对 HotSpot VM 的实现,它里面的 GC 按照回收区域又分为两种类型:一种是部分收集(Partial GC),一种是整堆收集(Full GC)部分收集:不是完整收集整个Java堆的垃圾收集。其中又分为:新生代收集(Minor GC / Young GC):只是新生代的垃圾收集老年代收集(Major GC / O
2020-08-28 11:39:52
760
2
原创 编码方式 GBK/UTF/Unicode
常见的编码表ASCII:美国标准信息交换码用一个字节的7位来表示ISO8859-1:拉丁码表,欧洲码表用一个字节的8位表示GB2312:中国的编码表。最多两个字节编码所有字符GBK:中国的中文编码表升级,融合了更多的中文文字符号。两个字节解码,定长的编码方式。Unicode:国际标准码,融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。所有的文字都用两个字节表示。UTF-8:变长的编码方式,可用1-4个字节来表示一个字符。关于UnicodeUnicode不完美,
2020-07-17 21:13:52
323
原创 Redis
1、Redis入门1.1 安装1.2 测试性能redis-benchmark 压力测试工具。1.3 Redis是单线程的Redis是单线程的Redis是基于内存操作,CPU并不是Redis的瓶颈,Redis的瓶颈是机器的内存和网络带宽。Redis是基于C语言写的,能够提供 100000+ 的QPS,不必 Memecache差。Redis为什么单线程还这么快?首先多线程并不一定就比单线程快,因为会有CPU上下文的切换。2、五大数据类型2.1 String(字符串)2.2 Lists(
2020-07-14 21:07:03
159
原创 二、用电信号传输 TCP/IP 数据
二、用电信号传输 TCP/IP 数据1 创建套接字1.1 套接字的实体就是通信控制信息 在协议栈内部用一块用于存放控制信息的内存空间,里面记录了控制通信操作的控制信息。包括:通信对象的IP地址、端口号、通信操作的进行状态等。套接字只是一个概念,并不存在实体。 协议栈在执行操作时需要查看这些控制信息。例如,需要查看套接字中的通信对象IP地址和端口号,以便发送数据。协议栈就是根据套接字中记录的控制信息来工作的。在 windows 中可以通过 netstat 命令显示套接字内容:net
2020-07-05 22:36:16
244
原创 HBase中删除操作的迷惑操作
数据所在位置API操作Scan结果type内存deleteColumn旧的数据Delete磁盘deleteColumn旧的数据type=Delete内存deleteColumns全部消失DeleteColumn磁盘deleteColumns全部消失DeleteColumn数据所在位置:是指数据有没有被刷新到磁盘;API操作:Java中对HBase操作的方法;Scan结果:在Shell中执行Scan命令出现的数据;(旧的数据就是指...
2020-06-21 20:11:03
166
原创 VMware中给centos7设置静态ip
在学Hadoop时需要克隆多台虚拟机,但是在设置静态ip时一直不成功,根据网上的教程试了很多次,一直不成功。网上的教程都是先让选择下面这几项:然后让记住这里的子网与网关信息。【从这里就开始出现错误了,因为网上的图片都显示他们的是192.168.X.X,但我的是172.16.119.2,我也不知道为什么】然后运行如下命令进行网络配置:vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"PROXY_METHOD="none"
2020-06-17 11:01:42
200
原创 Mysql设置外键时`CASCADE` 、`NO ACTION` 、`RESTRICT` 、 `SET NULL`的区别
MySQL中外键设置时CASCADE 、NO ACTION 、RESTRICT 、 SET NULL 有什么区别?在设置外键的时候,删除时和更新时两列有四个值可以选择:CASCADE、NO ACTION、RESTRICT、SET NULL ,它们的区别如下:CASCADE :父表delete、update的时候,子表会delete、update掉关联的记录;NO ACTION :在dele...
2020-04-10 00:32:02
506
原创 activeMQ实现群聊
消息中间件的 topic 模式就类似于群聊系统,你发出去的每条消息,只要在这个群里的人都可以接收到消息。那现在就可以通过这种特性实现一个简单的群聊系统。首先这是发送消息的程序:package activeMQ.groupchat;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;import...
2020-04-09 13:33:38
414
原创 activeMQ初体验
1、介绍消息中间件 有两种通信技术:消息队列通信模式:在生产者和消费者之间建立的满足先进先出的消息队列消息队列的消息一旦被某个消费者取走,该消息就会从该队列中删除。消息的出队按照某种负载均衡策略发送给特定的消费者。高级队列模式:带优先级的队列;支持持久性的队列(可以持久化到硬盘)。主题/订阅通信模式:支持向一个特定的消息主题发布消息。多个订阅同一主题的消费者可以同时接收...
2020-04-08 21:08:50
156
原创 阿里云上安装activeMQ
一、安装activeMQ本机环境:MacOS安装环境:阿里云centos7.3已经有了 Java 环境——java version "1.8.0_241"1、下载在官网上下载 ActiveMQ 的安装包:https://activemq.apache.org/components/classic/download/。然后通过 scp 命令把该文件传送到阿里云服务器上。scp 本机安...
2020-04-08 13:56:40
478
原创 Docker02——容器数据卷
4、Docker容器数据卷4.1 是什么Docker 容器产生的数据,如果不通过docker commit 生成新的镜像,使得数据成为镜像的一部分保存下来,那么当容器删除之后,数据自然也就都没有了。为了能够保存数据在 docker中我们使用卷 。4.2 能干什么卷 就是目录或者文件,存在于一个或多个容器中,由 docker 挂在到容器,但不属于联合文件系统,因此能够绕过 Union Fi...
2020-04-02 17:18:17
187
原创 Docker01——容器+镜像
docker011、Docker的基本组成2、容器的操作2.1 新建并启动容器2.2 列出所有在运行的容器2.3 退出容器2.4 启动容器2.5 停止容器2.6 强制停止容器2.7 删除已停止的容器2.8 查看容器日志2.9 查看容器内部细节2.10 进入正在运行的容器并以命令行交互2.11 从容器内拷贝文件到主机上3、镜像3.1 commit操作1、Docker的基本组成镜像(image)...
2020-04-02 17:15:35
138
原创 docker安装tomcat
首先我的环境是 阿里云上的 centos 7。1、获取tomcat镜像我安装的是 8.5 版本,如果需要最新版,下面的命令需要删除 :8.5docker pull tomcat:8.5安装完成后,通过 docker images 查看是否安装成功。2、新建并启动容器docker run --name tomcat01 -p 8080:8080 -d tomcat:8.5上面的命令...
2020-04-02 12:59:49
106
原创 阿里云上搭建一个git服务器
一、环境阿里云上的服务器,版本是CentOS 7。二、搭建git1. 安装git一般而言,现在的服务器已经内置了git安装包,我们只需要执行简单的安装命令即可安装。比如:yum install git2. 创建git用户及权限创建一个git用户来作为今后提交代码的用户。adduser git执行这条命令之后,你会发现在/home目录下多了一个git目录。进入这个 git 目录...
2020-03-31 22:58:53
510
原创 关于异步任务中的ThreadPoolTaskExecutor
ThreadPoolTaskExecutor 和 ThreadPoolExecutor ?首先 ThreadPoolTaskExecutor 是 Spring core包中的,而 ThreadPoolExecutor 是 JDK 中的。前者是对后者的封装处理。3.1 ThreadPoolExecutor我们先来了解下 ThreadPoolExecutor,首先在Java——多线程 中说了...
2020-03-29 13:15:55
453
原创 SpringBoot——任务
异步任务同步任务就是,A调用了B方法,必须要得B执行完了之后才能执行,如果B方法执行的很慢,A页必须等待。鉴于这种方法有时候会很低效,所以就有了异步执行,A调用B方法之后,会再开一个线程去执行B,不会影响A的执行。在SpringBoot中要想实现异步任务十分简单,接下来我们先写一个不是异步方法的代码,@Servicepublic class AsyncService { p...
2020-03-28 23:24:48
86
原创 SpringBoot——电子邮件
发送电子邮件Spring 框架提供了一种使用 JavaMailSender 接口的简单抽象方法发送电子邮件,而 SpringBoot 为其提供了自动配置。首先我们需要导入 spring-boot-starter-mail 包。<!--mail--><dependency> <groupId>org.springframework.boot</g...
2020-03-28 22:31:37
329
原创 Swagger的用法
在前后端分离项目时,对于后端的访问接口常常需要写十分详细的文档,但是在后端更改后,有时候又很难及时更新文档,很是麻烦。这时候,Swagger就可以很好的解决这个问题,前端人员可以直接在网页中看到有哪些功能,并且还可以测试一下。下面,就在 SpringBoot 项目中加入 Swagger。第一步:导包<!--swagger--><dependency> <gr...
2020-03-28 18:52:30
197
原创 HTTP结果封装
对接口调用的返回结果进行统一封装/*HttpResult.java*/import lombok.Data;/** * @author : yanjundong * @date : 2020-03-26 17:02 * @description : HTTP结果封装 */@Datapublic class HttpResult { private int code =...
2020-03-28 10:51:16
358
原创 数据库插入时中文成了 ??
SpringBoot + MyBatis在测试Mapper层时,发现插入的数据有一部分显示成了???:但是在控制台输出的日志显示数据是正常的:发现只有中文的字段没有正常插入,开始以为是创建数据库时设置的字段错误,检查后是UTF-8:最后发现是数据源基本配置时 url 没有加上utf8:url: jdbc:mysql://localhost:3306/umserver?userUn...
2020-03-26 19:14:46
232
原创 MybBatis的mapper配置文件
MyBatis 是持久层的一个框架,可以大大简化写SQL语句时的麻烦、使用高级映射,甚至在其他框架中深受折磨的动态SQL,也能够很方便的实现。以下是我再次阅读官网后,认为需要记录的功能,详细的介绍可以看官方文档。一、select/insert/update/delete对于select,可以支持多行插入(当然得数据库支持);<insert id="insertAuthor" us...
2020-03-24 13:42:19
91
原创 mybatis generator自动生成entity类时多出了XXXWithBLOBs
在逆向生成时,除了会生成 User 类,还会生成一个继承 User 类的UserWithBLOBs 类。解决如下:在[MyBatis Generator] 的官方英文文档中有提到这个问题:→MyBatis GeneratorIf you are using version 8.x of Connector/J you may notice that the generator attemp...
2020-03-23 14:58:28
875
1
原创 Mybatis Generator实现逆向工程
官方文档参考完成的配置参考使用Mybatis逆向工程可以根据数据库的表自动生成pojo类 、mapper接口 、mapper映射文件。首先在 pom.xml 中导入所需要的包:<!--mybatis-generator--><dependency> <groupId>org.mybatis.generator</groupId> &...
2020-03-23 13:45:57
115
原创 MyBatis Generator完整配置
1、完整配置这一部分参考<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-g...
2020-03-23 13:42:13
204
原创 分布式01
一、初识分布式系统1、定义一个分布式系统是由多个通过网络互联的独立自治的计算节点组成。这些节点之间基于**消息传递机制**进行相互协作,以完成共同的目标。从用户的角度看,分布式系统是一个整体,用户在使用系统功能的时候,是感觉不到分布式系统的内部构成和节点之间的协作关系。比如,我们在刷微博时,是感觉不到新浪服务器之间的协作,也更觉不到某一台服务器的更换,我们只感觉像是在跟一台服务器交互。2...
2020-03-18 22:47:51
360
原创 Java——函数式编程
十、函数式编程文章目录十、函数式编程1、Lambda表达式1.1 FunctionalInterface2、方法引用2.1 构造方法引用3、使用Stream3.1 创建StreamStream.of()基于数组或Collection基于Supplier其他方法基本类型3.2 使用map3.3 使用filter3.4 使用reduce3.5 输出集合输出为List输出为数组输出为Map分组输出函...
2020-03-16 21:02:53
216
原创 Java——XML
九、XML1、XML简介XML是可扩展标记语言(Extensible Markup Language)的缩写,它是一种数据表示格式,可以描述十分复杂的数据结构常用于传输和存储数据。一个XML文档大概是长这样:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE note SYSTEM "book.dtd"><bo...
2020-03-13 15:43:20
132
原创 Java——多线程
八、多线程编程文章目录八、多线程编程1、多线程基础1.1 进程1.2 进程与线程1.3 工作模式2、创建线程2.1 Runnable接口2.2 优先级3、线程的状态4、中断线程5、守护线程5.1 创建守护线程6、线程同步6.1 不需要synchronized的操作7、同步方法8、死锁9、使用wait和notify10、使用ReentrantLock10.1 和`synchronized`不同11...
2020-03-12 23:29:29
118
原创 Java——日期和时间
七、日期和时间文章目录七、日期和时间1、Date 和 Calendar1.1 Date格式输出1.2 Calendar2、LocalDateTime2.1 LocalDateTime2.2 日期和时间 <-> 日期、时间2.3 String ->LocalDateTime2.4 DateTimeFormater2.5 LocalDateTime 的计算2.6 `with()`方...
2020-03-11 00:06:30
135
原创 Java——IO
六、IO文章目录六、IO1、File1.1 文件和目录1.2 创建和删除文件1.3 遍历文件和目录2、InputStream2.1 FileInputStream2.2 ByteArrayInputStream3、OutputStream3.1 FileOutputStream3.2 ByteArrayOutputStream4、Filter模式5、操作Zip6、Reader6.1 FileRe...
2020-03-10 19:57:01
161
原创 Java操作zip
压缩和解压实现了:可以压缩文件,也可以压缩文件夹同时支持压缩多级文件夹,工具内部做了递归处理碰到空的文件夹,也可以压缩代码/*ZipUtils.java*/import java.io.*;import java.util.Enumeration;import java.util.List;import java.util.zip.ZipEntry;import java...
2020-03-10 15:23:49
179
原创 Java读取配置文件
在应用程序中,经常需要读取配置文件。Java默认配置文件是以 .properties 为扩展名,每行以 key=value 表示,以 # 开头的是注释。以下是一个配置文件:#prop.propertieslast_open_file=/data/hello.txtauto_save_interval=60读取配置文件我们可以编写一个propertiesUtil工具类:public...
2020-03-09 20:29:28
120
原创 Java——集合
文章目录五、集合1、集合简介2、List2.1 ArrayList2.2 LinkedList2.3 区别2.4 遍历List2.5 List和Array转换List -> ArrayArray -> List3、编写equals方法4、Map4.1 遍历Map5、编写equals和hashCode6、EnumMap7、TreeMap8、Properties9、Set9.1 TreeS...
2020-03-09 19:45:21
162
原创 Java——面向对象基础
一、面向对象基础1、静态字段和静态方法1.1 静态字段在一个 class 中定义的字段,我们称之为实例字段。实例字段的特点是:每个实例都有自己独立的字段,各个实例的同名字段互不影响。另外,还有一种特殊的,用static修饰的字段,称为静态字段:static field。静态字段只有一个共享“空间”,所有实例都会共享该字段。举个例子:/*Person.java*/class Perso...
2020-03-08 10:14:31
75
原创 Java——异常处理
二、异常处理1、Java的异常在计算机程序运行的过程中,总是会出现各种各样的错误。有些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc:// 假设用户输入了abc:String s = "abc";int n = Integer.parseInt(s); // NumberFormatException!还有一些错误是随机出现,并且永远不可能避免的。...
2020-03-08 10:07:24
133
原创 Mac 卸载干净python3.6.7
最近想把电脑上之前装的 python3.6.7 卸载掉,但又怕卸载不干净,经过查找+实践,终于成功了。首先要知道其具体都安装了什么,实际上,在安装 Python 时,其自动生成:Python framework,即 Python 框架;Python 应用目录;指向 Python 的连接;.bash_profile 中python的环境配置。对于我们安装的 Python(v3.6.7...
2020-03-07 10:00:19
1969
1
原创 SpringBoot——国际化
文章目录国际化1、基本使用2、自定义切换3、其他自定义4、语言简称表国际化国际化,也叫 i18n ,这是因为国际化英文是 internationalization ,在 i 和 n 之间有 18 个字母,所以叫 i18n。我们的应用如果做了国际化就可以在不同的语言环境下,方便的进行切换,最常见的就是中文和英文之间的切换。SpringBoot支持国际化,帮助满足不同语言需求的用户。在Spri...
2020-03-06 13:47:40
421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人