- 博客(141)
- 资源 (63)
- 问答 (1)
- 收藏
- 关注
原创 工作笔记2
java判断字符串元素包含中文原理:将字符串解析为byte数组后,利用解析后中文长度不同进行判断。gbk的长度为2,utf8的长度为3,iso88591的长度为1,unicode为4。//true:无汉字 false:有汉字boolean flag = (str.length() == str.getBytes().length); @Test public void ...
2019-10-11 12:15:24 37108 1
原创 日常工作笔记(持续更新中。。)
1.修改数据库相应字段的属性,选择charset为utf-8,collation为utf8-unicode-ciCaused by: java.sql.SQLException: Incorrect string value: ‘\xE5\x91\xA8\xE6\ –异常2.JS获取select下拉框选中的name1属性的值:var cloud_type = $(“#speed”)....
2018-06-04 09:18:19 39512
原创 skyWalking自动建表-逻辑梳理
使用skyWalking后,发现我们不需要创建表,启动skywalking会自动创建表,遂研究官方源码,感觉oap-server设计的自动建表功能很强大,并进行逻辑梳理,仅供参考。源码地址:https://github.com/apache/skywalking.git。
2023-04-13 14:01:45 807 1
原创 JAVA生成行程单PDF
创建PDF操作工具类及行程单实体类,调用 PDFUtil.createPDFFile()方法创建行程单。首先引入PDF需要的pom依赖。本文由博客一文多发平台。
2023-04-11 10:13:35 401
原创 MyBatisPlus-inSql和in的区别解析
区别概述inSql:同等于${},存在SQL注入隐患in:同等于#{},不存在SQL注入隐患
2022-04-02 13:11:21 1831
原创 签名/验签时,将参数名ASCII码从小到大排序
目录背景介绍测试方法对比结果背景介绍签名/验签时,经常需要将参数名按照ASCII码从小到大排序后,然后进行加密/解密操作。这里介绍三种ASCII码从小到大排序方法。Guava 1StringBufferhutool工具类测试方法 public static void main(String[] args) { //签名/验签时,将参数名ASCII码从小到大排序 Map<String, Object> map = new TreeMap<
2021-09-16 11:47:20 3637
原创 关于Jayspt加密明文敏感信息的使用
目录现状及目标Jasypt - 简介Jasypt - 是什么Jasypt - 简介Jasypt - 特点Jasypt - 原理Jasypt - 集成方式Jasypt - starter方式使用案例现状及目标项目中会有配置文件来存放敏感信息(比如数据库密码、中间件密码等),这些明文存储的敏感信息一旦泄露,会引发严重的安全事故。为了消除安全隐患,最直接的方式就是把明文敏感信息加密,在程序需要用到的时候进行解密。针对加密、解密,Jasypt 框架提供了很好的解决方案。Jasypt - 简介Jasyp
2021-09-08 09:47:29 583
原创 关于ShardingSphere-JDBC的简介及使用
现状及目标由于旧的业务表中数据量会持续增长,且没有对数据做分表、索引,最终导致查询上亿数据时报错。因此决定使用ShardingSphere-JDBC对表数据做数据分片处理。ShardingSphere-JDBC简介ShardingSphere-JDBC是什么ShardingSphere-JDBC作为Apache ShardingSphere的一个独立的产品。定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外
2021-08-30 17:56:08 1668 4
原创 MyBatisPlus 注解方式实现多表关联查询
目录官方API使用概述具体写法Mapper写法:entity写法:service写法:日志报错结果截图官方API官方文档:https://mp.baomidou.com/guide/具体位置:https://mp.baomidou.com/guide/wrapper.html#%E7%94%A8%E6%B3%A8%E8%A7%A3使用概述Mapper层方法上添加 ${ew.customSqlSegment}和@Param(Constants.WRAPPER);查询vo添加对应的查询条件字段,结果
2021-06-16 10:35:59 6849
原创 雪花算法的基本理念和简单实现
目录what is SnowflakeIdwhy is SnowflakeIdhow to donotewhat is SnowflakeId随着服务化的演进,服务越来越多,数据库越分越细,有时候一个业务也会用到多个数据库。这时,使用传统的主键自增或者UUID(无序,长度过长)方式就会产生id重复,不能满足使用场景。分布式系统中为了保证id唯一,就需要全局的唯一id生成策略。雪花算法优点:生成的ID不重复生成性能高(每向数据库插入一条数据不用进行重新排列)基于时间戳,可以基本保证有序递增
2021-05-25 10:55:12 1415
原创 Java中级面试常见题目+答案
目录一.基础知识1.集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2.HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3.如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4.HashTable和ConcurrentHashMap的区别;5.String,StringBuffer和StringBuilder的区别;6.Object的方法有哪些:比如有wait方
2021-04-15 22:44:45 10322 6
原创 java面试常见题目
标题一. 基础知识:二. IO:三. 算法:四. 多线程相关:五. 数据库相关(mysql):六. mq:七. nosql相关(主要是redis):八. zookeeper:九. linux相关:十. 设计与思想:一. 基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考Lin
2021-04-15 22:30:51 326
原创 推荐一款简单实用的数据库文档生成工具DBHCM
目录推荐一款最简单实用的数据库文档生成工具支持的数据库主要功能支持的导出的文件格式:效果展示推荐一款最简单实用的数据库文档生成工具DBHCM 是gitee上面一个开源的对数据库文档生成工具!项目地址:https://gitee.com/lztkdr/DBCHM支持的数据库SqlServerMySQLOraclePostgreSQLDB2SQLite主要功能对数据库表,列的批注(注释) 获取、编辑、保存。文档信息包含:序号 | 列名 | 数据类型 | 长度 | 小数位数
2021-03-05 16:42:34 813 11
原创 java程序远程debug原理与配置
目录背景组成 模块间联系IBM对三个模块的详细介绍使用参数说明背景日常工作中,每个程序员都会遇到bug。也往往会需要调试远程环境中的程序,这时候就需要远程调试。eclipse、idea等IDE工具可以远程调试,本质上都是实现了Java 的平台调试体系—— JPDA (Java Platform Debugger Architecture,JPDA)。这个体系为开发人员提供了一整套用于调试 Java 程序的 API,是一套用于开发 Java 调试工具的接口和协议。也就是说JPDA是JVM的调试标准
2021-03-03 11:19:06 1691
转载 转载一篇优化SQL的30条建议
文章目录1、查询SQL尽量不要使用select *,而是select具体字段。2、查询结果只有一条或者只要最大/最小一条记录,建议用limit 1。3、应尽量避免在where子句中使用or来连接条件。4、优化limit分页。5、优化你的like语句。6、使用where条件限定要查询的数据,避免返回多余的行。7、尽量避免在索引列上使用mysql的内置函数。8、应尽量避免在where子句中对字段进行表达式操作,这将导致系统放弃使用索引而进行全表扫。9、Inner join 、left join、right jo
2021-01-14 16:31:12 882
原创 MySQL排序规则:COLLATE 及中文排序
官方APICOLLATE API简介COLLATE:排序规则。通常是和数据编码(CHARSET)相关的,字符串的物理存储由排序规则控制。COLLATE是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影.可以用来比较一些复杂排序。如VARCHAR,CHAR,TEXT类型,不区分大小写等的列,都需要有一个COLLATE类型来告知MySQL如何对该列进行排序和比较。简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE条件中大于小于号筛
2020-11-17 11:06:28 2238
原创 MySQL变量知识点及使用示例
MySQL变量主要分为两种:系统变量和自定义变量。APIMySQL官方API1.系统变量:系统变量包括:全局变量和会话变量。全局变量会话变量全局变量影响服务器整体操作。会话变量影响具体客户端连接的操作。全局变量是由系统提供的。当服务器启动时,它将所有全局变量初始化为默认值。这些默认值可以在选项文件中或在命令行中指定的选项进行更改。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句,可以动态更改这些全局变量。要想更改全局变量,必须具有SU.
2020-10-26 09:36:42 11271
原创 一些常用的Maven命令的作用
目录clean 清理validate 验证compile 编译package 打包verify 验证install 安装sitedeploy 部署clean 清理该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。validate 验证验证工程是否正确,所有需要的资源是否可用。compile 编译会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面
2020-10-14 10:22:35 2402
原创 MySQL-Find_IN_SET查询某一列中的某个值
使用场景:在MySQL中,有时在做数据库查询时,需要某个字段中包含了某个值的场景,这个时候使用like会查到多余的结果,如果这个字段中的值是用英文逗号分隔,可以使用FIND_IN_SET函数。Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。API文档MySQL官方APIFIND_IN_SET API使用例子mysql> SELECT FIND_IN_SET('b','a,b,c,d'); ->
2020-09-19 16:09:53 1519
原创 IntelliJ IDEA设置warning颜色
idea设置warning提示颜色,并设置下划线File—>Settings —>Editor —>ColorScheme—>General —>Errors and Warning—>Warning
2020-08-27 17:38:01 2264
原创 MySQL将多行数据合并到一列,用逗号分隔
SELECT GROUP_CONCAT(relation_rms_name) FROM t_order_status AS B WHEREB.id = '011WBSWEB20180403111205582'
2020-08-12 15:38:49 3208
原创 list转page分页对象
文章目录封装调用封装 public <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) { // 当前页第一条数据在List中的位置 int start = (int)pageable.getOffset(); // 当前页最后一条数据在List中的位置 int end = (start + pageable.getPageSize()) >
2020-06-03 16:19:37 2587 1
原创 记录一个比较完整配置的mybatis-generator.xml
记录一个比较完整配置的mybatis-generator.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"
2020-05-19 11:17:48 9576
原创 CommandLineRunner和ApplicationListener原理分析
文章目录原理分析:源码跟踪SpringApplication.run 方法源码callRunners 源码分析原理分析:SpringApplication.run 方法在设置并刷新ApplicationContext后,会遍历CommandLineRunner接口和ApplicationRunner接口的实例并运行它们的run方法(类似于开机自启)。然后(AnnotationAwareOrderComparator.sort(runners);)利用@Order注解(或者实现Order接口)来设置所有C
2020-05-09 14:24:02 14297
原创 MySQL修改root密码的多种方法
文章目录方法1: 用SET PASSWORD命令方法2:用mysqladmin方法3: 用UPDATE直接编辑user表方法4:在丢失root密码的时候,可以这样在 Navicat for MySQL 下面直接执行 SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘newpass’); 就可以(没用过)方法1: 用SET PASSWORD命令...
2020-04-27 11:11:44 414
原创 Java中文首字母排序与SQL中文排序对比
使用Java提供的 Collator 类来进行中文字符串的比较.原理: 用getInstance(Locale ) 方法进行实例化对象。然后重写里面的 compare() 的方法进行比较。优点:排序方法实现简单.缺点:排序结果不是很准确.例子:String[] titles = {"关羽","张飞","公孙瓒","诸葛亮","曹操","刘备","赵云","微微", "哈哈", "哈"...
2020-04-24 19:18:59 11271
转载 IntelliJ IDEA常用快捷键汇总
文章目录var声明null判空notnull判非空nn判非空for遍历fori 带索引的遍历not 取反if 条件判断cast 强转return 返回值var声明null判空notnull判非空nn判非空for遍历fori 带索引的遍历not 取反if 条件判断cast 强转return 返回值...
2020-04-24 17:54:50 1648
原创 pageoffice使用笔记
文章目录springboot项目集成pageofficepageoffice使用WebOpen打开服务器上文件springboot项目集成pageoffice在项目src目录下新建lib文件夹,将jar包引入。pom文件配置依赖 <dependency> <groupId>com.zhuozhengsoft</groupId> <...
2020-04-16 19:17:21 14807
转载 git基础知识及常用命令
文章目录一、Git仓库简介二、常用命令一、Git仓库简介几个区(状态)(1)工作区(work directory):一般就是我们项目的目录,可以看到文件。(2)本地仓库/版本库(Local Repository/Repository):我们在为项目添加本地库之后,会在工作区生成一个如下图所示的隐藏目录“.git”,.git目录即为当前工作区的本地版本库。(3)暂存区(stage):版...
2020-04-15 09:42:14 710
原创 springboot中的jackson配置及Jackson工具类分享
文章目录springboot中的Jackson配置Jackson工具类springboot中的Jackson配置 spring: jackson: # 设置属性命名策略,对应jackson下PropertyNamingStrategy中的常量值,SNAKE_CASE-返回的json驼峰式转下划线,json body下划线传到后端自动转驼峰式 property-...
2020-04-01 09:54:38 2979 3
原创 面经记录
问题整理文章目录问题整理微服务那一套五大组件 和传统项目的区别分布式锁分布式事务动态代理rabbitmq原理线程锁算法排序spring加载beanspring每个注解几种方法创建beanspring不同容器的交互tcp的三次握手和四次挥手session和cookiehttps为啥安全?加密是怎么加密的 用什么算法加密的 https加密的过程权限是怎么设计的my...
2020-01-21 10:44:59 207
原创 MySQL binlog配置
vim /etc/mysql/mysql.conf.d/mysqld.cnflog-bin = /usr/local/var/mysql/logs/mysql-bin.logexpire-logs-days = 14max-binlog-size = 500Mserver-id = 1binlog_format=MIXED(加入此参数才能记录到insert语句)show varia...
2019-12-25 15:43:12 167
原创 Linux笔记
mkdir命令mkdir -p 可以创建多级目录mkdir -m 664 创建目录的同时设定权限为664。mkdir -p /data/nginx/{conf,conf.d,html,logs}
2019-12-25 15:35:34 142
原创 docker笔记
docker常用命令:docker versiondocker imagesdockerfile构建镜像:docker build -t docker .docker stop $(docker ps -a -q)docker rmi $(docker images -q)删除时使用name 不要用 IMAGE ID 删除name后删除 IMAGE ID创建一个需要长期...
2019-12-25 15:26:40 2992
原创 MySQL DATEDIFF DATE_ADD和TIMESTAMPDIFF计算时间差
MySQL DATEDIFF函数计算时间间隔计算table表中next_visit_dt与当前时间相差一天,为当前日期后一天select * from table where datediff(next_visit_dt,now()) = 1
2019-12-12 10:24:46 665
原创 MySQL查询结果分组排序空值排在最后等相关
MySQL查询结果排序相关MySQL查询结果排序,先升序 再将空值排在最后select * from table order by sortnum is null,sortnum asc;MySQL order by case when查询结果排序,先区分排序优先级升序,然后空值排最后,最后升序last_visit_dt = ‘1900-01-01 00:00:00’ 的优先级最低...
2019-12-11 12:09:07 3013
原创 使用ApplicationListener监听使方法仅在项目启动时执行一次
使用场景在一些业务场景中,当容器初始化完成之后,需要处理一些操作,比如一些数据的加载、初始化缓存、特定任务的注册等等。这个时候我们就可以使用Spring提供的ApplicationListener来进行操作。用法本文以在Spring boot下的使用为例来进行说明。首先,需要实现ApplicationListener接口并实现onApplicationEvent方法。把需要处理的操作放在on...
2019-12-03 11:20:40 43015 3
原创 Java8 stream根据字段分组并排序
Java8 stream根据字段分组并排序1.根据字符串类型日期分组,并按照日期升序排序,返回TreeMap<String,List>,map的key为字符串日期,value为listArrayList<PlnexecutionRecord> records = plnExectionRecordMapper.selectRecord(ids[i]);TreeMap&...
2019-12-03 10:20:31 74452 2
原创 SQL根据date查询出String类型的日期、时间、星期
SQL根据date查询出String类型的日期、时间、星期SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') as date;SELECT DATE_FORMAT(NOW(),'%H:%i') as time;SELECT DATE_FORMAT(NOW(),'%w') as week;
2019-12-03 10:19:51 889 1
原创 sql时间戳类型与日期类型转换
sql时间戳类型与日期类型转换SELECT FROM_UNIXTIME(1572489874);SELECT UNIX_TIMESTAMP(NOW());select UNIX_TIMESTAMP(date_add( NOW( ), INTERVAL - 20 MINUTE )) > UNIX_TIMESTAMP(NOW());
2019-12-03 10:19:08 850
101种面试巧妙回答
2016-10-21
人工智能:一种现代方法(第2版)
2016-10-20
你不知道的JavaScript(上卷)
2016-10-14
JavaScript语言精粹(修订版)
2016-10-14
html5+css3从入门到精通
2016-10-14
Java EE设计模式解析与应用
2016-10-14
CSS高效开发实战——CSS 3、LESS、SASS、Bootstrap、Foundation
2016-10-14
AngularJS权威教程
2016-10-12
pandoc1.19+转换命令
2018-01-13
JAVA架构从入门到精通开发笔记v1.8
2018-01-07
office tab 安装包
2017-07-30
Java程序员面试笔试宝典---349页,非sample版非sample版非sample版!!!
2016-11-28
《Maven实战》完整高清版
2016-11-04
Spring 3.x企业应用开发实战
2016-11-04
疯狂Workflow讲义 基于Activiti的工作流应用开发
2016-11-03
人月神话_软件项目管理之道_20周年纪念版
2016-10-26
人件(中英文版)
2016-10-26
Java开发实战1200例
2016-10-22
docker怎样删除同id同tag的镜像
2019-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人