自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Logicr的博客

学习学习学习

  • 博客(181)
  • 资源 (1)
  • 收藏
  • 关注

原创 IDEA new ui 找不到evaluate

idea升级新版本之后,发现熟悉的evaluate不见了,只能通过快捷键启动,未免太麻烦了,如何像旧版一样添加图标直接点呢?

2024-04-08 19:05:39 361 1

原创 Linux设置免密登录失败

刚刚弄了一台vps,准备做个免密,发现失败了。查了下说是权限问题。至于为啥我现在还不能解释。权限指令是不是忘记了,[

2022-07-16 15:11:34 420 1

原创 Java 死锁分析

用两个线程,两个对象,线程a锁住obj1然后再去锁obj2,线程b锁住obj2然后去锁obj1。这时候线程a持有obj1的锁,线程b持有obj2的锁,当等待时间结束,就会互相等待锁,形成死锁。输出查看死锁执行输出输出分析:可以看到有一个deadlock,线程信息Thread-1锁住了0x000000076ae31540,等待0x000000076ae31530的锁,而线程Thread-0 锁住 ,等待0x000000076ae31540的锁,相互等待对方释...

2022-07-09 16:08:20 293

原创 shell for while 一行

for/while 一行

2022-06-25 15:48:35 450

原创 MySQL count(1) 和count(*)区别,那个快?

参考5.7官方文档,在InnoDB中:翻译:InnoDB 以相同的方式处理 SELECT COUNT(*) 和 SELECT COUNT(1) 操作,性能上没有差异。https://dev.mysql.com/doc/refman/5.7/en/aggregate-functions.html ↩︎

2022-06-21 14:55:15 171

原创 m1打字输入延迟

最近发现电脑打字输入有时候会不同步,就感觉像是电脑卡了一样,我都打完一句话了,才慢悠悠的出来几个字。这个问题我找了很久,直到在一个帖子1中看到这样的内容:确实我用也是谷歌浏览器,尝试重启了下,问题果然得到了解决。附带再赠送一个知识点(仅针对谷歌浏览器):由于浏览器打开了好多窗口在 学习,但是随便关闭的话会丢失,这个让我总是畏惧重启浏览器,而事实上,我们常常说的重启浏览器是:关闭浏览器,打开浏览器。而真正的重启浏览器是:chrome://restart/感觉重启一下吧!https://v2ex.com

2022-06-12 15:03:53 1126

原创 IDEA 关闭/开启引用提示Usages

前言用了个主题,发现多了个Usages提示看起来没什么影响,但是当我想象写注释的时候,就忍不住在这行使劲点,非常的别扭。如何关闭官方指南:Show inlay hints for usages1.In the Settings/Preferences dialog (⌘ ,), go to Editor | Inlay Hints .2.From the available options, select Code Vision and enable the Show hints for:

2022-05-25 00:02:26 21708 11

原创 jmap Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are...

查询JVM内存时,运行jmap,发现报错:jmap -heap 88301Attaching to process ID 88301, please wait...Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.Native

2021-10-27 10:27:36 707

原创 [2022-06-21 完美解决]MacBookPro 2020 M1 开启2k HIDPI

一、背景最近刚入手mbp m1芯片版本,到手当然是一顿操作,一键打开hidpi,重启之后发现没什么效果,我以为是操作问题,于是又操作重启了几次,几次之后发现还是不行,我才发觉其中隐隐有问题,因为我用mbp2015也是没问题的。二、问题排查首先我试了其他软件开启的方法,发现均无效。后来搜索得知,大概问题M1芯片适配问题,导致无法通过软件来解决问题。三、解决方案在知乎上有一种成功的方案,第一次看反正挺复杂的,因为里面用到一堆我不知道的乱七八糟的东西。经我认真研究,简要归纳如下:一个诱骗器(Evan

2021-09-21 11:52:02 13096 7

原创 IDEA rundebug configurations 导入配置

IDEA run/debug configurations 导入配置1.引言通常我们clone的项目是没有附带配置的,但是没有配置却难以启动,特别是新人不熟悉项目的时候,会浪费大量时间来排查配置不当引发的一系列异常。2.如何导入对于公司,大部分项目都会使用相同的配置项,比如jetty,Main class,JDK版本,以及一些特殊配置。现在假设要从项目A中复制配置到新clone的项目B中。在A的run/debug configurations中,点击右边的”Store as project fi

2021-06-02 19:09:29 5237 3

原创 Optional使用

文章目录一、引言二、方法介绍1.Optional.of()或者Optional.ofNullable()2.Optional.empty()3.isPresent()4.ifPresent(Consumer consumer)5.orElse(value)6.orElseGet(Supplier supplier)7.orElseThrow()8.filter(Predicate)9.map(Function)10.flatMap()11.T get()12.boolean isPresent()13.fr

2021-05-30 21:48:08 468

原创 Java 日志框架

文章目录一、日志框架1、简介(1)日志门面和日志实现(2)SLF4j的使用(3)SLF4j2、日志的级别(1)测试(2)日志的配置3、指定配置4、日志框架统一二、log4j2 xml文件配置[^1]1. Appenders和Loggers简介(1) 根节点Configuration有两个属性:status和monitorinterval,有两个子节点:Appenders(进行日志输出)和Loggers(表明可以定义多个Appender和Logger).(2) Appenders节点,常见的有三种子节点:Co

2021-05-30 20:21:57 205

原创 Big Sur IDEA 新开项目不是独立窗口解决方案

在之前的版本中,在IDEA中设置新开窗口打开项目,项目会以独立的窗口显示,但是我发现在Big Sur系统下,IDEA总是在当前项目新开一个标签打开,这让人很烦闷。一开始我以为是IDEA问题,在几经波折之后,我发现是系统问题需要在系统设置:系统设置-通用-标签页打开文档 设置为“永不”,可以修复。参考...

2021-05-23 14:02:05 1192 1

原创 Java 程序优雅关闭

JVM支持在程序kill的时候根据kill 信号进行优雅关闭。首先我们需要在Runtime.getRuntime().addShutdownHook(thread);中注册要执行的内容。public class GracefulTest { public static void main(String[] args) throws InterruptedException { Runtime.getRuntime().addShutdownHook(new Thread(()-&

2021-04-23 15:46:13 251

原创 比较两个文本的不同

diff -yB --suppress-common-lines old.txt new.txt-B忽略空行,-y分两列,–suppress-common-lines 不输出相同行,分左右显示不同行

2021-04-08 10:44:17 602

原创 多线程面试题:循环打印ABC

那天面试,面试官让我写这么一道题,有三个线程ABC,让我打印10次ABC。这题看起相当的简单,以至于我没写出来哈哈哈。而且那个狗屎在线编辑器想好好写代码是不可能的,因为我已经习惯了一套行云流水的快捷键,到在线编译器框框里面我感觉我就是原始人,无从下手。好了,吐槽就这么多,这个题目还贴心的放了模板。public class TestThread { public static void main(String[] args) { MABC mabc = new MABC();

2021-04-03 13:16:25 862 1

原创 找出大于10k的文件并移动到指定文件夹下

用-exec 来执行command指令,{}表示查找的内容,注意在mac系统下;需要加\转义。例子:将当前目录下>10k的文件移动到 new目录下。find ./ -size +10k -exec mv {} new/ \;如何创建指定大小的空文件?例子:创建一个名为b.txt 的20k的空文件到当前目录。dd if=/dev/zero of=b.txt bs=20k count=1...

2021-03-21 17:27:22 1581

原创 Java 中 null 是关键字吗

突然产生一个疑问:Java 中 null 是关键字吗?于是我google了一下:这些博客为什么都长一样暂且不讨论,就这个权重第一的答案我认为有问题。为了严谨些,在官方文档中寻求答案往往是最可靠的:1While true and false might appear to be keywords, they are technically boolean literals (§3.10.3). Similarly, while null might appear to be a keyword, it

2021-03-02 17:30:12 2190

原创 git 撤销所有 merge

无意间切换到了一个别人的分支并且merge了git merge xxx看到大量的代码在合并,我觉得还是把这个分支回滚比较好. git status位于分支 xxx您的分支领先 'origin/xxx' 共 218 个提交。 (使用 "git push" 来发布您的本地提交)200多的个提交说明这个分支闲置很久了,为避免挨打(万一是别人的)而网上提供的回滚方案是:git reset --hard 1d7444 #回退到出错版本前一个commit这种方案适用于头脑清楚做事严谨的,me

2021-02-08 16:04:44 249

原创 Mac Linux 文件权限-rw-r--r--后面有个@

在mac里面查看文件时,无意中发现有的权限后面带了一个"@"。好奇心很强的我必须知道那是啥玩意。在这个帖子里"ls" on Mac and extended file attributes找到了答案,实际上人家标题就说明了,这是mac的拓展文件属性。这里就引申出来一个指令"xattr",man一下可以看到详细的描述。XATTR(1) BSD General Commands Manual XATTR(1)NAME xa

2021-01-20 18:37:24 3312

原创 Linux 打印文件某几行

有这样的面试题:Linux 打印文件第 10-20 行。在此之前,先造一点数据用于打印测试吧:i=1;while [ $i -le 100 ];do echo "$i 行,测试测试,over。" >> test.txt;let i++ ;done;这里简单写了个循环,造了100行数据,长这个样子然后来解决打印10-20行的问题,这里要使用的指令是sed1sed -n '10,20p' test.txt输出:-n 按行输出,单引号内的是执行区间10-20,p是打印指令。2拓

2021-01-19 17:55:45 2651

原创 mac mysql设置开机自启

电脑重启之后发现本地mysql总是连不上,后发现是没有启动,一般需要手动重启: mysql.server start Starting MySQL SUCCESS!每次都要手动操作未免也太麻烦了,索性设置自启:sudo cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist /Library/LaunchAgentslaunchctl load homebrew.mxcl.mysql.plist...

2021-01-18 15:44:21 1060 1

原创 MySql JSON数据类型使用

前言从 MySQL 5.7.8 开始,MySQL 支持由RFC 7159定义的本机JSON数据类型,该类型可有效访问 JSON(JavaScript 对象 表 示法)文档中的数据。与将 JSON 格式的字符串存储在字符串列中相比,JSON数据类型具有以下优点:自动验证存储在JSON列中的 JSON 文档。无效的文档会产生错误。优化的存储格式。存储在JSON列中的 JSON 文档将转换为内部格式,从而可以快速读取文档元素。当服务器稍后必须读取以该二进制格式存储的 JSON 值时,则无需从文本表示形式解

2021-01-13 15:47:39 933

原创 Java8新的时间和日期API LocalDateTime等使用

前言在之前版本的时间处理上,存在各式各样的缺陷或不易于使用1。但是在实际的开发中,Date类、SimpleDateFormat类仍然在使用,既然官方都给出了新的替代品,为什么不学习使用呢?LocalDateTime等位于java.time包下,专门用于处理时间2:挑一些常用的来学习一下:获取当前时间:public static LocalDateTime now()从默认时区的系统时钟获取当前的日期时间。返回值:当前日期时间使用系统时钟和默认时区,不为空使用: LocalDate

2021-01-12 19:18:55 505

原创 SpringBoot Security 启动过程

启动流程图Tomcat中StandardWrapperValve类调ApplicationFilterFactory获取filterChainspringSecurityFilterChain等放到数组里获取FilterChain对象,传给DelegatingFilterProxy这个代理类处理获取DelegatingFilterProxy bean获取代理对象delegate,传入invokeDelegateFilterChainProxy extends GenericFilterBean 代理类开始工

2020-12-30 18:39:35 240

原创 apache源码中关于Java “goto“ label使用

在源码中无意看到了label的使用,注意label使用一种用法而不是关键字。在 package org.apache.catalina.core;的final class StandardWrapperValve extends ValveBase {}中看到这段代码。catalina是Tomcat的核心组件,提供T了omcat servlet规范的实际实现1 ...... label1177: { label1178: {

2020-12-29 17:56:28 212

原创 httpServletRequest.getQueryString()返回null

由于项目中有在使用GET请求时,请求参数包含特殊字符发生截断,想着使用POST方法,但是是在测试请求时发现接口返回参数异常:java.lang.IllegalArgumentException: Source string may not be null at org.apache.http.util.Args.notNull(Args.java:54) at org.apache.http.entity.StringEntity.<init>(StringEn

2020-12-25 11:41:28 3755

原创 SpringBoot Security+JWT授权验证模块使用

简介通过JWT每次请求带上token可以进行无状态登录,不必保存Session等。创建在IDEA中使用Spring Initializr创建一个Security项目,注意,创建之后maven是不可用的,还需要添加maven支持,模块右键,Add Framework Support,选择maven。依赖添加JWT依赖,和一个web依赖包,毕竟要用来登录认证。 <!--jwt--> <dependency> <groupId>io.jsonwebtok

2020-12-23 18:59:09 1285

原创 IDEA创建创建项目避坑

构建mvn模块1.本来想用maven的项目模板来着,整半天不是这下不来就是那编译不过。。。。2.用Spring Initializr吧在这里选好,会给我们创建一个带有security依赖的pom。不过这样创建的项目还需要添加maven支持,模块右键,Add Framework Support,选择maven,之后maven会根据pom自己去下包,漫长的等待。3.使用空模板使用quickstart模板在Generating project in Batch mode这里卡半天,跟第一种

2020-12-23 15:37:04 183

原创 google chrome删除默认表单填充内容

chrome的默认填充功能非常好用,但是有时候会记录一些敏感或者错误的数据,又不想关掉这个功能,只想删除某些内容:mac Shift + Fn + Backspacewin Shift + Backspace

2020-12-21 17:59:49 1179

原创 linux多台服务器免密登录

生成公钥ssh-keygen拷贝公钥/root/.ssh/id_rsa.pub内容到目标服务器/root/.ssh/authorized_keys中(如果没有创建一个)服务器之间文件传输上传:scp -r local_folder remote_username@remote_ip:remote_folder下载:scp -r remote_username@remote_ip:remote_folder local_folder拓展如何对A、B、C、D、E服务器之间相互免密?将

2020-12-16 17:41:55 397

原创 SpringAOP基于XML、注解快速上手

前言AOP相关概念就不说了,复制粘贴没意思,本文主要是把概念转化为实际应用,让虚无的概念落地。工程结构首先,做一个基于Xml的,全程不使用注解(但是注解是真的方便)。写一个简单的接口,用于后面的AOP进行切片。接口IworkerAop打工人接口,专门提供打工方法。public interface IworkerAop { /** * 打工人要干活儿 */ void work(); void work(String ...args);//用来测试参数

2020-12-13 16:13:28 128

原创 io.lettuce.core.RedisCommandTimeoutException: Command timed out

最近发现一个异常,redis老是时不时的报Command timed out14:25:29.547 org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out14:25:29.547 at org.springframework.data.redis.

2020-12-12 16:10:11 394 1

原创 linux查看端口连接数情况

工具yum install -y net-tools8088端口的tcp数:netstat -nat | grep "8088"-n:不显示别名-a:显示全部连接-t:使用tcp

2020-12-08 16:22:55 946

原创 linux查看网卡带宽

sudo ethtool em1em1是网卡名,ifconfig命令查看网卡,结果中的Speed就是网卡带宽

2020-12-08 16:07:47 1358

原创 使用iostat查看磁盘IO

iostat[参数][时间][次数]如[root@localhost data]# iostat -dm 1 10Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 12/05/2020 _x86_64_ (32 CPU)Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtnsda 8.44 0.09

2020-12-05 15:48:55 715

原创 使用dd测试磁盘IO速度

写dd if=/dev/zero of=tmp bs=1m count=10240 oflag=direct读dd if=tmp of=/dev/null bs=1m count=10240 iflag=direct

2020-12-05 14:17:10 423

原创 Mac IDEA 查看继承实现关系图快捷键

command+option+shift+u

2020-11-30 09:25:12 4197 2

原创 Spring 使用Xml注入bean全过程

`loadBeanDefinitions(beanFactory);`在`AbstractXmlApplicationContext`中,做了非常多的事情,重载了很多种,太长了就不全部截取了。在`XmlBeanDefinitionReader类`的`loadBeanDefinitions`方法调用`doLoadBeanDefinitions`方法其中做了两件事: 1. `Document doc = doLoadDocument(inputSource, resource);`通过`JAXP`解析

2020-11-29 15:29:07 4422 1

原创 Mybatis使用xml配置方式启动

前面做了零xml的mybatis配置启动,但是官方给出的意见是:…映射器类是 Java 类,它们包含 SQL 映射注解从而避免依赖 XML 文件。不过,由于 Java 注解的一些限制以及某些 MyBatis 映射的复杂性,要使用大多数高级映射(比如:嵌套联合映射),仍然需要使用 XML 配置.单击main,command+n,点击下面的resources在config层新建一个MybatisConfigXml类public class MybatisConfigXml { priva

2020-11-24 19:14:05 242

空空如也

空空如也

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

TA关注的人

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