自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简单点,编程的方式简单点

仅是记录自己的理解,不保证准确无误

  • 博客(58)
  • 收藏
  • 关注

原创 Kerberos认证

Kerberos是一种计算机网络认证协议,用于安全地验证用户和服务之间的身份。通过以上步骤,Kerberos认证过程完成,用户和服务之间的通信可以在安全的环境下进行。

2023-09-15 19:45:00 477

原创 运行项目报了找不到类的错误问题解决

项目中用了自定义的工具jar包,用maven引入,工具包用了快照版本,就报错了,不要使用快照版本就可以。

2022-11-21 16:54:53 380

原创 topic的lag为负数

描述: 程序有个任务监听kafka的topic,当lag大于0时,启动任务。当有天发现任务启动不起来,用命令查看消费者的消费情况后,发现有个分区的lag为负数,在kafka tool中查看topic的分区情况,发现有个分区所在的节点除了问题:有三个节点,其中两个节点在之前集群升级后无效了,还有一个在之前有段时间报错,节点数据消失,在加上该topic的副本只有1,所在在节点数据消失那段时间,该topic的该分区数据全都没了,导致后来再推送数据时,他的end-offset从0开始,而start-offset却还

2021-12-19 22:29:55 3846 1

原创 IDEA操作记录

移动行: alt+shift+上、下单词级的跳转: ctrl+左、右单词级的复制: ctrl+shift+左、右切换tab: alt+左、右查看最近浏览过的文件: ctrl+e,+回车可快速在两个文件间跳转提示:alt+回车纵向选择: atl+鼠标选中调试:1. 打断点后,点击调试的绿色箭头可以调到下一个断点,如果没有断点,就直接运行完2. 条件断点:即满足一定条件断点才会生效的操作,如在循环中,只需要在某个条件下暂停3.异常断点: 即发生特定异常时,自动在那里暂

2021-12-18 21:10:29 462

原创 org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory

版本:1.5.21在使用测试用例时,自动生成的代码的@SpringBootTest注解后为空,有时运行测试用例会报错,需要指定启动类,可以指定该测试类如:

2020-12-09 11:52:50 2293

原创 单点登录理解

在多个系统间登录,只需要登录一次即可,在访问其他系统时,不用再次登录。在最开始,只有一个项目,标识用户是否已登录,可以用session来保存用户信息;当有多个项目,每个项目都有各自的session,没法做到共享,所以用户在访问其他项目时,需要再次登录;如果我们加入一个认证系统,用户第一次登录时进入该系统,登录成功后返回一个token标识,以后再访问其他项目时,把该token一并传过去,项目拿到token,去认证系统确认是否有效,有效,则通过,用户则不用再次登录。...

2020-10-22 23:05:39 184

原创 生成器模式Builder理解体会

场景描述:有一个方法,要用到一个对象,我们要生成它,比如是汽车,我们要用到的汽车,它的一些属性是不止一种的,如配件等级的不同等方式一: 因为汽车对象有这些属性的set方法,我们直接通过多句set语句,来构造出我们需要的定制对象,但有一个问题,一个是代码挺长,在一个只是要获取对象的地方而不是构造对象的地方使用了多句set来构造对象,这应该是不好的;还有是,如果其他地方的代码也要用到定制对象,则要再set一遍,重复;方式二: Builder模式,其实就是将这些set方法封装到一个Builder类中.

2020-08-27 22:48:21 264

原创 双重检测锁

场景描述: 在利用缓存时,如果我们采用下面的逻辑:1. 从缓存获取2. 判空,若空,则查询数据库;否则直接返回在高并发的情况下,上面可能会发生缓存穿透的问题,即刚开始有大量请求过来,由于缓存里还没有,所有这些请求就都去请求数据库,给数据库带来了压力。解决方案: 双重检测锁,逻辑:1. 从缓存获取2. 判空,若空: 2.1. synchronized代码块修饰,从缓存获取 2.2. 判空,若空,则查询数据库;否则直接返回2.1. 这一步看似有点重复,其实不然,因为当...

2020-06-23 23:26:54 351

原创 Mybatis的if字符串判断的一个注意点

在Mybatis的映射文件中写if判断时,如果是字符串等于判断,我们往往是这样写:然后当要判断的内容为一个文字时,就会报错:mybatis用的是ognl表达式,一个单引号括起的文字被解析成字符,正确的写法是:...

2020-06-18 22:01:50 376

原创 Springboot使用Jsp

1. 在pom.xml文件中引入需要的依赖:<!--Jsp--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!--Servlet

2020-06-16 21:25:21 318

原创 IO练习:对文件目录的读取

