自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 idea 编译后class文件中文乱码

setting->Editor->File Encodings里path的编码方式不一致,比如既有utf-8也有GBK,就会导致编译后class文件出现中文乱码,将编码改成一直即可避免乱码。

2024-12-13 14:29:06 555

原创 NCC参照开发

高级版参照开发

2024-08-16 15:55:13 540

原创 ncc开发rest接口

将上面的代码部署到dm模块后,重启中间件,Postman测试时,测试URL设置为:http://ip:port/uapws/rest//hcr/positionclass/add,其中service/hello为代码中的类声明中的Path和方法中的Path,uapws/rest/为固定的NC中的REST服务访问路径。从NC65开始,NC中除了支持SOAP协议的webservice接口外,还支持REST协议的接口,NC65的REST服务封装的是restlet。NCC项目中Rest接口符合restful规范。

2024-04-10 16:48:54 1370 2

原创 JAVA发射调用参数为数组时的注意事项

JAVA发射调用参数为数组时的注意事项

2022-09-09 13:17:17 322

转载 卸载骑安信,超爽

卸载骑安信,超爽

2022-08-16 20:16:18 2923

转载 ssh 私钥公钥生成

ssh公钥私钥生成

2022-08-11 08:43:10 25823

原创 JAVA线程

线程的概念:线程是指一个操作系统能够运行、调度的最小单位,被包含在进程中,是进程的实际运作单位。java中的创建一个线程的方式:继承Thread类 实现Runnable接口 通过Callable接口和Future接口实现有返回值的线程调用(FutureTask或者CompletableFuture),还能捕获异常通过继承Thread来实现通过继承Runnable接口来实现通过FutureTask来创建线程通过CompletableFuture来实现..

2022-04-26 15:33:10 570

原创 mybatis缓存机制

一级缓存一级缓存的作用域是Executor,实际就是SqlSession,默认开启并且无法关闭,查询的时候会先判断SqlSession是否缓存存在,如果存在直接走缓存,如果不存在则走数据库如下操作默认会走缓存:SqlSession sqlSession1 = factory.openSession(true);SqlSession sqlSession2 = factory.openSession(true);StudentMapper studentMapper ...

2022-04-24 14:51:46 125

原创 Mybatis动态代理和拦截器的实现

通过mybatis的加载和sql语句的执行过程,咱们不难发现mybatis代码中大量使用了动态代理,比如:1:Mapper接口代理类,mybatis为所有的mapper接口类都生成了代理接口类2:SqlSessionTemplate的SqlSession属性3:Executor的拦截器会生成代理类4:StatementHandler拦截器会生产代理类5:ParameterHandler拦截器会生产代理类4:ResultSetHandler拦截器会生产代理类接下来我们来看一下四

2022-04-21 18:10:23 619

原创 Mybatis Sql执行流程

执行流程图(不包含缓存)1:使用Mapper接口调用具体方法,会调用到Mapper接口的代理实现类MapperProxy.invok方法2:MapperProxy.invok根据method信息找到MapperMethod(每一个mapper.xml文件的方法都会对应一个MapperMethod),MapperMethod执行mapperMethod.execute(sqlSession, args),参数sqlSession是sqlSessionTemplate对象3:MapperMeth

2022-04-21 17:06:03 892

原创 Mybatis缓存

一级缓存一级缓存的作用域是Executor,实际就是SqlSession,默认开启并且无法关闭,查询的时候会先判断SqlSession是否缓存存在,如果存在直接走缓存,如果不存在则走数据库如下操作默认会走缓存:SqlSession sqlSession1 = factory.openSession(true);SqlSession sqlSession2 = factory.openSession(true);StudentMapper studentMapper ...

2022-04-21 15:41:15 743

原创 RocketMQ动态调整写队列和读队列

topic创建的时候会指定读、写队列的数量写的时候会按照下面的对应关系写数据如果想减少读、写队列数的数量,先减少写队列的数量这样队列3和队列4就不会继续写入数据,等3和4没有数据之后,将3、4读队列删掉,避免等数据丢失...

2022-04-02 12:28:50 2608

转载 一致性hash算发(转)

当服务器的数据量和访问量很大的时候,我们可能需要寻找一种解决方案去解决诸如分布式、缓存优化的问题,这也是面试高级或资深服务器开发经常会遇到的问题。我们先以一个例子来说明为什么要使用一致性哈希算法,这里以著名的开源缓存库memcache来说明:MemCache是什么MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的Ha

2022-04-02 10:26:57 652

原创 数据库扩容方案

历史背景:业务系统在设计初期,由于数据量小,一般会采取单服务+单数据库随着访问量的上升,需要对数据库做垂直或者水平拆分如上图通过分片算法我们对数据做了水平拆分,比如订单的库,我们按照订单号对数据表的数量做取于9算法,如订单号为1000,1000/4取余=0,则将数据存入orderdb_1中随着业务量对上升经过拆分的数据库表的数据里已经达到极限,影响到数据查询等表操作,需要对数据库做扩容操作,扩容方案(扩容一倍)方案一: 1:增加新表 ...

