自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

君悅黎心

技术人生,分享人生

  • 博客(80)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用消息中间件产生的问题和解决方案

消息中间件,本身存在高可用的保障,目前发生的消息丢失情况主要是通过业务稽核的方式,发现发送端和消费端消息量不对等,存在两种场景的异常:消息事物和数据库事务的一致性问题:数据库操作全部成功,事物进行提交,而消息事物提交失败。消息中间件磁盘损坏问题: 消息中间件坏区,导致消息丢失。问题总览:提交到mq失败发生存储坏块,并进行重置后,导致消息丢失消息幂等问题一:提交到mq失败消息中间...

2020-05-11 20:35:13 1676

原创 使用 SpringBoot+JPA多数据源,动态数据源以及分库分表的实现

SpringBoot+JPA多数据源,动态数据源以及分库分表的实现前言:本来想使用sharding-jdbc来实现这个,但是又不想不太熟悉新的框架而存在太多的坑而导致出现无法预测的问题或者及时的解决问题。因此按照实际开发习惯,使用原来简单项目,不引入新的框架,对JPA进行封装来实现。jpa官网链接:jpa官网链接1、使用前须知:采用的数据库连接池:Druid 分库(多数据源实现...

2019-12-08 14:22:18 5048

原创 JVM调优的理解以及常用命令的汇总

jvm简介什么的不详细介绍了,只介绍有重点性,需要理解和记忆以及常用的核心参数的介绍。对象的年龄:每垃圾回收一次,如果一个对象没被回收掉,他的年龄就会增加1对象的分配:对象优先分配在新生代 新生代如果对象满了,会触发Minor GC回收掉没有引用的垃圾对象 如果有对象躲过了十多次垃圾回收,就会放入老年代里 如果老年代也满了,那么也会触发垃圾回收,把老年代里没人引用的垃圾对象...

2019-11-29 16:51:43 283

原创 volatile 关键字和多处理器总线嗅探

volatile变量修饰的共享变量在进行写操作的时候回多出一行汇编:0x01a3de1d:movb $0×0,0×1104800(%esi);0x01a3de24:lock addl $0×0,(%esp);Lock前缀的指令在多核处理器下会引发两件事情。1)将当前处理器缓存行的数据写回到系统内存。2)这个写回内存的操作会使其他cpu里缓存了该内存地址的数据无效。多处理器总线嗅...

2019-07-10 11:49:38 7466

原创 Java多线程批量执行sql

