java学习
文章平均质量分 60
刘大哥就是6
123
展开
-
shell 命令查询服务器CPU占用率过高的原因
shell 命令查询服务器CPU占用率过高的原因原创 2022-11-17 11:24:55 · 649 阅读 · 1 评论 -
设计模式初长成
Java设计模式初长成原创 2022-06-13 14:59:14 · 121 阅读 · 0 评论 -
浅谈lamdba表达式
lambad表达式中间操作filter:可以对流中的元素进行条件过滤,符合过滤条件的才能继续留在流中map:可以对流中的元素进行计算或转换distinct:可以去除流中的重复的元素sorted:可以对流中的元素进行排序limit:可以设置流的长度 超出的部分将会被抛弃掉skip:跳出流中的前n个元素,返回剩下的元素flatMap:map只能把一个对象转换成另一个对象来作为流中的元素。而flatmap可以把一个对象转换...原创 2022-01-16 23:24:41 · 542 阅读 · 2 评论 -
浅谈Redis
redis笔记选择数据库select 0 (数字)---------------------------String设置键值对set key获取键值对get key设置多个键值对mset k1 v1 k2 v2获取多个键值对mget k1 k2 k3 ....---------------------------Hash(数据结构是键值对)设置键值对hset key filed value (key是redis的键 filed value是原创 2021-12-03 17:08:40 · 837 阅读 · 0 评论 -
有史以来最详细的多线程总结
Java实现多线程的四种方式方式一:继承Thread类的方式创建一个继承于Thread类的子类 重写Thread类中的run():将此线程要执行的操作声明在run() 创建Thread的子类的对象 调用此对象的start():①启动线程 ②调用当前线程的run()方法方式二:实现Runnable接口的方式创建一个实现Runnable接口的类 实现Runnable接口中的抽象方法:run():将创建的线程要执行的操作声明在此方法中 创建Runnable接口实现类的对象 将此对象作为参原创 2021-03-02 17:51:10 · 133 阅读 · 0 评论 -
MySQL如何创建、删除、修改、查询索引
总结一波索引。CREATE TABLE `t_acm_address` ( `a_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '地址实体的唯一主键列', `u_id` int(11) DEFAULT NULL COMMENT '用户实体的主键属性', `a_name` varchar(30) DEFAULT NULL COMMENT '地址的收件人', `a_phone` varchar(14) DEFAULT NULL COMMENT '收原创 2021-02-26 15:20:00 · 149 阅读 · 0 评论 -
Datagrip连接数据库Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope
1.MySQL时区的问题在MySQL的bin目录下执行cmd命令然后输入show variables like'%time_zone';查看当前的时区然后执行set global time_zone = '+8:00';2.同步数据库驱动原创 2021-02-25 18:11:02 · 166 阅读 · 0 评论 -
什么时候SQL加上for update合适
1.forupdate的使用场景`如果遇到存在高并发并且对于数据的准确性很有要求的场景,是需要了解和使用forupdate的。 比如涉及到金钱、库存等。一般这些操作都是很长一串并且是开启事务的。如果库存刚开始读的时候是1,而立马另一个进程进行了update将库存更新为0了,而事务还没有结束,会将错的数据一直执行下去,就会有问题。所以需要forupate进行数据加锁防止高并发时候数据出错。记住一个原则:一锁二判三更新2. forupdate如何使用 使用姿势...原创 2021-02-25 15:50:11 · 725 阅读 · 0 评论 -
SQL语句后面加上for update的作用
手工加锁的语句forupdate,就是锁定你查出来这些行,别的会话不能修改,只有当前会话提交(回滚)后,或当前会话结束事,别的会话才可以修改,一般会造成线程等待,死锁的发生;一般不要用update,会引起行级锁,直到你提交或回滚,即使你只是执行了一个查询,也需要提交。在plsqldev中可以修改数据那是一种行级锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级...原创 2021-02-25 15:42:35 · 5198 阅读 · 0 评论 -
jmeter使用记录
1.添加线程组2.添加http请求3.添加HTTP信息头管理器4.如果需要字段递增需添加计数器5.需要随机获取的字段添加BeanShell预处理程序6.如果需要从文本里面读取资源到报文体内,添加CSV 数据文件设置7添加响应断言8.添加结果数、聚合报告结果树可以直观的看到每一个请求的返回以及每一个请求的报文聚合报告可以看到请求的样本数、错误数、最小、最大请求时间、吞吐量等数据...原创 2021-02-25 15:20:53 · 140 阅读 · 0 评论 -
jmeter、jvisualvm.exe,zabbix联合进行压力测试
压力测试压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。工具loadrunner JMeter代..原创 2021-02-25 14:43:09 · 364 阅读 · 0 评论 -
springcould之网关Getway入门Demo
引入maven依赖<dependencies> <!--gateway--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </depende原创 2020-08-24 14:01:10 · 1880 阅读 · 0 评论 -
springcould之Hystrix熔断器
是什么Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保障在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似于保险丝),向调用方方茴一个符合预期的、可处理的备选响应(fallback),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会长时间、不必要地占用,从而原创 2020-08-24 11:15:56 · 103 阅读 · 0 评论 -
idea文件夹代颜色代表的含义
绿色,已经加入版本控制暂未提交;红色,未加入版本控制;蓝色,加入版本控制,已提交,有改动;白色,加入版本控制,已提交,无改动;灰色:版本控制已忽略文件。原创 2020-08-24 11:14:15 · 2640 阅读 · 1 评论 -
springcloud的负载均衡两种实现方式
RibbonRibbon是什么Ribbon是Netflix发布的云中间层服务开源项目,其主要功能是提供客户端实现负载均衡算法。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法。Eureka结合Ribbon的使用Ribbon工作流程R原创 2020-08-24 10:55:29 · 3550 阅读 · 0 评论 -
手写一个Eureka注册中心的小案例
目录结构说明:cloud-api-commons是一个公共类,把cloud-provider-payment8001、cloud-provider-payment8002、cloud-consumer-order80的公共的实体包的entities作为公共部分被使用。cloud-provider-payment8001、cloud-provider-payment8002为支付模块cloud-consumer-order80,为用户模块cloud-eureka-server7001、原创 2020-08-21 11:25:51 · 1190 阅读 · 2 评论 -
总结一下Git的使用吧
1.能干嘛冲突解决,代码备份,版本还原,协同开发,权限管理,代码审查,版本记录,分支管理,历史追查。2.配置全局账户设置git config --global user.name "用户名"git config --global user.email "用户邮箱"--global表示全局属性,所有的git项目都会公用属性查看配置信息:git config --list在当前登录的系统用户路径下,生成.gitconfig隐含文件,里面可以看到刚刚设置的信息,如果不用命令设置,也可.原创 2020-08-11 11:19:50 · 175 阅读 · 1 评论 -
都说程序员要会,今天浅谈一下springboot(2)
SpringBoot整合其他技术1.springboot整合mybatis1.1创建Spring Starter Project增加web,jdbc,mybatis,mysql相关组件1.2添加Mybatis的起步依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent&原创 2020-08-10 15:19:13 · 366 阅读 · 1 评论 -
都说程序员要会,今天浅谈一下springboot(1)
1.先说一下springboot比较spring的优点Spring Boot 的优点如下: 快速创建独立运行的Spring项目以及与主流框架集成 使用嵌入式的Servlet容器,应用无需打成WAR包 starters自动依赖与版本控制 大量的自动配置,简化开发,也可修改默认值 无需配置XML,无代码生成,开箱即用 准生产环境的运行时应用监控 与云计算的天然集成 2.springboot的核心功能起步依赖起步依赖的本质上是一个Maven项目对象模型,定义了对其他库的原创 2020-08-10 14:30:59 · 243 阅读 · 0 评论 -
关于微服务的一些了解
1.什么叫微服务架构微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。2.什么是分布式分布式系统是若干独立的计算机的集合,这些计算机对于用户来说就像单个相关系原创 2020-08-05 15:34:39 · 1104 阅读 · 0 评论 -
关于springboot的一些常用注解
1.@SpringBootApplication这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以Spring Boot提供了一个统一的注解@SpringBootApplication。2.EnableAu原创 2020-08-03 10:37:02 · 191 阅读 · 0 评论 -
学习一下ORACEL数据库
默认端口号:1521PL/SQL:Oracle数据库的可视化工具Oracle里面用 || 的方式表示拼接效果select ‘编号’ || empno||’,姓名:’|| ename from emp;查询工资大于1500但小于3000的全部雇员select * from emp where sal between 1500 and 3000select * from emp where sal >= 1500 and sal <=3000查询1981-1-1到1981-12-原创 2020-06-12 15:46:15 · 167 阅读 · 0 评论 -
总结一下eclipse的快捷键
1.打开资源的快捷键CTRL + SHIFT + R打开所有类型文件,不包括 JAR 包CTRL + SHIFT + T打开 Java 类型文件,包括 JAR 包2.查找资源的快捷键CTRL + F查找当前编辑器内容CTRL + H查找所有文件内容CTRL + SHIFT + G快速查找所有引用的地方3.代码整理的快捷键CTRL + SHIFT + F格式化代码CTRL + SHIFT + O去除没有用到的引用CTRL + SHIFT + M导入需要的类引用.原创 2020-06-12 10:48:47 · 164 阅读 · 0 评论 -
SpringMVC里的REST开发风格
1.开发风格是一种新的软件架构模式,也是一种风格1.1.代表资源的定位(URL)访问资源的地址1.2.资源的操作(method-请求方式)1.2.1 GET:查询1.2.2 POST:添加1.2.3 PUT:修改1.2.4 DELETE:删除例子:添加操作url:http://localhost:8080/EmpManager/UserController/addEmp 用户访问的是地址对应的资源method:POST 添加...原创 2020-05-29 23:55:15 · 139 阅读 · 1 评论 -
创作SpringMVC项目的流程
1.添加依赖2.配置文件a)web.xml 设置前端控制器 1)要设置她的优先级 2)指定SpringMVC配置文件的路径b)SpringMVC.xml 1)开启包扫描 2)视图解析器:给Controller返回的视图名称添加前缀和后缀 a):视图的前缀 b):视图的后缀3.自定义Controller 1)@Controller:表示当前的是web层,...原创 2020-05-27 00:09:30 · 114 阅读 · 0 评论 -
Filter ,Listener和BaseServlet
1. Filter过滤器1.1 Filter过滤器的配置方式1.1.1 注解方式配置关注 String[] value() default {}; String[] urlPatterns() default {}; 设置当前过滤器Filter限制过滤的条件路径@WebFilter(urlPatterns = {"/Day45/user", "/Day45/admin"})@WebFilter("/Day45/user") ==> 注解中的value属性1.1.2 web原创 2020-05-26 00:51:42 · 152 阅读 · 0 评论 -
关于Spring MVC的那些事儿
1.什么是Spring MVC? 简单介绍一下对Spring MVC的理解Spring MVC是一个基于java的实现MVC设计模式的请求驱动类型的轻量级WEB框架,通过吧Model、view、Controller分离,将web层进行指责解耦,把复杂的web应用分为逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2.SpringMVC的流程1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求后,...原创 2020-05-25 23:46:59 · 236 阅读 · 0 评论 -
了解一下Mybatis
1.什么是Mybatis1.1.Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。1.2.MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。1.3.通过 xml 文件或注解的方原创 2020-05-25 22:49:52 · 181 阅读 · 0 评论 -
关于spring的一些总结
1.不同版本的Spring Framework有哪些主要功能2.什么是Spring FrameworkSpring是一个开源应用框架,主要是降低应用程序开发的复杂度他是轻量级、松散耦合的具有分层体系结构,允许用户选择组件,同时还为J2EE应用程序开发提供了一个有凝聚力的框架可以集成其他框架,如Structs、Hibernate、EJB等3.Spring Framework有哪些不同的功能轻量级spring在代码量和透明度方面都很轻便IOC控制反转AOP面向切面原创 2020-05-25 21:50:41 · 287 阅读 · 0 评论 -
spring的两大核心思想
IOC 控制反转什么是IOC把对象的创建权限转交给spring容器,让spring容器帮我们实例化对象,我们做的只是从spring容器中获取实例package com.service;import com.dao.impl.UserDaoImpl;import com.factory.BeansFactory;import com.service.impl.UserService;import org.junit.Test;public class UserServiceTest原创 2020-05-25 18:25:16 · 996 阅读 · 1 评论 -
关于JSTL的那些事儿
1.JSTL概述JSP标准标签库(JSP Standard Tag Library)是java EE网络应用程序开发平台的组成部分,它在JSP规范的基础上,扩充了一个JSP的标签库来完成一些通用任务,必须XML数据处理,条件执行,数据访问,循环和国际化使用时需要导包 jstl-impl.jar在jsp页面中我们可以使用JSTL表示完成数据的判断,分支结构,循环在使用JSTL表达式之前,需要在JSP页面中加入:<% taglib url ="http://jav...原创 2020-05-23 16:45:28 · 158 阅读 · 0 评论 -
关于EL表达式的那些事儿
1.EL表达式概述 表达式语言(Expression Language),或称EL表达式,简称EL,是java中的一种特殊的通用变成语言,借鉴于JavaScrpit和APath。主要作用是在Java Web应用程序嵌入到网页(如 jsp中) 用以访问页面上的上下文以及不同作用域对象,缺德对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。2.EL表达式的使用案例<%@ page import="com.q.Student" %><%--.原创 2020-05-23 15:41:09 · 152 阅读 · 0 评论 -
JSP和敏感词汇过滤
1.JSP1.1 JSP概述全称: Java Server Page Java服务器页面,和Servlet一样,都是Sun公司提供的动态资源开发技术。兼容HTML,CSS,JavaScript,还可以运行Java代码。 可以同时在设计完成前端页面,优化美化,情况下做java后台逻辑代码实现1.2 为什么要用JSP1.jsp目前没有了解过前端解析数据方式情况下,和java后台的融合性更好2.jsp最终编译的结果就是一个Servlet程序3. jsp兼容...原创 2020-05-23 14:57:33 · 582 阅读 · 0 评论 -
关于回话控制Cookie and Session以及拦截器的那些事儿
1.回话控制技术概述1.1 为什么要使用会话控制因为HTTP协议连接是一个无状态连接 例如: 1. 服务器端数据更新,页面更换,如果浏览器不重新访问请求,是不可能获取到新 的内容,这就是一种【无状态的表现】 2. 浏览器每一次访问服务器,服务器是无法知道当前浏览器访问之前做过什么,不 管是浏览器,还是服务器都没有对数据进行保存1.2 什么是状态管理 WEB Application 会话过程中,浏览器和服务器直接的一...原创 2020-05-22 20:44:13 · 176 阅读 · 0 评论 -
ServletRequest和ServletResponse的总结
1.Servlet路径处理和特征1.1 重定向浏览器发送HTTP请求 ==> 服务器服务器接收到请求之后 发送302状态码 新的location ==> 浏览器浏览器收到302状态码 + location 按照新的location发送新的请求 ==> 服务器特征: 1. 该操作是浏览器行为 2. 重定向最少存在两次的浏览器请求 3. 重定向情况下,浏览器的地址栏会发生改变 4. 重定向操作存在两个或者两个以上的请求,每一次新的请求,都会丢失之...原创 2020-05-20 17:37:29 · 211 阅读 · 0 评论 -
关于servlet的那些事儿
1.servlet概述1.1 什么叫servlet Servlet ==> Server Applet Servlet是JavaWEB服务端的一个小程序,主要用户数据的交互,WEB数据展示和数据传递,这里Servlet是一个动态资源。 Servlet程序可以应对所有类型的请求和响应,Servlet主要还是用于HTTP协议的WEB服务器程序实现。 Servlet开发需要使用到两个包 javax.servlet javax.servlet....转载 2020-05-20 14:49:05 · 173 阅读 · 0 评论 -
关于HTTP协议的那些事儿
1.HTTP协议概述HyperText Transfer Protocol 超文本传输协议目前网络端使用的协议都是1.1版本,或者是HTTP升级版,安全性更强的HTTPSHTTP协议传输数据有很多方式 GET和POST 协议的作用是保障协议双方可以满足通信的要求,HTTP协议是基于TCP/IP协议的 在JavaWEB中HTTP协议对应的一个非常重要的类 HttpServlet,符合HTTP协议的一个Server applet程序要求,也是重要的组件之一...原创 2020-05-20 10:59:36 · 704 阅读 · 1 评论 -
idea和eclipse如何配置Tomcat
idea目录结构Web Preject--| src--| web----| WEB-INF------| classes------| lib------| web.xml----| context内容src路径 Java源代码,Servlet,Dao,ServiceWEB路径 WEB项目路径 context内容 静态资源,HTML,Java...原创 2020-05-20 10:50:49 · 498 阅读 · 0 评论 -
关于数据库连接池你不知道的事儿 C3P0 Druid
1.数据库连接池1.1为什么需要数据库连接池复习线程池 1. 初始化一些线程,提供给程序使用 2. 节约了资源,关于线程的开闭资源,节约了内存空间 3. 例如初始化5个线程对象,这里有10个线程目标 首先执行5个线程目标,其他线程目标等待 5个线程目标执行完毕,会执行其他线程,不会关闭线程。数据库连接池 现在的代码有什么问题 每一次执行业务都需要申请新的数据库里链接,同时运行结束之后关闭资源。 会导致...原创 2020-05-19 16:44:57 · 131 阅读 · 0 评论 -
轻量级数据库ORM框架DbUtils
DbUtils介绍 Apache组织下的一个轻量级ORM框架 Commons DbUtils: JDBC Utility Component两个核心方法 update方法 ==> insert,update,delete query方法 ==> select一个核心类 QueryRunner DbUtils的核心类2 DbUtils ORM工具使用package com.qfedu.c_dbutils;import com.qfedu.b_stud...原创 2020-05-19 14:27:29 · 205 阅读 · 0 评论