- 博客(30)
- 资源 (2)
- 收藏
- 关注
转载 java读取数据库时间比数据库中存储时间快8小时解决办法
springboot 项目,Controller使用@ResponseBody注解,返回json数据,返回的数据时间与数据库实际时间相差8个小时:导致这个问题的原因,网上搜了一下,大概意思是:spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟国内是相差8小时的,所以这里得重新设置当前项目地所在时区。1.application.yml 或者application.properties 文件中数据库连接方式追加时区设置serverTimezone=GMT+8,
2020-07-12 16:18:21 3334 6
原创 String中intern()方法
JDK1.7 之后 JVM 里字符串常量池放入了堆中,之前是放在方法区当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由equals(Object) 方法确定),则返回池中的字符串。否则,常量池中直接存储堆中该字符串的引用(1.7 之前是常量池中再保存一份该字符串)。![在这里插入图片描述](https://img-blog.csdnimg.cn/20200629212256898.png?x-oss-process=image/watermark,ty
2020-06-29 21:23:45 131
原创 Mybatis中@Intercepts、StatementHandler、ResultSetHandler用法记录,主要用于实现数据加解密
公司的海外业务中,有涉及数据隐私保护的要求。因此对于一些敏感数据,比如用户的姓名、地址、电话等,需要经过一层加密操作,才能把数据存到库中。因此,需要写一个方法实现在插入钱对数据进行加密。方法如下:import com.google.common.collect.Lists;import com.google.common.collect.Maps;import com.xxxx.annotation.encrypt.EncryptEnabled;import com.xxxx.annotation
2024-01-05 17:30:46 536
原创 OkHttp无限重试问题
经测试,此为okhttp低版本的bug,虽然okhttp也有最大重试次数的判断逻辑,但无法触达。a.腾讯云LBHTTP2协议默认最大的HEADER大小为4kb,数据超过最最大值后,LB直接拒绝并发送FIN包给调用方。而,调用方因请求数据并未发送完,所以会继续发送数据,LB4收到额外数据后,发送RESET包给调用方,故,okhttp。注:问题发生时,请求经过的链路为:xxx-tc-tke-prod->腾讯LB。值班同学收到反馈,xxx-tc-tke-prodd请求频繁超时导致页面查询超时问题。
2023-12-28 16:08:02 807
原创 MDC数据在多线程中数据丢失问题
MDC的数据是与线程挂钩,那么在主线程中启用多线程是,要在子线程中获取主线程的MDC数据,就需要手动把主线程的MDC数据手动塞入到子线程的MDC中,否则子线程是获取不到主线程MDC数据的。注意到,如果要在子线程中使用主线程的MDC数据,就需要在doMultiProcess()方法中手动把MDC的数据手动塞入进去。下面ProcessExecutor类是一个多线程执行工具。
2023-12-28 15:23:47 415
原创 nft热区 登陆功能+自选入库
nft热区 登陆功能+自选入库登陆页面如下目前进入nft热区的首页保持原来的不变,登陆的核心功能就是把用户的自选入库,保证页面端和app端的数据能够互通。本期核心功能:登陆完成之后,用户在同一台设备中,打开页面端和app端不需要重新登陆,并且页面端和app端的自选数据互通,依靠用户手机号码这个唯一键实现数据的查找。新用户注册以及忘记密码需要第三方发短信的平台,我只使用过阿里大于。登陆完成之后,用于添加完自选之后,自选数据入库。不是全量替换,是增量。用户未登陆时,点击自选按钮时,提醒用户去登
2022-05-14 18:40:53 265
原创 mysql 【日志】和 【索引】
mysql 【日志】和 【索引】一 日志1.binlog 日志1.1 Statement1.2 Row1.2 Mixed2.redo log 日志3.undo log 日志一 日志以下的讨论都是以innodb作为mysql的默认引擎为前提。在innodb作为mysql的引擎是,大致有三种日志:1.binlog 日志又称为归档日志,主要功能用于主从数据库间数据备份。它是mysql server层的日志,即mysql自带的日志。binlog日志是一种逻辑日志,他里边所记录的是一条 SQL 语句的原始
2022-05-10 21:18:47 372
原创 Spring 启动问题 :MetricsTrackerFactory 与 MicrometerMetricsTrackerFactory 版本不匹配
问题出现:在启动spring boot的项目时报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘quartzDataSourceInitializer’: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: com.zaxxer.hikari.metrics
2022-03-24 16:45:10 1663
原创 innodb缓存池中页的大小为什么默认为16kb?
在操作系统的文件管理系统中进行一次io读写,默认读取的大小为4kb(一页)。又因为局部性原理,操作系统会将命中的页周围的三块页一同加载进innodb的缓存池中,因此innnodb缓存池中页的大小为16kb。...
2021-10-27 15:56:42 1282 1
原创 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test错误
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project conan-newbie-server: There are test failures.这两天在install项目是老是遇见上面这个问题:这里报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2
2021-05-21 15:55:56 156
原创 spring中的@mapper(componentModel = “spring“)
spring中的@mapper(componentModel = “spring”)前几天刚入职,在看公司代码的时候,发现了一个注解:@mapper(componentModel = “spring”)@Mapper(componentModel = "spring")public interface TodoItemMapper { TodoItemVO toTodoItemVO(TodoItemDO todoItemDO); List<TTodoItem> toT
2021-05-21 15:31:01 11526
原创 JVM部分面试问题
1.CMS垃圾回收器的整个过程,哪些过程会发生STW?CMS垃圾回收的过程主要有四部分,初始标记、并行标记、重新标记以及并行清楚。其中初始标记阶段和重新标记阶段会发生STW,并行标记和并行清楚阶段,垃圾回收线程和用户线程时交替运行的,不会STW。2.Full gc发生的原因有哪些?System.gc()方法的调用此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full GC的频率,也即增加了间歇性停顿的次数。强烈影响系建议能不使用此方
2021-03-20 11:21:08 216
原创 Java基础部分面试问题
接下里几篇文章,都是我在去年秋招中遇到过的java真实面试题。这里作了一下总结。主要分为Java基础部分、JVM部分、数据结构与算法部分、计算机网络部分、操作系统部分、数据库部分、中间件部分、Spring框架部分以及大数据面试题。其中的问题的回答都是我在面试中的回答,有对有错。写这几篇文章的目的在于和大家多多交流,也希望大家能多多指正问题。**Java基础部分**1.CAS算法中的ABA问题怎么去解决?使用AtomicStampedReference,即对象引用类型的原子类。通过其中的版本号增加机
2021-03-20 10:46:32 96
原创 JAVA中手写一个BitMap
public class BitMap { public static void main(String[] args) { BitMap bitMap = new BitMap(); byte[] bytes = bitMap.create(100); // 创建一个长度为100的数组 bitMap.add(bytes,10); bitMap.add(bytes,1); bitMap.add(bytes,13);
2020-09-09 16:42:40 658
原创 对wait()方法进行判断为什么用while而不是if?
wait¬ify 实践等待方(消费者)和通知方(生产者)等待方:synchronized(obj){while(条件不满足){ obj.wait();}消费;}通知方:synchonized(obj){ 改变条件; obj.notifyAll();}1)条件谓词:将与条件队列相关联的条件谓词以及在这些条件谓词上等待的操作都写入文档。在条件等待中存在一种重要的三元关系,包括加锁、wait 方法和一个条件谓词。在条件谓词中包含多个状态变量,而状态变量由一个锁
2020-06-28 17:13:27 642
原创 Method方法中的invoke方法以及getAnnotation方法
invoke方法public class Animal { public void print(){ System.out.println("Animal.print()"); }}public class Cat extends Animal { @Override public void print(){ System.out.println("Cat.print()"); }}public class Dog extends
2020-06-23 10:50:11 1814 2
转载 ReentrantReadWriteLock不存在锁升级,只存在锁降级
https://blog.csdn.net/john1337/article/details/100589942
2020-06-23 10:43:46 128
原创 Ubantu下redis集群搭建的配置文件修改
port 7000cluster-enabled yescluster-config-file nodes7000.confcluster-node-timeout 5000appendonly yesport 7000cluster-enabled yescluster-config-file nodes7000.confcluster-node-timeout 5000appendonly yesport 7000cluster-enabled yescluster-config
2020-06-06 16:12:38 88
原创 SpringBoot下多端口部署同一tomcat实例应用
SpringBoot下多端口部署同一tomcat实例应用1.首先点击XXXAppliaction的Edit Configurations进入到配置页面2.在配置页面中不要勾选Single instance only之后再在配置文件中修改每次启动的端口号点击RUN,在8080端口启动第一个tomcat实例。再修改端口号再次点击RUN按钮,在8090端口启动第二个tomcat实例。一般配置到这里基本上就可以启动两个tomcat实例了。下面说说我在启动时遇到的问题本人在修改完第二个端口后,
2020-05-27 11:38:40 716
原创 URL解决中文编码的问题
URL解决中文编码的问题//爬取一个京东的书籍商品页面,将商品的图片,标题以及价格封装后返回,目前只支持商品的名字是英文的 public List<Book> parseJD(String goodsname) throws Exception { //先获取对应的url的地址,若是传进来中文后,先解析,再拼接 String message = java.net.URLEncoder.encode(goodsname,"utf-8"); //这一步解决
2020-05-19 10:56:32 209
原创 JD_ES搜索以及ES的多条件查询
这里写自定义目录标题京东ElasticSearch搜索以及多条件查询的案例#**京东ElasticSearch搜索以及多条件查询的案例** 本文是基于狂神说JAVA系列的ElasticSearch视频学习而来的,在学习视频中,狂神在条件搜索方面只用到了单一的条件搜索,本文在单一搜索的基础上,添加了多条件的搜索。 首先给出京东搜索的java条件之后的结果 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200519102524411.png?x-oss-
2020-05-19 10:33:40 976
RabbitMQ实战教程资料.zip
2020-06-27
RibbitMQ 实战教程.md
2020-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人