当遇到大sql批量导入时几十万上百万数据,使用plsql执行等都是非常的慢。因此开发一套自定义线程池处理sql:1,线程代码import java.util.ArrayList;/** * @ClassName: com.ai.order.esb.yulang.tools.handle * @Description: TODO * @version: v1.0.0 * @a...

2019-05-28 16:51:29 7865 12

原创 用IntelliJ IDEA自带的文本差异对比器

目前介绍两种对比和文件对比或者和剪贴板对比(1)对比和剪贴板直接将需要对比的文件复制到剪贴板(Ctrl+C)上,直接在idea中右击Compare with Clipboard即可显示差异。2 对比和文件1、首先,选中要比对的文件右键选择CompareWith.2、选择本地需要带比对的文件,双击即可。3、显示出对比的文件。四种对比的区别:...

2019-01-09 18:20:33 22512 2

原创 线程池中使用线程变量ThreadLocal 的注意以及线程池创建

从输出可以看出,线程池中的线程执行了10次,由于创建了固定的线程池就只有3个,与预期的只有一个线程才能拿到线程变量有很大差距;造成这种现象是因为线程复用导致的;测试代码:public class Demo { public static void main(String[] args) throws Exception { //创建可缓存线程池 无限大小 ...

2018-12-28 15:36:20 10617

原创 如何导出MYSQL数据库中的所有表中建表sql语句以及表中的数据

需要使用Navicat MySQL工具。第一步:全选第二步:右击-->转储SQL文件查看导出的结果,发现建表语句和insert语句都有了。:

2018-06-14 20:37:39 13548 1

原创 idea一键更新maven依赖包

在主界面的最右边Maven Projects中点如图所示按钮!附录:idea高效率配置1. 代码提示不区分大小写Settings -> Editor -> General -> Code Completion(低版本 将 Case sensitive completion 设置为 None 就可以了)...

2018-06-06 10:47:27 24706 2

原创 代码编译安全之classfinal-maven-plugin插件

ClassFinal-maven-plugin插件是一个用于加密Java字节码的工具

2024-03-20 10:31:54 1363 2

原创 阿里云RDS MySQL与自建MySQL数据库进行主从同步(GTID方式)

阿里云RDS MySQL与自建MySQL数据库进行主从同步(GTID方式)。修改ECS中自建的从库 MySQL 配置文件,在[mysqld]最后添加如下。在ECS服务器上远程导出RDS的数据库,执行下面命令,记得将[]内容替换掉。大功告成,阿里云RDS MySQL与自建MySQL数据库进行主从同步。阿里云RDS的配置几乎不用动,只需从RDS开一个只读的账号出来。,连接RDS主库,查询GTID,阿里云主库执行,复制出GTID。gtid_purged:需要跳过的gtid。保存后重启mysql服务。

2024-03-19 10:12:32 630

原创 mysql虚拟列Generated Column

MySQL 5.7引入生成列、虚拟列、虚拟生成列根据列定义中包含的表达式计算得出生成列包含下面两种类型:Virtual Generated Column(虚拟):当从表中读取记录时,将动态计算该列。保存在数据字典中(表的元数据),并不会将这一列数据持久化到磁盘上。(MySQL 5.7中默认是Virtual Generated Column)Stored Generated Column(存储):当向表中写入新记录时,将计算该列并将其存储为常规列。

2024-03-18 15:17:21 1151

转载 java调用https报错PKIX path building failed问题,调用chatGPT接口报错

java调用https报错PKIX path building failed问题,调用chatGPT接口报错.因为使用chatGPT限制ip,国内无法使用,但是使用OpenAPI不限制ip,因此可以OpenAPI使用chatGPT,开发过程很快,但是在部署过程中出现了问题,试了多种解决方式(包括忽略https等等),都解决不了这个问题,因此没办法。

2023-02-08 21:30:00 1093

原创 Mac安装MAT工具及问题

1、下载地址:https://www.eclipse.org/mat/downloads.php如下图所示选择mac版本下载完,安装的时候发现报错打开错误文件错误信息:The platform metadata area could not be written: /Volumes/mat/mat.app/Contents/MacOS/workspace/.metadata. By default the platform writes its contentunder the .

2020-12-28 20:45:48 1356

原创 投资学必知的经济指标

投资必知的经济指标1、利率简单讲就是利息是多少。经济过热,通胀,提高利率1.1 物价总水平1.2 国有大中型企业的利息负担1.3 国家财政和银行的利益1.4 国家政策和社会资金的供求状况2、贴现率贴现率是以利率为基础bai的。是指商业银行办理票据贴现业务时,按一定的利率计算利息,这种利率即为贴现率,它是票据贴现者获得资金的价格。贴现率的高低,主要根据金融市场利率来决定。贴现率不一定大于利率。即贴现率可以大于、等于或小于利率。一般贴现率小于市场利率,目的是为了防止银行利用两者之差进行牟利

2020-06-27 15:33:26 677 1

原创 五分钟掌握同步异步I/O同步阻塞同步非阻塞异步阻塞异步非阻塞

五分钟掌握同步异步I/O同步阻塞同步非阻塞异步阻塞异步非阻塞网络通讯原理网络通讯的过程I/O阻塞I/O模型非阻塞I/O模型多路复用I/O模型信号驱动I\O模型异步I/O模型易于混淆的概念各I/O模型的对比与总结BIO、NIO、AIO网络通讯原理在讲I\O的时候,先简单讲下网络通讯原理。网络通讯四要素:本机的IP地址、子网掩码、网关的IP地址和DNS的IP地址。四要素有两种方式:一是静态获取,即手动配置;二是动态获取,即通过DHCP(Dynamic Host Configuration Protoco

2020-06-14 17:28:11 393

原创 MyBatis 一级缓存和二级缓存存在的问题和原理源码介绍

版本:mybatis-3.5.4mybatis的单元测试采用HSQLDBHSQLDB官方文档:http://hsqldb.org/doc/2.0/guide/index.html。缓存是MyBatis中非常重要的特性。在应用程序和数据库都是单节点的情况下,合理使用缓存能够减少数据库IO,显著提升系统性能。但是在分布式环境下,如果使用不当,则可能会带来数据一致性问题。MyBatis提供了一级缓存和二级缓存,其中一级缓存基于SqlSession实现,而二级缓存基于Mapper实现。MyBa.

2020-05-23 20:26:16 2165 2

原创 Domain Driven Design领域驱动设计

大图:1、interface(用户界面层) DTO数据传输对象(Data Transfer Object) DTO是数据传输的载体,内部不应该存在任何业务逻辑,通过DTO把内部的领域对象与外界隔离 Assembler(装配) 实现DTO与领域对象之间的相互转换,数据交换 Facade(门面) Facade的用意在...

2020-04-04 15:50:41 267

原创 Java锁机制

Java 锁分类从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁从资源已被锁定,线程是否阻塞可以分为 自旋锁从多个线程并发访问资源,也就是 Synchronized 可以分为 无锁、偏向锁、 轻量级锁和 重量级锁从锁的公平性进行区分,可以分为公平锁 和 非公平锁从根据锁是否重复获取可以分为 可重入锁 和 不可重入锁从那个多个线程能否获取同一把锁分为 共享锁 和 排他锁Java...

2020-01-09 22:35:47 119

转载 【面试经验】横扫阿里、滴滴、美团后,阿里程序媛整理出这份厚厚的面经

这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了。先说下这次面试的结果吧:到HR面的:阿里、美团、滴滴、金山云、每日一淘、火币、宜信、旺店通、黄包车、linkedMe其他:小米(四轮技术面,大概4个小时的样子,大数据部门,不知道是不是四面的负责人嫌弃我木有大数据的经验,我确实木有哈)京东(电话面试一...

2019-12-29 21:38:29 522

原创 GC 垃圾收集器

下面先来一张丑图:1、Serial 垃圾收集器(单线程、复制算法) Serial([ˈsɪriəl] 连续)是最基本垃圾收集器,使用复制算法(复制存活的,s0 - -> s1),曾经是JDK1.3.1 之前新生代唯一的垃圾收集器。Serial 是一个单线程的收集器,它不但只会使用一个 CPU 或一条线程去完成垃圾收集工作,并且在进行垃圾收集的同时,必须暂停其他所有的...

2019-12-28 14:12:52 135

原创 GC 垃圾收集器

1、Serial 垃圾收集器(单线程、复制算法)Serial([ˈsɪriəl] 连续)是最基本垃圾收集器,使用复制算法,曾经是JDK1.3.1 之前新生代唯一的垃圾收集器。Serial 是一个单线程的收集器,它不但只会使用一个 CPU 或一条线程去完成垃圾收集工作,并且在进行垃圾收集的同时,必须暂停其他所有的工作线程,直到垃圾收集结束。Serial 垃圾收集器虽然在收集垃圾过程中需要暂停所...

2019-12-28 13:31:14 204

原创 zookeeper分布式协调工具工作原理以及选举流程

1、zookeeper一致性原理一致性概念:强一致性、弱一致性、最终一致性为了保证主从节点的数据一致性,Zookeeper 采用了ZAB 协议,这种协议非常类似于一致性算法Paxos和Raft什么是 ZABZookeeper Atomic Broadcast,有效解决了 Zookeeper 集群崩溃恢复,以及主从同步数据的问题。#ZAB 协议定义的三种节点状态Look...

2019-12-18 22:27:59 150

原创 监控jvm的工具

1、jstatC:\Users\Administrator>jstat -helpUsage: jstat -help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]option: 参数选项 -t: 可以在打印...

2019-12-10 13:23:40 126

原创 使用<pre>标签,里面的xml被转义

官网上面有介绍:如果在后端可以使用:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> ...

2019-12-05 22:46:02 1116

原创 Spring IOC循环依赖问题

A对象引用B对象B对象引用A对象spring加载对象时发现创建A对象时,发现需要依赖B对象,而B对象的创建需要A对象,那岂不是炸毛了?spring中采用三级缓存来解决: private final Map<String, ObjectFactory<?>> singletonFactories = new HashMap(16);先将对象创建,...

2019-09-04 09:49:20 195

转载 二叉树、二叉搜索树、平衡二叉树、红黑树、B树、B+树

说吕老师给小史讲完人工智能的一些知识后,他们一起回家吃小史姐姐做的饭去了。【饭后】吕老师:面试的时候一定是往深了问,不精通的话容易吃亏。不过面试时一般都是根据项目来问,项目中用到的技术,一定要多看看原理,特别是能和数据结构和算法挂钩的那部分。小史:树的话,无非就是前中后序遍历、二叉树、二叉搜索树、平衡二叉树,更高级一点的有红黑树、B树、B+树,还有之前你教我...

2019-09-01 22:49:04 697

原创 冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、基数排序以及堆排序

1、冒泡排序- 依次比较相邻两元素,若前一元素大于后一元素则交换之,直至最后一个元素即为最大;然后重新从首元素开始重复同样的操作,直至倒数第二个元素即为次大元素;依次类推。如同水中的气泡,依次将最大或最小元素气泡浮出水面。实现代码就是两个for循环,然后比较交换位置。时间复杂度:O(N2)2、选择排序- 首先初始化最小元素索引值为首元素,依次遍历待排序数列,若遇到小于该最小索...

2019-09-01 12:44:28 961

原创 StringUtils里的isEmpty方法和isBlank方法的区别

1.isEmpty 没有忽略空格参数,是以是否为空和是否存在为判断依据。 2.isBlank 是在isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。...

2019-08-31 21:50:12 202

原创 mysql性能优化之索引优化

在MySQL数据库中索引的优化是最重要的优化手段之一,能够解决生产过程中的大部分SQL性能问题。在对MySQL数据库优化的时候,对系统进行基于索引的梳理,这个动作是最有效的操作。创建唯一性索引,加快数据的检索速度。通过索引访问表的时候,一般的索引高度不会超过4,对于叶子节点来说,访问的叶子也不多,因为索引都是在某一个列上,叶子里面会有很多的索引值,很多时候,索引都在内存中,所以提取数据的...

2019-08-31 21:28:50 349

原创 mysql性能优化之sql优化

1、SQL优化(1)show status 命令mysql> show status like'Com_%';mysql> SHOW STATUS LIKE 'THREADS _%'; 当然除了上述操作之外,还存在有累积表操作的所有的统计参数,比如Com_insert,Com_delete,Com_update,Com_select:表示执行插入,删除,更...

2019-08-31 21:02:11 156

原创 TCP握手协议

TCP握手协议在TCP/IP协议中,TCP协议采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包(SYN=J)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=J+1),同时自己也发送一个SYN包(SYN=K),即SYN+ACK包,此时服务器V状态;第三次握手:客户端收到服务器的SYN+ACK包,...

2019-08-31 20:23:16 971

原创 MySQL 索引

1、哈希索引哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。(1)Hash 索引仅仅能满足"=","IN"和"<=>"查询,...

2019-08-31 20:21:06 98

原创 代理模式之静态代理和动态代理

静态代理静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。(1)基于接口实现方式(2)接口继承方式实现public class OrderServiceProxy extends OrderServiceImpl { public void order() ...

2019-08-14 15:21:35 84

原创 mybatis原理分析

1、mybatis实现的相关思考 如果要实现mybatis的功能,我应该会怎么做?读取和解析配置文件,包含mapping.xml 根据配置获取数据源( JDBC操作) 执行配置或者注解的sql,将结果集,封装对象返回思考:mybatis中dao层只有接口,如果获取到实现类?2、源码分析通过SqlSessionFactoryBuilder 使用XMLConfigBuil...

2019-08-11 14:14:18 99

原创 jfinal打成jar包部署在服务器中

其中打成jar之后,运行一直报错。具体报错:Null identity service, trying login service: nullFinding identity service: null参照:jfinal-undertow 下部署,官网链接:https://www.jfinal.com/doc/1-3参照上述步骤之后,一直报错,但是本地运行main...

2019-08-10 21:50:07 2055

转载 Java 208道面试题及部分答案

一、Java 基础1.JDK 和 JRE 有什么区别?答:JRE是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。  JDK是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的2.== 和 equals 的区别是什么?答:==是比...

2019-07-31 17:25:17 3647

原创 string使用等号比较的问题

代码: String s3= new StringBuilder("ni").append("hao").toString(); System.out.println(s3.intern() == s3); String s1 = new StringBuilder("go").append("od").toString(); S...

2019-07-25 08:49:03 709

原创 锦囊

具体如下一、Java 基础1. JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java 中有什么作用?5. java 中的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7....

2019-07-18 16:58:26 186

转载 堆外内存

在Java中创建的对象都处于堆内内存(heap)中,堆内内存是由JVM所管控的Java进程内存,并且它们遵循JVM的内存管理机制,JVM会采用垃圾回收机制统一管理堆内存。与之相对的是堆外内存,存在于JVM管控之外的内存区域,Java中对堆外内存的操作,依赖于Unsafe提供的操作堆外内存的native(底层使用c,c++,汇编)方法。使用堆外内存的原因对垃圾回收停顿的改善。由于堆外内存是直...

2019-07-12 17:04:54 184

MemoryAnalyzer-1.11.0.20201202-macosx.cocoa.x86_64.dmg

MemoryAnalyzer-1.11.0.20201202-macosx.cocoa.x86_64.dmg

2021-03-09

世界500强面试题.pdf

第一篇 面试题 ................................................................................ 8 1.1. 简介 ............................................................................................................... 8 1.2. 面试题集合(一) .......................................................................................... 8 1.2.1. 把二元查找树转变成排序的双向链表.................................................... 8 1.2.2. 下排每个数都是先前上排那十个数在下排出现的次数 ..........................11 1.2.3. 设计包含 min 函数的栈 ...................................................................... 14 1.2.4. 求子数组的最大和.............................................................................. 20 1.2.5. 在二元树中找出和为某一值的所有路径 .............................................. 22 1.2.6. Top K 算法详细解析---百度面试 ......................................................... 29 1.2.7. 翻转句子中单词的顺序....................................................................... 31 1.2.8. 判断整数序列是不是二元查找树的后序遍历结果 ................................ 33 1.2.9. 查找最小的 K 个元素-使用最大堆....................................................... 35 1.2.10. 求二叉树中节点的最大距离................................................................ 37 1.3. 面试题集合(二) ........................................................................................ 40 1.3.1. 求 1+2+…+n....................................................................................... 40 1.3.2. 输入一个单向链表,输出该链表中倒数第 k 个结点............................. 44 1.3.3. 输入一个已经按升序排序过的数组和一个数字.................................... 46 1.3.4. 输入一颗二元查找树,将该树转换为它的镜像.................................... 48 1.3.5. 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往 右的顺序打印................................................................................................... 49 1.3.6. 在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b 52 1.3.7. n 个数字(0,1,…,n-1)形成一个圆圈 .................................................. 53 1.3.8. 定义 Fibonacci 数列 ............................................................................ 58 1.3.9. 左移递减数列查找某一个数.........................................

2019-11-01

局域网聊天带源码ppt文档.zip

本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端。 服务器端功能:建造一个局域网聊天室名为CNetChatServerApp,实现对话框,用于显示用户数量,还可以更改用户数量,通知客户端刷新用户名单。当有消息需要接受时,先接收信息头,再接收数据内容,根据数据内容处理数据。当有用户登录时,显示登录时间;当有用户离开时,显示离开时间。 客户端功能:客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。通过本课题的毕业设计,可以比较深入的了解和掌握 Winsock 控件基本属性、方法和事件,理解网络聊天通信的概念,输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。

2019-10-28

Editplus内含xml,json格式化插件

打开EditPlus——>Tools——>Configure User Tools,配置XML 1、选择对话框左侧的Tools——>User tools ……——>Add Tools——>program,显示如下对话框 2、Command是xml.exe对应得路径 3、Action选择——Run as Text Filter(Replace) 4、点击OK,完成配置 5、完成以后在tools菜单下就有一个“格式化xml”的选项,点击一下就能格式化xml文档,非常方便。

2018-11-06

SSM框架需要引入的jar包.zip

SSM框架需要引入的jar包.zip

2017-03-25

oralce学习总结

oralce学习总结oralce零基础学习文档

2017-01-07

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

TA关注的人

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