- 博客(25)
- 收藏
- 关注
原创 nacos配置
文章目录Nacos 配置一、Nacos服务配置数据模型1.1 命名空间1.2 Group1.3 Data Id1.4 配置方案1.4.1 方案一1.4.2 方案二1.4.3 方案三二、Nacos数据持久化2.1 操作步骤2.1.1 启动数据库2.1.2 数据库文件2.1.3 application.properties 文件三、Ncaos集群部署3.1 具体步骤3.2 集群连接Nacos 配置一、Nacos服务配置数据模型1.1 命名空间 用于配置隔离,不同命名空间下,可以存在相同的Group
2021-09-05 14:02:09
697
原创 Nacos
文章目录Nacos一、概述二、Nacos 运行环境部署三、Spring Cloud Alibaba Nacos Discovery服务注册发现3.1实现服务提供者3.1.1 引入依赖3.1.2 application.properties 配置文件3.1.3 启动类3.1.4 控制层3.2 实现服务消费者3.2.1 引入依赖3.2.2 application.properties 配置文件3.2.3 启动类3.2.4 控制层3.3 服务EndPoint端点EndPoint主要提供了两类信息:四、Spring
2021-09-05 13:58:34
394
原创 垃圾回收器
垃圾回收器1. GC分类与性能指标1.1 垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的 JVM 来实现由于 JDK 的版本处于告诉迭代过程中,因此 Java 发展至今已经衍生了众多的 GC版本从不同角度分析垃圾收集器,可以将 GC分为不同的类型1.2 垃圾回收器分类按线程分,可分为串行垃圾回收器和并行垃圾回收器串行回收指的是在同一时间段内只允许有一个 CPU 用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束在诸如单 C
2021-09-03 09:36:27
944
原创 微信小程序
文章目录微信小程序一、微信小程序介绍1.1 概述1.2 历史二、小程序结构目录2.1 小程序文件结构和传统 web 对比2.2 基本的项目目录三、小程序配置文件3.1 全局配置 app.json3.1.1 tabbar3.2 页面配置 page.json3.3 sitemap 配置四、模板语法4.1 数据绑定4.1.1 普通写法4.1.2 组件属性4.1.3 bool 类型4.2 运算4.2.1 三元运算符4.2.2 算数运算4.2.3 逻辑判断4.2.4 字符串运算4.2.5 注意4.3 列表渲染4.3.
2021-09-03 00:33:05
492
原创 垃圾回收概述
一、垃圾回收概述@TOC1.1 什么是垃圾@TOC垃圾收集,不是 Java 语言的伴生产物。在 1960年,第一门开始使用内存动态分配和垃圾收集技术的 Lisp 语言诞生垃圾收集机制是 Java 的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集提出了新的挑战关于垃圾收集有三个经典问题:哪些内存需要回收什么时候回收如何回收什么是垃圾:垃圾是指在运行程
2021-08-31 01:03:32
776
原创 mock服务
文章目录mock 服务添加依赖构造数据构造实体类控制层本地测试mock 服务添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.proje
2021-08-22 01:03:22
321
原创 垃圾回收相关概念
垃圾回收相关概念一、System.gc() 的理解在默认情况下,通过 System.gc() 或者 Runtime.getRuntime().gc() 的调用,会显式触发 Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存然而 System.gc() 调用附带一个免责声明,无法保证对垃圾收集器的调用JVM实现者可通过 System.gc() 调用来决定 JVM 的GC行为。而一般情况下,垃圾回收应该是自动进行的,无需手动触发,否则就太过于麻烦了。在一些特殊行口下,如我们正
2021-08-19 01:11:14
174
原创 grep、sort、uniq 工具
grep、sort、uniq 工具grep工具是行过滤工具,用于根据关键字进行行过滤 grep [选项] '关键字' 文件名参考文档:https://www.runoob.com/linux/linux-comm-grep.html准备cat /etc/passwd > 1.txtvim 1.txt# 进入末行模式:1,5 s/root/ROOT/g #替换字符串常用选项:# -i:不区分大小写 -n:打印匹配关键字的行号grep -in root 1.txt# w
2021-03-13 11:24:57
303
原创 内部类
内部类定义:即在一个类内部进行其它类结构的嵌套操作程序代码public class Outer { private String str = "outer str~~~"; //定义一个内部类 class Inner { private String inStr = "inner str~~~"; //定义一个普通方法 public void print() { //调用外部类的 str 属性
2021-03-08 14:46:15
61
原创 多态
多态同一操作作用于不同的对象,可产生不同的效果,即多态;概念:多态是同一个行为具有多个不同表现形式或形态的能力;多态性是对象多种表现形式的体现存在的三个必要条件1、继承2、重写3、父类引用指向子类对象当使用多态方式调用方法时,先检查父类中是否存在该方法,若没有则编译错误;有则去调用子类的同名方法;多态的好处1、不必为每一个派生类编写功能调用,只需对抽象类进行处理,可提高程序的可复用性2、派生类的功能可被基类的方法或引用变量所调用,称为向后兼容,可提高可扩充性和可维护性
2021-03-07 17:08:22
72
原创 原型模式
原型模式创建型的模式。通过原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。原型模式用于创建重复的对象,同时又能保证性能,且多用于创建复杂的或者构造耗时的实例,可使程序运行更高效。这种模式实现了 Cloneable 接口,用于创建当前对象的克隆。传统方式克隆优点好理解,简单易操作缺点1、创建对象时,总需要重新获取原始对象的属性,如果创建的对象比较复杂,效率低下; 2、总需要重新初始化对象,而不是动态的
2021-03-06 12:27:19
60
原创 JVM、JRE和JDK的关系
JVM、JRE和JDK的关系JVMJava Virtual Machine,即 Java 虚拟机。只认识 .class 类型的文件,能将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。即 JVM 是 Java 能跨平台的核心JREJava Runtime Enviroment,即 Java 运行时环境。主要包含两个部分:jvm 的标准实现和 Java 的一些基本类库。相对于 jvm 多出来的一部分是 Java 类库JDKJava Development
2021-03-06 10:44:46
94
原创 Shell 传递参数
Shell 传递参数脚本内获取参数的格式为:$nn:代表一个数字,$0 为执行的文件名,$1 为执行脚本的第一个参数参数说明:参数处理说明$*以一个单字符串显示所有向脚本传递的参数$#传递到脚本的参数个数$$脚本运行的当前进程ID号$!后台运行的最后一个进程的ID号$?显示最后命令的退出状态例子:#!/bin/bashecho "传递参数说明"echo "第一个参数:$1"echo "参数个数:$#"echo "传递的参数作为
2021-03-05 13:30:49
85
原创 shell 字符串 数组 注释
shell 字符串字符串可用单引号,也可用双引号,也可不用引号单引号str='hello world'限制单引号里任何字符原样输出,单引号字符串中的变量无效不能单独出现一个引号(转义也不行),可成对出现,作为字符串拼接使用双引号可有变量可出现转义字符获取字符串长度str="abcd"echo ${#str} #输出 4提取字符串str="abcd"echo ${str:1:2} #输出 bcshell 数组支持一维数组(不支持多维数组),数组的大
2021-03-05 12:15:37
138
1
原创 String,StringBuffer和StringBuilder区别
String,StringBuffer和StringBuilder区别String 字符串常量Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需注意: String 的值是不可变的,这就导致每次对 String 的操作都会生成新的 String 对象,不仅效率低下,而且浪费有限的内存空间。StringBuffer 和 StringBuilderStringBuffer 和 StringBuilder 类的对象能被多次的修改,并且不产生新的使用对象
2021-03-04 14:54:45
424
2
原创 接口和抽象类的区别
1.接口和抽象类的区别 概念不同1、接口是对动作的抽象,抽象类是对根源的抽象2、抽象类表示的是:这个对象是什么。接口表示的是:这个对象能做什么即:在高级语言中,一个类只能继承一个类(抽象类),如人不可能同时是生物和非生物;但可实现多个接口 当关注一个事物的本质,用抽象类;关注一个操作,用接口 抽象类的功能要远超过接口,但定义抽象类的代价高。因高级语言,每个类只能继承一个类,在这个类中,须继承和编写出其所有子类的所有共性。虽然接口在功能上会弱化很多,但它只针对一个动作的描述。且一个类中同
2021-03-04 11:26:07
160
1
原创 插值查找算法
插值查找算法主要的公式是:mid = left + (key - arr[left]) / (arr[right] - arr[left]) * (right - left);与二分查找算法的公式有所不一样,二分查找算法的公式mid = (left + right) / 2;插值插值算法和二分插值算法比较:在数据分布均匀的情况下,插值插值算法比二分插值算法较好,但是在数据分布不均匀的情...
2019-12-13 17:24:18
142
原创 希尔排序算法
对直接插入排序方法的改进,希尔排序是一种不稳定的排序方法。//希尔排序的交换法//每次找打合适的位置就交换位置,缺点是导致算法速度频繁交换,花费了更多的时间public static void shellSort_01(int[] arr){ //临时变量,用于交换 int temp = 0; //两个数之间比较的间隔 for(int gap=arr.length/2;gap&g...
2019-12-12 19:43:10
98
原创 直接插入排序算法
直接插入排序算法思路:一个无序数组,首先把第0位当作有序数组,从第1位开始进行比较,找到合适的位置进行插入,在插入完成后,这又是一个有序数组,在从后面的数中跟前面的数进行比较,插入在合适的位置。代码说明://直接插入排序算法public static void insertSort(int[] arr){ //声明插入的数 int insertVal = 0; //声明插入的索引...
2019-12-11 20:09:53
126
原创 八皇后算法
//检查八皇后算法中,放置第n个皇后是否和前后的产生冲突public boolean judge(int n){ //跟前面已经放置的相比较 for(int i=0;i<n;i++) { //1、同一列上产生冲突 //2、行差和列差的值相等产生冲突,即在同一斜线上 if(array[i]==array[n]||Math.abs(n-i)==Math.abs(array[...
2019-12-07 10:18:21
111
原创 二分查找算法
//非递归的二分查找算法public static int binarySearch(int[] arr,int findVal){ int low = 0; int high = arr.length-1; int mid; //退出循环的条件 //1、找到了查找的数 //2、没有找到,左边的下标(low)索引大于右边下标索引(high) while(low <= hig...
2019-12-05 15:47:39
79
原创 JDBC连接
创建连接数据库信息的文件database.properties数据库的驱动driver = com.microsoft.sqlserver.jdbc.SQLServerDriver数据库的连接字符url = jdbc:sqlserver://localhost:1434;database=数据库名称用户名username = sa密码password = xxx//工具类pub...
2019-12-04 15:33:49
81
原创 基数排序
基数排序算法//空间换时间的算法public static void radixSort(int[] arr){ //1、得到数组的最大位数 int index = 0; int max = arr[0]; for(int i=0;i<arr.length;i++) { if(max < arr[i]) max = arr[i]; } int maxLen...
2019-12-01 09:38:33
57
原创 归并排序算法
归并排序两种形式public static void merge(int[] arr,int left,int mid,int right,int[] temp){ int l = left; int r = mid+1; int k=0; //下标索引 //先把左右两边有序的填充到temp数组 //直到有一边完成则退出 while(l<=mid && r&l...
2019-11-28 14:28:50
69
原创 快速排序算法两种方式
快速排序算法两种方式// 以中间的数作为中轴值public static void quickSort(int[] arr,int left,int right){ int l = left; int r = right; int pivot= arr[(left + right)/2]; //左边小于右边,则继续循环 while(l < r) { while(arr[...
2019-11-26 16:29:53
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人