- 博客(64)
- 收藏
- 关注
原创 定时执行任务
定时执行任务用于定时执行某个模块1:创建定时任务类,使用cron表达式调整定时时间import com.atguigu.staservice.service.StatisticsDailyService;import com.atguigu.staservice.utils.DateUtil;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.ann
2022-04-22 23:58:29 254
原创 spring cloud------nacos
spring cloud微服务1:微服务是架构风格2:把一个项目拆分成多个服务 服务独立运行spring cloud1:spring cloud并不是一种技术,是很多技术总称,很多框架集成2:spring cloud里面有很多框架,使用里面的那些框架实现微服务操作3:使用spring cloud,需要依赖spring boot其内的相关组件服务发现(注册中心)—Netflix Eureka (Nacos)服务调用—Netflix Feign熔断器—Netflix Hystrix
2022-04-22 23:57:28 797
原创 ECharts统计数据以图表显示
ECharts统计数据以图表显示1:简介ECharts用于图表展示,提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。官方网站:https://echarts.baidu.com/2:基本使用(1)创建html页面:柱图.html(2)引入ECharts<!-- 引入 ECharts 文件 --
2022-04-22 23:54:35 1529
原创 nginx-反向代理服务器
nginx-反向代理服务器建议直接去看getway网关服务,比这个牛逼!!!1:请求转发客户端,浏览器-----发送请求到nginxnginx得到请求------根据请求转发到具体服务器中(具体发送到哪些:使用路径匹配:比如:请求地址包含eduservice的…)2:负载均衡比如nginx得到四个请求,而总共有两个服务器,负载均衡就是将这四个请求平均的分给两个服务器但根据什么进行,就需要自己弄了,比如:根据时间、、、3:动静分离把java代码和静态页面分离开来,比如访问页面的时候,就让其去
2022-04-22 23:52:51 86
原创 spring cloud---Getway网关于springboot中的使用
spring cloud—Getway网关相当于nginx,不过更牛逼,即以后不需使用nginx了客户端和服务端之间的一面墙,可以起到很多作用:请求转发、负载均衡、权限控制、跨域(如果使用getway来跨域,就得删除模块那个跨域注解)等1:getway使用(负载均衡)创建一个新的子模块,创建普通启动类即可需要将该模块和需要到的模块全部弄到nacos中1.1:引入依赖<dependencies> <!--这个是自定义的那个--> <dependen
2022-04-22 23:51:56 818
原创 redis在springboot中使用
redis使用把一些经常查询,不经常修改的可放进去比如:将首页放进去(访问量大)项目集成Redis1:引入依赖<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>
2022-04-22 23:50:04 1151
原创 springboot配置启动类-跳过数据库
如果该模块不需要经过数据库,加上其可以加快效率@SpringBootApplication(exclude = DataSourceAutoConfiguration.class) //加后面的意思是,不经过数据库,因为oss本身不需要访问数据库,所以并没有加数据库的配置@ComponentScan(basePackages = {"com.zpc"}) //让其启动时扫描到所有com.zpc下的配置public class OssApplication { public
2022-02-11 22:40:30 3518
原创 OAuth2-开放系统间授权
OAuth2OAuth2只是一种解决方案,没有要求任何事,只是方案主要解决:开放系统间授权 分布式访问问题1:解决开放系统间授权假设你在某网盘上存储了东西,第三方软件想要进行访问,这就需要你对他进行授权授权方案方案一:将用户名和密码给第三方软件缺点:不安全方案二:某网盘和第三方软件之间,开发一个共同承认的key注意:只适用于合作商或者授信的不同业务部门之间方案三:令牌机制比如某网盘给想要访问的第三方,颁发一
2021-10-27 00:22:40 277
原创 输出字符串的最大回文子串
输出字符串的最大回文子串public static void main(String[] args) { String a="abchbhcxz"; Solution solution=new Solution(); String s = solution.longestPalindrome(a); System.out.println(s); } //输出字符串的最大回文子串 public String l
2021-09-14 23:45:26 310
原创 算法-插入排序
插入排序它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。//插入排序public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int de=scanner.nextInt(); int[] a = {1, 2, 3, 5, 6
2021-08-03 21:07:37 101
原创 算法-二分查找
二分查找每次都将有序数组折中,取中间数,如果大于这个中间数,就用后半部分继续这样…//二分查找public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int de=scanner.nextInt(); int[] a = {1, 2, 3, 5, 6, 7, 10, 3
2021-08-03 21:06:48 64
原创 Mysql事务的并发以及隔离级别
Mysql事务的并发以及隔离级别并发问题脏读:事务 A 读取了事务 B 更新的数据,然后 B 回滚操作,那么 A 读取到的数据是脏数据不可重复读:事务 A 多次读取同一数据,事务 B 在事务 A 多次读取的过程中,对数据作了更新并提交,导致事务 A 多次读取同一数据时,结果因此本事务先后两次读到的数据结果会不一致。幻读:幻读解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(一致性)。隔离级别读未提交:脏读、不可重复读、幻读不可重复读:不可重复读、幻读可重复读:幻读串行化
2021-08-03 14:14:42 72
原创 算法-快速排序
快速排序定义数组z[],每次都采用第一个元素a,定义最后一个元素位置n(n初始为z.length-1),第一个元素位置m(初始为0)然后a先和z[n],如果z[n]>=a,就n–。否则,a[n]=a[m]a再和z[m],如果z[m]<=a,就m++。否则,a[m]=a[n]到最后,再将z[m]=a;多次循环即可//快速排序 public class Main { public static void main(String[] args) {
2021-08-03 00:34:10 93
原创 算法-归并排序
归并排序说白了,就是将这个数组一直拆分,直到拆分成单个元素,相邻两个元素相比较,大的放到后面,再重组,重复这个过程!//归并排序public class Main { public static void main(String[] args) { int[] a={1,2,3,9,8,7,4,5}; sb(a); System.out.println(Arrays.toString(a)); } public static vo
2021-08-03 00:33:28 60
原创 算法-冒泡排序
冒泡排序重复地走访过要排序的数列,每次比较相邻两个元素,如果它们的顺序错误就把它们交换过来//冒泡排序public class ggg { public static void main(String[] args) { int[] a={1,4,2,9,8,0,29,7,4,38,84,3,7}; sq(a); System.out.println(Arrays.toString(a)); } private static v
2021-08-03 00:32:23 78
原创 滴滴一二面总结
滴滴一二面总结1:Aop和Ioc2:MySQL索引3:存储引擎4:Mysql事务5:get和post6:http和https7:cookie和session8:redis数据类型9:redis持久化10:缓存击穿、缓存穿透、缓存雪崩11:springboot与spring区别12:值传递和引用传递13:算法:归并排序14:算法:编写程序将一个句子按单词反序。比如“the sky is blue”,反序后变为“blue is sky the”?15:算法:一次可以上1或两个台阶,
2021-07-31 18:39:47 219
原创 Redis
Redis7.1:数据结构String Hash(存储对象) List zest SetRedis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复7.2:缓存击穿缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据
2021-07-26 22:29:40 66
原创 CountDownLatch/CyclicBarrier/Semaphore
CountDownLatch/CyclicBarrier/SemaphoreCountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行;CyclicBarrier一般用于一组线程互相等待至某个状态,然后这一组线程再同时执行;Semaphore 就是一个信号量,它的作用是限制某段代码块的并发数。 synchronized 和 ReentrantLock 都是一次只允许一个线程访问某个资源,Semaphore(信号量)可以指定多个线程同时访问某个资源。...
2021-07-26 22:26:10 77
原创 工厂模式与单例模式
1:工厂模式简单工厂模式:我们创建一个工厂类,然后当调用者想要创建一个对象时,只需要告诉工厂类即可,由工厂类去创建对象,调用者无需知道是如何创建的,也不用自己去创建。工厂方法模式:在简单方法中,我们是只有一个工厂类,由这个工厂类负责动态的创建我们所需要的对象;而在工厂方法模式中,我们的工厂类下面还有很多子工厂类,我们需要的对象是由这些子工厂类来创建的。其实就是改进了简单工厂模式,因为当我们需要一个新产品时,只需要扩展一个新的子工厂类即可,而不用去修改原有的代码,这样就符合了开闭原则。抽象工厂模式:
2021-07-26 22:25:00 1779
原创 ArrayList、HashSet、HashMap线程不安全
ArrayList、HashSet、HashMap线程不安全因为ArrayList中的add方法,没有用synchronized修饰故障现象:java.util.ConurrentModificationException解决方案?List<String> list=new ArrayList<>(); //这是本来的,不安全List<String> list=new Vector<>(); //第一种方法List<String&
2021-07-26 22:23:42 141
原创 ArrayList 和 LinkedList
ArrayList 和 LinkedList 的区别是什么?数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为ArrayList 增删操作要影响数组内的其他数据的下
2021-07-26 22:21:40 63
原创 GET和POST区别
GET和POST区别HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服务器资源的查,改,增,删。GET:从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。POST:向服务器提交数据,这就涉及到了数据的更新,也就是更改服务器的数据。PUT:英文含义是放置,也就是向服务器新添加数据,就是所谓的增。DELETE:从字面意思也能看出,这种方式就是删除服务器数据的过程。GET和POST区别G
2021-07-26 22:19:49 85
原创 String和StringBuffer、StringBuilder的区别是什么
String和StringBuffer、StringBuilder的区别是什么如果要操作少量的数据用 = String (线程安全)单线程操作字符串缓冲区 下操作大量数据 = StringBuilder(线程不安全)多线程操作字符串缓冲区 下操作大量数据 = StringBuffer(线程安全)性能的话,string每次都是生成一个新的string对象,然后指针指向新对象;而stringbuffer则是对他本身进行操作,相同情况下,使用stringbuilder比stringbuffer有10%~1
2021-07-26 22:17:20 80
原创 设计一个秒杀系统
10:设计一个秒杀系统首先考虑可能出现的一些问题:高并发;超卖;恶意请求;链接暴露;数据库;按钮置灰;限流;开发一个单独的模块,独立部署,微服务就比如现在库存只剩下1个了,我们高并发嘛,4个服务器一起查询了发现都是还有1个,那大家都觉得是自己抢到了,就都去扣库存,那结果就变成了-3,是的只有一个是真的抢到了,别的都是超卖的。咋办?Lua脚本是类似Redis事务,有一定的原子性,不会被其他命令插队,可以完成一些Redis事务性的操作。使用nginx高性能web服务器,也可以进行恶意请求拦截,一般单个用
2021-07-21 22:15:14 79
原创 spring cloud---Getway网关
spring cloud—Getway网关相当于nginx,不过更牛逼,即以后不需使用nginx了客户端和服务端之间的一面墙,可以起到很多作用:请求转发、负载均衡、权限控制、跨域(如果使用getway来跨域,就得删除模块那个跨域注解)等1:getway使用(负载均衡)创建一个新的子模块,创建普通启动类即可需要将该模块和需要到的模块全部弄到nacos中1.1:引入依赖<dependencies> <!--这个是自定义的那个--> <dependen
2021-06-30 11:13:43 2792 1
原创 定时执行任务
定时执行任务用于定时执行某个模块1:创建定时任务类,使用cron表达式调整定时时间import com.atguigu.staservice.service.StatisticsDailyService;import com.atguigu.staservice.utils.DateUtil;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.ann
2021-06-30 11:12:31 102
原创 查询显示二级目录
二级目录注:这个过于繁琐,直接去看通过递归生成多级目录1:先创建俩VO,分为一级目录和二级目录,一般在entity一级目录包含@Datapublic class OneSubject { private String id; private String title; //一个一级分类包含多个二级分类 private List<TwoSubject> children = new ArrayList<>();}@Datapubl
2021-06-30 11:08:25 731
原创 给某地址传送值让其返回东西时
给某地址传送值让其返回东西时如:生成二维码的时候,就需要给某个地址传送一些值,通过值生成二维码注:代码中的%s就是占位符,下面还需要给里面传入数据如://获取到code和state public String callBack(String code,String state){ //传入扫描二维码获取的两个参数code,state //拿着code,请求微信提供固定的地址,获取到有两个值access_token(访问凭证),openid(唯一标识)
2021-06-30 11:07:46 68
原创 volition到CAS到ABA
文章目录1:谈谈你对volatile的理解volatile三大特性什么是可见性(由JMM引)?什么是不保证原子性?什么是禁止指令重排?Synchronized关键字在哪些地方用到过volatile?2:CAS你知道吗?CAS是什么?CAS底层原理,谈谈你对UnSafe的理解?CAS缺点?3:原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?ABA是什么?AtomicReference原子引用AtomicStampedReference版本号原子引用解决ABA问题1:谈谈你对volati
2021-06-11 18:37:28 1080
原创 OAuth2
OAuth2OAuth2只是一种解决方案,没有要求任何事,只是方案主要解决:开放系统间授权 分布式访问问题1:解决开放系统间授权假设你在某网盘上存储了东西,第三方软件想要进行访问,这就需要你对他进行授权授权方案方案一:将用户名和密码给第三方软件缺点:不安全方案二:某网盘和第三方软件之间,开发一个共同承认的key注意:只适用于合作商或者授信的不同业务部门之间方案三:令牌机制比如某网盘给想要访问的第三方,颁发一
2021-05-25 21:29:37 87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人