Java
文章平均质量分 75
supingemail
这个作者很懒,什么都没留下…
展开
-
springboot常用的注解
springboot 常用注解翻译 2022-09-16 11:38:23 · 563 阅读 · 0 评论 -
weblogic 性能调优,提升程序响应效率
weblogic 调优原创 2022-06-13 18:11:16 · 2437 阅读 · 0 评论 -
dubbo2.5.X 升级dubbo3.0.8—weblogic启动异常排查
dubbo2升级到dubbo3, weblogic启动一直报错原创 2022-05-24 16:57:50 · 744 阅读 · 0 评论 -
RabbitMQ如何保证消息发送、消费成功
rabbitmq如何保证消息被消费成功原创 2022-04-15 18:47:44 · 8908 阅读 · 0 评论 -
springboot 处理跨域的正确姿势
springboot 处理跨域操作原创 2022-03-21 18:51:10 · 533 阅读 · 0 评论 -
Java特殊符号输出到word
Unicode 使用方式记录原创 2022-03-03 18:50:04 · 1966 阅读 · 0 评论 -
SpringBoot内嵌Tomcat开启APR模式,提升并发
SpringBoot内嵌Tomcat开启APR模式,提升并发原创 2021-12-27 14:03:11 · 2265 阅读 · 0 评论 -
内网上传maven依赖到 Nexus 库
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。目录概括1.下载依赖到本地2.将依赖上传3.创建推送脚本4.编写执行命令概括有些时候,开发面临的问题是需要在内网进行开发,即:无网络的情况下开发。那么自然而然就会遇到一个问题:使用java语言开发业务的时候,框架所依赖的jar文件就没有办法再内网完成,那就需要将提前下载好的依赖文件,放入到某个目录,然后使用脚本将maven的仓库信息推送到nexus库上去。1.下载依赖到本地首先将业务..原创 2021-09-08 11:16:24 · 1218 阅读 · 0 评论 -
NFS, linux系统间文件共享
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。目录一、介绍二、测试环境三、在线安装四、服务端离线安装五、客户端端离线安装六、注意事项一、介绍NFS为 Network FileSystem 的简称,它的目的就是想让不同的机器、不同的操作系统可以彼此分享个别的档案啦!目前在 linux 当中用来做为文件服务器是相当不错的一个方案喔!基本上, linux 主机连接到另一部 linux 主机来分享彼此的档案时,使用 NFS 要比 ...原创 2021-08-20 11:21:56 · 228 阅读 · 0 评论 -
DDD ,人都学习了,你还不赶紧抓紧学
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。以下全是干货总结,实战代码不在此列,可关注微信公众号,留言获取相关资料。目录一、DDD概念二、方法论三、技术架构四、使用启发五、总结一、DDD概念1、是一种方法论,不是一种架构,是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题;2、且对微服务系统的拆分以及项目的重构有章可循,避免依赖项目成员无章可循的经验进行拆分与设计;3、是一种可以借鉴的思想,而非严格原创 2021-08-17 18:45:30 · 301 阅读 · 0 评论 -
WEB在线预览PDF,WORD方案总结
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。目录一、PDF的预览方式1.PDFObject2.PDF.JS3.jsPDF4.jQuery Media Plugin5.Google Docs PDF viewer6.ZOHO Viewer7.Anychart:使用JavaScript导出PDF8.jQuery Document Viewer二、Word的预览方式1.jQuery Media Plugin2.PDFObje原创 2021-08-13 17:01:03 · 5091 阅读 · 5 评论 -
Nginx应用场景
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。一、HTTP服务器Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。1、 首先在文档根目录Docroot(/usr/local/var/www)下创建html目录, 然后在html中放一个test.html;2、 配置nginx.conf中的serveruser mengday staff;h转载 2021-08-11 15:18:39 · 130 阅读 · 0 评论 -
docx4j linux上文件内容乱码问题
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。问题今天遇到一个问题,生成文档程序在本地的window上都好好的,可是到了linux上之后,直接乱码。开始根本没有想到是因为字体库的原因,直到排查了很多原因之后,才猜测可能是因为字体库,导致了乱码的出现。解决方案1.找到window是字体库将windows的C:\Windows\Fonts\下的所有字体库都拷贝出来,放在桌面的fonts文件夹里2.添加linux字体库a. 到文件目录/u..原创 2021-07-29 18:46:59 · 1990 阅读 · 0 评论 -
利用phantomjs动态生成图片
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。目录一、问题二、可行方案三具体实施:1.phantomjs 安装运行一、问题 为什么需要动态生成图片呐,主要的用途就在于根据参数的不同,生成不同图片,进而生成个性化,定制化的报告。那么该如何实现图片的动态生成呐 ?二、可行方案 phantomjs + echarts 的方式来实现。 三具体实施:1.phantomjs 安装运行下载地址:...原创 2021-07-29 18:09:22 · 955 阅读 · 0 评论 -
DDD之领域间动态分頁联查
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。讲点题内话 众所周知,DDD是一种解决问题的思路。重点是给出理论,按照理论进行需求分析、业务拆解和架构设计。她是一种解决方案的抽象概括。 现状却是:没有一种完整的,可照本宣科的流程,让人可以根据这套流程去进行业务的分析,拆解,联合,这应该是DDD没有真正火起来的原因。很多人都知道DDD,也都明白是怎么回事,但是就是不能在实际的业务中去践行实施,去真正的按照DDD的思想去服务于业务。 ...原创 2021-07-27 00:30:23 · 2222 阅读 · 0 评论 -
你了解云原生吗?
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。作为一种架构模式,云原生架构通过若干原则来对应用架构进行核心控制。这些原则可以帮助技术主管和架构师在进行技术选型时更加高效、准确,下面将展开具体介绍。1服务化原则在软件开发过程中,当代码数量与开发团队规模都扩张到一定程度后,就需要重构应用,通过模块化与组件化的手段分离关注点,降低应用的复杂度,提升软件的开发效率,降低维护成本。如图 1,随着业务的不断发展,单体应用能够承载的容量将逐渐到达转载 2021-07-15 19:54:05 · 316 阅读 · 0 评论 -
啥,你要抛弃单体,拥抱微服务?
思考在业务开发的时候,肯定会面临一个问题,那就是:到底应该使用微服务,还是应该使用单体应用 ?这个其实没有一个明确的约定,但是可以找一些规律,来确定使用哪种方式进行业务的开发。 使用微服务实现的场景 业务很复杂,复杂操作很多,放在一个应用中管理不良; 业务功能很独立,任何一类业务都可以单独作为一个子系统,可单独使用; 团队成员分工明细,术业有专攻。有擅长订单的,有专攻供应链的,有研究物流的等等,可由他们来单独开发子服务; 为了学习和锻炼技术,掌握新知..原创 2021-07-14 01:38:14 · 189 阅读 · 0 评论 -
如何使用MQ?
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。目录一、消息的选型:二、消息的使用:三、消息获取四、异常信息:五、消息的弊端:六、具体使用:今天来聊一聊消息,都知道在系统中使用消息,其目的无非是:异步,削峰,解耦。换言之,我们在系统中引入MQ,其目的是为了解决现有系统中可能遇到的:异步操作,系统耦合或是大流量、高并发削峰的场景。消息的好处无非就是这些,可以帮助我们解决系统的这些问题,那么我们来聊聊消息使用时候该注意些什么?...原创 2021-06-24 00:35:42 · 2567 阅读 · 0 评论 -
关于程序部署的思考
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。来聊一聊,软件部署时候资源(服务器资源)申请的问题。为什么要说到这个问题,因为最近的一件事情,觉得可以抒发下自己的观点:业务要上线一个系统,用户量和点击数,都属于小众,可是项目的负责人,却在申请资源的时候,做饭真的是让人感觉资源浪费,具体细节不便多说。说到这个问题,其实这主要是和老板息息相关。有钱的公司,资源只要不是太随意,随便提(有点夸张,但是却有这样的土豪公司);一般公司:提出的部署资源会被询问很..原创 2021-06-23 00:22:25 · 125 阅读 · 0 评论 -
日志链路追踪
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受。在日常工作中,我们需要经常处理业务的各种异常,而日志成了我们定位问题,解决问题最有效的绝佳手段。那么如何快速定位问题,并且解决问题呐?下面说一下:针对链路上问题的排查,采用的一些方法和手段,供参考。在日志输出上,现在最常用的是:logback(spring-boot 自带的日志体系) 和 log4j2两种日志的实现方式 ,不管采用那种实现手段,都是实现了Slf4j定义的日志接口,这里不做赘述。在业务系统中,打印日原创 2021-06-11 16:30:40 · 480 阅读 · 1 评论 -
哪些好用的工具类库
1. Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串//如何把list集合拼接成以逗号分隔的字符串a,b,cList<String>list=Arrays.asList("a","b","c");//第一种方法,可以用stream流Stringjoin=list.stream().collect(Collectors.joining(","));System.out.println(join);//输出a,b,c//第二种...原创 2021-06-07 09:09:58 · 312 阅读 · 0 评论 -
设计模式白话版
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受目录01 工厂方法02 建造者模式03 抽象工厂04 原型模式05 单例模式06 适配器模式07 桥梁模式08 合成模式09 装饰模式10 门面模式11 享元模式12 代理模式13 责任链模式14 命令模式15 解释器模式16 迭代模式17 调停者模式18 备忘录模式19 观察者模式20 状态模式21 策略模式22 模板方法模式23转载 2021-05-10 09:02:09 · 172 阅读 · 0 评论 -
如何避免多表联查
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受!目录方式一、添加冗余字段方式二、小表广播方式三、建立集中的服务方式四、基于数据中心跨入21世纪,数据呈现了暴增的阶段,以往数据结果的获取方式都是以多表联查为主而获得的结果,可是在大数据的时代,数据暴增的情况下,再如此往复的使用多表联查,势必会对性能造成一定的影响,那么如何才能够避免使用多表联查,而又能达到预期的效果呐 ?方式一、添加冗余字段所谓冗余字段,就是在主要的信息上,添加上一些辅助的字段原创 2021-04-26 00:33:49 · 2883 阅读 · 0 评论 -
分布式ID生成方式
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受目录方法一: 用数据库的 auto_increment 来生成方法二:单点批量ID生成服务方法三:uuid / guid方法四:取当前毫秒数方法五:使用 Redis 来生成 id方法六:Twitter 开源的 Snowflake 算法在分布式系统中,避不开的是系统中,数据ID的处理,那么数据ID该如何才能生成才会更好的保证系统ID的唯一性呐 ?方法一: 用数据库的 auto_increm.原创 2021-04-24 19:08:47 · 559 阅读 · 2 评论 -
SpringBoot 中动态的对Bean对象设置和获取
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受目录前言bean对象的获取bean对象的设置前言现实中,总会有将bean获取或者动态(程序启动时候,通过参数判断是否需要创建bean对象,并放入到applicationcontext中去)将bean放入到springboot全局中去。bean对象的获取bean 对象的获取很容易,只需要在ApplicationContext 中拿取就是了,需要 实现的接口是:ApplicationContextA原创 2021-03-30 14:35:30 · 2989 阅读 · 0 评论 -
Redis 哨兵细解
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受目录Redis主从复制的问题Redis 的 哨兵(Sentinel)深入探究Redis Sentinel的架构配置 SentinelRedis Sentinel的工作原理自动发现 Sentinel 和从服务器故障转移Redis主从复制的问题Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用: 一旦主节点宕机,从节点作为主节点的备份可以随时顶...转载 2021-02-24 08:53:55 · 283 阅读 · 0 评论 -
深入浅出 HTTP协议
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目录过程解说体系介绍域名解析请求过程问题解答过程解说先说下简要过程,基本过程是如下所列6步 :1、使用DNS域名解析;2、发起TCP的3次握手3、建立TCP连接后发起http请求;4、服务器响应http请求,浏览器得到返回response;5、浏览器解析response,并请求其它的资源(如js、css、图片等);6、浏览器对页面进行渲染。体系介绍...原创 2021-02-23 11:32:31 · 676 阅读 · 0 评论 -
微服务组件
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.微服务可谓是当下最火爆的企业级开发应用模式,那么具体都要用到哪些技术呐,概括如下图所示 :当下最新的微服务组件,无出其右,基本就是这些。...原创 2021-01-28 14:55:23 · 448 阅读 · 0 评论 -
log4j-slf4j-impl cannot be present with log4j-to-slf4j
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目录一、日志冲突二、问题描述三、解决方案一、日志冲突日志在平时的开发中,扮演着十分重要的角色,可以很方便的帮助我们快速定位问题,查找原因,进而解决问题。但是有的时候,总是会遇到各种各样很奇葩的问题,如:二、问题描述项目背景:项目中引入了第三方的组件,组件选取的日志框架是 log4j2,但是在将第三方组件引入到springboot(默认日志框架logback实现)工程时候,就出现如上日志报错。原创 2021-01-21 14:50:39 · 29180 阅读 · 8 评论 -
高效分布式缓存比对
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目录横向比较概括:内存比较性能对比Redis 和 Couchbase 都是基于内存的数据存储系统。Couchbase 是高性能,高伸缩性和高可用的分布式缓存系统;Redis 是一个开源的内存数据结构存储系统。横向比较类别 COUCHBASE REDIS 类别 NoSQL NoSQL 网站 www.couchbase.com redis.IO 许可证原创 2021-01-19 11:36:32 · 323 阅读 · 1 评论 -
Git ssh 上传大文件
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.习惯了使用工具来进行代码的拉取和提交,突然使用命令,就发现:现成的工具用多了,原始的不会了。尴尬呀!今天遇到一个将2G的项目 (自然语言处理依赖包大)上传到git上,发现一直传不了,后来查找原因:是因为http的方式,在应用层,传输的文件太大,所以不能使用,故而只能使用命令的方式来操作。而且是使用ssh的方式来操作传输。详细操作如下:1.项目上传1、(先进入项目文件夹)通过命令 git init 把这.原创 2020-12-21 13:42:37 · 867 阅读 · 0 评论 -
2020-12-17
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目录Redis 的八大数据类型1、String(字符串)2、List(列表)3、Set (集合)4、Hash(哈希)5、zset (有序集合)6、geospatial7、hyperloglog8、bitmap 位图都以为redis只有5种数据类型,哈哈,you are wrong ,you are wrong!其实,redis早就在不断变化和更新了,现在人家已经足足有8种数据类型.原创 2020-12-17 11:10:50 · 246 阅读 · 0 评论 -
phoenix 使用技巧
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目录1.什么是Phoenix2.Phoniex架构3.基本使用3.1 建表3.2 建索引3.3 select查询4.最佳实践4.1 大小写问题4.2 加盐注意事项4.3 慎用扫全表、OR、Join和子查询4.4 Phoenix不支持复杂查询4.5 Phoenix不支持复杂分析4.6 Phoenix是否支持映射已经存在的HBase表?5.使用规范Phoenix是构建原创 2020-11-20 19:06:26 · 1215 阅读 · 1 评论 -
文件压缩优化
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.有一个需求需要将前端传过来的10张照片,然后进行进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是连续前端所传图片的大小越来越大的时候,耗费的时间同时急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。publicstaticvoidzipFileNoBuffer(){Fi...转载 2020-11-10 09:24:35 · 352 阅读 · 0 评论 -
API接口如何防止参数被篡改和重放攻击?
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.目前所有的系统架构都是采用前后端分离的系统架构,那么就不可能避免的需要服务对外提供API,那么如何保证对外的API的安全呢?即生鲜电商中API接口防止参数篡改和重放攻击目录1. 什么是API参数篡改?说明:API参数篡改就是恶意人通过抓包的方式获取到请求的接口的参数,通过修改相关的参数,达到欺骗服务器的目的,常用的防止篡改的方式是用签名以及加密的方式。2. 什么是API重发攻击?说明:API重放.转载 2020-11-09 10:56:22 · 2306 阅读 · 2 评论 -
springboot的4种定时任务
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受. 使用Timer 使用ScheduledExecutorService 使用Spring Task 简单的定时任务 多线程执行 执行时间的配置 cron表达式详解 整合Quartz 最后 定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.转载 2020-11-09 10:23:25 · 392 阅读 · 0 评论 -
springboot 的测试头
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.UT 测试是在开发中经常用到的,但是究竟用哪一种,这个还要根据具体的业务来确定。方式一、api方式 @RunWith(SpringRunner.class) @SpringBootTest方式二、api方式 @RunWith(SpringRunner.class) @SpringBootTest(classes=XxxApplication.class)方式三、We...原创 2020-11-05 10:34:23 · 202 阅读 · 0 评论 -
SpringBoot,Nacos 配置加载事宜
好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.针对 nacos 在 springboot 中的调用,获取配置信息,做如下测试,并得出结论 :nacos 测试结果: 1.nacos 管理的配置文件中,配置了一个key,再到项目中bootstrap.yml中配置相同的key,不起作用! nacos 配置: info: redis: host: localhost port: 6379...原创 2020-10-30 10:44:25 · 2821 阅读 · 0 评论 -
MyBatis 动态SQL
MyBatis 令人喜欢的一大特性就是动态 SQL。在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。MyBatis 动态 SQL 的出现, 解决了这个麻烦。MyBatis通过 OGNL 来进行动态 SQL 的使用的。目前, 动态 SQL 支持以下几种标签:1 数据准备为了后面的演示, 创建了一个 Maven 项目 mybatis-dynamic, 创建了对应的数据库和表DROPTABLEIFEXISTS`student`;CREAT...转载 2020-10-20 10:38:34 · 230 阅读 · 0 评论 -
Mysql 日志
日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任...原创 2020-10-20 10:34:19 · 304 阅读 · 2 评论