自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 基于自定义Logback的Appender实现异常告警

*** @Description 自定义异常告警Appender//为空,不告警 if(null == iLoggingEvent) {return;} /*** 下面去调用上报的时候,建议添加一些控制* 例如:* 过滤掉上报工具类的错误日志(死循环) if(iLoggingEvent.getLoggerName()..equals("com.test.SendUtils"))* 过滤掉10分钟内重复上报的数据 缓存。

2023-06-13 17:00:31 435

原创 Logback日志框架

logback是在log4j的基础上重新开发的一套日志框架,完全实现了slf4j(日志门面)的接口APIlogback-core:核心组件logback-classic:原生实现了slf4j APIlogback-access:与tomcat、jetty等servlet容器集成,提供HTTP访问日志功能。

2023-05-28 20:21:06 835

原创 Redis网络模型

进程寻址空间分为两部分:内核空间、用户空间。

2023-05-21 17:29:32 464

原创 MyBatis-Plus

MyBatis-Plus:(简称MP),是Mybatis的增强工具,在MyBatis的基础上只做了增强,不做改变。为简化开发、提高效率而生。

2023-05-20 22:29:25 706

原创 Kafka原理之消费者

主题的1号分区,在哪个broker上,就选择这个节点的coordinator作为这个消费者组的老大,消费者组下所有的消费者提交offset的时候,就往这个分区去提交offset。这个只是针对一个topic而言,C0消费者多消费一个分区影响不是很大,但是如果这个消费者组消费多个topic,容易产生数据倾斜。如果没有初始偏移量(消费者第一次消费)或者服务器上不存在当前偏移量(被删除),如何指定offset进行消费。使用消费者事务,进行精准一次消费,将消费过程和提交offset过程做原子操作绑定。

2023-05-14 17:17:02 3290 2

原创 kafka原理之生产者

*** @param key 发送的key* @param value 发送的value* @return//分区数量 int num = partitionInfos . size();//根据value与分区数求余的方式得到分区ID return Math . abs(value . hashCode()) % num;> map) {} }//配置 Properties properties = new Properties();

2023-05-13 18:02:36 527

原创 kafka集群搭建

的基础上,搭建kafka集群(3台服务器)

2023-05-13 14:36:45 65

原创 zookeeper集群搭建

的基础上,搭建zookeeper集群(3台服务器)

2023-05-13 14:36:09 400

原创 基于Oracle VM VirtualBax搭建CentOS7集群

如果一台台安装过去是很慢的,而且还需要进行环境变量的配置。如果安装的是精简版,默认网卡不随操作系统启动,需要修改为默认随操作系统启动。在集群中,必定希望ip是稳定的,如果重启后会变动,会带来不必要的麻烦。在根据上面的教程安装好模板机之后,还需要进行一些必要的配置。需要两台服务上都安装远程这个工具,否则会提示如下错误。首先需要关闭需要复制的虚拟机,然后右键,选择复制。查看隐藏文件,如果使用过ssh命令,就会有一个。如果希望脚本可以在任意目录执行,需要将脚本写在。复制完成后,只需要修改。

2023-05-13 14:33:53 688

原创 修改请求返回值(struts2+过滤器+自定义HttpServletResponseWrapper)

啊啊

2020-11-28 10:17:10 778

原创 Html转为PDF【wkhtmltopdf】

今天准备写一下简历,然后兴高采烈地进入了一个“免费”在线编写简历的网站,开始了简历的创作。编写。。。保存。。。下载。。。【请开通会员,免费下载】真是一个奔溃的瞬间然后机智的我Ctrl+S 将整个Html网址保存到本地,准备开始Html转PDF。尝试了各家在线转的网址后,果断放弃,准备使用点科技手段。wkhtmltopdf工具映入眼帘。。。使用步骤:1.下载windows版本的wkhtmltopdf【下载地址:https://wkhtmltopdf.org/downloads.html】2

2020-10-22 15:16:24 144

