
程序JAVA
苍穹帝
这个作者很懒,什么都没留下…
展开
-
使用Prometheus对微服务性能自定义指标监控
利用HTTP的拦截器添加Prometheus的监控指标,首先创建一个拦截器CustomInterceptor 实现HandlerInterceptor接口,然后重写里面的 前置处理、后置处理;//耗时//api调用次数。//汇总率//这里使用的时SpringUtil获取Bean,没有用@Autowired注解,Autowired会因为加载时机问题导致拿不到;SpringUtil.getBean网上实现有很多,可以自行搜索;@Override//记录接口开始调用的时间。原创 2024-10-25 10:26:53 · 1041 阅读 · 1 评论 -
java多线程-线程池与FutureTask
java多线程-线程池与FutureTask原创 2022-02-27 23:20:35 · 520 阅读 · 0 评论 -
java多线程并发系列--基础知识点(笔试、面试必备)
java多线程并发系列原创 2022-02-27 23:07:51 · 320 阅读 · 0 评论 -
java策略模式+工厂模式+模板模式
java策略模式+工厂模式+模板模式原创 2022-02-12 18:38:41 · 3381 阅读 · 0 评论 -
JDK动态代理
JDK动态代理主要涉及两个类:java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler,我们仍然通过案例来学习Proxy 类中使用频率最高的方法是:newProxyInstance() ,这个方法主要用来生成一个代理对象。 public static Object newProxyInstance(ClassLoader loader, Cla..原创 2021-09-10 16:32:55 · 177 阅读 · 0 评论 -
java策略模式
简介策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。其主要目的是通过定义相似的算法,替换if else 语句写法,并且可以随时相互替换。策略模式主要由这三个角色组成,环境角色(Context)、抽象策略角色(Strategy)和具体策略角色(ConcreteStrategy)。环境角色(Context):持有一个策略类的引用,提供原创 2021-08-14 17:55:16 · 249 阅读 · 0 评论 -
Idea 创建maven父子工程
1、Idea 创建maven父工程:1、创建新project,选择maven,勾选Create from archetype,选择-site或者-quickstart下一步,输入名字,路径。2、创建好后,简单设置:编码为UTF-8,编译为java8,自动引入等。3、pom修改:<packaging>pom</packaging>问题:创建后,POM文件可能会报错:maven-project-info-reports-plugin解决方原创 2021-03-19 13:35:04 · 847 阅读 · 0 评论 -
SpringBoot集成JWT实现token验证
Jwt全称是:json web token。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。优点简洁: 可以通过URL、POST参数或者在HTTP header发送,因为数据量小,传输速度也很快; 自包含:负载中可以包含用户所需要的信息,避免了多次查询数据库; 因为Token是以JSON加密的形式保存在客户端的,所以JWT是跨语言的,原则上任何web形式都支持; 不需要在服务端保存会话信息,特别适用于分布式微服务。原创 2020-12-24 23:15:41 · 26902 阅读 · 8 评论 -
Springboot 整合RabbitMq,消息手动确认及持久化
该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。 (但是关于rabbitMq的安装,我的是在虚拟机上用docker安装的)在安装完rabbitMq后,输入http://ip:15672/,是可以看到一个简单后台管理界面的。(用户名、密码默认是guest、guest)首先先介绍一个简单的一个消息推送到接收的流程,提供一个简单的图:黄色的圈圈就是我.原创 2020-12-13 15:05:44 · 2394 阅读 · 1 评论 -
SSM(maven)项目程序从eclipse导入idea后报错的问题
一、导入后运行Tomcat报错:idea 出现Can't load AMD 64-bit .dll on a IA 32-bit platform错误解决:更换Tomcat到64位高版本二、打包后的文件中没有mapper中的xml文件,各种配置文件(xml)也没有解决:在pom.xml的build下补上一段<resources> <resource> <directory>src/main/java</directory>原创 2020-08-25 13:06:25 · 640 阅读 · 0 评论 -
springboot整合redis 使用注解@Cacheable、@CachePut、@CacheEvict
@Cacheable:可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果,而不需要再次执行该方法。Spring在缓存方法的返回值时是以键值对进行缓存的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略,这个稍后会进行说明。需要注意的是当一个支持缓存的方法原创 2020-08-13 11:20:56 · 1243 阅读 · 0 评论 -
Intellij IDEA 通过数据库表逆向生成带注释的实体类文件详细步骤
1、连接数据库:2、连接好了后,如上图所示,可以看到自己的数据库和表,选择一个表右键,选择说Generate POJOs.groovy,然后在弹出窗口选择需要生成的文件夹所在即可。3、要求不多的话,这样就可以了。这个重点是 没有注释,自己在网上找了些资料,修改了一份 Generate POJOs.groovy,是带有注释的,代码如下:import com.intellij.database.model.DasTableimport com.intellij.database.mo原创 2020-08-11 14:12:25 · 490 阅读 · 0 评论 -
springboot 返回以base64字符串格式的文件流
springboot接口,返回文件字节流,以base64格式字符串@GetMapping("/getFileBase64")public String getFileBase64() throws IOException { byte[] bytes=null; String base64String=null; //InputStream inputStream=...原创 2020-04-15 14:28:01 · 3665 阅读 · 0 评论 -
idea 误删除.iml文件后
简单说明IDEA中的.iml文件是项目标识文件,缺少了这个文件,IDEA就无法识别项目。跟Eclipse的.project文件性质是一样的。并且这些文件不同的设备上的内容也会有差异,所以我们在管理项目的时候,.project和.iml文件都需要忽略掉。生成iml文件 方法一(建议):刷新一下Maven Project就会自动生成.iml文件。点击下图红框标记的按钮即可 ...原创 2020-04-15 10:21:43 · 14284 阅读 · 1 评论 -
IDEA 快捷键不起作用 例如:返回上一步、下一步:Ctrl+Alt+左箭头 Ctrl+Alt+右箭头
win10系统中,IDEA 快捷键不起作用,例如:返回上一步、下一步:Ctrl+Alt+左箭头 Ctrl+Alt+右箭头:多数情况是和系统快捷键冲突了。解决方法:在桌面右键-图形选项-快捷键-禁用。这样多数情况就能解决了,若还不行,可能就和其他软件快捷键冲突了。终极大招:更改idea快捷键。...原创 2020-03-11 11:32:43 · 8849 阅读 · 0 评论 -
springboot springcloud常见报错问题:
1、SpringBoot 在整合其资源的时候经常会遇到could not autowired. No beans of ‘xxxx’ type解决方法:在包DAO中 增加@Component(value = "deptDao")package com.sky.dao;import java.util.List;import com.sky.api.entities.Dept;i...原创 2020-03-02 23:03:22 · 2833 阅读 · 0 评论 -
SpringBoot使用maven进行install或者package失败
错误信息:Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.069 s <<< FAILURE! - in XXX.XXXApplicationTestscontextLoads(XXX.XXXApplicationTests) Time elapsed: 0.002 s <<...原创 2020-03-02 14:41:37 · 946 阅读 · 0 评论 -
Idea 上传代码到github
第一步:安装Git,注册GitHub账号注册地址:https://github.com/安装成功后,git --version查看git版本第二步,使用IDEA创建一个项目第三步,在IDEA中配置好Git、GitHub(1)在IEDA左上角File → Settings → Version Control → Git,选择Git的路径,点击Test,看看是否成功。(2)在...原创 2020-03-02 13:13:19 · 196 阅读 · 0 评论 -
IntelliJ IDEA初步使用
用久了eclips,今天用于IntelliJ IDEA吧,是不太习惯,还不太会用,初步总结下。1、安装maven,IntelliJ IDEA中设置,在File--Setings中找到maven,设置maven路径2、 新建项目后,在项目中右键找不package,不能新建package,解决方法:右键–>new –> Mark Directory As –> Sources...原创 2019-10-22 16:50:53 · 202 阅读 · 0 评论 -
JAVA Eclipse下如何导入jar包(1)
我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包。这时候我们就需要在相应的工程下面导入这个jar包。以下配图说明导入jar包的步骤。1.右击工程的根目录,点击Properties进入Properties。或者选中工程根目录,按Alt-Enter即可。2.在Properties页面中选中Java Build Path,选中Libraries标签,点击Add Exte转载 2015-03-27 16:51:46 · 754 阅读 · 0 评论 -
JAVA Eclipse下如何导入jar包(2)
首先在项目下创建一个文件夹,保存我们的jar包。在项目名上右击,依次点击【New】-->【Floder】,打开新建文件夹窗口输入文件夹名称【lib】,点击【ok】。我们通常在lib文件夹中存放从外部引入的jar包找到我们要引入的jar包,鼠标选中jar包,然后按住鼠标左键不放,把jar包拖到lib文件夹中。或先复制jar包,然后在lib文转载 2015-03-27 16:52:04 · 2355 阅读 · 0 评论 -
Java连接SQL2008R2(1)
1.下载JDBC驱动,http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707&displaylang=en(英文),http://www.microsoft.com/downloads/details.aspx?FamilyID=a737000d-68d0-45转载 2015-03-27 15:29:29 · 573 阅读 · 0 评论 -
Java连接SQL2008R2(2)
1.下载JDBC驱动,http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707&displaylang=en(英文),http://www.microsoft.com/downloads/details.aspx?FamilyID=a737000d-68d0-45原创 2015-03-27 17:03:44 · 570 阅读 · 0 评论 -
Tomcat服务器不能打开http://localhost:8080安装测试页面
在TOMCAT服务器默认安装后,默认的端口是8080,出现不能找到http://localhost:8080的问题。如果遇到这个问题首先要确保JAVA(JDK)的正确安装和配置。如果JDK安装没有问题,还是在TOMCAT启动后不能打开http://localhost:8080,这时候就要查看TOMCAT安装目录下的/logs目录中的日志文件查看提示信息,根据信息排除故障。l转载 2015-04-02 14:26:25 · 2717 阅读 · 0 评论 -
eclipse下配置 jsp Servlet
eclipse下配置 jsp Servlet需要工具如下:tomcat 7下载地址:http://tomcat.apache.org/32-bit/64-bit Windows Service Installer (pgp,md5)(安装版,无需配置,合适初学)Eclipse3.6 IDE for Java EE Developers(不一定需要3.转载 2015-04-03 10:13:48 · 821 阅读 · 0 评论 -
eclipse tomcat中修改端口后,eclipse中调试时还是默认端口8080,报错
1、Window----Preferences中:2、选择add,选择Tomcat路径,Next就可以。原创 2015-04-03 11:54:45 · 2616 阅读 · 0 评论 -
eclipse 无法导入 import javax.servlet.http.HttpServlet
在eclipse中,编写servlet时,不能导入 HttpServlet 解决方法为:在build path中将 servlet-api.jar 导入即可。(servlet-api.jar在tomcat中的lib目录下)原创 2015-04-03 14:25:15 · 13481 阅读 · 0 评论 -
java 连接SQL2008(查询、插入、调用存储过程)
import java.sql.*;import java.util.*;public class SQL{ private Connection conn; private String connStr, sqlStr; private String useName, passWord; private PreparedStatement原创 2015-04-01 16:51:03 · 1916 阅读 · 0 评论 -
关于Class.forName(className).newInstance()介绍
Class.forName 介绍Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过转载 2015-04-01 17:03:39 · 574 阅读 · 0 评论 -
MyEclipse2015 SSH对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决
在网上查了很多,对于报错 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I,主要 是里面的Structs 1.3 (structs 2)和Hibernate3.2(或更高版本)中的JAR包里antlr2.7.2 与 antlr2.7.6 冲突,只要删除Structs1.3中的低版本的antlr2.7.2就可以了。解决原创 2016-06-21 13:49:25 · 460 阅读 · 0 评论 -
SSM 中的SpringMVC,easyUI,使用是无法加载easyUI资源
SSM框架中,jsp使用EasyUI时,无法加载EasyUI资源,致使界面无法准确显示提示:[org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP request with URI [/SSM-2/jquery-easyui-1.5/themes/default/easyui.css] in原创 2017-08-23 12:01:46 · 1221 阅读 · 1 评论 -
java Spring Boot 整合使用Swagger2构建强大的RESTful API文档
项目结构图:1、在pom.xml中加入Swagger2的依赖 <!-- 加入Swagger2的依赖 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox...原创 2019-02-26 17:20:55 · 212 阅读 · 0 评论 -
java int与integer的区别
java int与integer的区别int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象1.Java 中的数据类型分为基本数据类型和复杂数据类型int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为转载 2015-03-25 11:42:29 · 494 阅读 · 0 评论