2022-04-02 09:47:55 3653

原创 RocketMQ消息ACK机制

最详细的RocketMQ Ack机制分析

2022-04-01 17:05:38 13291

转载 mat使用

打开Mat后File>OpenHeapDump打开一个对应的dump文件后,此时对应的打开后结果如图所示默认情况下打开该dump文件后,直接展示的就是一个Overview(概览)的页签,其中可以看到上面标注为(1,2)的地方所对应的图标与Overview页签中所对应的部分图标是相似的;如果你不小心关掉了Overview的页签,那么直接单击当前dump页签第一行导航栏的第一个 I字的图标即可,同理,如果此时想要打开Histogram,那么在不打开Overview的情况下,直接点击第一行导航栏

2022-03-29 15:32:02 1598

原创 threadlocal内存泄漏的原因

ThreadLocal的原理:ThreadLocal的set实际实在当前线程对象里创建了一个内部变量ThreadLocalMap<ThreadLocal,object> ,ThreadLocalMap的key是ThreadLocal的引用。造成泄漏的原因:由于ThreadLocal对象是弱引用,如果外部没有强引用指向它,它就会被GC回收,导致Entry的Key为null如果当前的情况下在栈中将threadlocal1的引用设置为null,强引用1将会失效,那堆中的thre..

2022-03-28 16:33:30 8928

原创 jvm常用配置

常用的JVM调优参数总结汇总【随时查阅学习】本文章参数根据后期用的参数会持续更新 ---(1)-Xms20M表示设置JVM启动内存的最小值为20M,必须以M为单位(2)-Xmx20M表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-verbose:gc表示输出虚拟机中GC的详细情况(4)-Xss128k表示可以设置虚拟机栈的大小为128.

2022-03-18 09:19:44 2593

原创 java 线程池核心运行原理

一:er说到线程池,离不开线程池的参数,线程池的参数主要有如下1:corePoolSize核心线程数始终在运行的线程数,始终都有这些线程在运行,但是始终在运行的线程数并不保证是同样的 线程(这一点很重要)2:maximumPoolSize最大线程数同时运行的最大的线程数数量3 BlockingQueue 阻塞队列核心线程数已经达到配置值时,新进来的任务会进入到该队列中等待执行,因为是queue所以先进先出,队列里等待时间长的会先被执行阻塞队列有:ArrayBlocki

2022-02-23 10:40:12 496

原创 大数据量分库分表之后的非分片键查询解决方案

大数据量分库分表之后的非分片键查询解决方案

2022-02-11 18:14:05 2739 1

原创 springboot默认日志log,控制台不打印mybatis sql执行日志解决办法

增加配置logging.level.com.XXX.mapper = debug

2021-09-06 17:22:23 2827

原创 mac 安装kettle安转无法启动问题

1: 通过终端进入/data-integration目录,输入命令sh spoon.sh,启动Kettle。报错:发现是jdk版本有问题,降低jdk版本ok了# Java configexport JAVA_8202_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home"export JAVA_8301_HOME="/Users/longhuadmin/Libra.

2021-08-19 16:20:35 759

原创 Mysql多版本控制MVCC原理

RU 串行化 无需使用mvcc,以下是 RC和RR数据库的记录:事物操作过程事物级别 read commit :1:事物80开启事物2:事物100开启3:事物100执行第一次查询id=1的记录创建的ReadView 为:创建undo日志 ,只有一条记录:此时从这条记录中发现他的db_trx_id=70,发现它并不在rw的mids中,且小 于最小事物ID,说明该记录为可读记录,查询到结果为 冬瓜4:...

2021-05-22 17:29:46 269

原创 JAVA关键字Volatile

JAVA关键字VolatileVolatile是在java面试中出现频率很高的一个技术点,说到Volatile不得不先说一下JVM的内存模型,java的内存模型分为主内存和工作内存,主内存: 所有的变量都存储在主内存(不包括局部变量和,方法参数,他们是线程私有的)工作内存: jvm为每个线程分配的内存空间,工作内存保存了被该内存使用的变量的的主内存副本, 线程对变量的所有操作(读取、赋值等)都必需在工作内存中...

2021-05-22 17:20:05 467

转载 iframe属性allowTransparency

IE5.5开始支持浮动框架的内容透明。如果想要为浮动框架定义透明内容,则必须满足下列条件。1.与 iframe 元素一起使用的 allowTransparency 标签属性必须设置为 true。2.在 iframe 内容源文档,background-color 或 body 元素的 bgColor 标签属性必须设置为 transparent。具体步骤: 1. 包含框架页的代码。

2015-10-15 10:44:23 12724

excelIf函数的使用

Excel小技能之使用IF函数的使用,Excel小技能之使用IF函数的使用

2018-12-28

空空如也

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

TA关注的人

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