自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

站在搜素引擎上的巨人

转载的博文只是为了日后学习备用,若侵害到了原著者的权益,可联系删除。

  • 博客(124)
  • 资源 (10)
  • 收藏
  • 关注

原创 LINUX 查找Tomcat日志关键词

1、根据关键字查询:#查询catalina.out日志文件中的关键词为2016-04-13 11:26:00的日志信息grep -C 10 '2016-04-13 11:26:00' catalina.out |more 或者从前往后 cat /logs/web-android/webAndroid.log |grep 'createOrder' |more从后往...

2018-06-10 16:18:41 5940

原创 DevTools手机使用

谷歌:chrome://inspect/#devices微软:edge://inspect/#devices手机:http://debugxweb.qq.com/?inspector=true

2022-03-21 17:39:10 647

原创 SpringBoot JUnit 5 中关于@Spy、@Mock和@InjectMocks注解的使用总结

@Spy和@Mock的区别: @Spy修饰的属性里面的方法可以按照真实情况执行,在需要的时候可以打桩模拟执行结果,使用方式是Mockito.doReturn().when()--全都执行,有需要在改。 @Mock修饰的属性都是null,在执行单元测试的时候每个方法都需要打桩模拟执行结果,使用方式是Mockito.when().thenReturn()--全部不执行,避免意外。 <p> <p> <p> @Spy和@InjectMocks...

2022-01-15 17:03:41 8942

原创 java 对象创建过程

一、基本知识一个对象的创建过程包含两个过程:初始化<clinit>和实例化<init>我们在使用一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。实例化时候,java虚拟机就会为其分配内存来存放自己及其从父类继承过来的实例变量。在为这些实例变量分配内存的同时,这些实例变量先会被赋予默认值(零值)。在内存分配完成之后,Java虚拟机才会对

2021-05-17 09:29:43 208

原创 java中init()和clinit()方法

<clinit>(初始化):在jvm第一次加载class文件时调用,包括静态变量初始化语句和静态块的执行,在同一个类加载器下,一个类型只会被初始化一次<init>(实例化):在实例创建出来的时候调用,包括调用new操作符;调用Class或java.lang.reflect.Constructor对象的newInstance()方法;调用任何现有对象的clone()方法;通过java.io.ObjectInputStream类的getObject()方法反序列化。(1)&lt

2021-05-15 18:27:58 684

原创 Java四种引用类型

hashmap/list/JUC/springMvc/spring bean生命周期/aop/feign/Hystrix/eureka/循环依赖/mybatis原理/redis/redis过期淘汰策略/持久化策略/数据类型用处/分布式锁/秒杀系统设计/mysql mvcc/mysql 事物原理/mysql索引原理数据结构/mysql锁/mq/分布式事务/线程池/二分查找/二叉树的前中后序遍历...

2021-04-29 16:44:18 115 1

转载 Java对象创建过程以及组成结构

