- 博客(1303)
- 资源 (3)
- 收藏
- 关注

原创 java字符串原理及其效率
java字符串类基本特点String类是final的,不可继承 String类源码实现通过字符数组实现,长度不可改变 可以通过String str = "123"来创建一个String对象 通过+可以将两个String对象串联,生成新的字符串 java运行时会维护一个字符串池,String池会保存程序运行中产生的各种字符串,这些字符串内容不能相同字符串创建的几种方式使用new...
2019-12-26 17:47:14
232

原创 shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程。注意:1、脚本的执行方法与bash shell不一样,比如:expect example.sh2、向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的;而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $arg...
2019-10-24 14:11:01
1129

原创 Linux搭建简单的http文件服务器
为了让自动化脚本可以通过wget来下载安装包,需要在集群中的某个节点部署一个http文件服务器在Ubuntu中通过apt-get install apache2安装apache2 CentOS7中通过yum install httpd安装httpd apache2的配置文件是/etc/apache2/apache2.conf httpd的配置文件是/etc/httpd/conf/...
2019-10-17 17:15:49
2659
1

原创 为什么mysql事务回滚后,自增ID依然自增
因为innodb的auto_increament的计数器记录的当前值是保存在存内 存中的,并不是存在于磁盘上,当mysqlserver处于运行的时候,这个计数值只会随着insert改增长,不会随着delete而减少。而当mysqlserver启动时,当我们需要去查询auto_increment计数值时,mysql便会自动执行:SELECT MAX(id) FROM 表名FOR UPDATE;...
2019-10-12 18:30:40
378

