- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 国际化项目开发中关于时间的问题二
System.currentTimeMillis()是jvm通过c语言实现的获取UTC时间戳的方法,看到这里还是没看到时区,继续往下看.TimeZone.getDefaultRef()方法返回时区,继续看。为什么没有传入指定时区情况下new Date会正确显示当地时间。我们是通过toString()打印当地时间信息的,我们看代码。setDefaultZone方法。继续看normalize方法。
2024-06-17 16:57:34
262
原创 国际化项目开发中关于时间的问题一
在上述代码中,我们生成了东八区晚上九点的时间,然后转换为时间戳,最后将这个时间戳转换为东十区的时间。时区转换1:时间是分时区的,如果把【时间戳】转【时间】,需要把时区加进去,同理,【时间】转【时间戳】时,也需要把时区加进去。时间与时区关系:时区决定了本地时间与UTC时间的偏移量。时间戳:不区分时区,表示自1970年1月1日00:00:00 UTC以来的秒数或毫秒数。时区转换2:将时间戳转换为可读时间时,需要考虑时区,以便正确显示本地时间。东八区时间: 2023-06-01 21:00:00 +0800。
2024-06-17 14:23:35
331
原创 postman工具使用
2.2 更多的测试用例可以参考右侧的snippets代码,鼠标单击后会出现示例代码。1.3 在 my test路径下新建folder 1.1.0 api。request 请求下都会带上面的公共请求头参数。{{postParam}}是前一个接口设置的变量。实现前一个接口响应结果传递给下一个接口作为参数。这里显示三个测试用例是pass通过的状态。第一个接口,需要在test 菜单编写脚本。点击发送接口,会显示每个测试用例的结果。多个接口进行简单的关联测试,并。第二个接口获取环境变量里的参数。
2024-05-10 16:22:48
438
2
原创 ArrayList在添加元素时报错java.lang.ArrayIndexOutOfBoundException
ArrayList在并发场景下添加元素发生数组越界
2024-01-31 10:49:16
1190
原创 mysql存在10亿条数据,如何高效随机返回N条纪录,sql如何写
1.使用ORDER BY RAND():LIMIT 1;这将随机排序表中的所有行,并且通过LIMIT 1仅返回第一行,从而返回一个随机记录。然而,对于大型表来说,ORDER BY RAND()可能会导致性能问题,因为它需要对整个表进行排序。
2023-10-27 11:14:31
704
2
原创 java使用正则提取数据
结合正则的分组模式$1、$2可以提取,但是在实际java开发中,字符串格式发生了变化,字符串多了空格和换行等,因此需要再完善正则表达式。需要对一个json结构做数据的提取,提取label和value的值,组成新的结构,西瓜:0、苹果:1、草莓:2。最终调试改为如下正则写法,三种情况的json字符串都可以匹配。只能匹配变种1,原始json字符串和变种2不适应,原始json字符串如下格式。
2023-09-22 10:44:01
1945
原创 apache benchmark(ab) 进行压测
一、apache benchmark使用PS D:\installed-software\Apache24\bin> ./ab.exe -helpUsage: D:\installed-software\Apache24\bin\ab.exe [options] [http://]hostname[:port]/pathOptions are: -n requests Number of requests to perform -c concurrency Numbe...
2022-05-17 20:02:45
1027
原创 mysql update多个关联表查询字段
首先查看2个表关联查询字段SELECT uk.create_time, up.end_time FROM table_uk uk INNER JOIN table_up up on uk.id = up.user_id and up.status = 1 where uk.name != '';2个表关联查询,把A表某字段更新到B表,这里用传统的写法,而不能inner join、left join写法update table_uk uk, table_up up set uk.create_time
2021-07-02 14:31:49
790
原创 解决mysql where条件查询emoji表情出现数据重复问题
1、背景查询emoji萝卜这个表情时,把其他的表情也关联查出来了2、解决 2.1、在where查询字段添加binary关键字,BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写 eg:select name from table where binary name = ???? 2.2、把字段的COLLATE 改为utf8mb4_bin...
2021-04-12 11:41:54
1087
1
原创 使用Navicat快速生成MySQL数据字典
转载地址:https://www.cnblogs.com/lukefan/p/10445285.html1、通过information_schema.COLUMNS表查询该表可得到所需字段信息SELECT * FROM information_schema.COLUMNS;如下图所示2、示例SQL语句如下SELECT t.TABLE_SCHEMA AS 库名, t.TABLE_NAME AS 表名, t.COLUMN_NAME AS 字段名, t.COLUM.
2021-04-09 15:37:53
402
1
原创 被private修饰的变量没有set函数也能赋值
众所周知,被private修饰的变量,只能在本类访问 访问权限 本类 本包的类 子类 非子类的外包类 public 是 是 是 是 protected 是 是 是 否 defau
2021-02-22 20:13:41
1320
1
转载 ES索引写入性能优化
1、用bulk批量写入你如果要往es里面灌入数据的话,那么根据你的业务场景来,如果你的业务场景可以支持让你将一批数据聚合起来,一次性写入es,那么就尽量采用bulk的方式,每次批量写个几百条这样子。bulk批量写入的性能比你一条一条写入大量的document的性能要好很多。但是如果要知道一个bulk请求最佳的大小,需要对单个es node的单个shard做压测。先bulk写入100个document,然后200个,400个,以此类推,每次都将bulk size加倍一次。如果bulk写入性能开始变平缓
2020-10-20 16:55:27
470
原创 生产环境内存溢出(OOM)排查
背景1:系统通过MQ接受数据,经过业务处理,调用第三方推送SDK api2:系统上线后(使用腾讯skd),线程数达到15K(1w5个线程)3:报错:java.lang.OutOfMemoryError: unable to create new native thread,内存溢出排查1:查看tcp状态1.1:establish状态有4k,在系统高峰并发下,这么多建立连接可以理解为正常1.2:close_wait达到了13w, 说明是服务端(推送sdk服务端)主.
2020-09-01 14:25:03
1747
原创 使用arthas修复线上代码
# 反编译$ jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java不指定输出/tmp路径,默认是当前路径(通过pwd命令查看路径)# 修改文件$ vim /tmp/UserController.java# 查找加载的 ClassLoader$ $ sc ...
2020-02-24 17:33:12
715
1
原创 搭建apollo配置中心
推荐使用源码自己构建部署,适合需要自定义自己的环境环境,如test1,test2等进入scripts目录,执行build.sh完,每个模块的target会出现zip压缩包。一、安装agent端apollo-configservice1:创建数据库,执行apolloconfigdb.sql脚本2: 解压apollo-configservice-1.5.1-github.zip压缩包3:进...
2020-01-19 15:05:29
394
原创 aop多个切面的访问顺序
spring涉及切面编程,aop提供@Order的注解,存在多个的情况下,order的值越低优先级越高切面包括before、after、around、afterReturning、afterThrowing请求方法 -> order(1) -> order(2) -> order(3) -> 目标方法 -> 响应(正常响应或异常)...
2020-01-08 14:45:14
537
1
原创 springboot整合LogstashTcpSocketAppender日志保存到ELK
1:安装elasticsearch2:安装kibana3:安装logstash 配置logstash springboot-logstash.conf文件如下: input { tcp { mode => "server" host => "127.0.0.1" port => 4560 ...
2019-12-27 19:35:06
16146
1
原创 ELK6.8版本整合filebeat和kafka收集springboot日志
一、系统流程图二、统一springboot的日志格式<!--最新的格式,以[]包装--> 方便logstash 已中括号过滤用<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.cla...
2019-12-26 19:47:19
2293
原创 一分钟理解netty.pipeline执行顺序
例如,假设我们创建了以下管道:@Overrideprotected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline p = ch.pipeline(); p.addLast("1", new InboundHandlerA()); p.addLast("2", new Inb...
2019-10-18 18:09:13
2110
原创 wrk 性能测试带参数的接口
wrk在使用带参数的接口进行压测时,参数会被过滤掉比如:http://127.0.0.1:8080/benchmark?name=1&userId=1&sex=1 这个接口执行压测命令如下./wrk -t5 -c5 -d30s http://127.0.0.1:8080/benchmark?name=1&userId=1&sex=1若这样直接执行,/benc...
2019-10-12 11:52:26
2343
2
原创 java实现连续签到(打卡)天数
业务上需要开发一个获取连续签到(打卡)天数的功能,修修改改多次后发现了规律,可以减少代码量,使程序更简洁明了。核心是getContinuousSignInDay方法的逻辑,每次用当前时间去比较,规律是比较的天数是递增的(连续签到的情况下)。这份代码脱去了业务上的逻辑,只有签到的功能demoimport lombok.Data;import java.text.ParseExcep...
2019-08-15 18:01:30
13469
4
原创 hibernate 延迟加载 二级缓存 注解配置问题
Hibernate 延迟加载:如果不延迟加载时,系统在加载(load,get)一个对象时,与它所管理的实体或者集合都是立即加载出来放在内存中,这样的话,就会影响到系统的性能,如果运用延迟加载,就不会立即加载有关的实体或者集合,等到要用它这些关联的实体或对象时才会去加载 Hibernate 二级缓存 查询缓存:一般来说一级缓存是放在session中,如果去load一个对象,(使用缓存)如果此
2013-07-05 10:33:40
2077
apollo压缩包.zip
2020-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人