自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HBase常用命令

本节我们将向您展示如何使用shell CLI 在 HBase 中创建表、在表中插入行、对表执行放置和扫描操作、启用或禁用表以及启动和停止 HBase。主要讲述了HBase的CRUD等基本DDL和DML操作。**注意:**HBase Shell 中的删除键没用,要用【Ctrl+Backspace】,每个命令之后不需要分号(;)结束。

2024-07-19 09:50:25 552

转载 Netty知识点

NIO 基本概念阻塞(Block)与非阻塞(Non-Block)阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式,当数据没有准备的时候。阻塞:往往需要等待缓冲区中的数据准备好过后才处理其他的事情,否则一直等待在那里。非阻塞:当我们的进程访问我们的数据缓冲区的时候,如果数据没有准备好则直接返回,不会等待。如果数据已经准备好,也直接返回。阻塞 IO :非阻塞 IO :同步(Synchronous)与异步(Asynchronous)同步和异步都是基于应用程序和操作系统处理 I

2024-07-10 17:45:28 14

转载 21个快捷键,教你玩转IDEA,告别快捷键搜索的日子

ps:win11 与微软自带的输入法冲突了,可以选择idea改掉快捷键或者用win10的输入法,怎么修改都很简单,自行百度即可。13、以uml图的方式查看类的结构关系 ctrl+alt+u。

2024-07-04 17:34:40 24

原创 从BeanFactory源码看Bean的生命周期

回到这个图上从BeanDefinition创建实例化Bean实例化之前如果有,调用before实例化方法如果并没有一个实例化BeanPostProcessor接管Bean创建,那么进入正常实例化阶段实例化Bean调用的after实例化方法对pvs进行设置调用的postProcessProperties方法对pvs进行修改实际的Bean属性设置调用Aware方法调用BeanPostProcessor的before初始化。

2024-07-02 10:15:26 635

原创 Mysql回表和覆盖索引

explain分析:此时字段drinker_id和drinker_feature是组合索引idx_drinker_id_drinker_feature,查询的字段id、drinker_id和drinker_feature的值刚刚都在索引树上,只需扫描一次组合索引B+树即可,这就是实现了索引覆盖,此时的Extra字段为Using index表示使用了索引覆盖。为了实现索引覆盖,需要建组合索引 idx_drinker_id_drinker_feature(drinker_id,drinker_feature)

2024-06-26 14:55:10 862

原创 【Java】面向对象的三大特征:封装、继承、多态-CSDN博客

这时我们就需要引入父类 , 基类 或 超类和子类, 派生类,和现实中的儿子继承父亲的财产类似, 子类也会继承父类的字段和方法, 以达到代码重用的效果,从而降低代码的冗余性。封装的本质就是让类的调用者不必太多的了解类的实现者是如何实现类的, 只要知道如何使用类就行了,这样就降低了类使用者的学习和使用成本, 从而 降低了复杂程度。有了面的向上转型, 动态绑定, 方法重写之后, 我们就可以使用 多态的形式来设计程序了.我们可以写一些只关注父类的代码, 就能够同时兼容各种子类的情况。可以使用super 关键字。

2024-06-25 10:18:40 611

原创 自定义注解实现关键字段脱敏

使用方式: Dao层需脱敏方法上加注解 @NeedDecrypt(param = “channelName”) 《channelName为需脱敏字段》EncryptAop AOP代理环绕通知。NeedDecrypt 自定义注解。

2024-06-24 09:49:32 212

原创 jstat命令查看jvm堆行为统计

jstat(JVM statistics Monitoring)命令主要是 对java应用程序的资源和性能进行实时的命令行监控,包括了对 heap size和 垃圾回收状况的监控。jstat参数说明option操作参数,我们经常使用的选项有gc、gccapacity、gcnew、gcnewcapacity、gcold、gcoldcapacity、gcmetacapacity、gcutil等。vmidjava进程IDinterval间隔时间,单位为毫秒。count打印次数。参数说明class。

2024-06-20 14:56:38 290

转载 SpringBoot整合MyBatis和Druid实现多数据源

以上方案虽然实现了多数据,但每多一个数据源就需要新增配置文件,还需要分别新建mapper文件,spring-jdbc提供了AbstractRoutingDataSource抽象类,可以实现动态访问数据库。有需要了解这方面知识的小伙伴可以参阅。新建两个数据库dynamic-master和dynamic-slave,在master库中新建customer表,slave库中新建orders表。新建两个配置文件,分别配置master和slave数据库。,如有侵权,请联系删除。

2024-06-18 16:36:27 34

原创 ACID脏读、幻读、不可重复读的各种情况分析

接着会话B插入一条name=温州市的数据(隐式事务,因为此时的autocommit为1,每条SQL语句执行完自动提交),这时会话A的事务再以刚才的查询条件(id>0)再一次查询,此时会出现两条记录(name为武汉市和温州市的记录),这种现象就是幻读。(即不能读到相同的数据内容)会话B开启一个事务,把id=1的name为武汉市修改成温州市,此时另外一个会话A也开启一个事务,读取id=1的name,此时的查询结果为温州市,会话B的事务最后回滚了刚才修改的记录,这样会话A读到的数据是不存在的,这个现象就是脏读。