原创 【Java基础】String.replaceAll(regex,replacement)的使用

今天在刷一题非常简单的leetcode的变成题目【1108. IP 地址无效化】这道题本来直接使用一下replace(".","[.]")就可以解决了,然后想尝试一下replaceAll。首先去查看了replace的实现,说明regex需要传入的是正则表达式。最后实现后的代码就如下:...

2020-09-19 16:15:17 827

原创 RabbitMQ使用:安装

在linux上安装RabbitMQ,安装版本为3.8.8版本。因为RabbitMQ的开发语言是Erlang,所以需要首先安装Erlang。1.确认linux的版本lsb_release -a这个版本的是Centos7的版本,这是版本是为了用于下载对应的rpm的包使用的。2.确认安装3.8.8版本的RabbitMQ需要的Erlang版本 需要安装的最低版本是21.3的Erlang。进入https://packagecloud.io/rabbitmq/erlan...

2020-09-19 14:42:03 136

原创 db2存储过程返回结果集

使用的是DbVisualizer来编写db2的存储过程1.连接好db2数据库后,选中希望创建存储过程的schemas,右击Stored Procedures,选中create procedures, 会创建出一个基础格式的db2存储过程,如下图:2.修改BEGIN 和END之间的sql语句DECLARE clientcur CURSOR WITH RETURN TO CALLERFOR SELECT ORGANNO, SUPORGANNO FROM BS_ORG;OPEN cli.

2020-09-14 13:03:16 2035

原创 linux定时删除缓存文件(shell + 定时任务)

在对之前的项目提供运维服务的时候,偶然间遇到原有的下载功能点击无响应了,通过查看tomcat的控制台,发现因为空间不足导致生成zip失败。然后再linux中查看磁盘使用情况,输入下面的命令,发现用于存放临时zip的挂载盘存储空间满了。删除这个挂在盘中的历史文件后,下载功能恢复df -h由于挂载盘空间有限,所以决定写一个删除缓存文件的定时任务(一).写一个shell脚本,删除指定文件夹下的文件 1.创建一个test01.sh的shell脚本#进入home目录下(非必要)cd..

2020-09-12 15:38:21 794

原创 oracle数据库密码超时

在使用oracle数据库的时候,忽然会提示密码到期的提示,oralce密码是有有效期的,一般默认是180天解决方案有两个,一个是修改一下oracle的密码,另一个就是设置oracle密码时效为“无限制”设置密码时效为无限制方案:1、查看用户的proifle是哪个,一般是default:SELECT username,PROFILE FROM dba_users;2、查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s

2020-09-05 16:54:55 316

原创 oracle的锁表及处理

1.执行一下sql,查询出被锁表的session和serial#select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time上面的sql语句会查询出被锁住的事务,下面根据查询出的session_id和serial#,把这个事务删除就可以2.删除事务 alter system ki...

2020-09-05 16:51:35 123

原创 SpringBoot+Shiro初步整合

