- 博客(39)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 记一次线程池ThreadPoolTaskExecutor的坑
通过深入debug,发现spring获取默认线程池,是通过beanName为“taskExecutor”来查找的,而上面自定义线程池, @Bean注解没有指定名称,则取方法名“taskExecutor”,而该名称,碰巧是spring默认线程池的名称,导致该自定义线程池覆盖了spring的默认线程池,从而使用@Async(没有指定名称)都用的该线程池。设置线程池的核心线程数使用了系统核心数,在UAT环境刚好是3,而其他环境大于3,这就是到了UAT环境突然有问题的原因了。先去掉该注解改成同步执行。
2023-12-04 17:31:45
446
原创 dubbo3+zookeeper/nacos+dubbo-admin
dubbo3整合zookeeper/nacos,部署dubbo-admin
2023-10-09 15:15:29
1084
原创 jar文件的复制和解压(JarInputStream,JarOutputStream和JarFile)
解压jar;对某个文件夹进行打包,生成一个jar文件;读取原jar,拷贝所有内容到另一个jar;
2022-07-15 17:49:35
1443
原创 Java调win32,枚举窗口EnumWindows,遍历所有底层窗口(JNA)
直接上代码添加pom依赖: <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.11.0</version> </dependency> <dependency>
2022-05-25 14:56:24
1475
原创 上传文件导致OOM
背景:使用hutool工具进行文件上传。直接上代码: <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.1.0</version> </dependency> import cn.hutool.http.HttpRequest
2021-10-28 17:26:07
2821
1
原创 mysql一对多连表查询导致重复记录的解决方案
user表:user_book表:user表与user_book表的关系:一对多(通过user_book的userid外键关联)select user.*,user_book.* from user left join user_book on user.id=user_book.userid;查询结果:user1对应了2条记录select user.*,user_book.*from user left join user_book on user.i
2021-07-15 11:38:15
2465
原创 Java的枚举类型比较
Java的枚举类型比较使用“==”import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class Main { public static void main(String[] args) throws Exception {
2021-06-04 14:24:30
1307
原创 记一次面试题:从每个分组中取得最后一条记录
题目:用sql查询每个用户最后一次访问时间的地点。结果如下:答案:select a.* from user_location a where time in( select max(time) from user_location b where b.uid=a.uid );
2021-04-23 20:32:35
168
原创 随机快排的java实现
import java.util.Arrays;import java.util.Random;public class RandomQuickSortTest { public static void main(String[] args) { for(int i=0;i<10000;i++){ int[] arr = generalRandomArray(1000); int[] arr2 = Arrays.copyOf
2021-04-20 14:00:52
134
原创 关于java.util.Timer的一个问题分析
直接上代码:import java.util.Timer;import java.util.TimerTask;public class Main { public static void main(String[] args) { Timer timer = new Timer(); TimerTask task1 = new TimerTask() { @Override public void run(
2021-04-14 01:00:07
193
原创 关于Object对象的finalize方法的一个实验
新建主类Mainpackage cn.sky.test;public class Main { public static void main(String[] args){ MyObject myObject = new MyObject(); myObject = null; new Thread(()->{ while(true){ System.out.println(S.
2021-03-20 01:45:34
184
原创 整合springboot发邮件
以163邮箱服务为例。新建springbooot工程:testemail 编辑pom.xml文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave
2021-03-17 14:37:28
378
3
原创 JAXB把xml字符串转换成java对象(xml属性映射问题)
xml:<?xml version="1.0" encoding="utf-8"?><myDocument> <desc>sky</desc> <myPerson> <person name="sky1" age="18"/> <person name="sky2" age="19"/> </myPerson></myDocument>
2020-05-19 15:28:15
829
原创 记一次空指针异常
public static void main(String[] args) { { Object o = null; System.out.println(":" + o == null ? "1" : "2"); //1 } { Object o = null; System.out.println(":" + (o == null ? "1" : o.toStrin...
2020-04-23 13:55:34
205
原创 springboot2.2.0.release pom报错解决
通过https://start.spring.io/生成的spring boot项目导入eclipse后,pom.xml文件的第一行总是报错。springboot的版本为2.2.0.RELEASE原因:IDE插件不兼容。解决办法:增加配置项 <properties> <maven-jar-plugin.version>3.1.1</maven-j...
2019-10-23 03:03:39
5324
3
原创 maven安装jar到本地仓库
mvn install:install-file -DgroupId=org.slf4j -DartifactId=ftp4j -Dversion=1.7.2 -Dpackaging=jar -Dfile=D:\ftp4j-1.7.2.jar
2019-07-11 14:57:28
109
原创 虚拟机centos桥接模式上网设置
1.设置桥接模式2.界面名称选择网卡(有线或者无线,部分公司的有线网络不允许,则只能选择无线网卡同时主机用WiFi连接上网)3.在centos执行命令:service NetworkManager startservice network restart...
2019-07-11 14:55:41
283
原创 nginx静态资源以及多个站点配置
在/usr/local/nginx/static下创建2个文件夹(web应用根目录):修改nginx.conf配置:配置负载均衡服务器列表localweb通过proxy_pass将请求转向localweb定义的服务器列表实现动态资源请求的负载均衡通过以下配置实现多个web站点静态资源配置location ~ /web1{ root static;}location ~ /w...
2019-06-27 21:23:40
4062
原创 MongoDB的使用
下载和安装下载 官网下载地址 选择自己的操作系统和数据库版本,点击下载即可。 安装 解压: 更改文件夹名: mv mongodb-linux-x86_64-ubuntu1404-3.6.0.tgz/ mongodb-3.6.0配置 自己创建配置文件mongo.config: 创建数据库文件夹和数据库日志文件夹:mkdir -p /data/db
2019-05-15 04:39:35
122
原创 流程引擎activiti的使用
流程引擎activiti的使用关于流程引擎的介绍这里不多说了。以下只是针对activiti的一个简单使用教程。下载activiti官网下载地址:https://www.activiti.org/download-links 目前最新版是6.0.0,我使用的是5.22.0 安装activiti的eclipse插件官网下载地址:https://www.activiti....
2019-05-15 04:38:37
426
原创 数据库设计以及优化
数据库设计规范1.数据库命名规范规范:数据库对象名称(数据库名、表名、列名等)必须使用小写字母并用下划线分割。说明:Linux系统大小写敏感,因此MySQL也是大小写敏感。为了避免混淆,统一使用小写。规范:所有数据库对象名称禁止使用MySQL保留关键字。说明:会产生SQL语法错误,比如select id,from from user;(from为关键字),解决方法是把from字段用反引...
2019-05-15 04:34:30
215
原创 MySQL数据库设置任意ip可以连接访问
mysql安装好后默认只能在localhost访问:mysql -uroot -proot -h localhost如果要外部系统也能访问mysql服务器,需要进行做以下更改:查看user和host对应关系use mysql; select user,host from user;下面要把localhost用%代替:update user set host='%' where h...
2019-02-13 17:19:31
2662
原创 sudo su后获取不到JAVA_HOME环境变量的解决方案
1、在用户的主目录里的.bashrc中添加alias sudo=‘sudo env PATH=$PATH’2、sudo visudo#Defaults env_reset # 注释掉原有配置#Defaults env_keep=”…” # 注释掉指定的变量保持Defaults !env_reset # 修改为不重置环境...
2018-11-01 10:59:06
4248
原创 nginx安装(centos和ubuntu)
nginx安装(centos和ubuntu)centos安装nginx安装依赖库安装nginxubuntu安装nginx安装依赖库安装gcc g++的依赖库安装 pcre依赖库安装 zlib依赖库安装 ssl依赖库安装nginx常用命令启动nginx关闭nginx重启nginx重新加载配置查看版本配置centos安装nginx安装依赖库yum install gcc-c++yum inst...
2018-10-28 17:36:48
870
原创 01背包的java实现
package mytest;public class AAA { public static void main(String[] args) { int[] volumes= {0,1,3,2,6,2};//体积 int[] values = {0,2,5,3,10,4};//价值 final int packagevolume = ...
2018-07-23 15:37:34
399
原创 常用排序算法的实现
定义数据结构package sort;public class Data { public int number; public String tag = ""; public Data(int data, String tag) { this.number = data; this.tag = tag; } pu...
2018-07-23 15:30:58
157
原创 微信h5开发audio标签无法自动播放的解决方法
添加这段js即可:<script type="text/javascript"> function autoPlay(f){ "MicroMessenger" == navigator.userAgent.match(/MicroMessenger/i)?("object" == typeof WeixinJSBridge ? WeixinJSBrid...
2018-06-16 22:11:06
2997
原创 在springAOP里面获取request和response对象
@Component@Aspectpublic class WebControllerAop { @Pointcut("execution(* cn.sky.controller.*..*.*(..))") public void executeService() { } @Around(value="executeService()")//好的// @Ar...
2018-05-17 10:39:27
27220
6
原创 dubbo广播模式的坑
dubbo集群广播模式的坑场景:消费者需要依次调用某个服务的所有实例,当某个实例报错则消费者能得到异常信息。 dubbo官网的介绍如下: https://dubbo.gitbooks.io/dubbo-user-book/content/demos/fault-tolerent-strategy.htmlBroadcast Cluster 广播调用所有提供者,逐个调用,任意一台报错则...
2018-05-03 19:32:40
8575
原创 springboot配置多个mongodb数据源
springboot配置多个mongodb数据源最近做个资源整合的小项目,在本地获取资源数据,再保存至远程服务器的mongodb。后来想在本地也保存一份,就需要使用2个mongodb的数据源了。 工程如下: 新建一个配置父类AbstractMongoConfig:package cn.***.configuration;import java.util.ArrayLis...
2018-04-09 01:03:31
11116
3
原创 Java的泛型有坑
Java的泛型有坑public class Main { public static void main(String[] args) throws Exception { Main.test_no(); Main2.test_ok(); } static void test_no() { Result result_
2018-02-06 09:50:45
343
原创 zookeeper的分布式锁
使用curator库的InterProcessLock类package cn.sky.zookeepertest;import java.util.concurrent.TimeUnit;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkF
2017-11-24 16:54:23
361
原创 zookeeper的使用
1.zookeeper下载zookeeper官方下载地址2.zookeeper安装及配置 1.把zookeeper压缩包拷贝到3台电脑(1、3、5……台也行)2.配置conf/zoo.cfg: 3.分别在3台电脑的${dataDir}目录下创建名为myid的文件: /zookeeperdata/myid server1机器的内容为1, server2机器的内容为2, server
2017-11-13 15:20:15
798
java for循环里的变量反编译出问题
2015-04-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人