自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 问答 (32)
  • 收藏
  • 关注

原创 RocketMq知识体系

积累知识、完善体系,成为更好的自己!

2023-04-19 13:31:03 428

原创 Redis知识体系

积累知识、完善体系,成为更好的自己!

2023-04-19 13:28:31 141

原创 MYSQL知识体系

积累知识、完善体系,成为更好的自己!Innodb存储引擎。

2023-04-19 13:25:46 101

原创 Spring知识体系

beanFactory是IOC容器的基本实现形式之一,它定义了IOC容器最基本功能。例如getBean、containsBean、isSingleton等方法。直接拓展子类有AutowireCapableBeanFactory:支持自动装配bean的容器ListableBeanFactory:支持查询容器中bean的容器HierarchicalBeanFactory:支持获取父beanFacrory的容器什么是ApplicationContext。

2023-04-19 13:17:36 51

原创 JAVA知识体系-JVM原理

积累知识、完善体系,成为更好的自己!

2023-04-19 13:11:48 118

原创 JAVA知识体系

put时会有hash碰撞,两个线程的key hash值一样,线程AB都判断那个位置为空,1.7头插可能会死循环,数据丢失。1.8尾插数据也被覆盖导致丢失。

2023-04-19 12:37:24 273

原创 Springboot应用无故退出排查过程记录

回到第一个情况的未生成dump的原因与第二种情况一样,推测在cpu飙高和内存飙高的情况下,tomcat一些通信线程可能会被释放掉以获得更多内存资源,hprose-java检测到线程不存活则调用System.exit退出应用。总之tomcat的通信线程池里的线程,可能会因为内部或外部原因被释放掉,但并不意味这应用结束,仅仅是资源释放。而hprose-java的基于线程状态的检测机制并不合理,应用或系统资源上有任何问题也应交给应用或系统处理,hprose-java属于狗拿耗子了,所以新版本中已经去掉了。

2024-04-07 11:37:44 1908 3

原创 JDK17源码编译记录-在Shutdown.exit退出方法前插入当前线程栈日志打印

我把编译环境搞成和使用环境的系统一样,gcc版本4.8.5太低编译不了jdk17,但是阿里巴巴的jdk17就能正常用,这是怎么处理的?参考官方说明编译jdk的各版本环境要求: https://wiki.openjdk.org/display/Build/Supported+Build+Platforms。6、在源码目录下会有个build目录,其中有个jdk目录但比较小,可能不包含jmodes、legal模块,在images下还有个jdk目录,模块齐全,可取之打包使用。1、下载openjdk17源码。

2024-03-22 17:09:51 397

原创 javassist+javaAgent探针, 实现jvm退出时打印线程栈日志

线上springboot应用莫名其妙偶尔退出,应用日志、系统监控指标、jvm指标都正常!写此探针看看是否有哪个小可爱调用退出方法。编写ShutdownExitTransformer。maven打jar包,选择携带依赖的jar。编写ShutdownExitAgent。应用启动jvm参数中加上探针配置。验证退出,打印线程栈日志。

2024-03-22 16:46:42 308

原创 shell监控springboot应用进程接收到的终止信号,并打印到日志文件

shell监控springboot应用进程接收到的终止信号,并打印到日志文件

2024-03-15 18:11:51 159

原创 shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

2024-01-06 21:40:41 509

原创 SpringBoot知识体系

首先按照官网的说法,我们用springBoot可以很容易构建独立的、生产级的、基于spring框架的应用。我的理解,SpringBoot使用声明式编程(@Autowired、@Transaction等)、内嵌容器(tomcat、undertow等)、约定大于配置原则,提供常用starter支持自定义starter,使得搭建spring应用的配置、编码、部署等变得非常简单。springBoot核心注解springBoot启动类上注解@SpringBootApplication上有四个核心注解。

2023-04-19 13:32:22 145

原创 mysql大数据分页查询优化方案

