自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 AtomicInteger的updateAndGet是线程不安全的

可以看得出来,有一些方法重复打印了,说明integer.updateAndGet()这个方法被重复调用了。如果说integer.updateAndGet()这个方法传入的是一个外部方法,比如数据库入库操作并返回行数,就会出现线程不安全问题了,数据会重复插入。这是因为这个方法在多线程环境下,尝试更新值失败时,方法会被重新调用,导致重复执行。因此传入的外部方法不能对外部结果产生副作用,比如入库操作之类。

2024-04-19 15:16:47 234

原创 /root/jdk-11.0.19 is not a directory on the Jenkins controller (but perhaps it exists on some agents

直接2行命令搞定,先给jenkins权限,再复制到/var/lib/jenkins目录下就可以了。不知道为什么网上写的那么复杂。

2023-10-17 09:48:59 885

原创 vmware虚拟机查看宿主机ip(主机ip)

vmware虚拟机查看主机ip,宿主机ip

2022-12-22 18:22:34 3620 1

原创 NotOLE2FileException: Invalid header signature

NotOLE2FileException: Invalid header signature

2022-12-21 17:20:03 3223

原创 mybatisplus返回map日期转字符串 timestamp转string

mybatisplus或者mybatis返回map,日期时间为时间戳timestamp时,转为字符串String

2022-04-28 11:39:52 2636

原创 centos7 ens33 设备的 MAC 地址与预期不符,忽略

设备的 MAC 地址与预期不符,忽略。

2022-04-15 15:38:58 1355 1

原创 关于volatile指令防止重排序,指令重排序可能产生的问题用图详解

在java中,大家都会接触到指令重排序这个概念,在创建懒汉单例模式的时候都知道要加个volatile,可以解决重排序问题,但是刚开始我却发现很难理解指令重排序,不知道创建单例模式如果重排序会有什么问题。直到今天算是又进一步理解了,所以赶紧做了笔记,画了图分享给大家看看。单例模式中如果不加volatile有可能出现指令重排序,比如:private static ObjInstance instance;//线程1if(instance!=null){ instance.method();}

2022-03-01 23:39:19 336

原创 分享一个用Java写的红包抽奖方法

希望有人喜欢,哈哈import java.math.BigDecimal;import java.util.*;/** * 抽奖 * * @author Administrator */public class Lottery { private static String lottery(Map<String, Double> map) { TreeMap<Double, String> weightMap = new TreeMap&l

2022-02-25 22:26:45 465

原创 用java自己实现代码阻塞的几种方式

用java自己实现代码阻塞

2022-02-11 21:42:10 1807

原创 5个空瓶可以换1瓶汽水,某班同学喝了161瓶汽水,其中有一些是用喝剩下来的空瓶换的,那么他们至少要买汽水多少瓶?

5个空瓶可以换1瓶汽水,某班同学喝了161瓶汽水,其中有一些是用喝剩下来的空瓶换的,那么他们至少要买汽水多少瓶?let target=161let a = 1let b = 1let c = 1while(a<target){ a*=5 b*=(1/5) c+=b}let total = Math.ceil(target/c)console.log("需要买的瓶数为:"+total)每5个瓶子可以换1瓶=每1个瓶子可以换0.2瓶每0.2个瓶子可以换0.04个瓶子

2021-12-07 09:32:09 1365

原创 多线程读写大文件,为大文件上传做准备

原理:比如有个1000字节的文件,使用5个线程进行拷贝,那么每个线程处理200个字节。第一个线程从0坐标读取200个字节。第二个线程从200坐标读取200个字节,以此类推。然后第一个从0坐标写入200个字节,第二个线程从200坐标写入200个字节,以此类推。使用RandomAccessFile可以帮我们实现这个功能。代码如下:package com.yang.main;import java.io.File;import java.io.IOException;import java.io.

2021-09-28 18:25:06 631

原创 try,catch,finally执行顺序

public static void main(String[] args) { int test = test(); System.out.println("test = " + test); } public static int test(){ try { int i =1/0; return i; } catch (Exception e) { .

2021-09-14 11:10:15 95

原创 canal_adapter1.1.5将mysql数据同步至elasticsearch7,可以少走一些坑

几天前,canal发布了1.1.5版本,通过该版本可以将mysql热迁移到es7,1.1.5之前的版本是不支持es7的。官方地址1.下载,canal-1.1.5,下载下面几个:2.配置mysql和deployer,参考文档https://github.com/alibaba/canal/wiki/QuickStart3.配置adapter,参考文档https://github.com/alibaba/canal/wiki/ClientAdapter和https://github.com/aliba

2021-04-25 10:51:59 2303 22

原创 java根据正则表达式查询字符串

private static final Pattern PATTERN = Pattern.compile("/\\d+");public static void main(String[] args) { String url = "/6850383508626078/333433"; Matcher matcher = SITE_ID_PATTERN.matcher(url); while (matcher.find()){ S

2021-04-19 15:46:15 135

原创 ES的SQL查询,分页问题

不能随机分页,但是可以像scroll一样深度分页POST /_sql?format=json{ "query": "select * from user", "fetch_size": 5}返回结果会包括一个cursor字段,可以用这个字段进行深度分页POST /_sql?format=json{ "cursor": "..."}当返回值不再有cursor字段时,说明到最后一页如果未到最后一页,结束查询,需要关闭cursor,节约资源POST /_sql/close{

2021-04-06 17:17:29 1524

原创 驼峰转下划线,下划线转驼峰和JSON字符串key键下划线转驼峰

下划线转驼峰private static Pattern linePattern = Pattern.compile("[_]\\w");/** * 下划线转驼峰 * @param str * @return */ public static String lineToHump(String str) { Matcher matcher = linePattern.matcher(str); StringBuffer sb

2021-03-18 19:11:46 449

原创 canal-adapter报错,Unknown column ‘_v._id‘ in ‘where clause‘

dataSourceKey: defaultDS # 源数据源的key, 对应上面配置的srcDataSources中的值outerAdapterKey: exampleKey # 对应application.yml中es配置的key destination: example # cannal的instance或者MQ的topicgroupId: # 对应MQ模式下的groupId, 只会同步对应groupId的

2021-03-18 11:18:22 371

原创 验证ThreadLocal的线程安全性

ThreadLocal线程安全吗,先说结论:ThreadLocal线程安全。说实话我之前虽然觉得是,但是也不确定,但是今天通过实验证明是线程安全的。@RestControllerpublic class ThreadLocalController { private final ThreadLocal<String> threadLocal = new ThreadLocal<>(); @RequestMapping("/test") public St

2021-03-10 15:58:31 302

原创 生成指定位数大小写英文字母+数字的随机字符串,可用作验证码,邀请码,分享码或者礼包码

/** * 生成指定位数大小写+数字的随机字符串 */ public static String createRandomCode(int num) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < num; i++) { int factor = (int) (Math.random()*3); if (fa

2021-03-08 16:20:16 216

原创 java多线程操作mysql,同时更新或者删除操作线程安全吗?

1.简单创建一张表CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(32) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;2.插入几条数据INSERT INTO `user` VALUES (1, '张三', 18);IN

2021-01-15 18:24:37 2342 1

原创 JAVA代码中用AXMLPrinter2解析XML二进制文件AndroidManifest.xml乱码问题

1.下载原版AXMLPrinter2.jar提取码:74zb或者下载加强版AXMLPrinter2.jar提取版:gacz2.将jar包引入项目。3.直接在控制台打印public static void main(String[] arguments) { String path = "D:/DATA/AndroidManifest.xml"; AXMLPrinter.main(new String[]{path}); }4.返回字符串,加强版有pu

2020-12-03 15:24:56 1100 1

转载 redis主从模式和哨兵模式搭建

这个博主这篇文章已经写的很好了,清晰明了,简单易懂,我是2020年11月17日跟着搭的,主从和哨兵都可以成功。中间有点小问题,不过你们看完补充就可以搭建成功。链接如下:转自Redis学习之路(三)之Redis主从和哨兵模式1.redis.conf中dir指定的目录如果不存在,需要先创建,不然启动失败,在日志可以看出来。2.如果redis有密码,主从密码需要一样(其它暂不知,所以不折腾)。需要在sentinel.conf中配置。3.其实哨兵模式就是在主从模式上加个哨兵,所以搭建完主从,再放个哨兵

2020-11-18 09:50:14 133

原创 No converter found for return value of type

检查下是不是对象少了Getter和Setter了

2020-11-06 12:00:23 71

原创 本地jar包打包,maven打包引入外部依赖

maven打包有时需要把本地的jar包一起打入,又不想添加到本地仓库,晚上基本都是用这种方式。 <dependency> <groupId>com.yang</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> <scope>system&

2020-09-10 17:02:14 321

原创 kafka Connection refused: no further information和Initialize connection to node

java远程连接kafka报错。解决办法:设置kafka配置文件server.properties,在最下面添加host.name=虚拟机ip。如果是集群的话这样还是不行。在这里必须添加虚拟机ip。因为topic设置副本的时候有自动选择Leade可能r是没有设置ip的节点,默认是localhost,远程连接时就会报错。设置完后检查下进程端口号前是不是添加了ip...

2020-05-30 17:01:16 942

原创 layui表格跨域请求

1.设置服务端在需要跨域的方法或类加@CrossOrigin注解2.设置jstable渲染时添加参数contentType: "application/x-www-form-urlencoded"3.请求结果在http://localhost:63342/user-list.html请求http://localhost:8080/user/all数据4.源码链接项目源码...

2020-01-08 17:30:46 4046 1

原创 html前端js封装分页显示的页码

js封装页码我们从后台查询的分页数可能有很多页,而我们一般只会显示几页,例如百度这就需要我们再次进行封装了,比如我们只显示10页。前端vue,后端pageHelper,技术不同的话,稍微改一下就行了var app = new Vue({ el:'#app', data:{ pages:[], //分页页码集合 pageInfo:{} //分页对象 }, methods:{...

2019-11-26 23:17:36 657

原创 Navicat连接oracle出现的几种问题解决方法

1.unsupported server character set ZHS16GBK配置系统环境变量NLS_LANG为AMERICAN_AMERICA.ZHS16GBK重启Navicat2.配置好后出现navicat连接oracle闪退,因为你用的是Navicat自带的oci.dll,要去官网下客户端,如果Navicat是64位,则下载64位的客户端。官网:http://www.or...

2019-11-19 10:49:54 3928

原创 配置springcloud config出现Failed to configure a DataSource: 'url' attribute is not specified and no embe

配置springcloud config报错Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class很可能是没有引入spr...

2019-11-01 10:19:14 969

原创 java有final和static修饰的调用顺序

1.被static final修饰的变量分为两种,一种是不带new,另一种带new,不带new的一开始就加载,带new的有没有final调用顺序都和static调用顺序一样。如://第一种,会在一开始的时候就放入常量池。并且直接引用的时候不会加载所在类的任何其它静态方法或函数public static final String name = "张三"//第二种,有new的,会像普通stat...

2019-08-26 13:44:27 4964

原创 最简单的方法idea调试,适用初学者

1.在执行的语句前面鼠标点一下打个红点,语句一直到执行该句前会停下来。2.在要执行的方法前点击绿色箭头,点调试开始进行调试,英文的话点debug3.开始调试,一般就是点击前面2个蓝色的箭头执行语句,区别就是一个可进入方法,一个不可以。4.这里可以查看变量的值代码后面也会直接显示变量值4.大概最简单的调试方法就是这样了,熟悉了之后可以上网搜一些复杂的,但是这对于入门应该是够用了。...

2019-08-25 01:07:12 335 1

原创 springmvc通过注解搭建websocket

1.依赖: <properties> <spring.version>5.1.5.RELEASE</spring.version> </properties> <dependencies> <!--SpringMVC依赖包--> <dependency&...

2019-08-21 16:57:41 1007 3

原创 @Valid请求400错误解决

如图:@Valid所带的参数后面必须接上参数BindingResult这个参数,如果中间隔着其它会出现400错误

2019-08-12 23:09:04 1996 2

原创 虚拟机更改linux,centos7的ip固定后,从windows下ping不通,不能连接的解决方法

比如虚拟机ip如下则进入VMware点击[编辑]->[虚拟网络编辑器],找到你虚拟机连接的网卡,把点更改设置将ip改成下面这样,前面3个和你的虚拟ip一样,最后为0...

2019-07-30 22:34:42 266

原创 java.lang.IllegalStateException: No WebApplicationContext found

遇到java.lang.IllegalStateException: No WebApplicationContext found,如下检查一下配置文件,看看路径前面是不是少了/

2019-07-23 00:04:26 4905

原创 spring-security角色什么时候要加ROLE_

看视频,老师没说清楚,自己试验了下自定义认证类分配角色要加ROLE_配置部分可以不用加授权信息部分不能加

2019-07-22 21:55:24 1590

原创 js中undefined和null

undefined为已声明未赋值null则连声明都不存在null==undefined(结果为true,这是最初的一个错误,因此null为Object类型)null===undefined(结果为false,用于判断是null还是undefined)...

2019-07-19 19:05:35 95

原创 web.xml中servlet的/和/*的区别

/*拦截所有请求路径/除了jsp其它全部拦截

2019-07-19 00:59:28 304

转载 tomcat自动解压

将war包放到webapps目录下,启动tomcat,发现并不能自动解压检查一下两个位置一:进入tomcat/conf下server.xml将unpackWARs:自动解压autoDeploy:服务器不重启就可以自动加载作者:elroye来源:CSDN原文:https://blog.csdn.net/u012720552/article/details/83413693版权声明...

2019-07-17 22:43:34 1787

原创 Oracle异常,@SelectKey异常,java.lang.AbstractMethodError: Method oracle/jdbc/driver/OracleResultSetImpl.i

出现如下图异常:![oracle异常](https://img-blog.csdnimg.cn/20190713230225402.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNTY5MTM2,size_16,color_FFF...

2019-07-13 23:04:44 4251

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

TA关注的人

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