- 博客(55)
- 收藏
- 关注
原创 设置适合自己使用习惯的idea开发工具
设置软件开启时候的最大内存128m够了,设置最大运行内存为8G,电脑配置好的一定要改,能极大的提升流畅性!
2023-05-09 11:15:48 1085 1
原创 使用stream流来对结果进行计算
返回由该流的元素组成的流,根据提供的 Comparator进行排序。返回由此流的元素组成的流,截短长度不能超过 maxSize。返回由给定函数应用于此流的元素的结果组成的流。返回由与此给定谓词匹配的此流的元素组成的流。返回由此流的元素组成的流,根据自然顺序排序。:一分钟内完成此题,只能用一行代码实现!2、年龄必须大于23岁。3、用户名转为大写字母。4、用户名字母倒着排序。1、ID 必须是偶数。......
2022-08-27 15:11:40 453
原创 关于基础模块中的依赖由微服务中的子模块继承的时候依赖失效的问题
common模块有以下的依赖子模块的依赖如下 : 在此种情况下我们的子模块如果引入了common模块是只能看到hutool这个依赖的!原因如下:当其他项目继承本项目时,如果dependences中加上了true,表示当前依赖不向下传递。删除common模块的optional恢复正常!...
2022-07-12 14:38:28 598
原创 springboot系列 @ComponentScan和@EnableAutoConfiguration的区别
我们都知道@SpringBootApplication注解是springboot项目的核心注解他可以分为:@SpringBootConfiguration:代表当前是springBoot项目的配置类@EnableAutoConfiguration:扫描相关组建然后将符合要求的放入到ioc容器中@ComponentScan:扫描相关组建然后将符合要求的放入到ioc容器中首先我们的启动类调用run方法本身就是一个ioc的容器,打印所有组件可以看到ioc中的所有组件 那么至此可以思考一下问什么我们的ioc容
2022-07-10 21:28:29 591
原创 springcloud(七) 消息队列
一、将我们的压缩包传送到root目录里面二、执行解压命令unzip rocketmq-all-4.4.0-bin-release.zip三、将解压后的文件移动到root/local目录下四、 进入到rocketmq解压文件夹目录查看bin目录执行如下命令:启动:tail -f /root/logs/rocketmqlogs/namesrv.log可以查看日志查看日志:扩展:(将文件夹改名)NameServer概述Na...
2022-05-13 15:24:47 717
原创 springcloud(四)sentine服务容错规则
一、Sentinel的概念和功能基本概念资源 资源就是Sentinel要保护的东西 资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,可以是一个服务,也可以是 一个方法,甚至可以是一段代码。 我们入门案例中的message1方法就可以认为是一个资源 规则 规则就是用来定义如何进行保护资源的 作用在资源之上, 定义以什么样的方式保护资源,主要包括流量控制规则、熔断降级规则以及系统 保护规则。 我们入门案例中就是为message1资源设置了一
2022-05-11 15:04:40 795
原创 springcolud(五)gateway网关
sentinel启动命令:java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.0.jar一、Feign整合Sentinel第1步: 引入sentinel的依赖 <dependency> <groupId>com.ali
2022-05-09 17:05:09 1256
原创 springcloud(三) Sentinel服务容错
高并发带来的问题:身体再健康的人也免不了生病。如果某一个服务发生问题,那么调用服务就会发生等待,当大量的请求产生堆积时,就会出现雪崩!在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。重写controller类的逻辑:/** * @author Dragon code! * @cr
2022-05-06 17:53:45 193
原创 springcloud(二) nacos服务治理
一、nacos的作用Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。1. 服务发现: 服务注册:保存服务提供者和服务调用者的信息 服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息 2. 服务配置: 配置订阅:服务提供者和服务调用者订阅微服务相关的配置 配置下发:主动
2022-05-05 17:27:37 1303
原创 springcloud(一)
目录一、搭建父类工程解析父工程中pom文件的标签:二、搭建基础模块Spring Data Jpa的作用对Order类的解释:三、搭建用户微服务模块 一、创建pom.xml,继承父工程,依赖common模块 二、配置文件内容如下:四、搭建商品模块一、配置文件二、pom文件三、项目结构一、启动类(不要忘了扫描entity实体类)二、控制层(@slf4j注解、@PathVariable的作用)三、接口层四、实现类与dao接口疑问点一:...
2022-05-04 22:35:47 1431
原创 sringboot(四)
目录一、springboot的前端应用前端的使用:一、基于springboot使用thymeleaf模板thymeleaf实现循环:利用th:each二、springboot中对于jsp的使用:一、springboot的前端应用1、主要用来打造分布式应用,微服务是重点2、对于单体应用(不大),可能前端与后台应用存在于一个项目中。3、如果项目是微服务项目,它应该是前后端分离的项目。前端的使用:1、springboot原本是不支持jsp的。2、spr
2022-05-02 16:19:03 660
原创 springboot(三)
目录一、按照项目的用途来进行分类配置二、配置文件的优先级三、与mybatis框架进行整合演示整合案例如下:需要思考的问题,我们的接口如何被发现呢?一、按照项目的用途来进行分类配置spring.profiles.active = 文件名的后缀设置活动的配置文件比如spring.profiles.active = testapplication-dev.ymlapplication-test.yml首先它一定会先加载主配置文件,那么主配置文件可以这
2022-04-27 16:11:12 1385
原创 springboot(二)
目录一、yml配置文件对于静态资源的访问二、springboot配置拦截器一、yml配置文件YAML全称是 YAML Ain't Markup Language 。YAML是一种直观的能够被电脑识别的的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。YAML文件的扩展名可以使用
2022-04-26 16:45:22 579 1
原创 springboot(一)
/*//开启自动配置@EnableAutoConfiguration//加入包扫描@ComponentScan*//** * 以上常规的注解其实也是对springboot来说是一个侵入! * 那么我们完全可以利用springbootApplication注解来代替 * * 一个@SpringBootApplication(scanBasePackages="扫描路径")注解等同于三个注解: * * @SpringBootConfiguration,表示当前类完全可以作为配置类来使用。..
2022-04-26 10:34:28 676
原创 java面试题
instanceof关键字作用是判断当前对象是不是某个类或者他的子类的对象严格来说他是Java中的一个双目运算符用法如下:Student student =new Student();boolen a = student instanceof Person;判断学生对象是不是人这个类或者他的子类的实例答案是true注意instanceof后面也可以带接口表示是否是当前接口的实现类的实例、具体的判断分为两步:一是编译期:首先看有没有出现编译错误...
2022-04-25 14:48:27 374 1
原创 字符串类型的日期解析
@Test public void test() { String birthday = "2022-03-23T16:00:00.000Z"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { //字符串转date Date time = simpleDateFormat.parse(birth..
2022-04-19 21:15:13 2140
原创 Mybatis一、二级菜单查询结果封装的技巧以及foreach的使用
一、前景提要有一个需求是:根据当前账号的权限设置登录后显示的一二级分类,也就是管理员可以看到所有的界面,而权限低一点的可能就看到的少一点。第一种做法:(也是浪费我阳间时间的做法,太**了)根据userid查询当前用户的所有能访问的一级和二级菜单的list集合然后再在controller类中进行封装?答案是:NO!正确做法如下:()** * @author Dragon code! * @create 2022-04-13 9:59 */@RestController
2022-04-16 15:29:26 788
原创 面向对象及jvm的内存分配
前言:面向过程的编程方式(c语言)采用自顶而下,逐层细化的方式来编写程序,在历史中得到了广泛的应用。具体的写法,在一个项目中创建多个函数,多个函数之间相互调用,通过函数的划分可以细分出多个模块。这种方式不利于设计大型的项目,大量的函数不容易管理,函数间的调用变得非常的复杂容易出错,模块的划分越来越不清晰。一、面向对象的编程方式:C语言是面向过程的,经过改进后出现了c++语言,c++是第一个面向对象的开发语言。java是参照了c++语言的实现方式来设计自身的,也做了一些改进比如不允许多继承
2022-04-16 11:35:56 129
原创 数组知识以及实参和形参改变值时的区别
目录一、什么是数组二、创建数组1.创建一个未指定任何元素的数组2.创建指定元素的数组三、可以理解为方法中引用类型的形式参数在做赋值操作时,实际参数 就会发生改变吗?一、什么是数组数组是由多个在内存中连续存放的元素所组成的数据,每个元素都有唯一的索引号,所有元素的数据类型是相同的,数组一旦被创建长度就不能变。在程序中使用数组时,需要定义一个数组变量对数组进行引用1、对于基本类型的变量,变量中存放的就是数据的值(100)。2、对于数组的变量,他存放的是数组在内存中的首
2022-04-15 16:47:37 999
原创 java前言
request域中的数据传输多个servlet直接传数据用请求转发 (重定向不能用来传数据)一、IT前沿技术1、云计算,基于大量计算机及网络连接中的集中或分布式的计算和存储。2、大数据,针对p级以上的数据处理及存储技术。3、人工智能,利用计算机的算术和逻辑运算能力模拟人的智力的行为。二、了解Java的基本作用1、它是一门编程语言,它具有基本的语法要求,提供了53个关键字,它自带虚拟机(JVM),同时提供了大量的api(应用编程接口)。2、同时它是一种技术栈,具有可供Java项
2022-04-15 16:04:56 771
原创 关于向已有的excel表单写入数据
一、准备工作首先要拿到想要写入的数据,若是想拿到网页上显示的数据就需要调用以前写的显示信息的方法拿到数据。步骤如下: Map<String, Object> result = reportService.getBusinessReportData(); String reportDate = (String) result.get("reportDate"); Integer todayNewMember =
2022-04-15 11:25:35 1159
原创 SpringSecurity学习总结
一、spring security 简介认证:(你是谁)身份认证,使用系统的任何用户,系统对于他来讲必须要能够进行识别,这个识别的过程我们就称之为认证。在此过程中牵涉到两个表,用户表和角色表,他们能够确定用户的权限。 授权(你能干什么):对于一个指定的用户,系统必须能够知道他具体有什么权限。权限表能够确定用户拥有什么权限。一个完整的系统,必须能够进行认证和鉴权,否则系统不具有安全性,系统的功能也不具有任何意义! 攻击防护:(防止伪造身份) <!--设置不拦截这个页面!-->
2022-04-12 10:30:09 990
原创 reids事务
redis中读操作是读从机写的操作是针对于主机(一主多从)假设主机挂了,备机还在工作,此时可以手动从备机中选一台让它作为主机!哨兵模式:主机一旦挂掉,哨兵模式会自动从从机中选择一个作为主机,这种方法的可用性就很高了。搭建一主二从的步骤:首先切换目录到/usr/local/bin 然后从/opt/redis-5.0.0下复制三个配置文件到/usr/local/bin,分别给三个机器使用。分别对三个配置文件进行如下的修改tips:vim下 /+内容 可以快速匹配搜索,
2022-04-01 11:58:14 624
原创 redis配置文件解读
units:单位,带b表示是1024的倍数。否则1000的倍数。includes表示包含,redis.conf是默认的配置文件,把不同作用的配置分别写到不同的文件中,在默认的配置文件中指定所有的配置文件的名称,有利于分开维护。daemonize决定redis是否作为守护进程来执行。如果为yes,redis在后台执行,否则在前台。pid就是redis的进程ID,在linux下,每个进程都有一个唯一的id,可以通过ps查看进程是否执行,也可以使用kill来杀死进程。..
2022-03-31 10:10:53 1985
原创 针对于get请求 springmvc前端传对象后端接收后进行取值并对数据库进行操作
controller层代码 @RequestMapping(value = "/deleteone",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) public Result deleteone(@RequestParam(name = "checkitem") String checkItem){ try { //解决get乱码问题
2022-03-22 11:07:43 2868
原创 ssm需要的依赖整合
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0..
2022-03-11 12:40:15 141
原创 Tomcat服务加载的js文件中的汉字乱码
1.\tomcat-8.0\conf\server.xml文件中添加:URIEncoding="UTF-8" <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />2.\tomcat-8.0\bin\catalina.bat文件中添加:set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfi
2022-03-09 16:02:06 234
原创 Spring中 cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 ‘mvc:annotation-driven‘ 的声明
修改方法:其实这里比较简单的方法是,不写schemaLocation的版本号是,默认是当前版本<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" x
2022-03-07 00:14:43 154
原创 mybatis使用条件分页查询
@Override public PageInfo<Student> findByCriteria(Integer stuno, String name) { PageHelper.startPage(2,2); StudentExample example = new StudentExample(); StudentExample.Criteria criteria = example.createCriteria(); .
2022-03-02 20:55:04 919
原创 使用mybatis框架犯的错误
1.注意property的那么属性名称是固定的 不要瞎写 <bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${pro.driverClassName}"/> <property name="url" value="${pro.url}"/> &l.
2022-03-02 20:42:56 96
原创 关于js中 location和location.href的区别
window.location是页面的内置对象,window.location.href是 location的一个属性值并且它是location的默认属性就是说对window.location直接赋值一个url实际上就是对window.location.href赋值。(二者是一样的)location对象除了有href属性外还有很多其他属性和方法,而href就是一个字符串只不过修改location的href会触发浏览器加载 href所指向的url。因此不存在前者速度比后者快的道理!...
2022-02-21 11:43:25 934
原创 this.$axios和this.axios和axios有什么区别?
首先搞明白在Vue中。this指向Vue实例对象,包含了当前的数据和从原型链上继承的方法。axios是ajax封装的库,用于异步请求接口数据,和Vue没什么关联,但是多用于Vue全家桶中。给axios起什么名字是开发者自己的事情,你甚至可以随便取名,因此三个写法如果都是用于引用axios库的话效果一模一样。如果绑定在this上使用那意味着是从Vue的原型链上继承的方法,因此axios被绑定在Vue的原型对象上。这个方法的好处是只要可以访问Vue实例即可获得axios的引用。如果不带this a..
2021-10-17 19:40:36 5189
原创 axios get和post请求下向后端发送数据的格式
axios get请求方式 传递给后台的参数都是字符串的形式,无法传递json对象或数组对象等。post请求方式则可以实现,但若后台接口要求必须用get方式传递对象给后台,需要装插件,实现方法如下:安装axiosnpm install axios --save安装成功get请求方式 axios.get(url, { params:{'query_id': query_id, 'message': message}, .
2021-10-15 10:27:23 1173
原创 发送请求时params和data的区别
在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然。 因为params是添加到url的请求字符串中的,用于get请求。服务器并不会读取http body里面的数据,这样我们传递的就是Params里的请求的参数了。(get请求下data不能用) 而data是添加到请求体(body)中的,服务器读取http body里面的数据那就需要用POST请求了,POST请求的参数就存放在body;(但是post请求下parms可以在特定情况下使用)1、..
2021-10-14 20:37:33 7581 1
转载 @ResponseBody详解
@ResponseBody的作用其实是将java对象转为json格式的数据。@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入
2021-10-14 10:39:22 387
原创 @ConfigurationProperties注解与@Value注解区别
使用@ConfigurationProperties注入属性Spring Boot提供的@ConfigurationProperties注解用来快速、方便地将配置文件中的自定义属性值批量注入到某个Bean对象的多个对应属性中。 在SpringBoot中,除了使用@ConfigurationProperties注入属性的值,还可以使用Spring的底层注解@Value注入属性的值。 @Component public class Person { @Value("${per...
2021-10-13 22:40:58 327
原创 i++与++i
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值)而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)&&如果左边判断为假右边就不用执行(恒为假)同理 || 如果左边为真右边就不用执行(恒为真)上述例子没有进入if语句直接跳出 且++j没有执行...
2021-10-13 16:46:29 165
转载 java集合的三种遍历方式以及各自优缺点分析
1、Iterator接口Iterator是Java集合框架的成员,主要用于遍历(即迭代访问)Collection集合中的元素,也称为迭代器。提供的三种方法:boolean hasNext():返回集合里的下一个元素。Object next():返回集合里下一个元素。void remove();删除集合里上一次next方法返回的元素。简单实例:[java] view plain copypublic class test1{public static void main(Str
2021-10-08 20:34:51 585 1
原创 为什么不允许使用Java静态构造函数?
不允许使用 Java 静态构造函数,但是为什么呢?在深入探讨不允许使用静态构造函数的原因之前,让我们看看如果要使 构造函数静态化 会发生什么。Java 静态构造函数假设我们有一个定义为的类:public class Data { private int id; public static Data() {}}如果您尝试编译此类,则会在 Data 类型的构造函数中收到一条错误消息,作为非法修饰符。****仅允许公开,受保护和私有。静态属于类,构造函数属于对象我们知道
2021-10-08 11:05:43 229
原创 Java创建数组的三种方式 (以及length方法是否能获取数组中元素的个数)
Java创建数组的三种方法import java.util.Arrays; public class Sum { public static void main(String[] args){ int[] vec = new int[]{1, 5, 3};// 第一种方法 int[] vec = { 37, 47, 23 };// 第二种方法 int[] vec = new int[3]; for(i.
2021-10-08 09:31:11 1801
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人