2024-06-13 16:29:59 348

原创 Mybatis之foreach注意事项

要做foreach的对象,作为入参时,List对象默认用"list"代替作为键,数组对象有"array"代替作为键,Map对象没有默认的键。(4)separator:元素之间的分隔符,例如在in()的时候,separator=”,“会自动在元素中间用“,“隔开,避免手动输入逗号导致sql错误,如in(1,2,)这样。(3)open:foreach代码的开始符号,一般是(和close=")“合用。(2)index:在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选。

2024-05-28 15:46:30 276

原创 解析txt文件,并以字段名为key,解析后数据为value,动态参数入库

根据上述方法解析出 inComeEntityMaps对象。根据对应的Dao和xml方法,代入即可实现动态参数入库。

2024-05-28 15:29:34 297

原创 spring boot @Configuration和@Componment的区别

2. 通过@Configuration注解的类默认会被CGLIB动态代理,所有被 @Bean 注解标记的方法将来都是通过代理方法进行调用,在该类中使用@Bean时为单列;时driver.setCar(car())不会被Spring代理,会直接调用car()方法获取一个全新的Car对象实例,所以全局会有多个Car对象的实例。在上面的第二段代码中,driver.setCar(car())只是纯JAVA方式的调用,多次调用该方法返回的是不同的对象实例。所以全局只有一个Car对象的实例。

2024-05-28 14:25:07 522

原创 linux直接修改jar包中的xml文件

3.查看目录下没有没有你提取的文件。5.替换原jar包中文件即可。1.查看jar包的文件列表。2.提取想要修改的文件。4.使用vim修改文件。

2024-05-08 18:43:58 291 1

原创 dbeaver 导出身份证号时出现科学计数法,转格式后数据错乱问题

2024-04-02 15:55:11 661

原创 postgresql 批量添加数据,存在则更新,不存在则插入

DO UPDATE SET column_1 = value_1, …WHERE condition:当记录存在时,更新表中的一些字段。DO NOTHING:当记录存在时,什么都不做。

2024-03-14 10:33:36 849

原创 datax oracle->pg库 迁移表

参考oracle->stream。自定义oracle->pg。

2024-01-31 11:15:32 395

原创 mybatis resultmap自动生成工具类

【代码】mybatis resultmap自动生成工具类。

2023-11-23 11:32:56 303

原创 mybatis <foreach>标签在oracle批量插入失效问题

oracle数据库不支持 批量插入时按照逗号分隔,需修改语句。sql命令未正常结束。

2023-10-31 11:00:39 294

原创 spring项目上传文件报错(tomcat临时目录不存在)

添加启动参数 -java.tmp.dir=/path/to/application/temp/,并重启 nohup java -jar。#不能与multipart.location同时设置 server.tomcat.basedir=/tmp/tomcat。在application.properties文件中,设置tomcat 的基本工作目录。

2023-08-07 16:13:20 711

原创 pgsql 函数

SQL的一些用’0’补全字段的函数方法在GP库里面是不适用的1.左补’0’函数:Lpad(‘A’,B,‘0’)试例:select Ipad(dingdan,8,‘0’)注释:当dingdan这个字段不满8位时,左边自动补全0,使其达到8位长度,如A为字段则不需加单引,数值的话则需要加上单引2.右补’0’函数Rpad(‘A’,B,‘0’)与Ipad()函数用法一致,不过多解释3.去掉前缀’0’ltrim函数用法:ltrim(‘0000150’,‘0’)效果:4.去掉后缀’0’rtrim函

2023-08-03 15:30:36 1427

原创 zookeeper常用命令以及权限控制

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。增加zookeeper权限账户,为ZooKeeper配置相应的访问权限。在通常情况下,zookeeper允许未经授权的访问。将ACL权限信息加密。

2023-07-20 20:17:06 946

原创 【Tomcat】Tomcat配置ssl证书

keystore:证书生成的目标路径和文件名,替换成你自己的路径即可,我定义的是/tomcat/tomcat/test.keystore。1).把keystore证书上传到你的tomcat服务器上(如果你的tomcat在本地,那么不移动也可以),并记下证书所在路径.2)回车,然后会让你输入一些信息,其中秘钥库口令和秘要口令最好输入同一个,并且记下这个口令。虽然安全性不是那么高,但胜在成本低,我目前只是做个测试,所以这篇文章里讲的是自生成的。例如CA,但是申请一般是收费的,一般几百到几千一年.

2023-07-20 20:13:08 761

原创 linux搜索当前目录下包含关键字的文件

搜索当前目录下包含Hbase关键字的文件。

2023-07-17 10:03:31 1688

原创 遍历hashmap集合,并将其中BigDecimal类型进行转化计算

【代码】遍历hashmap集合,并将其中BigDecimal类型进行转化计算。

2023-07-05 11:36:59 172

原创 maven pom文件配置详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的

2023-06-28 10:59:44 3553

原创 linux客户端连接pg库对应参数

