HsqlDB数据库自增长的两种方式

原创 2022-09-23 18:43 阅读(13)次
HsqlDB数据库自增长的两种方式:一种是IDENTITY,一种是使用SEQUENCE序列;下面介绍一下这两种方式,包括insert后如何获取最后的自增id; 自增: CREATE TABLE mt_data_source ( id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, name varchar(255) DEFAULT NULL, ); 序列自增: CREATE SEQUENCE seq CREATE TABLE star (id INTEGER...

idea中运行springboot jsp工程找不到页面的问题

原创 2022-09-09 18:11 阅读(40)次
使用idea开发springboot jsp项目,发现原来在eclipse中能运行,却在idea中打不开页面,显示404,不知道你们有没有遇到过,网上找了很方法发都不适合我,大家可以进来看看我这个问题是不是跟你们的一样。 网上大部分的人遇到的问题都是在springboot启动配置Working Directory就可以,如下图: ![](http://img.classinstance.cn/20220909/1662717711106.jpg) 但我的问题怎么设置都不行,如下图: ![](http://img.classinstance.cn/20220909/16627...

如何用js查看浏览器的时区

原创 2022-09-09 15:18 阅读(31)次
我们想在js中获得当前时间的时间戳前,需要确认当前浏览器的的时区是否正确设置,那么如何在js中查看时区呢? 代码如下: ```javascript Intl.DateTimeFormat().resolvedOptions().timeZone; ``` ==》输出 'Asia/Shanghai' 确认时区对了,这时我们就可以放心大胆的去获得时间戳了: ```javascript new Date().getTime() ```
js

如何缩小jre1.8

原创 2022-08-29 16:03 阅读(54)次
我们在打包java软件时,也可能会把jdk或jre打包进去,而原版jdk1.8或jre1.8有200MB,这时就希望把jdk或jre缩小到理想范围内。缩小的思想是把不需要的依赖文件删除,(如果要更进一步删除一些类就需要更专业的软件,这里我就没法介绍了),具体如下操作: ``` 下载Oracle官网的JRE包,最终下载的包如下: jre-8u181-linux-x64.tar.gz 解压JRE包并删除不必要的文件 #解压 tar xf jre-8u181-linux-x64.tar.gz #进入目录 cd jre1.8.0_181/ #删除文本文件 rm -rf COPYRI...

java.lang.NoClassDefFoundError: de/schlichtherle/license/LicenseManager

原创 2022-08-25 14:04 阅读(85)次
在idea中使用truelicense开发license授权时,启动工程报错LicenseManager类找不到:nested exception is java.lang.NoClassDefFoundError: de/schlichtherle/license/LicenseManager。 具体错误如下: ``` org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: de/sc...

java DelayQueue延时队列的应用

原创 2022-07-07 13:39 阅读(95)次
DelayQueue是一个线程安全的(ReentrantLock实现)、无界的(通过grow(int minCapacity)自动扩容,写不阻塞)、阻塞的(take方法会阻塞)、延迟(元素需要实现Delayed接口)队列,加入其中的元素必需实现Delayed接口。当调用put之类的方法加入元素时,会触发接口中的compareTo方法进行排序,也就是说队列中元素的顺序是按到期时间排序的(当然,compareTo方法需要我们自己去实现,如果实现不当,可能导致队头元素是没有过期的,而其他元素可能已经过期了),而非它们进入队列的顺序。排在队列头部的元素是最早到期的,越往后到期时间赿晚。没有过期元素的话...

获取eureka的注册服务的实例列表

原创 2022-07-05 16:54 阅读(212)次
如果获取eureka中服务对应的实例列表? 代码如下: ```java @Autowired private SpringClientFactory factory; ``` ```java ILoadBalancer lb = factory.getLoadBalancer("xxxx"); //指定服务名 List allServers = lb.getAllServers(); List upServers = lb.getReachableServers(); ``` 运行结果: ...

java阻塞的线程安全的优先级队列PriorityBlockingQueue

原创 2022-07-05 14:52 阅读(172)次
### 优先级队列PriorityBlockingQueue - PriorityBlockingQueue是一个无界的基于数组的优先级阻塞队列,是线程安全的。 - 数组的默认长度是11,虽然指定了数组的长度,但是可以无限的扩充,直到资源消耗尽为止。 - 每次出队都返回优先级别最高的或者最低的元素。 - 默认情况下元素采用自然顺序升序排序,当然我们也可以通过构造函数来指定Comparator来对元素进行排序。 - PriorityBlockingQueue不能保证同优先级元素的顺序。 代码如下: 用户model: ```java public UserInfo(Int...

java程序员多线程常见的代码bug

原创 2022-07-03 09:36 阅读(128)次
**目录** [TOC] #### 前言 这篇文章主要用来记录我所收集的一些多线程环境下,java程序员常见的或者说容易忽视的、重要的、容易产生bug的代码样例,以此来加深自己对这些场景代码的印象,让我们一起少掉坑。文章会陆续更新,尽自己能力收集更多的样例。 #### CountDownLatch的错误使用 ```java CountDownLatch countDownLatch = new CountDownLatch(voGroupByBucketName.size()); for (......) { executorService.submit(() ...

clickhouse删除数据时报错

原创 2022-06-13 14:02 阅读(403)次
今天执行了一下ck的表数据删除报错,错误信息如下: ``` ClickHouse exception, code: 1002, host: 192.168.29.124, port: 18123; Code: 341. DB::Exception: There was an error on [192.168.29.126:9000]: Code: 341. DB::Exception: Exception happened during execution of mutation '0000000000' with part 'all_3_3_0' reason: 'Code: 198....

postgresql jdbc driver驱动连接属性列表

原创 2022-05-26 11:32 阅读(342)次
想清楚postgresql jdbc driver中的连接属性含义,找了半天找不到类似的解释说明,只好上官网查了下,官网上已经都列出来了,这里分享一下地址: [https://jdbc.postgresql.org/documentation/head/connect.html](https://jdbc.postgresql.org/documentation/head/connect.html "https://jdbc.postgresql.org/documentation/head/connect.html") 这里列举几个常用的: loginTimeout = int ...

BeanDefinitionRegistryPostProcessor作用及加载顺序

原创 2022-02-15 11:53 阅读(399)次
BeanDefinitionRegistryPostProcessor接口常用于给接口动态添加代理类。这个接口中有一个方法如下: ```java public interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor { /** * Modify the application context's internal bean definition registry after its * standard initialization. All regular bean ...

BeanDefinitionRegistryPostProcessor的实现类中注入不了类

原创 2022-02-15 10:52 阅读(490)次
最近在用BeanDefinitionRegistryPostProcessor实现接口生成动态代理的功能,BeanDefinitionRegistryPostProcessor的实现类中想取的配置类,但发现一直取不到springboot中的配置。 配置类代码如下: ```java @Data @Component @ConfigurationProperties("my.netty.feign") public class NettyFeignConfig { /** * netty feign扫瞄的目录 */ private Strin...

Clickhouse批量删除分区

原创 2021-12-09 00:57 阅读(3436)次
clickhouse表一般都会做分区,而删除数据最快的方式就通过删除分区进行,在维护数据生命周期中,一般我们都会定时删除分区来达到目的,这里就会涉及批量删除分区的动作。 那么我们怎么进行批量删除分区呢? 我们知道用如下语句删除分区: alter table 表名 drop partition 分区名 分区名可以通过以下语句查询出来: select * from system.parts p where table = '表名' ![](http://img.classinstance.cn/20211209/1638982921708.jpg) 如上图所示我们上面语句查询出来...

java List数据内存分页

原创 2021-12-08 13:33 阅读(859)次
我们常常要对List数据切分和分页,最近客户要求我们调用第三方接口拿到所有数据然后做分页返回给他 们,全量数据拿到后都是在缓存在内存中,这不像查询询数据库有语句支持,于是我们就搞了个List分页的工具类。这里分享一下我们使用的分页工具类。代码其实也是简单的,没什么难度,关键是提供给急需的朋友们。 上代码: ```java import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class ListPageUtil { /** ...

java stream去重的几种方式

原创 2021-12-01 16:23 阅读(12091)次
我们在操作stream时,如果遇到转map时,如果不处理key重复,就会报错Duplicate key,今天就分享一下我们在操作java stream时如何去重,有哪几种方式。 例如我们源数据有,以下很多例子都使用list来操作 ```java List list = new ArrayList(); list.add(new UserInfo(1,"小明",1)); list.add(new UserInfo(2,"小s",2)); list.add(new UserInfo(1,"小明",2)); ``` 如果我们要将上面数据去重,按id转换成map,有三种...

java接口中定义成员变量后会被不同实现类修改,别忘记接口变量默认是public static final

原创 2021-11-18 16:43 阅读(696)次
今天定义了一个接口,它有很多实现类,为了把实现类中的相同的变量抽出去,于是我把它放在了接口类中。 代码如下: 接口代码: ```java public interface ValueHandle { public Map generateModeSupportMap = new HashMap<>(); } ``` 实现类代码: ```java public class DateValueHandle implements ValueHandle { @Override public void afterPropertiesSet() th...

java如何减少if判断让代码优雅一点:采用Map+工厂模式实现

原创 2021-11-18 12:27 阅读(784)次
最近在写一个数据生成工具,代码中需要判断各种数据类型,有一个枚举中定义了很多类型,根据这些不同类型有不同的操作,于是我写了一大排的if,把自己都给搞晕了,代码大致如下: 数据类型枚举定义: ```java public enum GenerateDataType { /** * 自增,对应java的Long */ AutoIncre(), /** * 字段串类型 */ String(), /** * 数字 */ Number(), /** ...

java表达式运算性能比较:Jep与QLExpress

原创 2021-11-18 09:48 阅读(595)次
#### 前言 之前我有分享过java的表达式运算,由于我的业务要求表达式中要有业务变量,例如要根据id和orderNumber动态生成一个单号,表达式的定义如下所示: id+orderNumber 所以我们需要一个支持替换变量的表达式计算引擎,开始我们选择了jep,但后面发现我们业务中的jep表达式计算秒级只能做到2300条左右,这太慢了,于是我再找了下其他引擎,发现阿里开源了一个,名叫QLExpress,地址:[https://gitee.com/cuibo119/QLExpress](https://gitee.com/cuibo119/QLExpress "https://git...

存算分离与存算一体的优缺点比较

转载 2021-11-02 10:05 阅读(2504)次
#### 分布式数据库是时代的选择 从1970年IBM的E.F Codd在论文《A Ralational Model of Data for Large Shared Data Banks》中提出的数据库系统关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,到1977年 Oracle数据库发布,开启了IBM DB2和Oracle等大型商业公司垄断数据库市场二十年。 直到90年代中期,随着互联网时代的来临,开源数据库MySQL,PostgreSQL的出现,这种垄断现象才被打破,以MySQL为代表的开源数据库开始迅速发展。 21世纪10年代,数据的井...

LOG_PATH_IS_UNDEFINED/info.log (No such file or directory)

原创 2021-10-18 17:42 阅读(444)次
本文介绍解决java.io.FileNotFoundException: LOG_PATH_IS_UNDEFINED错误。 微服务在本地部署没有问题,部署在rancher中却报如下错误: ``` 2021-10-18 17:10:47.886 ERROR [pip-data-lifecycle-management] [10.42.2.53:serverPort_IS_UNDEFINED] [main] o.s.boot.SpringApplication : Application run failed java.lang.IllegalStateException: Logba...

jmeter随机日期参数

原创 2021-09-24 12:03 阅读(340)次
10000到15999随机数 ${__Random(10000,15999,)} 当前日期格式化成yyyy-MM-dd HH🇲🇲ss ${__time(yyyy-MM-dd HH🇲🇲ss)} 日期范围内随机 ${__RandomDate(yyyy-MM-dd,2018-01-01,2018-12-31,,)} 随机日期时间,拼接的格式为yyyy-MM-dd HH🇲🇲ss ``` ${__RandomDate(yyyy-MM-dd,2021-09-10,2021-09-18,,)} ${__Random(10,24,)}:${__Random(10,59,...

Jep实现Java表达式计算

原创 2021-09-13 17:48 阅读(781)次
开发过程中会遇到动态的表达式计算,网上找了不少这种组件,这里记录一下我用的,那就是Jep,简单好用,支持double,字符串计算。 导入maven: ```xml jep jep 2.24 ``` 代码例子: ```java public static void main(String args[]) { JEP jep = new JEP(); jep.addVariableAsObject("A","A"); jep.addVariableAsObject("B...

ES各版本的新特性官网地址

原创 2021-08-26 11:33 阅读(879)次
ES7.X各版本的新特性官网已经整理在一个页面中了,这很方便我们查看,但目前没有中文版的,找了很久全是英文的,这需要我们耐心的学习,不过还好万能的浏览器会帮我们翻译。 [![es版本特性](http://img.classinstance.cn/20210826/1629948696149.png "es版本特性")](http://www.classinstance.cn/detail/167.html "es版本特性") ES各版本的新特性官网地址: [https://www.elastic.co/guide/en/elasticsearch/reference/7.13/relea...

解决mybatis打印查询结果集造成太多日志的问题

原创 2021-08-24 11:28 阅读(3333)次
我们项目使用的是Mybatis-plus,由于前端要展示所有摄像头,有5000路,页面打开很慢。看了下后端日志,查询时mybatis-plus会把所有5000行数据显示出来,造成后端api请求很慢。SQL日志如下: ``` Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f45abe6] Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f45abe6] fro...

ThreadLocal正确使用姿势,避免再掉坑

原创 2021-07-20 17:53 阅读(545)次
今天为了不改变方法的参数,使用ThreadLocal在线程内传值,一不小心就掉坑里了,发现数据错乱了,原因是:我的业务要求不是所有线程都要执行ThreadLocal.set动作,但是所有线程都要执行ThreadLocal.get,而我没执行ThreadLocal.remove动作。造成get的时候会取到上一条的数据,于是就数据错乱了,这里记录一下,怕自己又忘记了。 贴一下正确姿势代码: ```java public class SendMessageRetryTheadLocal { private static ThreadLocal sendMessageLogStor...

json转List<T>数组泛型如何转以及Map的泛型?

原创 2021-07-08 16:18 阅读(1088)次
json转List数组泛型如何转? 我们可以使用fastjson,如下代码: ```java List cacheList = JSON.parseObject(deviceListJson, new TypeReference>() {}); ``` 如上代码是想把json转成数组,Ape是我们的实体类。 pom就不贴了 以及Map的转换 ```java Map outputData = JSON.parseObject(jsonString, new TypeReference>() {}); ```

Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when

原创 2021-07-06 16:01 阅读(934)次
想在mysql服务器中导出数据库,用来暂时备份用,执行以下语句: ./mysqldump -d db -u root -p >db.sql 却报如下错误: ``` mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect ``` 一般我们使用数据库都不会遇到这个问题,这估计是前人安装数据库时不负责,或者不按规范安装留下祸根,百度了下,最简单的解决办法是,找到当前mysql.sock的位置,修...

fastjson转字符串时保留null空字段

原创 2021-06-16 10:42 阅读(973)次
在使用fastjson时,有时我们需要将对象转成json字符串,但你会发现转换后的字符串中会少了null值的字段。 那fastjson转字符串后如何保留null空字段呢? 最直接的代码如下: ```java String jsonStr = JSON.toJSONString(object, SerializerFeature.WriteMapNullValue); ```

java enum枚举转list和Map

原创 2021-06-10 15:08 阅读(3603)次
java中如何将枚举的定义转成list或者Map,让我们更好的操作枚举值? 思路是使用枚举的values()方法,将枚举定义转成对应你想要的数据类型。 分享代码如下,其中AlarmType中定义了很多枚举值: ```java public class EnumToListAndMap { public enum AlarmType{ OVER_SPEEDING_ALARM("overSpeedingAlarm","超速行驶预警"), DEVICE_IDLE_ALARM("deviceIdleAlarm","设备空闲预警"), UNLOCK_ALAR...