1. 对象的创建 类加载 虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类到符号引用,并检查这个符号引用代表到类是否已经被加载、解析和初始化。如果没有,那必须先执行相应的类加载过程。 分配内存 接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。 内存初始化 内存分配完成后,虚拟机需要将分配到到内存空间都初始化为零值(不包括

2021-04-21 09:45:18 132

原创 hashMap1.7和1.8的扩容机制条件

JDK1.7 具体put是否扩容需要两个条件1、 存放新值的时候当前已有元素的个数必须大于等于阈值2、 存放新值的时候当前存放数据发生hash碰撞(当前key计算的hash值换算出来的数组下标位置已经存在值)扩容方法是在addEntry方法中void addEntry(int hash, K key, V value, int bucketIndex) {    //1、判断当前个数是否大于等于阈值    //2、当前存放是否发生哈希碰撞    //如果上面两个条件否发生,那么就扩容

2021-04-11 13:01:59 4008 4

原创 Java死锁产生的四个条件

死锁的四个条件:1. 互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用2. 不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占用者主动释放3. 请求和保持,即当资源的请求者在请求其他的资源的同时保持对原有资源的占有4. 循环等待,即存在一个等待队列: P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个等待环路。当上述四个条件都成立,便形成死锁。import java.util.Date; pub...

2021-04-09 17:29:19 618

原创 Redis的缓存淘汰策略

1、noevication:直接抛出异常,不再接收新数据2、allkeys-lru:从所有键中淘汰最久没有使用的数据3、volatile-lru:从设置了过期时间的键中淘汰最久没有使用的数据4、allkeys-lfu:从所有键中淘汰使用频率最少的数据5、volatile-lfu:从设置了过期时间的键中淘汰使用频率最少的数据6、allkeys-random:从所有键中随机淘汰数据7、volatile-random:从设置了过期时间的键中随机淘汰数据8、volatile-ttl:从设置了过期...

2021-03-19 10:14:24 234

原创 MySQL杂记--三大日志binlog、redo log、undo log

提问1: 为啥 Binlog 没有 crash-safe 功能?redo log 和 binlog 有一个很大的区别就是,一个是循环写,一个是追加写。也就是说 redo log 只会记录未刷盘的日志,已经刷入磁盘的数据都会从 redo log 这个有限大小的日志文件里删除。binlog 是追加日志,保存的是全量日志。当数据库 crash 后,想要恢复未刷盘但已经写入 redo log 和 binlog 的数据,binlog 是无法恢复的。虽然 binlog 拥有全量的日志,但没有一个...

2021-03-10 18:19:54 192

原创 linux java 常用命令

常用命令top //查看cpu进程占用情况 top -Hp pid //查看某个 pid子进程占用情况 printf "%x" pid //pid16进制转换 jstack pid grep 16进制的线程号 //查看该子进程占用的进程代码块 jstat -gcutil pid interval //按interval定时打印gc情况 jmap -histo:live pid | more //查看当前pid各个对象实例占用大小,降序排列 jmap -heap pid // 查看当前堆栈内存分

2021-03-03 17:38:53 118 1

转载 jstack Dump 日志文件中的线程状态

jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注) 暂停,Suspended 对象等待中,Object.wait() 或 TIMED_WAITING 阻塞,Blocked(重点关注) 停止,ParkedDump文件中的线程状态含义及注意事...

2021-03-03 17:23:30 404 1

转载 SQL 某状态耗时过多的优化

1. 引言此前的文章中,我们介绍了mysql最常用的存储引擎–innodb的性能优化。主要围绕参数、索引设置等方面进行。MysqlInnodb性能优化事实上,在实际使用中,最为常见的性能问题大多是不合理的使用方式,即sql语句的问题引起的,因此与参数、索引优化相比,直接优化和修改sql语句获得的收效往往更加明显。本文,我们就来看看如何查看mysql中正在运行的sql语句的状态,以及如何进行相应的优化。2. 查看sql执行状态2.1. 查看正在执行的SQ...

2021-02-25 14:54:48 1057

原创 go 1.15.2 go env -w 设置GOPROXY报错

安装了go1.15.2版本后设置GOPROXY报如下错误: go env -w GOPROXY=*** warning: go env -w GOPROXY=... does not override conflicting OS environment variable 解决方法:go env unset GO111MODULE=ongo env unset GOPROXY=https://goproxy.cn,direct原因:之前安装go12版本时候,用环境变量的.

2021-02-09 11:40:11 3036 2

原创 Spring循环依赖三级缓存--白话版

// 一级缓存 缓存完成初始化的bean 完成整个生命周期private final Map<String, Object> singletonObjects = new ConcurrentHashMap(256);// 三级缓存 缓存bean工厂private final Map<String, ObjectFactory<?>> singletonFactories = new HashMap(16);// 二级缓存 缓存早期暴露的bean 还未完成生命周期

2021-02-05 15:02:28 224

转载 数据库三大范式通俗理解

数据库三大范式:范式的简介范式的英文名称是Normal Form,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。数据往往种类繁多,而且每种数据之间又互相关联,因此,在设

2020-11-17 11:12:03 156

原创 HashMap 死循环

在多线程环境中,使用HashMap进行put操作时会引起死循环,因为在HashMap本来就不支持多线程使用,要并发就用ConcurrentHashmap。 会导致死循环是在jdk1.7中,由于扩容时的操作是使用头插法,在多线程的环境下可能产生循环链表,由此导致了死循环。在。jdk1.8中改为使用尾插法,避免了该死循环的情况,暂无此问题。在创建了新的数组之后调用transfer方法来完成元素的迁移操作,具体迁移逻辑如下: /** * Transfers all...

2020-11-11 20:24:31 900 2

原创 初始化fabric时提示:dial unix /host/var/run/docker.sock: connect: no such file or directory

使用的mac,我在初始化fabric网络时遇到一个报错:Error: Could not assemble transaction, err Proposal response was not successful, error code 500, msg error starting container: error starting container: Post http://unix.sock/containers/create?name=dev-peer0.org2.example.com-my

2020-11-04 19:07:08 3431 9

原创 Fabric --知识点杂记

区块区块链是由一个区块链表定义的,每个区块包含它在链中前一个区块的哈希。区块包含的另外两个重要信息是它包含区块执行所有交易后的交易列表和世界状态的哈希message Block { version = 1; google.protobuf.Timestamp timestamp = 2; bytes transactionsHash = 3; bytes stateHash = 4; bytes previousBlockHash = 5; bytes consensus.

2020-11-03 16:22:27 276

原创 Java知识点----ThreadLocal杂记

ThreadLocalThreadLocal实际是操作ThreadLocalMap的入口,只有传递参数的作用,并不会直接持有数据,真正存储数据的是其静态内部类ThreadLocalMap,ThreadLocal的属性包括当前线程和要保存的值,ThreadLocal只是提供set/get方法,通过ThreadLocal将Thread赋给ThreadLocalMap的key,想要保存的值赋给ThreadLocalMap的value,所以一个ThreadLocal=一个Thread=一个要保存的值=全局...

2020-10-30 15:39:31 174

原创 复杂业务重构----俄罗斯套娃

/** * @author ; 俄罗斯套娃 * @Description 复杂业务逻辑里一个方法套另一个方法,被嵌套的方法在套下一个方法,依次类推,嵌套N多层。 * 在方法开始处一个事物管所有,然后业务逻辑里面充斥着第三方远程接口调用,大SQL处理等耗时操作。 */class MatryoshkaDoll_1 { @Autowired Servere_1 servere_1; @Transactional(rollbackFor = Exception.class, t.

2020-08-28 17:46:02 322

转载 树莓派arm64下搭建fabric1.4的raft多机部署

区块链环境搭建 基于 ARM-v8 CPU 架构的服务器服务器信息:CPU: 华为鲲鹏CPU 架构: ARM v8系统: CenOS-AltArch 7.6相关工具安装yum 更新yum update安装 VIM/gcc/Git/curl 工具软件yum install VIM yum install gcc yum install Git yum install curl安装 pip,python-pip这一步根据实际提示去操作, 步奏省略...

2020-08-26 17:47:04 1048

原创 Oracle 官网登录账号

Oracle 官网下载 JDK需要账号登录方可下载,如果不想麻烦注册一个账号,可以免费借用别人的账户老外记录的一些 oracle 账号,亲测可用,提供给大家避免注册账号的麻烦。http://bugmenot.com/view/oracle.com...

2020-08-12 18:31:42 1002

原创 SourceTree Win10配置

SourceTree 在Win10系统下很是不友好,要有好几处需要额外配置:$ git config --global user.name "咚咚锵"$ git config --global user.email "[email protected]"$ ssh -T [email protected]$ git config http.sslVerify "false"$ git config http.postBuffer 524288000$ git config --globa

2020-07-06 21:30:47 607

原创 TCP之三次握手与四次挥手

三次握手三次握手的过程是为了确认双方的接收与发送能力是否正常。1、第一次握手:客户端给服务器发送一个 SYN 报文。2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK 报文。3、第三次握手:客户端收到 SYN+ACK 报文之后,会回应一个 ACK 报文。4、服务器收到 ACK 报文之后,三次握手建立完成。为啥只有三次握手才能确认双方的接受与发送能力是否正常?而两次却不可以:第一次握手:客户端发送网络包,服务端收到了。这样服务端就能得出结论:客户端的发.

2020-06-07 12:45:49 1161

原创 MySQL事物记录

1、事务的四大特性(ACID)1.1、原子性(Atomicity)原子性是指事务包含的一系列操作要么全部成功,要么全部回滚,不存在部分成功或者部分回滚,是一个不可分割的操作整体。1.2、一致性(Consistency)数据库总是从一种一致性状态转换到另一种一致性状态,有非法数据时,事务回滚,任何事务处理过程中所做的数据改变,也不会影响到数据库的内容。 1.3、隔离性(Isolation)隔离性是指当多个用户并发操作数据库,比如操作同一张表,数据库为每一个用户开启的事务...

2020-06-06 18:40:43 437

原创 分布式CAP定理记录

1.CAP原则又称CAP定理 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这三个基本需求,最多只能同时满足其中的2个,CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。2. 一个栗子????如图所示,假设一个分布式系统正常运转的流程2.1、Consistency 一致性一致性指的是所有节点在同一时间的数据完全一致。对用户来说,就好像是操作了同一个数据库的同

2020-06-06 17:57:09 211

转载 Mac 解决brew一直卡在Updating Homebrew

运行命令brew install node,结果界面一直卡在Updating Homebrew...上,有两种解决办法方法一:直接关闭brew每次执行命令时的自动更新(推荐)vim ~/.bash_profile# 新增一行export HOMEBREW_NO_AUTO_UPDATE=true方法二:替换brew源cd "$(brew --repo)"gi...

2020-02-28 14:46:49 2588

原创 Spring Boot tess4j 开源图像识别之异常

这个错误原因是在服务器上没有安装tesseract(1)如果服务器是ubuntu,那么运行下面这个命令:sudo apt-get install tesseract-ocr(2)如果服务器是CentOS的话,查了许多资料,看似解决起来很麻烦,但是实际上只运行下面这个命令即可:yum install tesseract(3)但是我的开发电脑是MAC,这就尴尬了。其实,是因...

2020-02-28 14:45:49 852

转载 SpringBoot打成jar运行后无法读取resources里的文件

开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了File file = ResourceUtils.getFile(ResourceUtils.CL...

2020-02-21 14:33:31 2141 1

转载 从一个git仓库迁移代码到另一个git仓库

不保留log等提交的记录的迁移就不说了,soeasy!目标:把A仓库的代码迁移到B仓库并且保存所有的git log,B仓库已经存在了哦,哪怕是个空仓库。再说这个之前先说点其他。在使用git的时候我们可能见到这样的命令。不想看解说想直接看步骤的往下翻git pull origin master //拉取远程master分支的代码git push origin master //把代码...

2019-12-12 18:38:45 1105

转载 git如何删除已经提交的文件夹

在上传项目到github时,忘记忽略了某个文件夹.idea,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的.idea文件夹删除前:删除后:在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决首先进入你的master文件夹下, Git Bash Here ,打开命令窗口$ git --help...

2019-12-11 16:31:29 2808

转载 SpringBoot根据不同的条件,加载不同的bean

Spring还提供了很多Condition给我们用@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)@ConditionalOnMissingBean(...

2019-12-05 19:09:37 2662

转载 spring boot 入门 使用spring.profiles.active来分区配置

很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置springboot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,然后通过在appl...

2019-12-05 14:03:50 563

转载 mysql中tinyint、smallint、int、bigint的区别

tinyint从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为1 个字节。unsigned 是从 0 到 255 的整型数据。所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小...

2019-11-28 17:14:12 199

转载 MySQL 数据类型(float)的注意事项

知识点: float:浮点数,单精度,占4字节。测试root@localhost : test 05:49:32>create table fl(id int,fl float);Query OK, 0 rows affected (0.05 sec)root@localhost : test 05:49:40>insert into fl values(1,1...

2019-11-28 14:00:29 200

原创 SpringBoot前端传参Date类型

1、针对json格式:在配置文件中加以下配置 spring.jackson.date-format=yyyy-MM-dd spring.jackson.time-zone=GMT+8 spring.jackson.serialization.write-dates-as-timestamps=false 利用它的pattern属性来进行时间的格式化,利用timezone属性来解...

2019-11-14 14:54:24 2393

原创 记一次MySql手动开启事物的过程

最近因为需要通过SQL导入一批外部数据,在SQL的编写阶段为了不在数据库产生垃圾数据,用到了MySql中InnoDB存储引擎的事物特性。MySql版本:select version();MySql当前会话隔离级别:select @@tx_isolation;MySql当前存储引擎:show variables like '%storage_engine%';首先创建数据...

2019-11-12 20:55:05 307

原创 记一次java.lang.OutOfMemoryError: unable to create new native thread

记录一次因为第三方工具使用不当引发的服务器内存被耗尽,导致Java服务无法创建新线程的OOM,当时太忙没有抽出时间来记录,现在只能凭借记忆和其他文章来还原当时问题的排查流程日后备用。问题发现: 这个问题是在开发新需求时,在测试环境被暴露出来的,测试反馈说所有的接口突然都调不通了。解决流程:1、接口报异常连上服务器tail日志,这个是当时日志报出的异常现场截...

2019-09-18 13:43:21 1020

微信支付功能(maven构建的springMVC项目)

微信支付功能(maven构建的springMVC项目)

2017-05-22

bank国内全部银行BIN号数据库

bank国内全部银行BIN号数据库

2017-05-10

apache-cxf-3.1.9.zip

apache-cxf-3.1.9.zip

2017-01-17

pdksh-5.2.14-30.x86_64.rpm

pdksh-5.2.14-30.x86_64.rpm

2016-07-21

elfutils-libelf-devel-static-0.152-1.el6.i686.rpm

elfutils-libelf-devel-static-0.152-1.el6.i686.rpm

2016-07-21

elfutils-libelf-0.125-3.el5.i386.rpm

elfutils-libelf-0.125-3.el5.i386.rpm

2016-07-21

compat-libstdc++-296-2.96-144.el6.i686.rpm

compat-libstdc++-296-2.96-144.el6.i686.rpm

2016-07-21

compat-gcc-34-c++-3.4.6-19.el6.x86_64.rpm

compat-gcc-34-c++-3.4.6-19.el6.x86_64.rpm

2016-07-21

compat-db-4.2.52-5.1.x86_64.rpm

compat-db-4.2.52-5.1.x86_64.rpm

2016-07-21

maven-archetype-quickstart-1.1.jar

创建maven工程报错 Could not resolve archetype org.apache.maven.archetypes 下载最新版maven-archetype-quickstart-1.1.jar 2.cmd窗口执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfile=d:\down\maven-archetype-quickstart-1.1.jar 红字是你jar包放在的位置

2016-07-01

空空如也

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

TA关注的人

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