这两天尝试了一下Shiro的权限管理,理论性的东西就不去赘述了,这种还是比较多的,这里记录一下一个快速的整合,这里我按照我自己书写流程,来记录。第一步:建立数据库,这个数据库可以使用自己喜欢的搭建方式,hibernate或者Mybatis,或者直接原生的也是可以的。               这里按照最简单的来:用户表(userId--用户id,username--用户名,passwor...

2019-01-04 14:39:30 332

原创 SpringBoot+Mybatis的自动建表

之前一段时间使用nutz的自动建表,感觉自动建表这个功能对项目的开发效率还是提高很多的,所以在接触到新的框架的时候会有一些学习的方向性,之前有实践过hibernate的自动建表,感觉还是比较简单的,然后今天也实践了一波mybatis的自动建表。然后在网上去寻找一些学习资源,然后写一篇实践的流程,做一个记录。参考:https://www.jianshu.com/p/25db002b036...

2019-01-03 13:15:21 4051

原创 SpringBoot中的静态资源

运用SpringBoot开发一个Web项目,会涉及到一些静态资源例如:html css js等应该放在什么地方因为spring Boot是一个jar包的形式,而不是一个war包的形式,所以静态资源就不是再存放到webapps中,那么应该存放在哪里呢?可以看一下SpringBoot中的源码 spring-boot-autoconfigure-2.2.1.RELEASE.jar中的org.sp...

2019-01-03 12:44:13 166

原创 SpringBoot+Mybatis(注解)

新建项目:选择MySQL,MyBatis,Webpom.xml代码:可以通过version>5.1.17</version>去修改连接数据库的版本<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo

2018-12-23 13:30:56 141

原创 【Java基础】StringBuffer与StringBuilder源码阅读比较

StringBuffer和StringBuilder继承了抽象类AbstractStringBuilder,实现了java.io.Serializable, CharSequence两个接口在阅读时应该两个源码对比起来阅读,这样可以分辨出这两个非常相似的类的区别和相同之处,以便于更加好的区别应用。这两个类都是继承了相同的类,和实现了相同的接口,所以从value属性的源码来看,这两个类都是可变的...

2018-12-19 13:08:28 124

原创 【Java基础】String源码阅读(2)---equals()与compareTo()

刚刚开始看Java的源码所以还是有比较大的困难的,不过在阅读过程中却可以不断提升自己的Java基础,而且也可以学习开发者的编程中的优点。因为看了一些面试题,感觉如果不自己敲一敲代码,或者写一写注解还是不容易掌握,所以看完String源码中的equals()方法和compareTo()方法,就复制粘贴出来敲上了注解,并且也写了一个小demo去理解。equals()方法://比较两个字符...

2018-12-16 17:07:30 107

原创 【Java基础】String类的源码阅读(1)

今天看了String类的源码,深入学习java的知识。对于一些英文的注解不是非常的理解,不过在阅读了源码以后还是解决了部分的之前的疑惑,所以还是记录一下今天对于String类源码的阅读。首先String类是位于java.lang包中的。String实现了三个接口:          1.java.io.Serializable:表示序列化,是一个空的接口。因为没有声明任何方法,所以不需要...

2018-12-16 14:40:50 299 1

原创 我的第一个 Spring boot+MySQL+ hibernate

今天开始第一次尝试这运用springboot去写一个完整的web项目,准备工作自然是少不了的,所以开始尝试这搭建第一个springboot+MySQL+hibernate的项目。第一次尝试所以比较简单(进行一次用户的查询)第一步:建立数据库,并且插入几条数据:创建数据库插入几条数据:insert into user values(1,"admin",1,"管理员"); ...

2018-12-15 15:48:37 181

原创 【Java基础】自动装箱与自动拆箱

自动装箱:基础数据类型转化为类对象。(例:int转化为Integer)自动拆箱:类对象转化为基础数据类型。(例:Integer转化为int)package xyh.demo;public class Test5 { public static void main(String[] args) { //自动装箱与自动拆箱 Integer firstInteger=new I...

2018-12-13 13:14:31 78

原创 【Java基础】浅拷贝和深拷贝

 浅拷贝:拷贝对象时,其中的“子对象”未拷贝(地址与原对象相同)。深拷贝:拷贝对象时,将其中的“子对象”也拷贝一份(地址与原对象不同)。如何判断拷贝对象的子对象的地址是否与原对象的子对象地址相同?(==与equals的区别:==两边放的是对象时,比较两个对象的地址是否指向同一地址)package xyh.learn.clonetest;/** * 这是一个地址类,用于存放学生...

2018-12-13 09:08:19 114

原创 对于nutz框架的学习入门级使用——对数据库操作(例子:数)

在前三篇文章的基础上新建一个数据库的操作类:package nutz.xyh.Module;import javax.servlet.http.HttpServletRequest;import org.nutz.dao.Dao;import org.nutz.ioc.loader.annotation.Inject;import org.nutz.ioc.loader.annotat...

2018-04-07 14:29:17 808

原创 对于nutz框架的学习入门级使用——数据库类的建立

在前一篇文章中结束了要使用数据库时的配置,接下来便是使用数据库了。新建数据库类:package nutz.xyh.entity;import org.nutz.dao.entity.annotation.Column;import org.nutz.dao.entity.annotation.Id;import org.nutz.dao.entity.annotation.Name;im...

2018-04-07 14:17:40 813

原创 对于nutz框架的学习入门级使用——使用数据库配置

在上一步基础配置的基础上第一步:在conf中新建一个ioc文件夹并新建一个dao.js文件,内容如下var ioc = { dataSource : { type : "com.alibaba.druid.pool.DruidDataSource", events : { create : "init"...

2018-04-07 14:11:33 1466 1

原创 对于nutz框架的学习入门级使用——配置

准备:eclipse,jdk8.0,tomcat8.5,nutz的jar包第一步:新建一个项目第二步:导入需要的包(数据的jar包也会同时导入)第三步:新建一个Mainmodule的类,并写入如下图的注解第四步:配置web.xml文件param中的value放入的是Mainmodule的全路径配置结束!!!~~只是学习总结,在错误中进步~...

2018-04-07 14:03:50 3179

原创 C#服务器端与客户端通信(客户端)

客户端登陆界面先定义三个窗口级变量(全局变量)private TcpClient client;        private NetworkStream stream;        private bool control = false;//ip地址与端口号要与服务器端在监听的一样           IPAddress myip = IPAddress.Pars

2017-06-11 18:16:39 1554 1

原创 C#服务器端与客户端的通信(服务器端)

Tcp协议+socket1.服务器端开始监听//通过winform窗口输入的服务器ip地址和端口号 myip = IPAddress.Parse(textBox1.Text); myport = Int32.Parse(textBox2.Text);//将ip地址和 端口号放入终端myserver = new IPEndPoint(myip, myport);

2017-06-11 17:58:31 741

原创 winform窗体中的tag传值

1.窗体tag属性form1代码:form2  f2=new form2();//f2.tag=要传的值;//int为例f2.tag=2;f2.show();form2的代码://tag为object类型,在使用时要转化为要用的类型//名称=(值类型)f2.tag例:int a=(int)f2.tag;

2017-06-05 17:24:16 3114 1

原创 数据库操作

1.创建Connection对象    (1)sqlserve        (a).         SqlConnection  连接对象名=new SqlConnecion(连接字符串);         例:         SqlConnection  conn=new SqlConnecion(连接字符串);        (b).         SqlC

2017-06-03 15:37:45 164

原创 C#一些控件的属性设置和用处

//数据库与datagridview的关联首先在datagridview中选择编辑列,添加自己列名然后将datagridview的DataPropertyName属性设置成数据库中的名字//contextMenuStip:右键出现的事件//将contextMenuStrp与datagridview关联将datagridview中的 ContextMenuStrip属性设

2017-06-03 15:06:16 443

原创 C#很小的知识点

一.//combobox从数据库读入数据后不能被手动输入combobox的 DropDownStyle属性设置为DropDownList二.设置窗体的MdiParent首先将主窗体中的IsMdiContainer设置为True在子窗体处打开时From    a =new From();a.MdiParent = this;a.Show();三.在Ap

2017-06-02 13:42:05 189

原创 将dataGridView中的数据导出到Excel中

//需要引用Microsoft.Office.Excel的数据集            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();            excel.Application.Workbooks.Add(true);

2017-06-02 13:38:15 437

原创 用SqlDataReader填充Combobox

//从数据库里读出SqlDataReaderpublic static SqlDataReader ExecuteReader(string strSQL)        {           //链接数据库的操作            SqlConnection connection = new SqlConnection(connectionString);       

2017-06-01 19:53:46 737

空空如也

空空如也

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

TA关注的人

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