使用用户变量给整个查询结果赋顺序号,然后跟分页大小求余,得出每页最后一行记录id,存起来,后续每次查询都可以拿到id,然后根据id查。:每次分页查询携带上页最后一行数据的id,然后根据id查询,大于上一页最后一条的id。缺点:优点不是很突出,并且子查询结果的id要有正序,否则id>=就不准了。优点:一旦初始化完成,每页都可便捷获取到id,查询速度是极快的。缺点:初始化每页首行id,需要时间较多,还需要缓存起来。适用场景:海量数据,接受查询初始化需要一定时间的。优点:根据上页最后一条记录id查,效果佳。

2023-03-30 23:46:03 408

原创 Hash原理总结

Hash原理总结很久就了解java中hashCode()函数用来求hash值,hashMap中也有用到hash值,如今学习hash算法,才发现并不清楚hash算法是什么,为什么会hash冲突,一致性hash算法是什么。今天终于有了姿势!什么是hash算法hash算法是一种算法思想,是希望用一个整数来代表一串字符或其他类型数据,并且尽可能的这个整数是唯一的!这个值称为hash值。所以,实现求hash值的算法有很多,但都不能完美的避免hash冲突,也就是不同数据,求出的hsah值是相同的。hash冲突的

2021-01-21 21:16:10 196

原创 手写一个Spring的IOC容器、springmvc 包括自定义@Controller、@RequestMapping注解

通过手写纯javaee项目,不引入任何spring依赖,简单实现spring的ioc容器、springmvc转发核心功能。效果:根据请求路径访问后台对应Controller类方法。 过程: 一、自定义DispatchServlet,并在web.xml中配置。 二、自定义@Controller、@RequestMapping。 三、自定义Controller类 重点说下DispatchServlet实现步骤:init(..)方法中就是主要步骤...

2020-08-31 12:47:26 321

原创 Eureka服务注册、发现、集群配置

概念理解:服务治理:管理服务之间依赖关系,实现服务注册、调用、负载均衡、降级容错等。eureka就处在服务注册这个环节。服务注册系统架构eureka介绍eureka2.0是spring-cloud的服务注册中心模块,实现服务注册、发现,与其他高级组件一块实现服务熔断、负载、降级等。eureka由两个组件构成:eureka-server 和eureka-client。eureka-server 是eureka注册服务端,管理各个微服务在eureka上的注册信息。..

2020-07-21 22:15:59 439

原创 分布式微服务架构之springboot搭建微服务工程

springboot+maven搭建微服务开发工程本文极简单搞个微服务工程,帮助理解微服务间开发协作关系。包含:顶级父maven项目,订单模块、支付模块、公共模块。实现:1.所有模块依赖父项目2.业务模块也依赖公共模块。3.实现订单服务通过接口调用支付服务。详细内容链接:http://note.youdao.com/noteshare?id=b963b10791e6595e6b4e75ef4bac75d6&sub=17E49BF2720A429F976B9E7601B6

2020-07-19 02:22:49 206

原创 spring整合ActiveMQ,实现消息生产者指定消费者回复的队列(目的地),并监听到消费者回复的消息

消息中间件理解:消息中间件实现系统之间解耦、异步访问。在微服务架构下,各个业务模块都是独立的系统。整个业务由各个子系统链式调用完成。消息中间件就充当了各个子系统间的缓冲角色。系统不直接调用系统,而是调用中间件。适用于不需要即时响应的业务场景。优点:1.上下游系统间解耦,避免互相影响。2.消息中间件队列管理请求,具有流量削峰,减少系统压力的作用。缺点:增加业务系统复杂度,额外的中间件相关问题,及业务问题排查难度。消息中间件主要功能:1.发送/接收消息2.集群/容..

2020-07-14 23:52:23 1160 1

原创 多线程概要理解

1.什么是多线程?进程是可以有很多个线程,执行不同任务。进程间内存空间是独立的,线程间共享一个内存空间,但每个线程都有独立的本地栈内存,存储本地数据。多核心cpu实现并行运行线程,单核心cpu下线程以串行方式运行。2.解决什么问题?一般,多核cpu可以实现同时运行多个线程,提升工作效率。3.java多线程如何实现?为什么这么实现?适用哪些场景?3.1 多线程实现方式Thread :实现Runnable接口,通过start()方法启动新线程,调用run()方法执行任..

2020-07-13 18:00:06 125

