自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

转载 window10快速安装oracle11

一次成功,快速在window10安装oracle11数据库,便于开发测试

2022-12-06 16:22:17 498 1

原创 一行java代码就可以执行android系统操作命令

开发过程中,偶尔会遇到需要在代码中执行一些系统的操作命令,比如执行linux命令等,Runtime.getRuntime().exec()函数就可以让你在代码中执行系统的操作命令

2022-12-06 14:56:33 1226

原创 一招解决pip升级错误问题

常见pip报错解决

2022-12-06 14:14:34 694

原创 Java中string,map,json之间的常用转换方法(json转map,map转json,json转string等)

使用场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)使用案例提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes,

2022-05-30 14:15:15 6402 1

原创 android客户端Netty部署SSL/TLS

android客户端Netty部署SSL/TSL

2022-05-07 15:34:54 1135

原创 2021-06-28

使用stream的filter对List里面对象属性值过滤出现空指针问题解决办法问题描述:下面代码会出先空指针问题NullPointerException Optional<TestWarn> any2 = deviceWarnsTest.stream().filter(x->x.getDeviceId().equals(e.getDeviceId().longValue())&&x.getIsHandled().equals(false)&am

2021-06-30 11:39:25 186

转载 2021-06-24

Java8中使用Optional处理null对象(Optional.ofNullable().isPresent()的使用)转载自http://www.mydlq.club/article/88/的博客一、Optional 简介Optional 是一个容器对象,可以存储对象、字符串等值,当然也可以存储 null 值。Optional 提供很多有用的方法,能帮助我们将 Java 中的对象等一些值存入其中,这样我们就不用显式进行空值检测,使我们能够用少量的代码完成复杂的流程。比如它提供了:of()

2021-06-24 17:02:02 416

原创 2020-11-14

Linux安装rpm出现warning: socat-1.7.3.2-1.1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 87e360b8: NOKEY解决办法在rpm 语句后面加上 --force --nodeps 即原本为 rpm -ivh *.rpm现在改成 rpm -ivh *.rpm --force --nodeps就可以了...

2020-11-14 21:00:29 176

原创 2020-11-13

Linux中wget如何后台下载任务?(超简单的)使用下面的命令进行下载[root@black***i software]# wget -b + url(你要下载的资源路径)执行命令之后,会在当前文件夹下创建一个如下的日志文件wget-log用来记录当前的下载进度如何查看后台下载进度[root@black***i software]# tail -f wget-logctrl + c 可退出...

2020-11-13 22:03:29 68

原创 为何count(*)这么慢?

前言查询数据条数详解。比如你维护着一张电商订单表,业务的需求是查找所有订单数,开发很快能写出对应的 SQL :select count(*) from order_01;但你是否会发现,如果这张表很大后,这条 SQL 会非常耗时。今天我们就一起重新认识下 count(),并想办法去优化这类 SQL。老规矩,先创建测试表并写入数据。use muke; /* 使用muke这个database */drop table if exists t1; /* 如果表t1存在则删除表t1 */CRE

2020-06-21 21:45:30 463

原创 创建软连接和硬链接

前言硬链接的原理:使链接的两个文件共享同样的文件内容,也就是同样的 inode。硬链接有一个缺陷:只能创建指向文件的硬链接,不能创建指向目录的硬链接。但软链接可以指向文件或目录。软链接的原理:就跟我们在windowln 命令创建链接(软连接和硬链接)linux中文件存储的方式,是文件名和文件内容单独分开存储在硬盘上的。每个文件的文件内容被分配到一个标示号码,就是 inode。因此每个文件名都绑定到它的文件内容(用 inode 标识)创建硬链接cdmkdir testcd test

2020-06-21 21:44:57 4126 2

原创 Linux查找文件方法

前言locate 命令,快速查找find 命令,深入查找find 命令与 locate 命令不同,find 命令不会在文件数据库中查找文件的记录,而是遍历你的实际硬盘。根据文件名查找find -name "test.jpg"-name 参数指定了文件名字,是 test.jpg,用双引号括起来。不加双引号或者用单引号也是可以的。find /var/log -name "testlog"何处:/var/log(及它的子目录);何物:testlog;没有指定"做什么"参数,因此 find

2020-06-21 21:44:12 203

原创 Linux中的软件安装

前言大家都熟悉软件安装,比如windows中的软件安装,大部分只需要在网上下载一个.exe结尾的安装包,双击就可以了,傻瓜式安装,但是linux中的软件安装就不一样。Ubuntu中软件安装在 Ubuntu 下,我们也有类似的程序,但是我们不称之为“安装程序”,而称之为“软件包”,英语是 Package。一个软件包其实是软件的所有文件的压缩包,二进制形式的,包含了安装软件的所有指令。在 Debian 一族里,软件包的后缀是 .deb(是 Debian 的前三个字母),Ubuntu 作为 Debian

2020-06-15 18:09:22 194

原创 Linux用户权限和管理

前言

2020-06-11 09:45:32 182

原创 Spring Security中successHandler和failureHandler使用

前言successHandler和failureHandler是Spring Security中两个较为强大的用来处理登录成功和失败的回调函数,通过它们两个我们就可以自定义一些前后端数据的交互。successHandler该方法有三个参数req:相当与HttpServletRequestres:相当与HttpServletResposeauthentication:这里保存了我们登录后的用户信息进行如下配置.successHandler((req, resp, authentication

2020-06-11 09:02:46 12989 2

原创 Linux常用命令

前言终端命令有很多很多,我们不需要都记住,有些常用的简单记住就可以了,就算记不住也没关系,能在记住命令的前前几个字母,然后按两次tab键,就会触发自动补全的然后找到你要用的命令就行了,如果一个都没记住也没关系啊,百度 或则google一下就可以了,日常工作中我们只需要知道有这个命令,用到了就用,忘记了就上网上查看,时间长了,自己而然就好了,不需要把时间花在背命令上。Ctrl + R : 用于查找使用过的命令例如,我查找 date 这个命令,就可以用 Ctrl + R 组合键,然后只输入 da,因为我之

2020-06-10 09:29:44 279

原创 终端命令和命令行参数

前言命令行命令行,当然就是敲命令的地方了,哈哈,就像看看某大片,黑客随随便便敲几行字母,命令,各式各样神奇的事情就会发生,当然,那是夸张,但是原理是一样的,这篇文章就是简单介绍命令行以及一些基本的命令参数终端的两种模式真正的终端:没有图形界面,只有黑底白字的全屏幕终端,只能通过键盘输入,也可以称为 Console(控制台)。图形模式的终端:一般我们在 Ubuntu,Fedora 等 Linux 发行版下日常使用的就是这种终端。你可以配置终端的外观,用鼠标操作,也可以同时运行其它应用程序等等。这

2020-06-09 09:01:37 844

原创 Spring Security中的表单登录

前言本文将介绍,在spring security中最基本的form表单登录,以及一些相关的配置。自定义表单登录如果我们不进行配置的话,spring security默认的登录页和登录接口都是/login,只不过一个是get请求一个是post请求而已。get http://localhost:8080/login.html 访问页面post http://localhost:8080/login.html 提交form数据我们也可以把它们单独定义出来如下图中:@Configurati

2020-06-08 09:29:16 594 1

原创 Join语句优化方式

前言工作中,大部分业务场景,都是多张表关联才会满足,很少有单张表的操作,这篇文章将会介绍多表关联种join的一些优化方法为了方便理解,首先创建测试表并写入测试数据,语句如下:CREATE DATABASE muke; /* 创建测试使用的database,名为muke */use muke; /* 使用muke这个database */drop table if exists t1; /* 如果表t1存在则删除表t1 */CREATE TABLE `t1` ( /* 创建表t1 */`id`

2020-06-07 14:08:44 899

原创 终端的两种模式

前言终端(英语是 Terminal),学好 Linux 技术,熟悉终端命令行,所谓“一入终端深似海,从此妹子是路人”。终端的好处举一个栗子:在一个文件夹中,有很多文见,但是我想知道里面有多少个 JPEG 类型的图片,那么我们该怎么去做如果是图形界面我们可能去一个个数吗,那得多费劲啊,或者还有其他的办法,但是肯定会很麻烦,那入如果我们用终端命令行的方式呢,只需要一段命令ls -l | grep jpg | wc -l结果就会显示出来,是不是很快速高效呢,类似这样的还有很多,这就是我们为什么要学

2020-06-05 13:32:32 1643

原创 SpringSecurity初体验

前言每当提到权限管理框架,大家一定首先会想到的就是Shiro和SpringSecurity,两者对比来说,Shiro可能说配置相对来说简单些,相反SpringSecurity会稍微复杂些,但是在现在Spring Boot和Spring Cloud满天下的时候,SpringSecurity几乎已经是最好的选择了。初体验创建测试项目:新建一个springboot工程,这个就不多说了,然后添加下面的依赖。依赖添加完成后,我们新建一个测试的controller,然后启动如下图上面,蓝色圈主的就是Sp

2020-06-05 10:34:11 135

原创 虚拟机安装Ubuntu

前言目前有两个比较知名的虚拟机,分别是VirtualBox 和 VMWare ,本文通过VirtualBox来进行安装,本人也比较喜欢,简单轻便。安装虚拟机首先我们来安装虚拟机软件:VirtualBox。VirtualBox 的官方网站是: https://www.virtualbox.org。点击进入 VirtualBox 官方下载页面:https://www.virtualbox.org/wiki/Downloads 虚拟机安装根据自己的系统下载对应的版本就行安装就行了,安装过程就跟普通软

2020-06-05 09:09:06 659

原创 input实现文字超出省略号功能

功能实现在input的标签中,添加样式添加:overflow:hidden; white-space:nowrap; text-overflow:ellipsis即可比如 <input type="text" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">

2020-06-04 16:52:30 1419

原创 硬盘安装Ubuntu,磁盘分区的概念

前言推荐一个不错的 Ubuntu 中文 WiKi 网站:https://forum.ubuntu.org.cnUbuntu 官方网站 https://www.ubuntu.comUbuntu 的中文主页:https://cn.ubuntu.com磁盘分区的知识这里主要介绍我们在安装ubuntu的时候,所遇到的磁盘分区部分的操作,以及我们怎么去做。硬盘一般叫做 Hard Disk,通常分为两类一类是固态硬盘(SDD),一类是机械硬盘(HDD),多人现在买电脑都喜欢配备固态硬盘,SSD 价格虽然昂

2020-06-04 11:15:45 2196

原创 如何烧录Ubuntu到USB中?

烧写/刻录 Ubuntu在 Ubuntu 官网的下载页面,我们可以下载 Ubuntu 的桌面版,就下载 Ubuntu 18.04 好了点击 Download(英语“下载”的意思)标签,稍等一会就自动开始下载了。下载之后,得到一个 .iso (镜像文件)文件,大概 2 GB。然后我们就可以开始制作 Ubuntu 安装盘了我们来看看如何烧录 Ubuntu 到 USB 中:首先,在电脑中插入一个空白的 U 盘(不空白也行,反正之后都要格式化的),大小至少 2 GB; 要将 Ubuntu的镜像文

2020-06-03 13:39:54 3689

原创 优化分页查询

前言很多时候,我们写分页查询的时候,只是单纯的想把结果查询出来就好了,但是有没有想过,自己写的分页查询效率会怎么,数据少的是没太大影响,但是多了就会有影响了,所以这篇简单介绍下分页查询的一些基本优化比如下面的sqlselect a,b,c from t1 limit 10000,10;表示从表 t1 中取出从 10001 行开始的 10 行记录。看似只查询了 10 条记录,实际这条 SQL 是先读取 10010 条记录,然后抛弃前 10000 条记录,然后读到后面 10 条想要的数据。因此要查询一

2020-06-01 13:46:41 1906 1

原创 如果优化order by和group by查询

前言在工作中,我们应该经常会遇到需要对查询的结果进行排序或者分组的情况。你是否会在意这两类 SQL 的执行效率呢?这篇文稿就一起讨论下如何优化 order by 和 group by 语句。order by 原理在优化 order by 语句之前,需要先了解 MySQL 中排序的相关知识点和原理,为了方便讲解过程举例说明,首先创建一张测试表,建表及数据写入语句如下:use muke; /* 使用muke这个database */drop table if exis

2020-06-01 09:21:45 722

原创 如何优化数据导入?

前言有些时候我们可能会遇到批量数据导入的场景,所以有些时候是很耗时的,这篇文章就介绍一些加快导入的方法一次插入多行的值插入行所需的时间由以下因素决定(参考MySQL 5.7参考手册:8.2.4.1优化INSERT语句)连接:30%向服务器发送查询:20%解析查询:20%插入行:10% * 行的大小插入索引:10% * 索引数结束:10%可发现大部分时间耗费在客户端与服务端通信的时间,因此可以使用 insert 包含多个值来减少客户端和服务器之间的通信。我们通过实验来验证下一次插入多行

2020-05-29 11:28:27 653

原创 条件字段有索引,为什么查询也这么慢?

前言大家都知道索引可以提高查询速度,但是有些时候会发现,有了索引反而查询变得比之前还慢了,甚至索引没起作用,那到底是因为什么,这篇文章就带着大家了解其中的原因下面会讲解几种有索引但是查询不走索引导致查询慢的场景。函数操作@查询数据时,可能很多时候会借助一些函数实现查询。有时可能我们关注的重心在是否能查出结果,往往忽略了查询的效率。现在就一起研究对条件索引字段做函数操作,是否能用到索引?...

2020-05-29 09:21:24 1232

原创 如何分析SQL执行效率(下)

前言这篇接着上篇继续介绍show profile 和 trace 分析sql的方法一 show profile 分析慢查询有时需要确定 SQL 到底慢在哪个环节,此时 explain 可能不好确定。在 MySQL 数据库中,通过 profile,能够更清楚地了解 SQL 执行过程的资源使用情况,能让我们知道到底慢在哪个环节。可以通过配置参数 profiling = 1 来启用 SQL 分析。该参数可以在全局和 session级别来设置。对于全局级别则作用于整个MySQL 实例,而 session

2020-05-28 15:03:25 820

原创 如何分析SQL执行效率(上)

前言SQL优化对于一枚程序员来说是至关重要的,并且大部分面试中,都会问道有关sql优化的一 些问题,这里将带着大家学会如何分析sql执行效率,首先要想优化一条sql语句,前提是我们要能够定位到查询慢的sql语句,并对其进行分析,找到慢查询的圆心,然后进行优化。定位慢 SQL大家在工作中测试的时候偶尔会碰到查询结果,超过一定时间才返回,这时我们就应该考虑是不是慢查询导致的,接下来让我们看看如果定位慢sql语句一 通过慢查询日志如果需要定位到慢查询,一般的方法是通过慢查询日志来查询的,MySQL

2020-05-28 15:01:44 1685

原创 索引提高查询速度原理

索引使用场景1.在一个或者一些字段需要频繁用作查询条件,并且表数据较多的时候,创建索引会明显提高查询速度,因为可由全表扫描改成索引扫描。2.对于需要频繁新增和修改记录的表,最好不要创建索引.索引原理不管数据表有无索引,数据缓冲区中查找所需要的数据,如果数据缓冲区中没有需要的数据时,服务器进程才去读磁盘。1、无索引,直接去读表数据存放的磁盘块,读到数据缓冲区中再查找需要的数据。2、有索引,先读入索引表,通过索引表直接找到所需数据的物理地址,并把数据读入数据缓冲区中。...

2020-05-28 14:49:08 992

转载 多线程(3):队列 BlockingQueue

简介在线程池中会经常使用BlockingQueue,BlockingQueue是一种阻塞队列,阻塞队列的特性:我在放的时候别人不能放,我在取的时候别人不能取,满的时候就不能再添加,等待有人取走,才能放public interface BlockingQueue<E> extends Queue<E> { // 添加成功返回true,否则抛出异常 boolean add(E e); // 添加成功返回true,失败返回false boolean of

2020-05-27 13:32:41 203

原创 spring的4种事务特征,5种隔离级别,7种传播行为

什么是事务(ACID)事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序 执行逻辑单元(Unit)。狭义上的事务特指数据库事务。一方面,当多个应用程序并发访问数据库时,事务可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。广义上讲,就是一组操作,事务让他,要么一起成功,要么一起失败。另一方面,事务为数据库操作序列提供了一个从失败中恢复到正常状态的方法, 同时提供了数据库即使在异常状态下仍能保持数据一致性的方法。事务特征(4种)1、原子性

2020-05-26 16:00:47 357

原创 为什么大多数项目的数据库都取消外键了(外键取消原因)

数据库外键如果一个字段a在一张表(表一)中是主关键字,而在另外一张表(表二)中不是主关键字,则字段a称为表二的外键;主键表和外键表的理解(1)以公共关键字(也就是两张表共有的字段)作主键的表为主键表(父表,主表)(2)以公共关键字(也就是两张表共有的字段)作外键的表为外键表(从表,外表)外键的作用主键保证了数据的唯一性,外键保证了数据的完整性。主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键

2020-05-26 14:03:02 2307 1

转载 多线程系列(2):线程池

简介:线程相对于进程属于轻量级,虽然线程是轻量级的,合理的使用线程池的好处有降低资源的消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度。当任务到达时,任务可以不需要等到线程池创建就能立即执行提高线程的可管理性。线程是稀缺资源,如果无限制的创建不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配,调优和监控。但是要做到合理利用线程池,必须对其实现原理了如指掌。一:常用类实际工作中很少显式的去创建线程,因为如果显式创建线程当并发很大时会使得内存耗尽(每个线程

2020-05-26 11:11:04 125

转载 多线程系列(1):创建线程和线程的常用方法

一:为什么要学多线程高级面试 :多线程几乎是面试中必问的题,所以掌握一定的基础知识是必须的。了解并发编程:实际工作中很少写多线程的代码,这部分代码一般都被人封装起来了,在业务中使用多线程的机会也不是很多(看具体项目),虽然代码中很少会自己去创建线程,但是实际环境中每行代码却都是并行执行的,同一时刻大量请求同一个接口,并发可能会产生一些问题,所以也需要掌握一定的并发知识二:进程与线程1. 进程进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并

2020-05-25 15:17:39 325

转载 docker是什么(快速入门)

几张图帮你理解 docker 基本原理及快速入门 什么是dockerDocker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。Docker 自开源后受...

2019-06-04 19:55:31 184

转载 ubuntu16.04下安装docker

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BingZhongDeHuoYan/article/details/79411479开始安装由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧...

2019-06-04 19:45:56 134

转载 ubuntu16.04中安装的软件不显示顶部菜单的决绝办法(包括idea)

ubuntu16.04中安装的软件不显示顶部菜单的决绝办法(包括idea) 版权声明:转载请注明出处, https://blog.csdn.net/qq_34039018/article/details/89328302 以Su...

2019-06-04 19:40:40 1346

空空如也

空空如也

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

TA关注的人

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