原创 Spring注解validated
spring-boot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。比如,我们判断一个输入参数是否合法,可以用如下方式一 基础使用因为spring-boot已经引入了基础包,所以直接使用就可以了1 首先在controller上声明需要对数据进行校验@RequestMapping(value="/url.json",method= {R...
2019-10-09 10:31:41
673

原创 Java学习之反射机制及应用场景
转载:https://www.cnblogs.com/whoislcj/p/6038511.html什么是Java反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制。反射机制提供了哪些功能? 在运行时判定任意一个对象所属...
2019-09-19 10:14:09
127

原创 Linux下rpm及yum安装jdk
笔者使用的Linux操作系统为CentOS7,Linux中有三种安装jdk的方式,在这里笔者主要介绍两种方式,即rpm和yum安装及卸载jdk,还有一种是直接从官网下载 tar.gz 压缩文件上传到Linux操作系统后解压配置环境变量即可,是最简单的一种方式,在这笔者不多做介绍。rpm安装JDK官网下载JDK1.7:http://www.oracle.com/technetwork/ja...
2019-09-02 10:00:15
198

原创 Node.js 安装及环境配置之 Windows 篇
一、安装环境1、本机系统:Windows 10 企业版(64位)2、Node.js:node-v8.9.4-x64.msi(64位)二、安装Node.js步骤1、下载对应自己系统对应的 Node.js 版本,地址:https://nodejs.org/zh-cn/2、选安装目录进行安装3、环境配置4、测试三、前期准备1、Node.js简介 Node.js® 是一个...
2019-08-16 10:34:46
165

原创 搭建vue开发环境的步骤
相信很多人在刚开始学习vue这个框架的时候,在最开始搭建开发环境的时候,都会遇到一些大大小小的坑,我之前在学习angular的时候搭建过一次,过了一个月后在搭建第二次的时候,竟然有一些混乱,所以今天想整理出来;vue现在在前端,相对于算是现在前端工程师都比较常用的框架之一,他和angular有一些相似之处,所以用过angular的伙伴们,再来学习vue应该不会感觉太难;一:在搭建vue的开...
2019-08-15 18:59:57
248

原创 Redis进阶实践之七Redis和Lua初步整合使用
一、引言 Redis学了一段时间了,基本的东西都没问题了。从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能。lua脚本是用C语言写的,体积很小,运行速度很快,并且每次的执行都是作为一个原子事务来执行的,我们可以在其中做很多的事情。由于篇幅很多,一次无法概述全部,这个系列可能要通过多篇文章...
2019-08-14 15:25:48
156

原创 CentOS配置Redis环境变量
1、测试:在任何位置登录redisredis-cli指定服务器ip(不指定时,默认本机)redis-cli -h 127.0.0.1指定端口(不指定时,默认6379)redis-cli -h 127.0.0.1 -p 6378 2、配置环境变量(1)找到redis的安装目录find /usr/local -name "redis*"...
2019-08-14 14:40:51
1643

原创 Linux下设置和查看环境变量
Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类:1 永久的:需要修改配置文件,变量永久生效。2 临时的:使用export命令声明即可,变量在关闭shell时失效。设置变量的三种方法1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久...
2019-08-14 14:37:39
510

原创 Redis安装完后redis-cli无法使用(redis-cli: command not found)
之前安装redis后客户端无法使用,即redis-cli执行后报找不到的错误。这主要是安装redis的时候没有把客户端装上,在StackOverFlow上找到了一种只安装redis cli的方法,这里跟大家分享下。wget http://download.redis.io/redis-stable.tar.gz(下载redis-cli的压缩包)tar xvzf redis-stable.ta...
2019-08-14 11:53:25
3861

原创 Redis报错:-bash: redis-cli: command not found
同样,安装redis后,使用redis-cli指令报错:sudo cp src/redis-cli /usr/local/bin/将redis-cli拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
2019-08-14 11:52:45
2414
1

原创 redis lua查询和删除keys
eval "return redis.call('keys',KEYS[1])" 1 adv* eval "return redis.call('keys',KEYS[1])" 1 *eval "return redis.call('keys',ARGV[1])" 0 a*eval "return redis.call('del',unpack(redis.call('key...
2019-08-13 18:56:41
2686

原创 redis的通配符和批量删除Key
1.DEL 直接加键名称DEL key1 key2 key3127.0.0.1:6379> DEL site_msg_99973 false site_msg_99974 false site_msg_99979false2. 批量删除key可用keys ‘str*’ 列出要删除的key,接linux管道删除(linux命令行执行)根据通配符查看待删除的k...
2019-08-13 18:52:13
1419

原创 使用IDEA工具配置和运行vue项目(详细其中的坑)
刚来公司实习发现公司的前端使用的是vue,之前根本就没有听说过。然后一上来就需要看代码,but but 就是没有文档什么的东西,就需要自己去研读,我就想去运行其中的前端和后端联调起来方便理解,结果在配置和运行中出现了很多挫折,我就想写一下方便大家不去采坑,直接运行好一、在IDEA中配置vue插件点击File-->Settings-->Plugins-->搜索vue...
2019-08-13 14:55:14
1067

原创 Redis 模糊查询删除操作
创建一条测试 数据 查询创建:set name xiaoming查询:get name 1、模糊搜索查询Redis 模糊搜索keys *select 22、删除指定key :# 删除所有以user开头的key 可以这样实现:# redis-cli keys "user*"1) "user1"2) "user2"# redis-cli keys "...
2019-08-12 10:38:48
2857

原创 Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我...
2019-06-11 11:17:08
135
原创 java 深入理解内部类以及之间的调用关系
什么是内部类内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前...
2024-08-26 11:56:12
991
1
原创 token校验
preOrderResponseDO.setMsg("access-token无效");preOrderResponseDO.setMsg("access-token无效");// //sign有效性校验。
2024-08-26 11:54:27
375
原创 base64加密转file java
log.error("TAG", "异常信息:" + e.getMessage());//base64加密的。// 获取文件扩展名。// 生成新的文件名。
2024-08-26 11:36:05
265
原创 Mybtais判断为空
最近项目开发中遇到一种查询条件为0的情况,但是过程一波三折,经过大佬提示得以解决,同时也发现了Mybatis对于参数0需要不同的处理。于是空闲后自己写了个例子测试一下。以此记录,方便查找。经测试得出:参数为Integer类型的0时,Mybtais会自动识别为‘’(空字符串)。想要使Integer的0符合条件则应该去掉该判断,但是空字符的情况从而也会被忽略,这应该也是开发时应该注意的。处理第一种 就是根据上面测试结果将n!=‘’条件去掉。第二种 将参数改为字符串类型,同样可以避免该问题,而.
2022-03-14 20:10:00
3354
原创 java怎么根据用户设定的时间执行定时任务
package com.yytx.cloud.qa.manager.timer;import com.alibaba.fastjson.JSON;import com.yytx.cloud.common.qa.entity.QaTaskEntity;import com.yytx.cloud.common.redis.service.RedisCache;import com.yytx.cloud.qa.manager.task.controller.QaTaskController;impo.
2022-03-11 17:02:14
5285
原创 Http 错误:“status“:404,“error“:“Not Found“,“message“:“No message available”,”path“:““
在对代码进行调试的时候,前端页面报了一个错:1 {"timestamp":"2019-09-02T02:55:45.555+0000","status":404,"error":"Not Found","message":"No message available”,”path":"/order/createorder"} 这个 bug 出现的原因是因为犯了一个更加低级的错误。。。但是我觉得解决问题的分析思路还是可以借鉴的,这里总结一下。 前端页面显示错误信息,但是在我的后端程序中没有一个
2021-08-23 15:28:49
33808
2
原创 Java中StringUtils对String判断
public class StringUtilText24 { public static void main(String[] args) { boolean flag = StringUtils.isEmpty(null); System.out.println(flag); flag = StringUtils.isEmpty(""); System.out.println(flag);//注意在 StringUtils .
2021-05-24 15:31:51
388
原创 Java 8 lambda表达式中为什么要求外部变量为final
Java 8语言上的lambda表达式只实现了capture-by-value,也就是说它捕获的局部变量都会拷贝一份到lambda表达式的实体里,然后在lambda表达式里要变也只能变自己的那份拷贝而无法影响外部原本的变量;但是Java语言的设计者又要挂牌坊不明说自己是capture-by-value,为了以后语言能进一步扩展成支持capture-by-reference留下后路,所以现在干脆不允许向捕获的变量赋值,而且可以捕获的也只有“效果上不可变”(effectively final)的参数/局部变量。
2021-05-17 20:54:04
1115
原创 Initialization of bean failed; nested exception is java.lang.IllegalStateException: Encountered inv
2021-05-17 19:16:23
2419
1
原创 2021java面试实战
用友汽车子事务mybatis 防止sql注入,什么情况下用到$sql优化get post 区别vue生命周期vue data数据同步新功能开发是怎么开始的git怎么解决冲突中电金信:springboot项目用容器吗数据采集系统(心跳、怎么同步)session怎么共享怎么做到单用户在线索引(几种类型、全文索引)数据量少用建索引吗视图的作用springboot 处理异常线程的状态怎么启动线程死锁sleep wa...
2021-04-06 17:14:43
439
原创 mysql 批量插入受参数配置限制的解决 max_allowed_packet
mysql根据配置文件会限制server接受的数据包一般指单条大小。有时候大的插入和更新会受max_allowed_packet 参数限制,在复制时候也会受到影响,导致写入或者更新失败;可以通过更改mysql服务器max_allowed_packet配置项来更改此值mysql>show variableslike '%max_allowed_packet%';+--------------------------+------------+| Variable_name ...
2021-03-22 19:25:03
673
原创 window的mysql开机自动启动
问题:安装完MySQL后,虽然在“计算机--管理-服务”中,MySQL服务设置了“自动”,但是每次需要用到数据库,还是需要我去手动打开MySQL服务。解决办法:1.以管理员的身份打开cmd命令窗口2.切换到mysql的bin目录下3.输入 mysqld -nt --install ,再回车4.系统会提示 Service successfully installed.5.打开“计算机--管理-服务”6.查看MySQL服务,确保启动类型为“自动”7.开机重启,连接数据库
2021-03-18 15:20:18
5836
原创 什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推
聚集索引我们先建如下的一张表CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` varchar(10) NOT NULL COMMENT '学生姓名', `age` int(11) NOT NULL COMMENT '学生年龄', PRIMARY KEY (`id`), KEY `idx_name` (`name`)) ENGINE=InnoDB;1234567
2021-03-17 19:10:08
263
原创 车主帮和作业帮的面试总结(以后博客和公众号一起同步)
https://mp.weixin.qq.com/s/7XxeIM1Zqx_tKPNVf1.gcroot有哪些?a.虚拟机栈(栈桢中的本地变量表)中的引用的对象b.方法区中的类静态属性引用的对象c.方法区中的常量引用的对象d.本地方法栈中JNI的引用的对象2.full gc,Minorgc区别?Gc触发条件:系统调用system.gc();当年轻代需要回收时会触发Minor GC(也称作Young GC)。年轻代由Eden Space和两块相同大小的Su...
2021-01-19 22:39:36
234
原创 redis用法介绍
Jedis常用方法APIhttps://blog.youkuaiyun.com/zhangguanghui002/article/details/78770071https://blog.youkuaiyun.com/lxlcxlm/article/details/78592263Redis命令用scan代替keys、smembers等命令https://blog.youkuaiyun.com/keketrtr/article/details/78626131Java Spring 与 Redis 操作封...
2020-07-23 08:57:41
235
原创 Map.putAll()用法
mportJava.util.HashMap;public class Map_putAllTest {public static void main(String[] args){ //两个map具有不同的key HashMap map1=new HashMap(); map1.put("1", "A"); HashMap map2 = new HashMap(); map2.put("2", "B"); map2.put("3", "C"); map1....
2020-07-19 11:25:12
600
原创 Random,ThreadLocalRandom,SecureRandom的几点思考
Random,ThreadLocalRandom,SecureRandom是Java中的随机数生成器,其中ThreadLocalRandom是jdk7才出现的,是Random的增强版。在并发访问的环境下,使用ThreadLocalRandom来代替Random可以减少多线程竞争,最终保证系统具有更好的线程安全。 Random是线程安全的,但是多线程下可能性能比较低。 特别是在生成验证码的情况下,不要使用Random,因为它是线性可预测的。所以在安全性要求比较高的场合,应当使用Secu..
2020-07-18 15:57:05
445
原创 java8流的地址
https://blog.youkuaiyun.com/weixin_45531950/article/details/99664197
2020-07-09 18:46:21
227
原创 maven命令package、install、deploy
我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。 通过三个命令的输出我们可以看出三者的区别在于包函的maven生命的阶段和执行目标(goal)不同。在我的上一篇文章https://blog.youkuaiyun.com/zhaojianting/article/detail
2020-07-02 17:44:22
374
原创 windows下设置redis开机自启动
windows: 在windows下安装目录下 打开命令窗口: redis-server.exe--service-install redis.windows.conf --loglevel verbose
2020-06-30 16:34:24
282
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人