- 博客(34)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 如何使用AspectJ做切面,打印jar包中方法的执行日记
java中运用aspectJ做切面,切到第三方jar包中的类,记录开发过程中遇到的问题
2024-05-15 16:00:05
942
原创 过来人的经验告诉你:程序员去外包与自研公司的区别
疫情之前,程序员培训异常火爆,培训班班班爆满,程序员高薪的职业吸引着外行不少人,甚至一些刚毕业的计算机学科的学生也通过培训找到高薪工作。我非科班,也是通过培训找到的程序员工作,如今作为程序员已经8年了,在我的影响下,至少有8位我的亲戚的弟弟妹妹们走上了这个岗位。而疫情之后,特别是二二年开始,很多行业都不景气,程序员这一行也不例外,经常听到很多大厂裁员的消息,23年,我老公和我弟弟都在裁员的大军里,我的薪水被降了了15%。碍于程序员的薪水还可以,现在培训出来还能不能找到工作呢?
2024-02-04 13:23:13
2437
2
原创 记一次元空间内存溢出问题
发现问题在工作中遇到了一个元空间内存溢出问题,问题出在一个用户输入Java文件,后台负责编译并执行Java文件的功能上,因为用户能随时对Java文件进行修改,所以我们每次执行这个文件的时候都会重新编译,new URLClassLoader来加载这个类,这样的话每次都是加载最新的Class,如果用同一个ClassLoader对象去加载同一个类,是不会重复去加载的。每调用一次这个执行接口,元空间就会增加一个class对象,随着调用次数增多,元空间就慢慢被沾满,这些Class对象却不能被卸载掉,为啥呢?按说Cl
2021-01-13 22:15:09
1908
原创 Springboot整合dubbo2.7.7
Springboot整合dubbo2.7.7pom.xml文件中添加依赖 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.7.7</version>
2020-08-04 17:24:20
1990
1
原创 seata AT模式之tm注册到seata server的流程
tm什么时候注册到seata server的seata的核心类GlobalTransactionScanner,也是一个BeanPostProcessor,如果使用的是seata-spring-boot-start.jar这个包,spring会给我们自动装配GlobalTransactionScanner,如果用的是seata-all.jar这个包,就需要我们手动把GlobalTransactionScanner注册到spring ioc上去。GlobalTransactionScanner又实现了I
2020-07-15 18:08:11
511
原创 seata AT之RM注册流程
seata是一款开源的分布式事务解决方案,这里主要讲解决方案其中的一种AT模式中客服端启动的时候是怎么向服务端注册RM资源管理器的源码分析。标题要使用AT模式,必须向spring ioc注入DataSourceProxy @Bean public DataSourceProxy dataSourceProxy(DruidDataSource druidDataSource){ return new DataSourceProxy(druidDataSource); }如果使用
2020-07-15 17:01:13
1610
原创 编译seata源码遇到的Non-resolvable import POM
idea导入seata后,发现有一个模块seata-serializer-protobuf,有些包一直下不下来,编译它一直报错:"C:\Program Files\Java\jdk1.8.0_172\bin\java.exe" -Dmaven.multiModuleProjectDirectory=E:\workspace\seata -Dmaven.home=D:\apache-maven-3.5.3 -Dclassworlds.conf=D:\apache-maven-3.5.3\bin\m2.c.
2020-07-12 22:55:46
1285
原创 helm安装tiller镜像拉取失败
安装完helm后,安装tiller客户端,执行以下命令:helm init --upgrade --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.7 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts注意用与helm相同的tiller版本。查看安装进度,可以看到tiller镜像拉取失败了。.
2020-06-02 13:28:41
2691
原创 centOS上安装nfs分布式文件系统
centOS上的nfs软件包叫:nfs-utils,同时包含了服务端和客服端,跟Ubuntu系统上的有区别。安装nfsyum install -y nfs-utils修改配置文件vim /etc/exports/usr/local/kubernetes/volumes *(rw,sync,no_subtree_check,no_root_squash)重启NFSservice nfs restart查看状态[root@hecs-x-large-2-linux-202
2020-05-31 17:01:51
233
原创 使用kubenetes安装ingress-nginx
下载ingress-Nginx的部署yaml文件登录git上的ingress-nginx:https://github.com/kubernetes/ingress-nginx.选择最新的一个tag.进入到deploy/static目录,下载其中的mandatory.yaml修改mandatory.yaml文件。主要修改镜像,因为国外的镜像没有翻墙下载不下来,改成阿里云的镜像:sed -i "s?quay.io/kubernetes-ingress-controller/nginx-ingres
2020-05-31 15:11:39
449
原创 kubernetes集群的服务器重启之后遇到的问题
kubernetes集群部署见我的上一篇博客。部署kubernetes集群的服务器重启之后,执行kubectl get nodes报错:[root@k8s-master ~]# kubectl get podsThe connection to the server [master_ip]:6443 was refused - did you specify the right host or port?查询进程,发现没有kube的进程启动:[root@k8s-master ~]# ps -aux
2020-05-26 21:15:31
3635
原创 CentOs7 上安装kubernetes集群
环境概述使用的是VM virtualBox安装虚拟机,镜像是centOs7.使用的kuberneters是v1.18.3.给虚拟机分配的内存是2核4G,master上安装kuberneters至少是2核。统一环境配置复制出一个镜像,命名为k8s,启动这个镜像,进行一下操作:临时关闭交换空间swapoff -a避免开机启动交换空间echo "vm.swappiness = 0">> /etc/sysctl.conf 关闭防火墙service firewal
2020-05-24 16:05:27
236
原创 idea2020安裝MybatisCodeHelper插件
1. 下载MybatisCodeHelper插件亲测这个版本可以用在idea2020上链接:https://pan.baidu.com/s/1WeQO4LKcSZtTOCBw2ntvvA提取码:hdvr2. 离线安装MybatisCodeHelper插件file->settings-plugins,选择工具按钮,从磁盘导入,选择下载好的zip插件包,这个是免费版的,功能没那么全,但是也够用了。然后重启idea就可以了3.激活插件在idea的database视图中,导入一个可用的数据库
2020-05-17 23:11:32
9071
5
原创 java开发中遇到的bug
遇到一个class类不存在的的问题,最后发现是这个类有有一个静态变量,在类初始化的时候会去获取一个配置文件中的值,然后这个文件不存在,就报错了,这个类加载失败,才会报class类不存在。...
2020-05-07 22:27:14
233
原创 Java VisualVM启动过程中遇到的问题
1 启动时报错“无法检测到本地java程序”原因:没有运行jvisualVM解决方法:以管理员的身份运行2 启动时报错“无法监测本地Java程序”原因:C:\Users\admin\AppData\Local\Temp 这个目录下以hsperfdata_开头的文件,后面的名字与用户名不一样,或者用户名存在大小写。解决方法:把这个文件hsperfdata_后面的文字改成与用户名一样。如...
2019-12-17 21:59:53
1001
原创 Netty为实现高性能所做的那些事一
使用Netty必不可少的一个类:NioEventLoopGroup,它是一个处理I/O操作的多线程事件环,里面维护了多个EventLoop,当有事件发生的时候回选取其中一个EventLoop来处理这个事件,那么这个选取的算法是怎么实现的呢,其实很简单,是通过轮询来选取的。我们看一下Netty的源代码: @Override public EventExecutor next() ...
2019-11-10 23:30:17
219
原创 NIO零拷贝在windows系统中的内存限制问题
1. 遇到的问题在学习NIO零拷贝FileChannel.transferTo方法测试的时候,发现不管传递的文件有多大,最后服务器接收到的都只有8M。代码如下:// 服务端public class NewServer { public static void main(String[] args) throws IOException { InetSocketAddr...
2019-11-10 22:33:40
595
原创 Reactor模式的角色构成
Reactor模式一共由5种角色构成1. HandlerHandler对于Windows系统来说是句柄,对于Unix系统来说是描述符。本质上表示一种资源,是由操作系统提供的。该资源表示一个个的事件,比如说文件描述符,或是针对网络编程中的socket描述符。事件既可以来至于外部,也可以来自于内部。外部事件比如说客服端的连接请求,客服端发过来的数据符。内部事件比如说操作系统的定时器事件等,它本质...
2019-11-03 22:34:52
346
原创 springCloud学习过程中遇到的问题
springCloud学习过程中遇到的问题1. gateway配置令牌桶报错1. gateway配置令牌桶报错错误标志:Unable to find GatewayFilterFactory with name RequestRateLimiter原因:最后发现是spring-boot-starter-data-redis这个包没有导进来导致的...
2019-10-06 16:50:54
253
2
原创 idea配置Tomcat
idea中如何配置Tomcat在idea的工具栏中选择Edit configurations,然后在弹出的框中选择左上角的+号–》Tomcat Server–》Local。(如果没有Tomcat Server 选项,可以选择最后一项more)点击Configure,在Tomcat Home中选择本地tomcat的保存路径,然后点击OK选择部署到tomcat下的项目。Deployment–...
2019-08-11 00:15:45
193
转载 MySQL5.7绿色版(免装版)的初始化和修改密码
123J依情随手记录随笔 - 42, 文章 - 0, 评论 - 12, 引用 - 0MySQL5.7绿色版(免装版)的初始化和修改密码目录1.下载MySQL5.7.18绿色版 1.1下载链接 2.新建或清空data文件夹 3.安装服务 3.1打开cmd(管理员) 3.3安装服务 4.初始化数据库 5启动服务 6.客户端测试 7.配...
2019-04-28 20:08:50
815
原创 lombok插件的使用学习
Lombok插件使用1. Lombok插件介绍简单来说,lombok提供了一些注解,帮助我们简化Java开发,特别是相当于POJO。2. Lombok插件的安装2.1 在线线安装File-->Settings-->plugins-->Browserepositories 然后搜索lombok,点击install即可2.2 离线安装File-
2017-11-28 08:56:56
256
原创 17年9月Java软件工程师面试第四站
感觉一个问题都没有答对有没有,这是一家金融公司,问的都是一些比较底层的问题,先将问题整理如下:1. filter和listener的区别 当时有点懵,感觉他是不是想问filter与servlet的区别呀?回来后百度了一下,网上有篇 servlet/filter/listener/interceptor区别与联系 可以参考一下。2.MySQL实现可重复读的原理 这个问题扎
2017-09-13 16:11:23
206
原创 17年9月Java面试第二站
这次面试过程就不说了,直接上题: 首先是笔试题,一共10题,只记得8道,剩下2道忘了。 1.面向对象编程的特点 封装、继承、多态、抽象 2.写出util包下的5个常见类 Date、ArrayList、HashMap、HashSet、LinkedList 3.spring的特性 IOC AOP 4
2017-09-07 10:56:28
202
原创 17年9月Java软件工程师面试第一站
最近想换工作,昨天就去面试了,是一家较大的外包公司做华为外包项目的,去之前百度了一下,很多人说外包公司这不好那不好,尤其是华为的外包。再加上台风要来不来,还下着雨,就有点想打退堂鼓了,最后还是去了。 面试地点在龙岗,坐了两个小时的车,下了车后又走错路,兜兜转转了一个小时才到。招待的人说刚来了两人面试,面试官暂时走不开,让我等半个小时,既然来了,那就等呗。 大概还没到半个小时,面
2017-09-05 11:39:06
284
原创 安装FastDFS问题记录
fastDFS成功安装,测试文件上传也成功了,但是在配置nginx代理访问文件的时候,死活访问不了,发送请求过去半天没有响应。查看nginx进程,是起来的,tracker、storage进程都没有问题。试了各种方法,没有解决。据说可以找nginx的日志,找了半天没找到,就在nginx.conf文件中重新配置log日志文件路径: 重启nginx,没有新建日志文件(我在没有
2017-08-18 14:54:29
341
原创 Struts2框架详解第三课
Struts2框架详解第三课1. Struts2中的拦截器1.1 拦截器的重要性Struts2中的很多功能是由拦截器完成的,比如servletConfig,staticParam,params,modelDriven等等,是AOP编程思想的一种应用形式。拦截器执行时机:1.2 自定义拦截器1.2.1 拦截器的类试图1.2.2
2017-05-15 13:51:51
234
原创 Struts框架详解第二课
Struts框架详解第二课 1. 封装请求参数到正文中1.1 静态参数封装静态参数封装是指在struts.xml配置文件中,给动作类注入值,调用的是setter方法,动作类中要有相应的setter方法。它是由一个staticParams的拦截器完成注入的。动作类:public class UserAction extends Acti
2017-05-10 11:34:43
269
原创 Struts2框架详细用法第一课
1. 框架的意义所谓框架就是把一些繁琐的重复性代码封装起来,使程序员在编码中把更多经历放到业务需求的分析和理解上面。特点:封装了很多细节,使程序员在使用的时候会非常简单。2. Struts2概述Struts2是Apache发行的mvc开源框架,是表现层框架。是Apache和openSymphony组织合并开发出来的,里面包含了WebWork2的核心和struts的一些特
2017-05-08 18:29:19
298
原创 注解的用法
注解:是用于描述程序如何运行以及在什么阶段来运行,注解在实际开发中最大的功能是用于替换配置文件,注解是jdk1.5的新特性,可以通过反射来让注解具有功能。1. 自定义注解public @interface注解名{}例:public @interface MyAnnotation{}注解它的本质就是一个接口,这个接口继承Annotation接口。注解类反编译后:pub
2017-05-04 15:13:52
1226
NIO零拷贝在windowns系统上传输的数据有大小限制吗
2019-10-30
windows上编译openJDK报错
2017-09-22
windows7上编译openJDK报错
2017-09-20
quartz如何启动一个临时任务
2017-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人