SpringBoot迁移到SpringCloud
SpringCloud环境搭建-docker一.环境准备1.安装consul创建网络
docker network create 名称
拉取docker镜像
docker pull consul
创建本地目录,应根据自己实际情况创建
cd ~mkdir consul
启动docker容器
docker run -d -p 8500:8500 –net=cloudnet –name=consul
**此时就可在浏览器访问看到
2.安装本地docker仓库
docker pull registry
docker run -d -p 15000:5000 –restart always –name registry registry
3安装rabbitmq
docker pull rabbitmqdocker run -d –name=rabbitmq –net=cloudnet rabbitmq
4.启动网关模块GatewayApplication从测试服保存镜像docker save -o 镜像路径 镜像iddocker sa ...
Java学习
Java基础的学习很重要
Java学习一、面向对象1.面向对象五大原则1.单一自责原则(Single-Responsibility Principle)
一个类,最好只做一件事,只有一个引起它的变化
2.开放封闭原则(Open-Close principle)
软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。
3.里氏替换原则(Liskov-Substitution Principle)
子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。
4.依赖倒置原则(Dependency-Inversion Principle)
依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。
5.接口隔离原则(Interface-Segregation Principle)
使用多个小的专门的接口,而不要使用一个大的总接口。
2. 多用组合,少用继承
建议在同样可行的情况下,优先使用组合而不是继承。
因为组合更安全,更简 ...
系统日志设计
系统日志设计开发环境1、Java+SpringBoot+JPA
2、Logback-spring.xml配置项详解123一个父标签:configuration两个属性:contextName和property三个节点:appender、root、logger
2.1、configuration标签
scan
当此属性设置为true时,配置文件如果发生改变,将会重新加载,默认值为true
scanPeriod
设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug
当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
两个属性contextName和property
contextName
每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
property
用来定义变量值的标签, 有两个属性,name和valu ...
费曼学习法
费曼学习法四大核心
以教代学
问题的量化思考体现在六个方面
方向-锁定思考的主要方向
从备选中找出一个主攻方向
归纳-确立思考的主要逻辑
确立了自己的逻辑,就可以有针对性地收集、整理和归纳信息,不用走一步看一步
验证-验证思考的效果
通过输出来验证自己学到的知识,以教代学,把自己对于某个问题的见解和分析阐述给别人,告诉对方自己的思路,可以起到很好的验证的作用。
反馈-反馈正确的错误
以输出的方式验证自己的观点,从听众那里收取反馈,看他是否能理解和接受,聆听对方的想法。根据对方的反馈,调整之前的思考,强化正确内容,修正/删除错误的地方
简化-把复杂的思考过程简单化
提炼思考的要点,能一目了然地看清思考的目标、思考的逻辑、思考的结果,并可以总结出来,把这个过程变得易于理解
吸收-消化思考的成果
将思考的成果消化吸收,转化为可以应用的内容。解决工作上的问题,处理学习中的难题,产生思考的结果。在思考的过程中形成自己简单高效的模式。
费曼学习五部曲
第一步:目标➡️确立学习对象➡️产生专注力
第二步:理解➡️理解要学习的知识➡️系统化地存优去劣
第 ...
Vim基础操作
VIM基本操作vimtutor
1、移动光标1h左移 j下移 k上移 l右移
2、编辑命令
!q 强制退出不保存
wq 保存退出
x 删除字符
i 在光标前插入文本
a 在光标后插入文本
A 在一行后添加文本
o 在下一行添加文本
O 在上一行添加文本
s 替换当前光标文字
cc 修改当前行所有内容
C 修改当前光标后的内容
r 替换当前光标文字
R 替换当前光标文字并进入插入模式
J 连接两行(删除一个换行)
3.导航命令3.1.行导航
0 将光标移动到当前行的开头
$ 将光标移动到当前行末尾
control + f 向下翻页
control + b 向上翻页
:n 跳到底几行
:0 跳到文件开头
:¥ 跳到文件末尾
3.2.单词导航
w 将光标移动到下一个单词的开头
e 将光标移动到当前单词的末尾
b 将光标移动到前一个单词的开头
Control + o 跳回上一个位置
control + i 跳到下一个位置
Anaconda基础操作
Anaconda基础操作1、管理conda1.1.查看conda自身版本12asia@AsiadeMacBook ~ % conda --versionconda 22.9.0
1.2.查看conda的环境配置1conda --version
1.3.设置镜像123456```#### 1.4.更新conda```shellconda update conda
1.5.更新anaconda1conda update Anaconda
1.6.查看某个命令的详细用法1conda create --help
2、管理环境2.1.创建一个虚拟环境指定python版本12conda create -n env_name python=3.8# env_name为环境名称
2.2.创建一个虚拟环境并安装指定包1conda create -n env_name numpy python=3.8
2.3.查看虚拟环境三条命令效果相同
123conda env listconda info -econda info --envs
2.4.激活虚拟环境1conda activate en ...
SpringBoot源码分析
SpringBoot源码分析1、如何将加载机制到IOC容器中123456789101112import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class SpringParentApplication { public static void main(String[] args) { SpringApplication.run(SpringParentApplication.class, args); }}
在执行main函数启动的时候,就会调用类加载器去加载对应的bean,全部放入到IOC容器中
什么是类加载器
就是SpringApplication.run(HqLmsServerApplication.class, args);中的:HqLmsServerApplicati ...
JDK1.8新特性
JDK1.8新特性一、Lambda表达式
lambda表达式本质上是一段匿名内部类,也可以是一段可以传递的代码
通过匿名内部类实现函数式接口
格式:(parameters) -> expression或者(parameters) -> {statements}
不需声明参数类型,jvm会自动判断
一个参数无需小括号
一条语句无需大括号
只有一条语句,jvm会自动返回值
注意:
lambda 表达式只能引用标记了 final 的外层局部变量,否则会编译错误
lambda表达式的局部变量可以不用声明final,会自己生成
不可以声明一个局部变量同名的参数
二、函数式接口
只有一个抽象方法的接口
可以有多个非抽象的接口
java1.8中所有的函数式接口
java.lang.Runnable
java.util.concurrent.Callable
java.security.PrivilegedAction
java.util.Comparator
java.io.FileFilter
java.nio.file.PathMatcher
java.lan ...
Java注解总结
Java注解总结注解的定义:Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。
(1)元数据在开发中的作用就是做数据约束和标准定义,可以将其理解成代码的规范标准(代码的模板);(2)代码的模板(元数据)不直接影响代码的执行,它只是帮助我们来更快捷的开发;
注解的分类1. Java自带的标准注解其中包括@Override;@Deprecated;@SuppressWarnings等,使用这些注解后编译器就会进行检查.
2.元注解元注解也是Java自带的标准注解,只不过用于修饰注解,比较特殊
3.自定义注解用户可以根据直接的需求定义注解
使用Java自带的注解Java自带的注解,就是java.lang中定义的一套注解
1234@Overrideprotected void onCreate() {}
常用java注解
1.@Deprecated – 所标注内容不再被建议使用;
2.@Override – 只能标注方法,表示该方法 ...
Lambda和Stream
Lambda和Stream一、Lambda
以前遍历
12345678910111213141516171819202122public static void main(String[] args) { List<Employee> list = Arrays.asList( new Employee("san",18,2500), new Employee("er",38,3500), new Employee("yi",58,6800), new Employee("zero",99,1230) ); LambdaDemo1 lambdaDemo1 = new LambdaDemo1(); List<Employee> employee = lambdaDemo1.findEmployee(list); for (Employee employee1 ...