java基础/js
文章平均质量分 57
王树民
大JAVA
展开
-
IntelliJ Idea错误提示 Could not autowire. No beans of ‘‘ type found
现象:如下图所示,出现Could not autowire. No beans of '' type found的错误提示;解决方法:降低Autowired检测的级别,改为warning设置路径:file -> settings -> editor -> Inspections ->Spring -> Spring Core -> Code -> Autowiring for Been Class;其他解决方案及本文参考文档地址...原创 2022-01-21 10:52:22 · 1914 阅读 · 0 评论 -
Mybatis 中$与#的区别
Mybatis 中$与#的区别1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于select id,name,age from student where id ='1'.2 $是将传入的数据直接显示生成sql语句,eg:select id,name,age from student where id =${id},当前端把id值1,传入到后台的时候,就相当于...原创 2021-06-28 17:41:14 · 211 阅读 · 0 评论 -
分布式锁的性质jedis
可靠性。首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。代码实现 组件依赖首先我们要通过Maven引入Jedis开源组件,在pom.xml文件加入下面的代码:redis.cl...原创 2021-01-23 16:33:54 · 234 阅读 · 0 评论 -
微服务和大数据性能指标参考和相关组件
发布时间:19-07-1720:12一、引言本文题为微服务和大数据性能指标参考,但实际上,无论是单体架构还是分布式架构、数据规模如何,在设计和开发各种功能性模块时,都需要提前考虑高性能需求水平并按需设计,对各种性能指标进行合理评估,从而尽量减少代码重构的可能性。在完成功能模块的开发以后,还需要使用各种压力测试工具进行性能测试,从而判断代码是否能够满足性能要求,并找出性能瓶颈所在。为了作出更加合理的性能评估值,我们需要先大概的了解一些常用的计算机操作所消耗的时间,从而心中有数的设计...原创 2021-01-12 10:08:57 · 1815 阅读 · 0 评论 -
SpringBoot项目中文件上传与下载?
一、文件上传@ApiOperation(value = "文件上传", notes= "文件上传")@PostMapping("/upload")public Result upLoadFile(@ApiParam(value = "选择需要上传的文件",required = true) MultipartFile file){ if (file.isEmpty()){ return Result.error(CodeMsg.ERROR); } Str...原创 2021-01-07 17:44:59 · 385 阅读 · 0 评论 -
idea git的使用(四)git建立分支与合并分支
1. 为什么要建立分支git默认的主分支名字为master,一般团队开发时,都不会在master主分支上修改代码,而是建立新分支,测试完毕后,在将分支的代码合并到master主分支上。2.操作如下:2.1 idea git分支的操作idea git的操作在右下角,如下图:说明:【new branch】新建分支【local branches】本地分支【current master】表示当前是主分支【remote branches】远程仓库分支。我在这里配置了两个远程仓库...原创 2020-12-22 14:09:05 · 245 阅读 · 0 评论 -
java中protected权限与默认权限的区别
在java中最容易混淆的访问权限就是protected和default先看看所有的访问权限总结下面三条:1、在同一个包中,所有的类都能够访问某一个类中所有非private权限的方法或者属性。2、一个包中的类不能通过继承访问另一个包中default权限的方法或者属性。换言之,子类在同一个包中可以访问default权限的方法或属性,子类不在同一个包中则不可以。3、在不同包中子类是不能通过父类的实例访问protected权限的方法或者变量的。...原创 2020-11-17 13:36:33 · 684 阅读 · 0 评论 -
HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】
------------------------------------------------------------HTTPS证书验证流程(极简化版) 1.客户端向服务端请求证书(server.crt) 2.服务端下发证书(server.crt) 3.客户端用预制的受信任机构的证书(ca.crt)来验证服务端下发的证书(server.crt)是否合法,并且还会校验下发下来的证书里的域名与要请求的域名是否一致 【以下步骤开启双向验证后才会触发】 4....原创 2020-09-01 17:18:04 · 1064 阅读 · 0 评论 -
CompletableFuture 使用详解
1、 runAsync 和 supplyAsync方法CompletableFuture 提供了四个静态方法来创建一个异步操作。public static CompletableFuture<Void> runAsync(Runnable runnable)public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)public static <U&g...原创 2020-08-04 13:49:32 · 801 阅读 · 0 评论 -
java 内部类和静态内部类的区别
下面说一说内部类(Inner Class)和静态内部类(Static Nested Class)的区别:定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明 为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部 类,唯一的差别是外部类可以访问内部类的所有方法与属性,包括私有方法与属性。(1)创建实例OutCla...原创 2020-08-03 13:46:25 · 234 阅读 · 0 评论 -
基于 jacoco 的功能测试代码覆盖率实践
WellDo关注0.2472018.09.18 12:07:44字数 1,878阅读 12,8391. 基于 jacoco 的功能测试代码覆盖率实践1.1 目前主流代码覆盖率统计工具考虑到方案实施的难度很大取决于工具是否仍保持维护更新,所以选择 jacoco 来进行实践。Jacoco 是一个开源的覆盖率工具。Jacoco 可以嵌入到 Ant 、Maven 中,并...原创 2020-04-21 09:25:54 · 2361 阅读 · 0 评论 -
IntelliJ Idea 常用快捷键列表2
快捷键1Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择...原创 2020-04-17 12:56:04 · 218 阅读 · 0 评论 -
Linux查看某个端口的连接数
一、查看哪些IP连接本机netstat -an二、查看TCP连接数1)统计80端口连接数netstat -nat | grep -i "80" | wc -l2)统计httpd协议连接数ps -ef | grep httpd | wc -l3)统计已连接上的,状态为“establishednetstat -anp | grep ESTABLISHED ...原创 2020-04-16 11:40:11 · 291 阅读 · 0 评论 -
数据库批量数据插入问题分析
在数据库的相关开发中,经常会遇到数据的批量插入问题。本文主要是通过实验的方式探讨批量数据插入的瓶颈,以及优化建议。以10w条记录的插入作为实验对象,采用下面的几种方法插入:1.普通插入:普通的一条条插入2.普通插入+手动提交:setAutoCommit(false)、commit()3.普通插入+手动提交+prepareStatem...原创 2020-04-16 11:41:50 · 1080 阅读 · 0 评论 -
线上应用故障排查之二:高内存占用
前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。搞Java开发的,经常会碰到下面两种异常:1、java.lang.OutOfMemoryError: PermGen space2、java.lang.OutOfMemoryError: Java heap space要详细解释这两种异常,需要简单重提下Java内存模型。(友情提示:本博文...原创 2020-04-15 09:34:25 · 251 阅读 · 0 评论 -
Linux网络流量实时监控ifstat iftop命令详解
ifstat介绍ifstat工具是个网络接口监测工具,比较简单看网络流量实例默认使用#ifstat eth0 eth1 KB/s in KB/s out KB/s in KB/s out 0.07 0.20 0.00 0.00 0.07 0....原创 2020-04-15 09:06:09 · 429 阅读 · 0 评论 -
Linux进程实时IO监控iotop命令详解
介绍Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦.iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。实例直接运行就好iotop输出如下Total ...原创 2020-04-15 09:02:40 · 307 阅读 · 0 评论 -
Linux IO实时监控iostat命令详解
简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。语法iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] ...原创 2020-04-15 08:39:27 · 154 阅读 · 0 评论 -
IntelliJ Idea 常用快捷键列表
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开...转载 2020-04-14 09:58:35 · 162 阅读 · 0 评论 -
centOS服务器 netstat命令 查看TCP连接数信息(转)
原创linyu19872008 最后发布于2014-01-03 18:50:52 阅读数 325 已收藏展开netstat命令的功能是显示网络连接、路由表和网络接口的信息,可以让用户得知有哪些网络连接正在运作。在日常工作中,我们最常用的也就两个参数,即netstat –an,如下所示:[root@tiaobanji~]#netstat-anActiveInterne...原创 2020-04-07 12:03:39 · 911 阅读 · 0 评论 -
Flink exactly-once 实战笔记
Flink-Kafka众所周知,Flink在很早的时候就通过Checkpointing提供了exactly-once的semantic,不过仅限于自身或者是从KafkaConsumer中消费数据。而在Flink 1.4版本的时候加入了赫赫有名的TwoPhaseCommitSinkFunction,提供了End-to-End的exatcly-once语言,当然是在需要下游支持回滚的情...原创 2020-04-01 15:45:19 · 407 阅读 · 0 评论 -
二段式提交和三段式提交
CAP定理2000年7月加州大学伯克利分校 Eric Brewer教授提出CAP猜想,两年后被证明。CAP理论告诉我们,一个分布式系统不可能同时满足一致性(C,Consistency),可用性(A,Availability)和分区容错性(P,Partition tolerance)三个基本要求,最多只能同时满足其中两个。一致性:分布式系统中,能够做到针对一个数据的更新成功后...原创 2020-04-01 11:34:24 · 1756 阅读 · 0 评论 -
图解分布式事务实现原理
Java_老男孩关注0人评论998人阅读2019-12-19 15:53:50问题场景转存失败重新上传取消转存失败重新上传取消转存失败重新上传取消转存失败重新上传取消转存失败重新上传取消什么是事务?转存失败重新上传取消事务是数据库从一个稳定状态变迁到另一个稳定状态的保证,具备 ACID 这 4 个特性: 原子性(Atomicity):一个...转载 2020-04-01 11:33:11 · 461 阅读 · 0 评论 -
STS升级出现An error occurred while collecting items to be installed
前言由于Spring Tool Sute 3.10(简称STS)在使用过程中,发现yml文件的默认编辑器出现问题,无奈之下只能升级STS,于是下载了最新的升级包springsource-tool-suite-3.9.11.RELEASE-e4.13.0-updatesite.zip,在安装过程中报错如下:An error occurred while collecting items...原创 2020-03-30 15:16:57 · 1433 阅读 · 0 评论 -
Spring Tool Suite 3.9.5 安装使用阿里巴巴java代码规约插件
原创Tom 1988 最后发布于2018-09-27 15:56:15 阅读数 148 已收藏展开1、环境Spring Tool Suite 3.9.52、安装过程Help->Install New Software。在Work with输入:https://p3c.alibaba.com/plugin/eclipse/update。选中插件,一路下一步即可完成安装。安装...原创 2020-03-30 14:50:50 · 504 阅读 · 0 评论 -
Eclipse安装阿里巴巴代码插件p3c
一般分为线上安装和线下安装,一般采用线下安装的方式,100%成功。1、利用eclipse自带的Install New Software1.1 点击help - install new software1.2输入p3c地址,选中插件(图中未知原因没有显示插件)安装即可。p3c网址如下:https://p3c.alibaba.com/plugin/eclipse/update该...原创 2020-03-26 09:18:30 · 1169 阅读 · 0 评论 -
git clone 指定分支 拉代码
原创IT云清 最后发布于2017-10-11 16:52:21 阅读数 71352 收藏展开1.git clone 不指定分支git clone http://10.1.1.11/service/tmall-service.git2.git clone 指定分支git clone -b dev_jk http://10.1.1.11/service/tmall-servic...原创 2020-03-26 08:57:56 · 326 阅读 · 0 评论 -
git下载指定版本的代码
情境1:首先选择自己要下载版本的分支,通过 git clone 命令下载到本地然后,在你的commits中找到你要下载的版本的commit号,如切换到指定的版本号:git checkout 17def2f新建分支git checkout -b branch这时候,就下载到你想要的版本的代码了。情境2:如果是已经将代码下载到本地了,首先可...原创 2020-03-26 08:56:43 · 4699 阅读 · 0 评论 -
FindBugs在Eclipse的使用
FindBugs入门简介(eclipse安装使用实例)前言:一般公司都会有一些开发规范,但是事实上,简单看那么一两遍并不能养成习惯,或者将这些规范记住。特别的,对于一些新手,写的代码往往会很糟糕。回头看看你一两年前写的代码就会知道,所谓的”糟糕“是什么一种感觉。使用一些检测工具,对代码质量的控制确有成效。FindBugs便是这一类不错的工具。一、FindBugs介绍FindBugs...原创 2020-03-25 15:55:57 · 4102 阅读 · 0 评论 -
Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
执行Maven Install打包的时候,提示以下警告信息:[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!解决方法:打开项目属性》Resources,按下图修改。保存后重新执行Maven Install ...原创 2020-03-25 09:18:29 · 769 阅读 · 0 评论 -
分布式架构下基于Redisson实现Redis分布式锁
原创riemann_ 最后发布于2020-03-10 00:17:54 阅读数 88 已收藏展开一、前言作为后台开发,相信大家都对 Redis 并不陌生了。Redis 有三个客户端 Jedis、Redisson、Lettuce。也就是提供基本的驱动来连接操作 Redis 数据库的。我们先简单介绍下这几个客户端的异同。Jedis:是Redis 的 Java 实现客户端,提供了比较全面的...转载 2020-03-23 23:40:51 · 401 阅读 · 0 评论 -
【redis】——分布式锁
原创hy_coming 最后发布于2019-07-07 16:56:10 阅读数 33 已收藏展开实例代码地址,请前往:https://gitee.com/GuoqingLee/distributed-seckillredis官方文档地址,请前往:http://www.redis.cn/topics/distlock.html前言关于分布式锁的实现,目前主流方案有以下三类:1...原创 2020-03-23 23:38:33 · 162 阅读 · 0 评论 -
深入理解synchronized底层原理,一篇文章就够了!
2019-07-17阅读3K0前言 一、synchronized的特性 1.1 原子性 1.2 可见性 1.3 有序性 1.4 可重入性 二、synchronized的用法 三、synchronized锁的实现 3.1 同步方法 3.2 同步代码块 四、synchronized锁的底层实现 五、JVM对synchronized的优化 5.1 锁膨...原创 2020-03-19 13:23:12 · 4974 阅读 · 3 评论 -
CopyOnWrite思想
2019-05-13 16:08今天聊一个非常硬核的技术知识,给大家分析一下CopyOnWrite思想是什么,以及在Java并发包中的具体体现,包括在Kafka内核源码中是如何运用这个思想来优化并发性能的。这个CopyOnWrite在面试的时候,很可能成为面试官的一个杀手锏把候选人给一击必杀,也很有可能成为候选人拿下Offer的独门秘籍,是相对高级的一个知识。1、读多写少的场景下...原创 2020-03-19 13:03:36 · 216 阅读 · 0 评论 -
JAVA中写时复制(Copy-On-Write)Map实现
1,什么是写时复制(Copy-On-Write)容器?写时复制是指:在并发访问的情景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改。修改完成之后,将指向原来容器的引用指向新的容器(副本容器)。2,写时复制带来的影响①由于不会修改原始容器,只修改副本容器。因此,可以对原始容器进行并发地读。其次,实现了读操作与写操作...原创 2020-03-19 12:45:11 · 1083 阅读 · 0 评论 -
Maven之阿里云镜像仓库配置
方式一:全局配置可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点:<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name...原创 2020-03-13 14:48:32 · 13099 阅读 · 0 评论 -
Flink的数据类型和序列化
写Bug的张小天关注0.0682017.08.09 17:36:47字数 1,645阅读 10,615Apache Flink 以一种特有的方式来处理数据类型和序列化,包括自有的类型描述器、泛型抽取和类型序列化框架,本文将描述其背后的概念和原理。Flink的类型处理Flink试图去推断出在分布式计算过程中交换和存储的数据的类型信息,像数据库推断表模式一样。在大多数情况下...原创 2020-03-13 11:45:43 · 799 阅读 · 0 评论 -
flink function类传递参数(Passing Parameters to Functions)
flink function类传递参数(Passing Parameters to Functions)MinaLing关注2019.03.29 14:04:06字数 172阅读 777在flink的function类中传递参数,对于flink datastream和dataset是不同的,对于dataset,可以通过类构造函数、withParameters(Configurati...原创 2020-03-12 17:37:01 · 1511 阅读 · 0 评论 -
Flink 从0到1学习 —— Flink 中如何管理配置?
前言如果你了解 Apache Flink 的话,那么你应该熟悉该如何像 Flink 发送数据或者如何从 Flink 获取数据。但是在某些情况下,我们需要将配置数据发送到 Flink 集群并从中接收一些额外的数据。在本文的第一部分中,我将描述如何将配置数据发送到 Flink 集群。我们需要配置很多东西:方法参数、配置文件、机器学习模型。Flink 提供了几种不同的方法,我们将介绍如何使...原创 2020-03-10 09:38:17 · 313 阅读 · 0 评论 -
Redisson官方文档 - 7. 分布式集合
Redisson官方文档 - 7. 分布式集合redisson2018-03-19 07:46:02浏览5879分布式 redis java 集群 ADD string PUT7.1. 映射(Map)基于Redis的Redisson的分布式映射结构的RMapJava对象实现了java.util.concurrent.Concurr...转载 2020-02-14 09:21:21 · 1069 阅读 · 0 评论