描述:对File对象的练习import java.io.*;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.nio.charset.CharsetEncoder;import java.util.*;/** * 文件的读取,目录的递归获取的练习,该练习的效果是

2020-05-29 20:16:38 292

原创 eclipse项目有红叉

描述:项目是从别的电脑拿过来的,运行没问题,但项目目录上有个红叉,查看Problems 视图,报:target runtime apache tomcat xxxx is not defined解决:右击项目 -》Properties Targeted Runtimes

2020-05-27 16:00:11 361

原创 oracle 提示密码过期

描述:用navicat提示密码过期,然后弹出了修改密码的窗口,我输入了原密码,就连接不上去服务器,用sqlplus登录,修改密码,即可

2020-05-27 14:48:44 405

原创 IDEA快捷键记录

1. 查看方法说明: Ctrl + q

2020-05-26 21:00:04 165

原创 Spring Session的学习

引言:HTTP协议是无状态的,也就是说,当服务器接收到浏览器后,它并不知道是谁发过来的,也就没办法识别当前请求是谁发过来的,没有一个状态值来记录识别请求对象。Session可以来解决这个问题。使用:已知可以在服务器上保存session对象,session中可以保存记录自定义的值,比如用户的登录信息,这样,当打开其他页面时,服务器可以识别当前的请求时合法的,因为从session中可以拿到用户信息。弊端:session信息是保存在服务器中的,当集群环境有多个tomcat时,其他tomcat并不知道某个t

2020-05-23 00:16:32 179

原创 navicat连接oracle11g报错:ORA-28547

连接oracle11g报错:网上查了后是navicat的oci.dll和oracle版本不兼容解决方法:去官网下载个oracle11及以上的客户端:instantclient-basiclite-windows解压,放在某个目录,修改navicat的oci.dll目录,指向解压后的oci.dll,问题解决。...

2020-05-16 23:33:58 429

原创 oracle:ORA-12514报错

问题描述:打开plsql连接oracle,报以下错误,oracle用sqlplus连接数据时报一下错误:oracle版本是:11.2.0.1.0在此之前,oracle曾报了归档日志满的错误,于是我就去清理了归档日志,隔天就如上连接不上了,不知是否有联系。查看oracle登录报错日志:目录:在 product\11.2.0\dbhome_1\database下的oradim.org,报错如下:大概意思是有个参数下的目录没有识别到吧,所以,就需要找到是在哪对这个 db_rec

2020-05-16 23:27:15 366

原创 后台运行没问题,接口调用报500的错误

原因:接口返回数据中有从数据库中直接查询出来的CLOB对象数据,在从后台传到前台时发生错误,导致前台报错

2020-05-11 10:42:20 5481

原创 网络编程--层概念个人理解

不同层有各自的职能,组合起来,就像排列组合一样,根据不同的需要组合成不同的排列,比如,同样的ip协议,有的要TCP协议长连接方式,有的要UDP方式。分成不同层,就可以满足更多不同的需求。...

2020-05-02 07:27:21 307

原创 重启Nginx提示nginx.pid打开失败

nginx: [error] open() "/opt/nginx/logs/nginx.pid" failed (2: No such file or directory)[root@clickhouse sbin]# ./nginx -s reloadnginx: [error] open() "/opt/nginx/logs/nginx.pid" failed (2: No such...

2020-05-01 21:22:34 598

原创 centos7部署多个tomcat

1. 上传tomcat到虚拟机,并复制成两份2. 设置环境变量:vim /etc/profile在后面添加:3. 修改第二个tomcat的bin下catalina.sh文件:4. 修改第二个tomcat的conf下的server.xml文件中的三个端口号:到此,即可。...

2020-04-30 21:06:42 460

原创 centOS7安装jdk详细教程

https://www.cnblogs.com/sxdcgaq8080/p/7492426.html

2020-04-28 20:40:58 169

原创 springmvc全局异常处理器

定义一个类,继承springmvc的一个接口,实现里面的关于对异常的处理的方法。当dao抛出异常、service、action抛出异常后,springmvc将会用这个类的方法来处理这些异常,我们的处理逻辑是:1. 先判断异常是否自定义异常,如果是未知异常,则新建一个自定义异常,并赋值为未知异常信息;2. 判断action方法是否有responsebody注解,如果有,则将自定义异常类转js...

2020-04-25 22:56:09 293

原创 (2)Nginx的应用

应用场景:1. 静态网站、资源,可以拿Nginx服务器当做一个资源的存放点,使用方式:在nginx.conf文件中配置访问路径和端口,注意路径的配置,假如你的静态网站是名为website文件夹,里面的index.html是首页,放在了/opt下,那么需要这样配:端口号没改,就还是80,访问路径是 ip:端口号/website/index.html注意,如果是不想加上项目名的话,...

2020-04-25 20:17:22 239

原创 (1)Nginx的安装配置

1. 一个高性能的web服务器、反向代理服务器,可以处理5万的并发请求,内存小,c语言编写2. 下载地址:http://nginx.org/en/download.html3. 安装:linux 3.1. 安装前准备:gcc编译器、openssl库、pcre库、zlib库,可以用下面的命令一次安装完:yum install gcc openssl openssl-devel p...

2020-04-25 17:41:54 142

原创 记一次对项目代码简化规范的心得

工作一年以来,自己负责的是一个自己创建的小项目,原本是在公司的项目里进行功能开发的,后来因为要将我的功能加到另外一个网络中的项目中,所以就干脆独立出一个小项目,这样,两个网络下都可以方便调用。然后由于自己的开发经验不足,以及对代码规范的不重视,以及开发过程中需求的不断变动和增加,我的代码是杂乱无章的,主要特点有:1. 有些方法过长,长达几百行的也有(优化后把接近2百行的方法删除的感觉是真的爽)...

2020-04-24 17:21:02 152

原创 eclipse大小写快捷键

转大写:Ctrl + Shift + x转小写:Ctrl + Shift + y

2020-04-24 14:09:57 606

原创 解决javax.servlet.jsp.JspException cannot be resolved to a type

描述: 项目中有一个jsp文件中报这个错,但是不影响运行,就是项目多个了红叉解决:在网上看到一个博客https://blog.youkuaiyun.com/fengspg/article/details/41645159,我发现我的项目选择的就是tomcat7,然后我就改为tomcat8,就可以了...

2020-04-18 10:20:10 307

原创 eclipse收起展开所有方法的快捷键

收缩所有方法,java、js、xml都可以:Ctrl+Shift+'/'(小键盘的‘/‘)展开所有方法:Ctrl+Shift+'*'(小键盘的)

2020-04-13 10:51:21 5467

原创 java并发编程--get超时处理以及cancle方法的使用

#注意代码上面的注释import java.util.concurrent.*;/** * @创建人 xiaoshi * @创建时间 2020/4/11 * @描述 练习get超时,以及cancle方法的使用。可知,在future调用处,捕捉超时异常后,可使用cancle方法 * 来对线程进行管理,将其关闭,传入的参数为:是否跑完线程,如果传入为false,那么线程将直接...

2020-04-11 22:18:32 573

转载 一个JAVA程序员成长之路(转载)

        我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了。 我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥,...

2020-04-11 17:16:38 344

原创 oracle的非空字符串判断

问题出现:全部记录:is null判断空值用 != ‘’判断:发现一条记录都没有在oracle中,空字符串当null处理,所以想找到空字符串,就可以用is null来获取获取非空字段,就直接用is not null来获取用 “ =''” 或者 “ != '' ” 来作为条件的话,就会找不到结果...

2020-04-11 11:37:31 5322

转载 Zookeeper入门看这篇就够了(转载)

Zookeeper是什么官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。上面的解释有点抽象,简单来说zookeeper=文件系统...

2020-04-10 17:19:32 138

转载 Ajax是单线程还是多线程(转载)

    首先明确一点:Ajax是单线程的,因为JavaScript是单线程的,Ajax属于JavaScript范畴,因此Ajax是单线程的。之所以我们可以利用Ajax做到多...

2020-04-10 16:10:25 680

原创 mybatis的resultMap多重collection映射

下面代码是用map接收结果,map中还含有list<map>,来保存这种一对多的关系详细可见官方文档中的resultMap模块:https://mybatis.org/mybatis-3/sqlmap-xml.html#Result_Maps注意:javaType<resultMap type="java.util.Map" id="table_field_re...

2020-04-09 13:50:19 2747

原创 java并发编程--循环栅栏的使用

import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * @创建人 xiaoshi * @创建时间 2020/4/4 * @描述 循环栅栏cyclicBarrier的练习: * 可设置一个数量,当同样数量的线程的调用了aw...

2020-04-04 21:08:24 323

原创 java并发编程--生产者消费者模式练习

import java.util.Date;import java.util.Queue;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * @...

2020-04-04 16:27:10 303

原创 java并发编程--(练习)两个线程串行执行

练习:让两个线程一前一后地循环执行这里利用Contition来实现。注意:条件的释放需要在另外一个线程开始等待之后,否则如果是线程1先释放条件1,线程2再等待条件1,那线程2会一直等待下去import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/**...

2020-04-04 15:53:17 3553

原创 mybatis查询oracle,map接收key为大写的解决方法

起别名是改为as + "***" ,如:

2020-03-30 16:16:48 926

原创 报错:Type interface *** is already known to the MapperRegistry.

Caused by: org.apache.ibatis.binding.BindingException: Type interface com.sunrun.dao.common.OracleCommonMapper is already known to the MapperRegistry. at org.apache.ibatis.binding.MapperRegistry.add...

2020-03-30 15:52:17 1997

空空如也

空空如也

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

TA关注的人

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