自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 资源 (4)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

转载 idea将maven项目打成jar包上传至私服仓库

一、pom中添加,(将下面的url改成私服的地址) <distributionManagement> <repository> <id>nexus</id> <name>nexus Repository RELEASES</name> <url>http://127.0.0.1:8081/repositories/releas

2021-01-15 17:37:03 10

原创 insert与select一起使用

在开发过程中经常遇到一些情况:后台往数据库添加默认数据,数据量可能比较大,比如:某个系统有多个仓库,每个仓库下都需要添加一套规则,每个去添加,比较慢,目前我也没有找到更简单的办法,我的做法是先给其中一个仓库添加数据,再通过sql语句进行批量添加步骤一:先给某一个仓库添加数据步骤二:用sql给所有仓库添加数据注意:最后需要删除最开始的多余数据,有重复...

2021-01-06 19:43:21 107

转载 MySQL中concat()、concat_ws()以及group_concat()的使用

一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;中间有一行为null是因为tt2表中有一行的score值为null。例2:在例1的结果中三个字段id,name,score的组合没有分隔符,我们可以加一个逗号作为分隔

2020-12-11 18:14:51 20

原创 压力测试、性能测试工具Jmeter

一、下载,进入apache官网下载二、启动:双击jmeter.bat点击后会出现一个命令界面和一个操作界面,命令界面在整个过程中不能关闭三、创建测试计划四、配置测试接口server Name or IP:可以写域名或者ip,如果写ip就需要写端口号,也可以server Name or IP不填写,直接在Path里写完整URL五、结果查看...

2020-11-04 18:26:08 26

原创 Controller接List参数,Vo里加的校验不起作用解决办法

//vopublic class TestVo { @NotEmpty(message="id不能为空") private String id; ........}//Controllerpublic String test(@RequestBody List<TestVo> list) { //单独校验 for(TestVo testVo: list){ validator.validate(testVo,new BindException(testV.

2020-10-22 19:44:35 78

转载 idea 生成api文档

IDEA API文档的导出1.打开项目后点击IDEA顶部菜单栏的"Tools"2.选择:Generate JavaDoc Scope3. 如图按照需求配置;编码格式设置: -encoding UTF-8 -charset UTF-8然后点击"OK",就会自动生成API文档到指定路径了.4.若日志仍然报错,这里提供一种解决方案打开设置 配置如下然后再打开"Tools"的Generate JavaDoc Scope,再生成一次就可以了...

2020-08-18 15:06:46 90

原创 Nginx 入门知识

1 Nginx 与 Nginx 中的反向代理Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,具有正反向代理,负载均衡,HTTP 服务器等功能,以其高性能、稳定、功能丰富、配置简单及占用系统资源少而著称。正向代理与反向代理的区别在正向代理中,客户端是可以明确知道服务器地址的,客户端会把请求发送给代理,代理再把请求转发给服务器,那么响应的传递顺序也是服务器 -> 代理 -> 客户端,客户端知道服务器,而服务器不知道客户端,事实上隐藏了客户端的真实信息。与正向代理相反,反

2020-05-27 15:50:09 75

原创 ThreadLocal使用--缓存

在微服务中需要经常查询一些共用的东西,比如当前登录用户id,不断跨服务查询会消耗性能,使用ThreadLocal缓存起来使用更方便//存:private ThreadLocal<String> currentUser= new ThreadLocal<>();currentUser.set(userId);//使用:userId=currentUser.get();//清除:currentUser.remove();因为每个线程可能携带不同的user.

2020-05-25 17:14:51 180

原创 Eureka使用小案例

Eureka架构中的三个核心角色:服务注册中心:Eureka的服务端应用,提供服务注册和发现功能,就是刚刚我们建立的eureka-demo 服务提供者:提供服务的应用,可以是SpringBoot应用,也可以是其它技术实现,只要对外提供的是Rest风格服务即可。 服务消费者:消费应用从注册中心获取服务列表,从而得知每个服务方的信息,知道去哪里调用服务方。Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你.

2020-05-20 17:40:34 301

原创 mysql order by按照汉字拼音进行排序

直接对汉字对应的字段使用order by,查询的结果并不按照所预期的按照汉字对应拼音进行排列出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。解决方法:修改查询语句:在查询语句的order by部分使用 CONVERT函数。select * from student uorder by CONVERT(u.name USING GBK) asc;...

2020-05-19 16:36:12 240

原创 group by 多个字段

select * from test1; 结果如下图:第二次查询 按照 b列来分组 代码如下select count(a),b from test1 group by b;第三次 按照 c列来分组 代码如下select count(a),c from test1 group by c;第四次 按照 b c两个条件来分组select count(a),b,c from test1 group by b,c;可以看出 group by 两...

2020-05-18 17:15:47 170 1

