自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试冲冲冲

一、数据库MYSQL。

2023-05-20 15:06:59 490

原创 SQL查询结果按照指定内容排序

SQL查询结果按照指定内容排序

2022-09-13 15:23:23 275

原创 sql多表关联更新字段

2、Oracle 多表更新方法:语法:update test1 set (test1.name,test1.age)=(select test2.name,test2.age from test2 where test2.id=test1.id)3、MySql多表更新方法:update test1,test2 set test1.name=test2.name,test1.age=test2.agewhere test1.id=test2.id4、通用方法update.

2022-03-08 10:37:15 1768

原创 sql 进行父子排序

2021-08-19 10:11:06 669

原创 MySQL忘记密码处理--Linux

第一步:找到my.cnf文件(cd /etc)第二步:编辑文件添加一条:skip_grant_tables保存文件第三步:重启mysql/usr/local/mysql/support-files/mysql.server restart第四步: 用数据库连接工具直接连接(密码对错无所谓,会直接进去)操作user表中数据...

2021-07-29 14:53:39 89

原创 excel从两列数据中找到相同的数据,并用不同颜色展示

第一步:写入两列数据第二步:选中两列数据txd

2021-06-15 16:18:50 5051

转载 IDEA EasyCode(代码神器)

IDEA EasyCode(代码神器)1、前言Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。2、安装EasyCode建议大家在安装一个插件,叫做Lombok。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在..

2021-04-23 17:14:12 1113

原创 线程异步/线程同步

异步线程:  线程t1和线程t2,各自执行各自的,t1不管t2,t2不管t1,  谁也不需要等谁,这种编程模型叫做:异步编程模型。  其实就是:多线程并发(效率较高。)同步线程:  线程t1和线程t2,在线程t1执行的时候,必须等待t2线程执行结束,  或者说在t2线程执行的时候,必须等待t1线程执行结束,  两个线程之间发生了等待关系,这就是同步编程模型。  效率较低。线程排队执行。...

2021-03-31 15:04:04 154

原创 线程上下文切换

上下文切换多线程编程中一般线程的个数都大于CPU核心的个数,而一个CPU核心在任意时刻内只能被一个线程使用,为了让这些线程都能得到有效执行,CPU采取的策略时为每个线程分配时间片并轮转的形式。当一个线程的时间片用完的时候就会重新处于就绪状态让给其他线程使用,这个过程属于一次上下文切换。换句话说,当前任务在执行完CPU时间片切换到另一个任务之前会先保存自己的状态,以便下次再切换会这个任务时,可以再加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。sleep()和wait().

2021-03-31 14:22:33 121

原创 Java NumberFormat 计算百分数

NumberFormat nt = NumberFormat.getPercentInstance(); //设置百分数保留0位小数 nt.setMinimumFractionDigits(0); nt.format(20/ 30); //结果--67%数值格式化getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。 getInstance(Locale)、getNumb...

2021-02-25 18:04:25 1678

原创 mysql sum函数配合 case when distinct 去重复求和

SELECT sum(DISTINCT case when t1.id then t1.amount else 0 end ) as t1sumAmount from table1 t1 left join table2 t2 on t1.id = t2.t1_id如果t1对应多个t2,会出现t1的数量重复相加的情况,用上面的方式可去除重复

2021-01-28 08:51:45 12300 13

原创 从一堆数字中,找到相加等于特定数字的所有组合---包含等于特定数字的数字

public List<List<Integer>> getNumberArray(List<Integer> paramList,Integer killNumber){ List<List<Integer>> result = new ArrayList<>(); int a =1; int c =1; List<Integer> d=null; for(in.

2021-01-25 11:14:37 4324

转载 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 1164

原创 insert与select一起使用

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

2021-01-06 19:43:21 2719 2

转载 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 183

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

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

2020-11-04 18:26:08 170

原创 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 830

转载 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 862

原创 Nginx 入门知识

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

2020-05-27 15:50:09 210

原创 ThreadLocal使用--缓存

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

2020-05-25 17:14:51 854

原创 Eureka使用小案例

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

2020-05-20 17:40:34 1647

原创 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 1145

原创 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 1135 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 3510

原创 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 41286 17

原创 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 182

转载 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 13440 1

原创 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 316

转载 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 122

原创 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 14142

原创 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 9509

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

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

2019-11-11 14:57:33 11096

原创 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 22322 2

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

2019-10-11 12:50:45 204

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

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

2019-10-11 10:29:16 1462

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

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

2019-10-10 09:31:26 4757 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 3455

原创 list.stream.map的使用

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

2019-10-09 10:24:57 16661

原创 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 9960 2

原创 linux下修改文件名称

命令: mv 旧名称 新名称

2019-08-15 14:01:48 663

阿里巴巴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

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

TA关注的人

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