原创 动态切换主从数据源,实现读写分离最后一步!

前言:前篇已经搭好mysql主从实例及配置好主从复制功能。这篇实现应用层动态切换数据源,完成读写分离功能最后一步。首先大概介绍步骤:1.已经有了单数据库的ssh应用,并且正常启动使用着。到这里的配置就不写了。2.改造:配置主从数据库的properties参数3.xml配置多个数据源,并关联到sqlSessionFactory4.实现AbstractRoutingDataSource类的determineCurrentLookupKey()方法5.定义DAO切面,调用切换.

2020-07-06 21:04:12 432 1

原创 记录一台linux服务器上配置mysql多实例,并配置主从复制功能。

经过两天努力终于成功配置好mysql多实例,主从复制功能。记录一下,有些细节、问题都省略了些,欢迎留言交流。mysql多实例配置下载mysqlwget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz解压mysqltar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql新建用户组mys.

2020-07-05 22:17:43 255

原创 实操Nginx实现负载均衡

今天记录下自己的情侣网站使用Nginx实现负载均衡(两个网站服务)。网站是部署在阿里云ecs服务器。网站内容比较隐私就不写出来了。首先,网站有域名,证书是以前配好的,一直用https访问。443端口默认是转发8443,所以tomcat服务是监听8443。下面开搞整理下大概思路:1.安装nginx2.安装另一个tomcat服务器并配置ssl、端口、部署服务3.阿里云控制台和服务器防火墙上都要开放需要的端口4.配置负载均衡节点整理下遇到的问题:1.linu..

2020-07-01 20:45:54 334

转载 linux使用免安装版tomcat,启动遇到本地APR模块无效解决办法。

看了这边文章解决了我的问题,nice:https://blog.csdn.net/maxracer/article/details/51165023/tar.gz版本的tomcat不会安装好apr,需要单独编译安装。下载地址apr-1.5.2.tar:http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz需要的几个环境#yum -y install autoconf // 安装autoconf#yum -y install libtool /

2020-07-01 13:31:35 340

原创 记录IOC的简单理解

1.什么是IOCinversion of control (控制反转)是中设计思想:托管(自己的理解)。即java对象本来是要自己new出来,托管给ioc容器。ioc容器负责对象的创建、依赖注入。托管的理由:1.减少重复创建对象,节省内存资源。2.资源可配置,灵活并且易于管理。举例理解:ioc就像你网上买商品,只需要某东某宝上下单,之后会把东西派送到你上。而不是你直接生产你需要的商品。”下单“ 相当于注解/xml配置(你需要啥、住址), 平台负责生产和配送商品,相当于ioc容器对象的

2020-06-26 12:48:44 210

原创 记录Spring的AOP理解及实现

1.什么是aopaop机制是为解决一类需要统一维护的工作。程序访问某个类或某个方法时,需要做一些自定义的工作。比如记录异常日志、事物控制等。在某个方法抛异常时可以在一个方法里统一打印日志,这样程序也很好的实现解耦。aop主要的概念有切点、通知、切面等。切点就是在哪里切入,通知就是什么时候通知,切点和通知组合起来就是一个切面。通知主要有前置、后置、异常、环绕通知。2.aop原理aop实现原理就是在程序运行期间,spring通过创建目标类的伪装类,利用java多态的后期绑定特性,目标类的实.

2020-06-20 18:11:04 172

原创 使用java反射实现可调用任意类的带数组参数方法