原创 一张表的多个字段关联另外一张的同一个字段(获取不同操作人名称)

请假需要层层审批,每次审核存储当前审批人id,需要关联查出对应的名称方式一:(复杂且性能不佳)ELECTabsence.id, ( SELECT name FROM users WHERE absence.first_user_id= users.id ) AS firstName, ( SELECT name

2020-05-15 11:56:09 1085

原创 group by 和 order by 一起使用问题处理

group by 和 order by 一起使用时,会先使用group by 分组,并取出分组后的第一条数据,所以后面的order by 排序时根据取出来的第一条数据来排序的,但是第一条数据不一定是分组里面的最大数据。解决方案:可以先排序,再分组,再排序:使用子查询。SELECT r.id, r.uid, r.age , r.datatimeFROM (SELECT...

2020-04-30 16:12:30 1831

原创 SQL执行顺序

SQL执行顺序:  (1)from  (2) join  (3) on  (4) where  (5)group by  (6) avg,sum.... (组函数)  (7)having  (8) select  (9) distinct  (10) order by ...

2020-04-30 15:58:11 59

转载 group by与having的用法

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。常用聚合函数count()计数 sum()求和 avg()平均数 max()最...

2020-04-30 15:46:02 206

原创 Mysql数据库IF、IFNULL的使用

IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL), 则 IF() 的返回值为 expr2;否则返回值则为 expr3select if(size=1,"大","小") as size from apple where id = '111'IFNULL(expr1,ex...

2020-04-28 14:45:57 99

转载 Linux安装mysql

以mysql-5.7.24为例:一 安装前准备1、检查是否已经安装过mysql,执行命令[root@localhost /]# rpm -qa | grep mysql从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令[root@localhost /]# rpm -e --nodeps mysql-lib...

2020-04-07 16:39:39 55

原创 list stream 取两个List的交集 并集 差集

字符串list:public static void main(String[] args) { List<String> list1 = new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); List<String> list2 ...

2019-12-04 13:58:28 5038

原创 list stream按照对象多个属性进行排序

/*** 按照年龄正序*/personList.stream().sorted(Comparator.comparing(Person::getAge)).collect(Collectors.toList());/*** 按照年龄倒序 reversed()*/ personList.stream().sorted(Comparator.comparing(Person::g...

2019-11-12 16:25:26 4537

原创 list stream按对象多个属性对集合进行分组

Map<String,List<E>> result=list.stream.collect(Collectors.groupingBy(e -> e.getName() + e.getAge()));

2019-11-11 14:57:33 6502

原创 list.stream().mapToDouble求最大、最小、和、平均值

求数字最大、最小、和、平均值list.stream().mapToDouble(User::getAge).sum()//和list.stream().mapToDouble(User::getAge).max()//最大list.stream().mapToDouble(User::getAge).min()//最小list.stream().mapToDouble(User::ge...

2019-10-11 18:33:49 6457

转载 关机再开机 vs 重启哪个更有用

2019-10-11 12:50:45 65

原创 缓存的使用--从缓存中获取省市区

目前微服务是企业项目运用比较多,但经常存在需要频繁调用其他模块的情况(调上千次),会导致服务崩溃。比如我遇到的在导入文件时需要对省市区进行校验,数量到达两三千时就会出问题,所以将省市区时行缓存,每次从缓存中获取数据,减少服务的调用。表结构如下:level:1--省 2--市 3--区抽象接口:AbstractCacheServicepackage com.navasmar...

2019-10-11 10:29:16 719

原创 使用git命令统计代码提交行数

我们公司每个月会统计每个人千行bug率,所以,对统计代码行数研究了一下进行以下准备:1:进行你eclipse或者idea当前工程目录下2:本地安装了git管理工具3:在工程目录下右键选择【Git Bash Here】进入命令执行区,输入以下命令即可--统计某个人时间范围的提交代码git log --author="zhaoyalan" --since='2019-04...

2019-10-10 09:31:26 1726 2

原创 list.stream distinct列表去重

//去重后数量List<Object> result= ObjectList.stream() .distinct() .count();//集合对象去重List<Object> result= ObjectList.stream() .distinct() .collect(Collectors.toList());//所有名字为空的去重集合List...

2019-10-09 10:56:13 766

原创 list.stream.map的使用

抽取对象中所有id的集合List<String> idList = ObjectList.stream.map(Object::getId).collect(Collectors.toList());

2019-10-09 10:24:57 5369

原创 list.stream.filter常用方式

在Java8中对集合的操作可以这样操作1.查找集合中的第一个对象Optional<Object> first= ObjectList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .findFirst();2.返回符合查询条件的集合//所有名字叫hanmeimei的集合List<O...

2019-10-09 10:23:39 3210 2

原创 linux下修改文件名称

命令: mv 旧名称 新名称

2019-08-15 14:01:48 201

原创 spring boot+idea项目部署

超级简单的一个项目,只有一个controller:DemoApplication ServletInitializer是创建spring boot项目时自带的双击install打成jar包(pom文件里的打包方式写成jar)将jar文件上传到linux,进行启动spring boot内置了tomcat,直接用ip:8080/接口名即可访问...

2019-08-14 16:40:23 91

转载 Java中存储金额用BigDecimal

Java中存储金额用什么数据类型?示例1问, 结果是多少? 0.01?No! 结果是0.009999999999999998!为什么会这样呢? 因为float和double都是浮点数, 都有取值范围, 都有精度范围. 浮点数与通常使用的小数不同, 使用中, 往往难以确定. 常见的问题是定义了一个浮点数, 经过一系列的计算, 它本来应该等于某个确定值, 但实际上并不是! 金...

2019-07-29 17:34:24 523

原创 redis清除缓存--windows

1 进入redis安装目录2 运行redis-cli.exe3 执行 dbsize4 执行 flushall5 执行 exit

2019-07-01 15:51:45 217 1

原创 通过git将本地项目导入github

在github上新建仓库之后根据下面提示的命令进行导入(前提是本地已安装git客户端):1:安装git客户端2:点击git bash或者右键单击本地项目目录并选择git bash,进入git命令界面3:依次执行上面的命令提示某个文件过大不能上传,所以,删除了不用的文件,重新执行下面命令完成!!...

2019-05-14 15:57:11 762

原创 Navicat快捷键

Ctrl+Q 打开查询窗口Ctrl+/ 注释sql语句Ctrl+Shift +/ 解除注释Ctrl+R 运行查询窗口的sql语句Ctrl+Shift+R 只运行选中的sql语句F6 打开一个mysql命令行窗口Ctrl+L 删除一行Ctrl+N ...

2019-05-13 17:51:28 134

原创 后台(cmd)启动基础服务

背景在微服务开发中,有些基础服务特别多,如果都用开发工具启动,会给电脑带来负担,如果把基础服务(改动小)在后台启动,将会降低电脑的压力。操作如下在cmd界面输入如下格式命令即可: start /b java -Xmx256m -Xms256m -jar C:\xx\xxx\xxx.jar补充 如果基础服务进行了修改,需要重新打包并启动...

2019-05-13 17:11:14 695

原创 linux安装zookeeper步骤

一、Zookeeper下载 ​[root@localhost 下载]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz 已发出 HTTP 请求,正在等待回应... 200 OK 长度:11833706 (11M) [application/oct...

2019-02-22 16:14:20 154

原创 linux修改可执行文件的权限

执行文件时显示权限不够:修改权限:文件由灰色变为绿色,然后可以执行

2019-02-19 16:05:10 5840

原创 linux的zip和unzip用法

一、安装zip unzip软件如果你如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法获取安装列表命令: yum list | grep zip/unzip   安装命令: yum install zip/unzip    #提示输入时,请输入y;二、使用 # zip test.zip test.txt 它会将 test.txt 文件压缩...

2019-02-19 15:50:43 430

原创 用http post连接外部服务

一 接口说明二 实现### 2.1发送通知给外系统 url="http://ip:port/xxxx/standardOut/addStandard"; Map&lt;String, String&gt; parameters=new HashMap&lt;&gt;(); parameters.put("standardName", findOne.getStandar...

2019-02-11 11:24:49 599

转载 Linux下查看jdk信息

一、查看Jdk的安装路径whereis java(获取jdk所在目录)which java (java安装路径)echo $JAVA_HOME(环境变量–jdk目录)echo $PATH(环境变量–jdk bin目录)二、查看java版本信息java(执行.class文件)javac(java编译.java文件为.class文件)java -version(java版本信息)...

2018-12-28 16:05:46 991

转载 微服务架构下的分布式

微服务架构下的分布式微服务架构的演变单体架构SOA 架构微服务架构和分布式微服务架构的演变微服务是一种服务间松耦合的、每个服务之间高度自治并且使用轻量级协议进行通信的可持续集成部署的分布式架构体系。一般业务系统发展历程都是基本相似的,从单体应用到多应用,从本地调用到远程调用。单体架构单体架构是最简单的软件架构,常用于传统的应用软件开发以及传统 Web 应用。传统 Web 应用,一般是将...

2018-12-13 11:13:49 210

阿里巴巴Java开发手册v1.2.0-1 高清完整PDF版

阿里巴巴Java开发手册v1.2.0-1

2017-05-23

html5shiv.js

2017-03-31

respond.js

2017-03-31

bootstrap ie9\ie8

解决bootstrap不兼容ie8和ie9问题

2017-03-31

30岁后程序员的发展方向

发表于 2017-10-09 最后回复 2017-10-14

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

TA关注的人 TA的粉丝

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