
java
文章平均质量分 61
Scenoob
http://git.ncwuhz.cn
展开
-
基于阿里云DTS数据订阅binlog应用Springboot实践功能二次开发
基于阿里云的DTS springboot封装在作者凯雄的基础上二次开发,原帖地址:https://blog.youkuaiyun.com/lkx444368875/article/details/109119159二次开发改动点由于阿里云支持细粒度订阅所以关闭订阅过滤的功能订阅到kafka的消息的后续处理不需要集成spring-kafka,删除了用kafka发送消息给其他地方的代码修正一些不重要的警告信息删除了DDL订阅的代码实现优化对mysql json数据类型的自动转换支持根据实际尝试阿里云的延迟原创 2021-03-17 11:31:58 · 1094 阅读 · 0 评论 -
maven(nexus)私服,添加阿里云仓库
目的:依赖时先去私服依赖包,假如私服没有,私服去阿里云找包,找到后返回给依赖方转载:https://blog.youkuaiyun.com/freeager/article/details/80260033快照:一、安装配置:1、下载:https://www.sonatype.com/download-oss-sonatype 选择 Nexus Repository Manager OSS 3.x - Unix 版本下载,速度快。从 sonatype.org下载的话根本没办法下。我下载的是 nexus-3.1原创 2020-09-11 12:04:51 · 2304 阅读 · 0 评论 -
关于数据库存储emoji等高级符号的字符集升级的解决方案
关于数据库存储emoji等高级符号的字符集升级的解决方案一:背景mysql5.7,原字符集为utf8,想升级为utf8mb4存储emoji等高级符号二:数据库ddl案例第一句:ALTER TABLE dbname MODIFY c1 varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci not null default ‘’ comment ‘c1的注释’;第二句:ALTER TABLE dbname MODIFY c1 var原创 2020-06-19 17:38:34 · 329 阅读 · 0 评论 -
mysql分页查询优化和一个javaAPI
转载:https://www.cnblogs.com/weixiaotao/p/10646666.html场景:千万级数据全部取出来,分页查询到 limit n百万,1000时就把数据库拖挂了关于java的AtomicInteger,实际上产配合volatile关键字多线程原子操作一些数字api和结构java.lang.Objectjava.lang.Numberjava.util.concurrent.atomic.AtomicInteger...原创 2020-05-22 13:41:00 · 241 阅读 · 0 评论 -
springcloud跨域(分环境)解决方案
springcloud跨域(分环境)解决方案配置类 CorsConfig.java.package com.test.config;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.context.annotation.Confi...原创 2019-05-27 19:56:10 · 704 阅读 · 0 评论 -
java顺时针螺旋遍历M*N的矩阵
java顺时针螺旋遍历M*N的矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10...原创 2019-04-02 18:02:12 · 1820 阅读 · 0 评论 -
jvm调优(二)
jvm调优(二)除了内存泄漏外,我们还发现CPU长期不足3%,系统吞吐量不够,针对8core×16G、64bit的Linux服务器来说,是严重的资源浪费。在CPU负载不足的同时,偶尔会有用户反映请求的时间过长,我们意识到必须对程序及JVM进行调优。从以下几个方面进行:线程池:解决用户响应时间长的问题连接池JVM启动参数:调整各代的内存比例和垃圾回收算法,提高吞吐量程序算法:改进程序逻...原创 2018-10-30 20:45:34 · 133 阅读 · 0 评论 -
jvm类加载机制之类加载器
jvm类加载机制之类加载器(双亲委派模型)虚拟机设计团队把加载动作放到JVM外部实现,以便让应用程序决定如何获取所需的类,JVM提供了3种类加载器:启动类加载器(Bootstrap ClassLoader):负责加载 JAVA_HOME\lib 目录中的,或通过-Xbootclasspath参数指定路径中的,且被虚拟机认可(按文件名识别,如rt.jar)的类。扩展类加载器(Extension...原创 2018-10-30 20:33:31 · 392 阅读 · 0 评论 -
jvm类加载机制之加载过程
jvm类加载机制之加载过程如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可...原创 2018-10-30 20:29:19 · 228 阅读 · 0 评论 -
jvm垃圾回收(GC)日志简单理解
jvm垃圾回收(GC)日志简单理解每种收集器的日志形式都是由它们自身的实现所决定的,换言之,每种收集器的日志格式都可以不一样。不过虚拟机为了方便用户阅读,将各个收集器的日志都维持了一定的共性,来看下面的一段GC日志:[GC [DefNew: 310K->194K(2368K), 0.0269163 secs] 310K->194K(7680K), 0.0269513 secs] [...原创 2018-10-29 20:42:48 · 724 阅读 · 0 评论 -
jvm垃圾回收(GC)机制之垃圾收集器
jvm垃圾回收(GC)机制之垃圾收集器)垃圾收集器就是之前讲的理论知识的具体实现了。jvm内存模型jvm调优jvm垃圾回收(GC)机制之如何判断对象已死jvm垃圾回收(GC)机制之垃圾收集算法不同虚拟机所提供的垃圾收集器可能会有很大差别,我们使用的是HotSpot,HotSpot这个虚拟机所包含的所有收集器如图:上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,那...原创 2018-10-29 20:38:38 · 186 阅读 · 0 评论 -
插入排序算法
插入排序算法(java实现)插入排序对于少量的数据它是一个有效的算法。插入排序的工作方式像人手里的扑克牌一样。开始时我们手里为空并且桌子上的牌面向下。然后我们每次从桌上拿走一张牌并将它插入手里正确的位置。为了把这种牌插入正确的位置,我们要从右到左将它和已在手中的牌进行比较。如下图:InsertionSort.javaimport java.util.Arrays;/** * 插入...原创 2018-10-31 10:16:07 · 193 阅读 · 0 评论 -
jvm垃圾回收(GC)机制之垃圾收集算法
jvm垃圾回收(GC)机制之垃圾收集算法一、标记-清除(Mark-Sweep)算法这是最基础的算法,标记-清除算法就如同它的名字样,分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,标记完成后统一回收所有被标记的对象。这种算法的不足主要体现在效率和空间,从效率的角度讲,标记和清除两个过程的效率都不高;从空间的角度讲,标记清除后会产生大量不连续的内存碎片, 内存碎片太多可能会导致...原创 2018-10-28 20:38:18 · 205 阅读 · 0 评论 -
java深拷贝list集合思路
java深拷贝list集合思路先上代码HelloWorld.javaimport java.util.ArrayList;import java.util.List;/** * 深浅拷贝集合思路 * @author Scen * @date 2018/10/8 17:42 */public class HelloWorld { public static void m...原创 2018-10-25 15:59:27 · 775 阅读 · 0 评论 -
jvm垃圾回收(GC)机制之如何判断对象已死
jvm垃圾回收(GC)机制之如何判断对象已死(哪些内存需要回收?)1、为什么需要垃圾回收?如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。2、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使...原创 2018-10-28 12:01:21 · 996 阅读 · 0 评论 -
jvm调优(一)
jvm参数含义参数名称含义默认值-Xms初始堆大小物理内存的1/64(<1GB)默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(<1GB)默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xm...原创 2018-10-28 10:28:43 · 196 阅读 · 0 评论 -
jvm内存模型的简单理解
jvm内存模型1.方法区和堆是所有线程共享的数据区1)堆:存放对象的实例2)方法区:存放已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码3)运行时常量池:用于存放编译期生成的各种字面量和符号引用2.程序计数器、虚拟机栈、本地方法栈是线程隔离的数据区4)程序计数器:当前线程所执行字节码的行号指示器5)虚拟机栈:描述Java方法执行的内存模型,每个方法被执行时都会创建一...原创 2018-10-28 09:36:29 · 387 阅读 · 0 评论