要实现一个公共的反射类,具备调用任意方法,并且参数为数组。这样反射与被反射方法,就摆脱了参数数量和类型的束缚。import java.lang.reflect.Method;import java.util.Arrays;/** * 模块: * MyReflect * 韩伟其 * 2020/6/18 */public class MyReflect { public void myfun(Object[] args){ System.out.println

2020-06-18 15:34:31 796

原创 记录String 、StringBuilder、 StringBuffer的区别

String 、StringBuilder、 StringBuffer的区别1.String类 是被final修饰的,所以不可被继承和修改。2.每次修改String对象都会生成新的对象,不会改原对象。原对象等着被回收。3.String数据结构是char[]数组。String对象仅声明和实例化对象的区别:前者是字面常量,在运行期常量池里只会存一份字面常量,不同声明的String对象的引用是指向同 一个字面常量的。而后者是会存在堆内存中,每个实例化对象都会开辟新的空间。所以声明对象和实例

2020-05-12 18:17:21 74

原创 RSA加密原理,保障前后数据安全传输

RSA加密原理a b c 三个数(a, b) (a,c) 两两互质关系互质:a的因子集合 和 b的因子集合 交集只有1因子:4 能整除2, 那2就是4的因子。集合(1,2)所以:a,b,c 中a是已知数,b,c其中一个为已知,那么根据欧拉函数就能算出另一个未知数。数据传输加密安全传输的实际应用加密公式加密数值d=(数据hash值^b )%a解密公式数据hash值e=(加密数值d^c)%a数据x,数据hash值,公钥(a,b),私钥(a,c) a,b 和a,c都是互...

2020-05-12 15:33:34 424

原创 记录java常用IO流典型操作写法以备后续查询借鉴

每次写完文件流操作没记录,下次又得四处翻记录老是忘。记录下常用的IO流操作写法,为以后借鉴。1.仅获取文件字节集。2.增加缓冲流获取文件字节集。3.reader和writer行读取方式。4.reader和writer行读取方式,增加换行、兼容中文编码。5.写入字节流。import java.io.*;import org.apache.commons.io.IOUtil...

2020-01-04 18:00:03 320

javassist+javaAgent探针, 实现jvm退出时打印线程栈日志

javassist+javaAgent探针, 实现jvm退出时打印线程栈日志,方便排查是哪个线程调用了退出,以及退出码

2024-03-22

shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

2024-01-06

WriteSpring.zip

手写一个Spring的IOC容器、springmvc转发、注解案例。

2020-08-30

修改.class文件.zip

只需两步即可修改class文件内容: 1.使用jclasslib查看class可修改内容的编号。 2.使用java程序根据编号对class文件内容进行修改。

2019-12-20

hprose-java导致应用退出原因

2024-04-03

为什么cpu飙高会导致web应用挂掉,挂的流程是什么?

2023-11-08

图片文字识别方案--如何实现自动训练提高识别准确率?

2020-03-03

java程序,调用摄像头windows可用,linux下报错

2019-08-19

c3p0连接oracle新建数据库ORA12519错误

2017-11-02

存储地址公式求解释如何套用。

2017-10-03

数据链式结构头指针存档在哪里

2017-09-24

HTTP报头解析错误将在DEBUG级别登录

2017-09-12

请问这个是什么错误。。。。

2017-09-07

java.lang.OutOfMemoryError: Java heap space

2017-09-07

java直接return的文件流如何关闭

2017-09-07

javaee 处理图片优化问题。。。。

2017-09-03

java服务器对安卓端的优化问题

2017-08-26

mysql索引如何高效的创建

2017-08-23

java.io.FileNotFoundException

2017-08-22

请教使用java多线程理解的问题

2017-08-14

jsoup爬取网页信息问题。。。。

2017-08-10

ssh注解action多实例prototype,windows下运行没问题,但是linux下就出问题

2017-08-09

SSH服务器,多用户同时操作,又有延迟。如何保证单一用户的正确操作。

2017-08-08

ssh服务器怎么接收安卓端发送的java对象。

2017-08-05

action控制的跳转 怎么在页面实现定位到局部

2017-07-30

struts2问题.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-07-30

请问java 并发一般用在什么地方?求分享经验

2017-07-25

java文件压缩后,再取数据中文乱码问题

2017-07-22

java新IO管道数据存取问题

2017-07-22

正则表达式。。。。。

2017-07-21

java io文件读取问题。。。

2017-07-20

高性能后端服务器开发

2017-04-06

安卓文件上传到ssh服务器

2017-04-05

javaweb项目部署问题请大神帮忙看下

2017-04-03

请问安卓端传文件到struts2服务端,文件被表单拦截了,action中get不到文件,怎么弄?

2017-03-28

安卓上传文件到struts服务器

2017-03-27

健壮的httpservlet请求响应

2017-03-01

javaweb部署访问问题。。。

2017-02-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除