\l :列举数据库,相当于mysql的show databases。-f 文件名 :使用文件中的数据作为命令的输入源,在处理完文件后,psql结束并退出。#\g [文件名] :将上一个SQL命令的结果输出到指定文件或管道"pipe"#\w [文件名] :将上一个SQL命令输出到指定的文件或管道"pipe"#\p :显示查询缓存区的内容,即打印上一个SQL命令。#\o [文件名] :将全部查询结果写入档案或 |管道"pipe"

2023-06-05 16:52:14 1696

原创 shell脚本直接执行pgsql语句

【代码】shell脚本直接执行pgsql语句。

2023-06-05 16:46:47 1892

转载 pgsql查询正在执行的sql并杀死

详细杀死进程的sql:https://blog.csdn.net/tttt0611/article/details/124578090。查询执行sql语句:https://www.jb51.net/article/272572.htm。查询当前正在执行所有SQL语句。

2023-06-01 05:03:23 1122

原创 pgsql 通过DBLlink取oracle表的数据

foreign_table_name对应要取的oracle库表中所对应的用户名。SCHEMA_NAME也对应要取的oracle库表中所对应的用户名。user_name对应pgsql中的模式名。server_name 自己取名。

2023-05-31 10:30:07 108

原创 synchronized在jdk1.6中的 4 个优化

比如上一次通过自旋成功获取到了锁,那么这次通过自旋也有可能会获取到锁,所以这次自旋的次数就会增多一些,而如果上一次通过自旋没有成功获取到锁,那么这次自旋可能也获取不到锁,所以为了避免资源的浪费,就会少循环或者不循环,以提高程序的执行效率。简单来说,如果线程自旋成功了,则下次自旋的次数会增多,如果失败,下次自旋的次数会减少。我只听说锁“细化”可以提高程序的执行效率,也就是将锁的范围尽可能缩小,这样在锁竞争时,等待获取锁的线程才能更早的获取锁,从而提高程序的运行效率,但锁粗化是如何提高性能的呢?

2023-05-31 10:24:16 334

原创 shell脚本 遍历文件

【代码】shell脚本 遍历文件。

2023-05-26 15:02:30 505

原创 linux下使用flock对crontab加锁

home/jingguoliang/project/sh/paybiz.sh >/dev/null 2>&1’ 执行脚本地址及打印日志。通过使用flock建立排它锁可以规避这个问题,如果一个进程对某个加了排他锁,则其它进程无法加锁,可以选择等待超时或马上返回。脚本解释 flock -xn /home/jingguoliang/project/sh/paysleep.lock -c。在使用crontab配置脚本时,在执行时间较长会出现很多冗余进程,使用flock对其进行加锁,就不会再出现这种问题。

2023-05-26 14:57:08 313

原创 oracle语法start with...connect by... 改为pg语法

其中包括两个数据库中字段默认值不同,比如tprior_node。

2023-05-13 16:39:25 874

原创 insert into select 语法使用

(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,INSERT INTO SELECT语句:从一个表复制数据,然后把数据插入到一个已存在的表中。由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。注意:(1)要求目标表Table2必须存在,并且字段field,field2…1.INSERT INTO SELECT语句。

2023-02-15 15:32:09 15739

原创 嵌套循环优化

业务逻辑场景:将txt文件中的信息与数据库信息进行比对,比对失败生成相应的错误信息。比如while循环次数为m,for循环次数为n。优化之前,两个循环嵌套 循环次数:m*n。优化之后两个循环的循环次数: m+n。

2023-01-16 13:41:03 271

原创 Spring Boot 自定义注解实现AOP

Documented 注解 功能:指明修饰的注解,可以被例如javadoc此类的工具文档化,只负责标记,没有成员取值。@Retention 注解 功能:指明修饰的注解的生存周期,即会保留到哪个阶段。RetentionPolicy的取值包含以下三种:SOURCE:源码级别保留,编译后即丢弃。CLASS:编译级别保留,编译后的class文件中存在,在jvm运行时丢弃,这是默认值。RUNTIME: 运行级别保留,编译后的class文件中存在,在jvm运行时保留,可以被反射调用。

2023-01-12 13:36:49 684

原创 ArrayList的remove方法少删数据以及foreach报错问题

111

2022-12-29 16:44:59 93

原创 工作中redis链接使用造成的问题

stringRedisTemplate.getConnectionFactory().getConnection()获取pool中的redisConnection后,并没有后续操作,也就是说此时redis 连接池中的链接被租赁后并没有释放或者退还到链接池中,虽然业务已处理完毕 redisConnection 已经空闲,但是pool中的redisConnection的状态还没有回到idle状态。

2022-11-14 10:06:27 682

原创 Arrays.asList存在的坑

此ArrayList并不是我们经常使用的ArrayList,因为我们平时经常使用的ArrayList是位于java.util包下的。使用的是自己重写的方法。它也继承了AbstractList类,重写了很多方法,比如我们上面使用的contains方法,但是却没有重写add方法,所以我们在调用add方法时才会抛出java.lang.UnsupportedOperationException异常。执行add方法,抛异常。

2022-11-11 13:17:25 131

空空如也

空空如也

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

TA关注的人

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