- 博客(28)
- 资源 (4)
- 收藏
- 关注
原创 Sentinel错误一
解决: 在这里<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <version>2021.1</version> </dependency>插入...
2021-07-23 17:06:14
305
原创 nginx学习
0.nginx 占用内存小,可以高效处理高并发,并且有正向代理、负载均衡以及动态分离 1.正向代理 正向代理是代理客户端的,装在本机上的 反向代理是代理服务端的 2. 负载均衡 Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略位轮询,加权轮询 iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。 3.动静分离 将请求中的动静资源进行拆分,然后根据这些静态资源的特点将其做缓存操作,并提高资源
2021-07-13 13:40:49
117
原创 微服务学习
1.golang+微服务教程 1.初始微服务 go(golang)语言解决高并发问题; 将服务层(也就是业务逻辑层)单独地拆分出来,抽取为一个一个的微服务; docker(是一种容器),将微服务项目在docker上运行 微服务就是将一个大项目拆成几个不同的小模块,每个模块就是一个小项目,各个模块之间还存在互相访问的情况 “微” 的意思 就是将一个大项目拆解成一个一个的小项目,每一个项目只是提供它相应的服务而已 特点: 单一职责:就是每个小模块只负责自己模块内的业务逻辑 轻量级通信:
2021-07-13 13:39:35
110
原创 springboot学习-(五)
1.@Autowire注解无效 []: https://blog.youkuaiyun.com/littlehaes/article/details/104139441 2.解决IDEA不能编译XML文件 []: https://blog.youkuaiyun.com/weixin_42639445/article/details/81196760?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPa
2021-07-13 13:38:14
202
原创 springboot学习-(四)
一、修改mysql的my.ini配置,解决乱码问题 二、springboot的自动配置 SpringBootApplication SpringBootConfiguration Configuration Component EnableAutoConfiguration : 自动导入包 AutoConfigurationPackage Import({Registrar.class}) : 自动注册包 Import({
2021-07-13 13:36:03
122
原创 springboot学习-(三)
一、thymeleaf: 这个是模板引擎,里面配有页面的前缀和后缀 结论:如果需要使用thymeleaf,只需要导入对应的依赖就行,我们将html页面放在项目的templates目录下即可。 在页面使用thymeleaf取数据 所有的html元素都可以被thymeleaf替换接管: th:元素名 thymeleaf语法 thymeLeaf语法 说明 th:utext="${ }" 不转义特殊字符 th:text="${ }" 转义特殊字符 <h3 th:each=“use
2021-07-13 13:34:54
324
原创 springboot学习-(二)
1.创建SpringBoot项目方式 1.在官网去下载 2.在idea中直接创建 2.idea创建springBoot项目依赖导入慢 将下列代码复制粘贴到pom.xml中,然后重启idea <repositories> <repository> <id>aliyun-repos</id> <url>http://maven.aliyun.com/nexus/content/g
2021-07-12 10:27:58
110
原创 springboot学习-(一)
1.SpringBoot Web开发 jar: webapp 核心:自动装配和pom.xml 2.pom.xml 在父工程中spring-boot-dependencies: 存放大量核心jar包依赖 统一管理jar包版本号,直接调用即可 也管理了一些配置插件 jar已经全部自动转配了,可以使用 3.启动器 <dependency> <groupId>org.springframework.boot</groupId>
2021-07-12 10:26:58
102
原创 数据库学习-性能调优
诸葛,事物 ,MVCC,日志 (BufferPool缓存机制) 1.索引数据结构红黑树、Hash、B+树详解 慢sql查询,优化sql手段:添加索引 索引是帮助mysql 高效获取数据的排好序的数据结构 索引数据结构: 二叉树 红黑树 Hash表 B-Tree 2.存储引擎 2.1 MyISAM MyISAM索引文件和数据文件是分离的(非聚集索引) 数据库中的表是以文件的形式存放在磁盘中 -frm :表结构 -MYD :表数据 -MYI : 表索引 ,底层B+树,里面子叶有存储value(索引
2021-07-12 10:25:41
112
原创 java基础学习-网络编程
1.网络编程 1.1 什么是计算机网络 TCP :发送端和接收端之间有联系 UDP:发送端发到接收端,接收端还没回应 计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程的目的 实现网络交流,互相通信,交换数据 实现网络通信步骤 定位到网络上一台主机 ,可以通过 电脑ip(定位主机): 端口(运输层定位到进程的),定位到这个计算机
2021-07-12 10:24:17
177
原创 java基础-jvm
1.jvm之程序执行过程内存详解 栈 存放方法,方法压栈; 对象调用的方法会压入栈中,然后方法里会传入隐式参数 this ,表示当前对象的 引用地址,方法里如果要输出类的私有属性,就会默认在方法里的属性前面加上 this ,这就可以表示当前对象的 属性值了; 当一个方法执行完毕,就会出栈,直到所有方法执行,main 方法最后才会出栈 这些压栈的方法都是存放在内存当中; 压栈的方法有main方法,构造器(默认会传一个隐式参数this,表示当前对象),类中被调用的方法 堆 存放对象,每创建一个对象,都会产
2021-07-12 10:22:48
248
原创 java基础-数组
1.数组的定义 数组的定义: 数组是相同类型数据的有序集合,其中每一个数据就做一个元素,通过索引(下标)来访问它们。 基本特点: 1.数组是对象引用类型,数组中的元素相当于对象的属性。 2.长度是确定的,一旦定义,就不肯定改变。 3.数组类型可以是任何数据类型,包括基本类型和应用类型。 4.其元素类型必须是相同类型,不允许出现混合类型。 2.创建数组 1.数组声明: type [] arr_name; type arr_name [] ; 2.数组的默认初始化: int a2[] = new
2021-07-12 10:21:45
77
原创 java基础-io
1.名称分隔符 package cn.sxt.io; import java.io.File; /** * 名称分隔符 * @author luona * */ public class PathDemo01 { public static void main(String[] args) { String path ="D:\\code\\容器\\容器\\src\\cn\\sxt\\io\\IO.png"; System.out.println(File.separatorCh
2021-07-12 10:20:29
115
原创 java基础-访问修饰符
1.Sentinel 熔断:当我们知道一个接口被调用的时候大概率会出错,我直接不调用它了。这个接口就像是个电闸(开关),原来是个通路,后来知道这个地方可能有问题,就把这个电闸给关掉。然后调用本地降级方法,放弃远程调用,这提升了系统的性能。 java跨平台的根本是jvm的不同。jdk>jre>jvm 2.访问控制符 访问修饰符 同类 同包 子类 所有类 private * default * * protected * * * public * * *
2021-07-12 10:19:24
83
原创 高并发学习-(一)
高并发下的缓存失效问题: 就是指缓存没有命中,没有查到数据,缓存没有使用到,就去数据库查。 情景一:缓存穿透(查询一个永不存在的数据) 假设有100万条数据,然后发送到后台,后台首先去缓存中查,结果没有查到,然后100万请求就又都去数据库查,但是数据库中也查无此数据,就没有可查询到的数据放入缓存当中。100万条的请求到达数据库,这样就会造成缓存穿透问题。数据库的压力瞬时增大,最终导致数据库崩溃。 解决: 如果去数据库也没查到,就将null值写入缓存当中,但是这里还要给缓存设置一个短暂的过期时间。避免后来数据
2021-07-12 10:18:05
99
原创 java基础学习-类
1.抽象类 具体实现,规范(抽象方法) 有抽象方法的类只能定义成抽象类 抽象类不能实例化,即不能用new来实例化抽象类 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。 抽象类只能用来被继承。 抽象方法必须被子类实现 2.接口 比抽象类更抽象的规范,将规范和实现彻底分离。接口:规范,普通类:具体实现 接口里面只能定义抽象方法和常量,抽象方法默认前面带有**“public abstract void fly()”**修饰,而常量默认前面带有“publ
2021-07-12 10:15:36
124
原创 2021-07-09
java基础正则(五) 1.正则表达式 验证字符串的格式 1.1字符集合 正则表达式 说明[] [abc] a、b、c中任意一个字符 [a-z&& [^bc]] a~z中除了b和c以外的任意一个字符,其中&&表示”与“的关系 [^abc] 除了a、b、c的任意字符 [a-z] a、b、c、…、z中的任意一个字符 [a-zA-Z0-9] az、AZ、0~9中任意一个字符 1.2预定义字符集 : 正则表达式 说明 . 任意一个字
2021-07-09 13:28:07
107
原创 2021-07-09
java基础(四) 1.Conlection 1.1 add() 表示添加元素方法 1.2 size() 表示集合中已有元素的个数 1.3 isEmpty() 判断集合是否为空集,为空返回true,否则返回false 1.4 clear() 清空当前集合 1.5 contains(E e) 用集合的equals方法判断元素e元素是否在集合里,有就返回true,否则返回false; 没有重写的equals是使用的“==”比较,重写equals方法 public
2021-07-09 13:26:56
177
原创 2021-07-09
java基础学习(三) 1.多线程并发安全问题(线程异步编程) 产生:多个线程操作同一个资源,线程切换的不确定性,会导致线程操作资源不会按照特定的执行顺序,就会造成数据安全问题,也就是多线程并发安全问题。(可能出现死循环,导致系统奔溃) 解决方案1:将线程的异步编程(并发操作)改为同步编程,规定线程执行顺序,就是线程占有CPU时间片的多少。 解决方法: 在方法上加修饰符synchronized,称为“同步方法”,作用就是一个方法中只能允许一个线程存在,就变成了同步操作,这就很好地解决了线程并发安全问
2021-07-09 13:25:49
91
原创 2021-07-09
java基础(二) 1.线程生命周期 新建状态 刚new出来的线程对象。 就绪状态 调用start方法,就绪状态的线程又叫可运行状态,表示当前线程具有抢夺CPU时间片的权利,CPU时间片就是执行权。当一个线程抢夺到CPU时间片之后,就开始执行run方法,run方法的开始执行标志着线程进入运行状态。 阻塞状态 运行状态时,遇到阻塞事件,当一个线程遇到阻塞事件,例如接收用户键盘输入,或者sleep方法等,此时线程会进入阻塞状态,阻塞状态的线程会放弃之前占有的CPU时间片。之后的时间片没了,需要再次回
2021-07-09 13:23:17
158
原创 2021-07-09
java基础学习(一) 1.内部类 通过外部类创建内部类:成员内部类 Outer outer = new Outer(); //通过这个外部类来实例化内部类~ Outer.Inner inner = outer.new Inner(); //内部类可以获得外部类的私有属性和方法 一个java类中可以有多个class类,但是只能有一个public class 局部内部类: public Class Outer{ //局部内部类 public vo
2021-07-09 13:21:11
111
原创 2021-07-09
数据库 1.复杂查询 多对一,将两张表通过join进行关联,其中的n表是通过查询语句查出,然后 selct from emp e join () n on n.depno = e.depno 使用聚合函数:avg、sum、min、max,count,有 “表单位” 和 “组单位” 。如果是 表单位 的话 ,不管使用哪一个聚合函数,都只查询一条数据。如果是 组单位 ,则会根据组的多少就查询多少条数据。 先查询,后分组 先把表中的所有职位是经理的数据行查询出来,得到一张关于所有部门经理
2021-07-09 13:19:35
61
原创 2021-07-09
MarkDown 1.标题 三级标题 四级标题 一级标题 # + 空格 + 标题名 二级标题 ## + 空格 + 标题名 随着标题级别叠加1,#号也依次叠加1个,但标题级别最高只到6级。 2.字体 Hello,World! (左右各两个*) Hello,World!(左右各一个*) ***Hello,World!**(左右各三个) Hello,World!)(左右各两个~) 3.引用 选择沉默不语,独自享受孤独! 语法: > + 空格。 4.分割线 语法: — + 空格 或 **
2021-07-09 13:18:16
70
原创 2021-07-09
SSM的bug 1、idea修改js文件后无效问题 前提:用idea写ssm,修改js文件之后发现浏览器f12的sources显示的还是修改之前的内容. 解决方法:禁用浏览器的缓存 : **1.首先打开google浏览器 ** **2.按F12快捷键弹出调试窗口 ** **3.在调试窗口找到network设置选项 ** **4.找到disable cache选项 ** **5.鼠标勾选disable cache选项 ** 6.再次启动,修改后的js加载成功 2、JSON格式书写错误 注意: json串,在
2021-07-09 13:16:11
63
原创 2021-07-09
Spring整合MyBatis 使用SqlSessionDaoSupport简化编码: sqlSessionDaoSupport类中提供了setSqlSessionFactory()方法用来注入SqlSessionFactory并创建SqlSessionTemplate实例,同时,还提供了getSqlSession()方法将创建好的SqlSessionTemplate实例返回。这样,DAO实现类只需要继承SqlSessionDaoSupport类即可通过getSqlSession()方法获得创建好的Sq
2021-07-09 13:14:19
128
原创 2021-07-09
这里写自定义目录标题1.版本管理2.Git与SVN最主要的区别3.Git Bash4.git配置欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 1.版本管理 版本迭代 2.Git与SVN最主要
2021-07-09 13:12:27
83
原创 2021-02-17
图片上传 import java.io.*; import java.util.Scanner; //拷贝png格式图片练习 public class text7 { public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); //接收图片的文件夹路径 System.out.println("输入拷贝文件目的
2021-02-18 10:42:00
145
1
原创 集合
集合 Conlection 1.add方法表示添加元素方法 2.size方法表示集合中已有元素的个数 3.isEmpty方法判断集合是否为空集,为空返回true,否则返回false 4.clear方法清空当前集合 5.contains(E e)用集合的equals方法判断元素e元素是否在集合里,有就返回true,否则返回false; 没有重写的equals是使用的“==”比较,重写equals方法 public boolean equals(Object obj){ if(
2021-02-17 23:27:55
83
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人