未分类
文章平均质量分 64
未分类
UPYOLo
用笔记记录自己的成长之旅,坦然拥抱生活,所到之处皆是阳光!
展开
-
java基础-jvm
1.jvm之程序执行过程内存详解栈存放方法,方法压栈;对象调用的方法会压入栈中,然后方法里会传入隐式参数 this ,表示当前对象的 引用地址,方法里如果要输出类的私有属性,就会默认在方法里的属性前面加上 this ,这就可以表示当前对象的 属性值了;当一个方法执行完毕,就会出栈,直到所有方法执行,main 方法最后才会出栈这些压栈的方法都是存放在内存当中;压栈的方法有main方法,构造器(默认会传一个隐式参数this,表示当前对象),类中被调用的方法堆存放对象,每创建一个对象,都会产原创 2021-07-12 10:22:48 · 222 阅读 · 0 评论 -
微服务学习
1.golang+微服务教程1.初始微服务go(golang)语言解决高并发问题;将服务层(也就是业务逻辑层)单独地拆分出来,抽取为一个一个的微服务;docker(是一种容器),将微服务项目在docker上运行微服务就是将一个大项目拆成几个不同的小模块,每个模块就是一个小项目,各个模块之间还存在互相访问的情况“微” 的意思 就是将一个大项目拆解成一个一个的小项目,每一个项目只是提供它相应的服务而已特点:单一职责:就是每个小模块只负责自己模块内的业务逻辑轻量级通信:原创 2021-07-13 13:39:35 · 88 阅读 · 0 评论 -
2021-07-09
java基础(四)1.Conlection1.1 add() 表示添加元素方法1.2 size() 表示集合中已有元素的个数1.3 isEmpty() 判断集合是否为空集,为空返回true,否则返回false1.4 clear() 清空当前集合1.5 contains(E e)用集合的equals方法判断元素e元素是否在集合里,有就返回true,否则返回false;没有重写的equals是使用的“==”比较,重写equals方法public原创 2021-07-09 13:26:56 · 149 阅读 · 0 评论 -
数据库学习-性能调优
诸葛,事物 ,MVCC,日志 (BufferPool缓存机制)1.索引数据结构红黑树、Hash、B+树详解慢sql查询,优化sql手段:添加索引索引是帮助mysql 高效获取数据的排好序的数据结构索引数据结构:二叉树红黑树Hash表B-Tree2.存储引擎2.1 MyISAMMyISAM索引文件和数据文件是分离的(非聚集索引)数据库中的表是以文件的形式存放在磁盘中-frm :表结构-MYD :表数据-MYI : 表索引 ,底层B+树,里面子叶有存储value(索引原创 2021-07-12 10:25:41 · 90 阅读 · 0 评论 -
2021-07-09
java基础(二)1.线程生命周期新建状态刚new出来的线程对象。就绪状态调用start方法,就绪状态的线程又叫可运行状态,表示当前线程具有抢夺CPU时间片的权利,CPU时间片就是执行权。当一个线程抢夺到CPU时间片之后,就开始执行run方法,run方法的开始执行标志着线程进入运行状态。阻塞状态运行状态时,遇到阻塞事件,当一个线程遇到阻塞事件,例如接收用户键盘输入,或者sleep方法等,此时线程会进入阻塞状态,阻塞状态的线程会放弃之前占有的CPU时间片。之后的时间片没了,需要再次回原创 2021-07-09 13:23:17 · 136 阅读 · 0 评论 -
nginx学习
0.nginx 占用内存小,可以高效处理高并发,并且有正向代理、负载均衡以及动态分离1.正向代理正向代理是代理客户端的,装在本机上的反向代理是代理服务端的2. 负载均衡Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略位轮询,加权轮询iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。3.动静分离将请求中的动静资源进行拆分,然后根据这些静态资源的特点将其做缓存操作,并提高资源原创 2021-07-13 13:40:49 · 94 阅读 · 0 评论 -
springboot学习-(四)
一、修改mysql的my.ini配置,解决乱码问题二、springboot的自动配置SpringBootApplication SpringBootConfiguration Configuration Component EnableAutoConfiguration : 自动导入包 AutoConfigurationPackage Import({Registrar.class}) : 自动注册包 Import({原创 2021-07-13 13:36:03 · 99 阅读 · 0 评论 -
java基础-访问修饰符
1.Sentinel熔断:当我们知道一个接口被调用的时候大概率会出错,我直接不调用它了。这个接口就像是个电闸(开关),原来是个通路,后来知道这个地方可能有问题,就把这个电闸给关掉。然后调用本地降级方法,放弃远程调用,这提升了系统的性能。java跨平台的根本是jvm的不同。jdk>jre>jvm2.访问控制符访问修饰符同类同包子类所有类private*default**protected***public***原创 2021-07-12 10:19:24 · 64 阅读 · 0 评论 -
java基础学习-网络编程
1.网络编程1.1 什么是计算机网络TCP :发送端和接收端之间有联系UDP:发送端发到接收端,接收端还没回应计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的实现网络交流,互相通信,交换数据实现网络通信步骤定位到网络上一台主机 ,可以通过 电脑ip(定位主机): 端口(运输层定位到进程的),定位到这个计算机原创 2021-07-12 10:24:17 · 147 阅读 · 0 评论 -
2021-07-09
java基础学习(三)1.多线程并发安全问题(线程异步编程)产生:多个线程操作同一个资源,线程切换的不确定性,会导致线程操作资源不会按照特定的执行顺序,就会造成数据安全问题,也就是多线程并发安全问题。(可能出现死循环,导致系统奔溃)解决方案1:将线程的异步编程(并发操作)改为同步编程,规定线程执行顺序,就是线程占有CPU时间片的多少。解决方法:在方法上加修饰符synchronized,称为“同步方法”,作用就是一个方法中只能允许一个线程存在,就变成了同步操作,这就很好地解决了线程并发安全问原创 2021-07-09 13:25:49 · 67 阅读 · 0 评论 -
java基础-数组
1.数组的定义数组的定义:数组是相同类型数据的有序集合,其中每一个数据就做一个元素,通过索引(下标)来访问它们。基本特点:1.数组是对象引用类型,数组中的元素相当于对象的属性。2.长度是确定的,一旦定义,就不肯定改变。3.数组类型可以是任何数据类型,包括基本类型和应用类型。4.其元素类型必须是相同类型,不允许出现混合类型。2.创建数组1.数组声明:type [] arr_name;type arr_name [] ;2.数组的默认初始化:int a2[] = new原创 2021-07-12 10:21:45 · 58 阅读 · 0 评论 -
java基础学习-类
1.抽象类具体实现,规范(抽象方法)有抽象方法的类只能定义成抽象类抽象类不能实例化,即不能用new来实例化抽象类抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。抽象类只能用来被继承。抽象方法必须被子类实现2.接口比抽象类更抽象的规范,将规范和实现彻底分离。接口:规范,普通类:具体实现接口里面只能定义抽象方法和常量,抽象方法默认前面带有**“public abstract void fly()”**修饰,而常量默认前面带有“publ原创 2021-07-12 10:15:36 · 105 阅读 · 0 评论 -
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 · 241 阅读 · 0 评论 -
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 · 96 阅读 · 0 评论 -
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 · 82 阅读 · 0 评论 -
高并发学习-(一)
高并发下的缓存失效问题:就是指缓存没有命中,没有查到数据,缓存没有使用到,就去数据库查。情景一:缓存穿透(查询一个永不存在的数据)假设有100万条数据,然后发送到后台,后台首先去缓存中查,结果没有查到,然后100万请求就又都去数据库查,但是数据库中也查无此数据,就没有可查询到的数据放入缓存当中。100万条的请求到达数据库,这样就会造成缓存穿透问题。数据库的压力瞬时增大,最终导致数据库崩溃。解决:如果去数据库也没查到,就将null值写入缓存当中,但是这里还要给缓存设置一个短暂的过期时间。避免后来数据原创 2021-07-12 10:18:05 · 74 阅读 · 0 评论 -
springboot学习-(一)
1.SpringBoot Web开发jar: webapp核心:自动装配和pom.xml2.pom.xml在父工程中spring-boot-dependencies:存放大量核心jar包依赖统一管理jar包版本号,直接调用即可也管理了一些配置插件jar已经全部自动转配了,可以使用3.启动器<dependency> <groupId>org.springframework.boot</groupId>原创 2021-07-12 10:26:58 · 79 阅读 · 0 评论 -
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 · 91 阅读 · 0 评论 -
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 · 280 阅读 · 0 评论 -
springboot学习-(五)
1.@Autowire注解无效[]: https://blog.csdn.net/littlehaes/article/details/1041394412.解决IDEA不能编译XML文件[]: https://blog.csdn.net/weixin_42639445/article/details/81196760?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPa原创 2021-07-13 13:38:14 · 176 阅读 · 0 评论