java
文章平均质量分 50
敬业小码哥
我非善人,但我可以明辨是非,
我非恶人,但我可以给予恐慌,
我虽孤独,但我喜欢在键盘上敲击我的梦想,
仅仅为了证明,我心中的梦,心中的理想。
展开
-
记一次:线程池源码解析
前言:很多时候我们需要使用线程池来处理逻辑,但实际上线程池是如何添加线程,如何执行的呢?太简洁了,和我编程风格不习惯,本人优化一下,一毛一样的。好了,这回看着舒服多了,下面开始画流程图吧。0:创建线程池--略(7个参数)原创 2023-08-16 14:44:15 · 263 阅读 · 0 评论 -
spring源码之--启动入口
1、那么spring的源码入口从哪查看呢?springboot的源码是如何启动spring的源码呢?springboot启动也是使用的new AnnotationConfigApplicationContext的方式。启动发现使用的是NONE,也就是说,使用的是spring启动的方法1的方式。2.1、但是调用的是spring的哪个类呢?2、那么springboot的项目调用spring的方法在哪呢?前面的文章搭建过spring源码,这里暂时不做展开讲解。然后这三个和spring的关系图如下。原创 2023-08-04 14:30:29 · 205 阅读 · 1 评论 -
记一次:java访问nginx代理服务器访问第三方服务
有这样的场景,A机器访问C机器访问不了,而A机器可以访问B机器,B机器也可以访问C机器,所以就可以使用B做代理机,实现A访问B从而实现A访问C。其中的Base64.encode(user:password)是指把用户名和密码用冒号连接起来之后使用Base64编码后的值作为值的一部分。使用代理的方式是在打开Http连接的时候同时传递一个Proxy参数。.Authenticator这个类却是个抽象类,我们要使用还需要实例化一下子自己的类。如果你的代理服务器不需要验证,那到此就结束了。原创 2023-02-01 16:21:45 · 1355 阅读 · 0 评论 -
记一次:java获取真实ip地址问题
前言:在java代码中获取真实ip地址的代码如下所示ip请求-->nginx-->docker容器-->java项目代码解决:在nginx配置中将请求地址做些修改原创 2022-06-17 14:05:42 · 1456 阅读 · 0 评论 -
Spring cloud Alibaba之 nacos了解
随着技术的发展,现在cloud也越来越出彩,不进步就要倒退,遭到社会的毒打。所以需要学习。SpringCloud Alibaba介绍Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件原创 2022-04-10 11:10:28 · 627 阅读 · 0 评论 -
java程序读取配置文件内容
在实际开发过程中,会遇到各种各样的变量,我们一般会放在配置文件中。下面就介绍一些常用方法。-----cloud项目部分-------java程序读取nacos中的内容1、在要获取的类中自动注入ConfigurableApplicationContext,如下@Autowiredprivate ConfigurableApplicationContext configurableApplicationContext;2、获取配置文件内容信息String notifyUrl = c..原创 2021-12-24 15:18:14 · 907 阅读 · 0 评论 -
spring-framework源码5.3.x环境问题
源码的冒烟测试中抛出:> Task :spring-core:cglibRepackJar FAILEDExecution failed for task ':spring-core:cglibRepackJar'.> java.lang.AbstractMethodError (no error message)* Try: Run with --stacktrace option to get the stack trace. Run with --info or --de.原创 2021-12-22 08:41:46 · 1011 阅读 · 0 评论 -
springBoot源码之--环境搭建-gradle搭建
gradle搭建笔记推荐使用 idea版本:2021.2或以上 gradle 版本6.9.1版本2.5.x0、本源码下载地址链接:https://github.com/spring-projects/spring-boot/tree/2.5.x使用Git下载 git clone -b 2.5.x https://github.com/spring-projects/spring-boot.git1、使用idea打开 然后修改build.gradle文件因为 Gradle 支持使用 Mave.原创 2021-12-21 17:03:33 · 1545 阅读 · 0 评论 -
springBoot源码之--环境搭建-maven搭建
最近查看spring源码,那么源码环境搭建必不可少。以下为整理1、下载springBoot源码--这里以2.1.x为例子在githubs搜索/spring-projects/spring-boot版本选择这里选择2.1两种方式clone 和download两种方式官方文档阅读解压到你自己指定的目录:解压后目录结构官方文档说提供了两种编译方式:我们可以手动执行,也可以使用自己的maven执行第一种编译方式cmd进入源码目录,运行:mv...原创 2021-12-21 10:30:18 · 1016 阅读 · 0 评论 -
记一次-服务器如何使用多个不同版本的jdk
笔者这里有一个需求,因为jdk版本不同,有些银行的jar包不支持,但我们使用的其它项目配置好的jdk版本不能改动,so,需要配置一个其它版本的jdk.实质:就是在你项目启动的时候单独指定jdk环境,或者单独指定jdk路径即可。操作:1、从官网下载对应的jdk版本2、上传到服务器指定目录,解压jdk此两步可参考下面链接的方案二的1,2小节部分https://blog.csdn.net/sinat_38259539/article/details/122040558?spm=1001.201原创 2021-12-20 15:14:04 · 1232 阅读 · 0 评论 -
centos8安装jdk
因为经常从centos8中安装jdk,这里总结一下,jdk以1.8为例子yum安装:---不做重点1、查询可安装的jdk版本yum -y list java*2、安装jdk1.8yum install -y java-1.8.0-openjdk.x86_64注:这种安装方法默认给安装到usr/lib/jvm/,不愿意的同学可以到oracle官网下载jdk安装包进行解压安装安装包安装--重点介绍 1、下载安装包,下载linux64版本,tar.gz结尾, 官网地..原创 2021-12-20 14:31:47 · 2313 阅读 · 0 评论 -
Gradle学习笔记(一)
前言:我们常用的项目搭建工具使用maven,但是查看各种源码文件的时候发现他们构建工具使用的是gradle,为了更好的理解源码,gradle也是必学之一的了。这里做一次总结。gradle英式音标:[ɡreɪdl] 美式音标:[ɡredl]一、介绍和安装Gradle是基于Groovy语言的项目自动化建构工具,在使用Gradle之前常用的构建工具有Ant和Maven,使用这些工具我们可以用来管理项目依赖,打包,部署和发布等。使用Gradle我们将需要的构建逻辑写入到build.gradle文件中,方原创 2021-11-13 21:32:35 · 2413 阅读 · 2 评论 -
若依cloud架构使用注意的问题
因为不太熟悉若依cloud的架构,使用过程中踩了许多的坑,这里做一次错误总结,防止下次踩坑一、若依cloud构建子模块后台手册 | RuoYi使用若依快速构建web应用程序http://doc.ruoyi.vip/ruoyi-cloud/document/htsc.html#%E6%96%B0%E5%BB%BA%E5%AD%90%E6%A8%A1%E5%9D%97构建完了启动后抛错?Error starting ApplicationContext. To display the conditi原创 2021-11-11 16:03:49 · 2239 阅读 · 0 评论 -
spring cloud 如何将sql日志输出到控制台
# 日志配置logging: level: com.jbd.goldenbean: DEBUG org.springframework.web: DEBUGdebug: true原创 2021-11-11 10:34:50 · 1247 阅读 · 0 评论 -
记一次No mapping for GET /swagger-ui/index.html 问题
前言:因为之前用swagger是可以用的,当应了上一篇文章,处理返回字段为null的时候处理为空,导致了swagger不可以用。结论:如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源解决:在继承WebMvcConfigurationSupport的类中添加代码 /** * No mapping for GET /swagger-ui/index.html 问题 * 如果继承了WebMvcConfi原创 2021-10-08 09:23:46 · 5048 阅读 · 4 评论 -
记一次查询返回字段为null处理为空
很早以前就想总结这篇文章,今日正好又有类似的需求,那么就搬出来吧前言:做后端在跟前端联调的时候,有种情况是这样的,能不能把返回的为null的字段去掉,于是乎如下pring.jackson.default-property-inclusion=NON_NULL结果返回的字段里为null的字段都没有了。跟安卓做对接的肯定不干了。于是乎如下package com.mage.web.controller.common;import com.fasterxml.jackson.core.Json原创 2021-09-29 11:22:13 · 536 阅读 · 0 评论 -
记一次netty的使用
前言:笔者在项目中使用的netty的场景是这样的,(物联网公司)所有机柜使用长连接连接到服务器,而服务器使用的正好是netty,所以不得已笔者需要学习netty的一些知识,这里只是浅浅的使用笔记,更深入的知识需要后期学习。这里是一个简单使用的笔记准备:集成netty项目,需要准备好一个能访问使用的项目(略)1:pom.xml文件(笔者认为所有项目第一步)导入netty的jar包<!--netty start--><dependency> <groupId>原创 2021-01-28 09:23:31 · 850 阅读 · 1 评论 -
记一次阿里生活号获取用户信息中文乱码问题解决
问题:阿里的生活号关注的时候,(配置网关重点-略)在支付宝中点击生活号关注或者取消关注的时候,回调本地程序获取用户名的时候乱码,如下图那么如何解决这个问题呢?笔者思路:先梳理逻辑,所有的乱码都是编码和解码使用的不是同一种,如果中途有一次使用乱了,那么以后就再也解不开了。所以需要从乱码的节点分析,因为阿里返回推荐使用的是GBK,那么也就是说阿里请求我们的网关时候是GBK编码的。所以解码的时候肯定在本地程序这。笔者还百度了一下发现各种各样的解决方案。但大体而言,都是看你项目的配置了。我们项目配置了编原创 2021-01-12 09:15:05 · 479 阅读 · 0 评论 -
记一次使用阿里的_对象存储oss
阿里对象存储oss使用因功能需要自己搭建图片服务器所以使用了oss因功能需要自己搭建图片服务器所以使用了oss前期准备购买开通–略话不多说:看自己写的工具类package com.jingpaidang.nxs.utils;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.aliyun.oss.model.OSSObject;import com.aliyun.oss.model.OSSO原创 2020-12-21 09:02:35 · 788 阅读 · 0 评论 -
记一次用nginx搭建图片服务器
因为公司使用的是七牛云(还是别人的七牛云),别人不让用了,所以需要自己改装,搭建自己的图片服务器,话不多少,直接上代码0:nginx安装略过1、编写nginx的配置文件,然后集成进去这里最好是编写自己的一个一个的conf文件,然后incloud进主配置文件中,image.confserver { listen 80; server_name image.xiaomage.com; #charset koi8-r; access_log logs/image.xi原创 2020-12-18 09:24:39 · 313 阅读 · 0 评论 -
记一次redis连接错误(无法加载数据库:Cannot connect to server ‘ip‘ Check log for details)
生产上有一个redis使用客户端连接,发现连接不上,密码什么的都是正确的,如下截图发生这种情况有很多不能定位到具体情况,所以还是需要看连接日志,到底抛的什么错误日志一看,RDB?持久化的问题?然后开始分析。MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disa原创 2020-11-24 08:56:56 · 4286 阅读 · 0 评论 -
记一次使用list进行分页
在实际项目中,我们有许多情况一条sql不能完成业务需要,所以多个sql执行,那么分页的情况就有点尴尬PageHelper.startPage(Integer.parseInt(pageNum), Integer.parseInt(pageSize)); 上面的分页插件就失效了,所以自己写了一个分页工具如下/** * 使用代码进行分页 * @param listPage 要进行分页的原list * @param pageNum 开始的页数 * @param pageSize 每页的条数原创 2020-11-19 15:28:16 · 464 阅读 · 0 评论 -
记一次优化mysql(700w)数据的经历
1:情况当时线上环境出现调用接口,接口无法响应问题,网站登录不上,机柜充电无法下单的情况,排查原因,发现sql堵塞着,综合分析日志数据太大,导致的。此时hold_log日志信息如下当时通过show processlist查看mysql情况发现执行的时间已经上千秒了,并且查看sql,通过exlpain发现sql已经走了索引,也已经最优了。因为笔者也是后来接手的,系统大概的结构已经定型,只能起一个临时方法。临时解决方案一、先将这种上千秒的sql查询kill id;杀掉 ,然后接口此时原创 2020-11-12 09:16:12 · 980 阅读 · 2 评论 -
mybatis之update返回响应条数/受影响行数(如果更新数据与原数据一致则返回0)
需求:笔者最近有一个需求是这样的,每个机柜每1分钟都会发一个心跳包,这个心跳包的数据如果和mysql数据库存在的数据一样,那么就不要更新了,直接给我返回一个0,我会根据这个0判断要不要存入这个心跳日志.也就是说.如果你这个表更新了,那么我就在另外一个表插入一个记录(异常记录).问题:(这里指的是一条更新,非批量更新)mysql的更新如果相同,那么确实是返回一个0的,但是mybatis不知道为何总是返回一个1过程:笔者查阅了资料,了解如下:1:不同的数据库,update的机制是不一样的.但是针对标原创 2020-07-24 08:58:09 · 9011 阅读 · 0 评论 -
小游戏---java版2048(2048 go go go)
在2020年过年之前的时候,有着游戏兴趣的我,用了两天的时间搞了一个java版的2048小游戏,并且通过工具生成了exe版,心里美滋滋。附上源码教程。分享给大家。独乐乐不如众乐乐。游戏虽然简单。却也是笔者真实的劳动成果。希望大家珍惜笔者的劳动成果。1、界面效果2、贴出源码。大家一起乐乐吧package com.mage;import java.awt.Button;imp...原创 2020-03-25 14:09:09 · 1280 阅读 · 0 评论 -
工具类之----java调用shell脚本的工具ProcessTool类
在项目上,因为是管理资源(就是管理所有的机器),那么肯定会定义好许多的脚本(shell命令),通过java调用呢必须使用了一个工具类。如下1、ProcessTool工具类package com.simp.util.process;import java.io.IOException;import java.io.InputStream;import java.util.Array...原创 2020-01-19 15:15:26 · 2018 阅读 · 0 评论 -
工具类之----排查日志自己写的筛选工具类
某项目中因为日志比较庞大,肉眼筛选有些困难,所以自己写了一个工具,如下,留着以后备用package com.mage.log;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;impor...原创 2020-01-17 13:57:28 · 380 阅读 · 0 评论 -
工具类之----用于识别指定的机器是否可用工具类
某银行现场环境有这么一个情况,就是网络不互通,但是个别的机器某一个是可以通的,那么其他的资源设备如果进行操作呢?留意了一个工具类。如下package com.simp.util.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io....原创 2020-01-16 11:09:51 · 215 阅读 · 0 评论 -
记一次linux下 crontab 定时任务命令
公司在某银行项目中,有这么一个需求,使用linux或者unix系统中用系统的定时任务调用项目里的java代码执行,于是做了如下准备crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。所以妥妥的使用crontab命令,话不多说,直接硬菜。一、执行的流程(都需要什么文件,...原创 2019-12-06 10:46:33 · 170 阅读 · 0 评论 -
记一次使用exe4j工具将jar包生成.exe文件
因为项目需要,一种加密工具,提供给客户。所以采用了使用exe4j工具将jar包生成.exe文件第一步、安装exe4j(没有工具可以自行下载)双击,然后选择安装的路径,一路next第二步、安装完毕之后打开,然后next第三步、选择‘jar’第四步、设置exe名称和输出路径第五步、默认勾选GUI application,设置程序名称,设置exe文件图标(非必须),选...原创 2019-10-29 16:00:43 · 1055 阅读 · 0 评论 -
记一次tomcat连接oracle数据库,密码为密文的更改
在实际开发中,遇到过这么一个需求,tomcat连接的oracle数据库,数据库的密码为明文显示,客户提出不能为明文显示,必须是密文的方式。那么我如何做呢?下面说一下一、tomcat连接oracle方式在tomcat的context.xml中配置(笔者tomcat版本为tomcat-7.0.69)如下 <Valve className="org.apache.catalina.v...原创 2019-10-29 09:24:17 · 1705 阅读 · 0 评论 -
在java里使用http请求别的接口
在项目中有过这么一次要求,就是在我本次项目中要使用java调用别人的接口,使用的方式时http的get请求。请求到的数据进行处理。话不多说直接贴代码,如下//http请求==============protected static InputStream httpRead(String url){ Debug.info("==========Graphic httpRead come i...原创 2019-10-24 08:55:10 · 1020 阅读 · 0 评论 -
poi的使用导入Excel表格的工具类封装到JavaBean对象之中
经过几天的不眠不夜的奋战(哈哈,开个玩笑),咳咳正经点,这几天自己封装了一个Excel表格的导入(本人是菜鸟所以是几天,经过大量测试,和自己的需求,如果有其它的表格形式需要自己改写),我在这里做一个笔记,仅供自己以后忘了,没有别的意图。偶对了,是用泛型+反射进行封装的、下面活不多说上代码。1、先编写工具类package com.huayi.dayan.util;import org....原创 2018-11-26 15:16:53 · 2739 阅读 · 2 评论 -
Spring data mongodb的内嵌数组的简单使用(一)
最近公司需要使用mongodb作为一个无知的我,学习了一下,翻阅了大量的教程,简单的就不说了。附个链接:http://www.runoob.com/mongodb/mongodb-tutorial.html关于内嵌对象,当时搞得头大。所以这里总结一下,做个笔记。1、JavaBean对象public class EventRead implements Serializable ...原创 2018-12-03 15:48:32 · 7645 阅读 · 4 评论 -
记一次实际的服务器安装centos7的过程
笔者买了一个华硕rs500的服务器,因为为了更好的练习编程,所以必须自己从头到尾做一遍,下面话不多说开始安装吧。一准备服务器一台,8g的u盘一个(因为没有光盘),CentOS-7-x86_64-DVD-1708.iso镜像下载到本地某一个磁盘中,镜像地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64...原创 2019-04-06 21:38:35 · 4410 阅读 · 0 评论 -
加密方式之SM2
有一项需求,为了相对保证安全,需要敏感字符添加加密国密方式,于是想到了SM2,话不多说,上代码。一、前端js代码。开始也是找了好久的m2的前端js加密方式,很少,这里找到一个大哥的,贴上连接https://jm1999.iteye.com/blog/2408361在这位大哥的基础上做了一些修改,放到自己的sm2Utils.js中了var CryptoJS =""; funct...原创 2019-05-30 08:55:47 · 20738 阅读 · 0 评论 -
3DES加密之更改历史密码解析==Java指令-Djava.ext.dirs的陷阱
引出问题:java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede at javax.crypto.Cipher.getInstance(Cipher.java:535) at com.simp.util.crypto.Des3.decryptMode(...原创 2019-06-20 15:32:20 · 459 阅读 · 0 评论 -
SimpleDateFormat日期格式转换
在08年的项目中经常遇到Calendar(日历)的转化错误,这个错误在Windows环境中不会抛错,将项目部署到Linux中就会抛异常导致功能无法使用,这里做一个总结。1 Java.util.Date(这里讲String类型转date类型)包含年、月、日、时、分、秒信息。格式:Wed Jun 07 15:26:34 CST 2017问题:在项目中我发原创 2017-06-07 16:19:58 · 14619 阅读 · 1 评论