自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 磁盘读写IO对单应用系统的影响

磁盘读写对系统的影响

2024-02-13 16:48:52 435

原创 深入理解JVM(四)-执行引擎

本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。一、执行引擎 执行引擎是Java最核心的组成部分之一,具有执行代码的能力,如下图所示:1、运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区虚拟机栈的栈元素。栈帧存储了局部变量表、操作数栈、动态链接、方法返回地址等信息。执行引擎所运行的字节码文件都只对当前栈帧进行操作。栈帧中的局部变量表、操作数栈...

2021-07-20 15:49:02 475

原创 深入理解JVM(三)-类加载与执行引擎

本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。 Java是解释型语言,Java编译之后的字节码文件仍需通过虚拟机解释执行,究其原因则是因为计算机仍然只能识别0和1。(PS:当然如果未来的科技不在只使用0和1时,计算机科学可能会经历很长时间的阵痛)一、文件介绍1、魔数与版本每个class文件的前四个字节表示魔数,他的唯一作用是确定这个文件是否是一个能被虚拟机接受的class文件,...

2021-07-13 11:00:52 427

原创 VM15创建的Centos8虚拟机无法联网,无法手动创建网卡

环境:1、VM版本:2、Centos安装包:CentOS-8.3.2011-x86_64-minimal。主要现象为:1、centos8中没有网卡文件,即/etc/sysconfig/network-scripts没有任何网卡配置文件。2、执行nmcli c reload命令报错:Connection activation failed: No suitable device found for this connection (device lo not available b

2021-07-07 17:09:32 629

原创 深入理解JVM(二)-工具篇

本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。 借用书中的一句非常棒的话,给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。虽然工具只是处理数据的手段,但是合适的和先进的工具能节省问题的排查时间,所以个人建议能不用命令行工具则不用命令行工具。一、JDK的命令行工具1、jps工具:获取正在运行的JVM进程,功能简单但是使用频次高,用于寻找正确的JVM进程进行分析。参数...

2021-07-05 17:50:48 160

原创 深入理解JVM(一)-内存区域与垃圾回收介绍

程序员常常说软件不行,硬件来凑。但是针对当前对系统高可用、高并发的需求日益增大,需要程序员写出更稳定、性能更好的应用程序,开发人员需要了解虚拟机的运行原理,才会写出最适合虚拟机运行的代码。Java虚拟机是中高级开发人员必须修炼的知识。 正是由于Java虚拟机的存在,才能使Java开发的应用程序能够一次开发,处处运行。...

2021-07-02 13:28:24 205

转载 ES不支持聚合后分页

参考:https://blog.csdn.net/laoyang360/article/details/79112946

2021-03-07 20:57:59 308

原创 云计算基础-云计算基础介绍整理

一、说明(参考百度百科)1、云计算平台也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力(云计算就是通过网络提供可伸缩的分布式计算能力)。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。(思想:云计算的应用包含这样的一种思想,把力量联合起来,给其中的每一个成员使用) 2、云计算比喻:Google的工程师谷雪梅则认为,PC时代好比每个人要用电,都得自己购买发电机;而“云计算”时代,每...

2021-02-26 17:25:53 5470

原创 支付宝支付-学习资料整理

一、平台入驻1、为提升入驻开放平台时的效率和体验,开发者在入驻前,需要注册支付宝账号并完成实名认证。2、平台入驻时需要选择服务范围:登录开放平台后,若未完成入驻,则系统自动引导进入入驻流程,首先选择本账号支持的服务范围:根据开发者实际提供的服务可选择:自研开发服务和自研开发服务+提供第三方服务。 ①自研开发服务:通过开放平台提供的丰富的 API 和业务能力,集成支付、营销、资金和会员等能力更好地服务自己的顾客。 ②提供第三方服务:主要面向系统服务商 ISV,为...

2021-02-24 15:55:48 1198

原创 微信支付-委托代扣学习资料整理

一、产品介绍1、扣费服务(原委托代扣)为微信支付为商户和用户提供的,可以在交易场景之外完成支付的能力。2、场景:二、周期扣费1、周期扣费的服务特点为“基于规则而非用户行为触发”,因此扣费前,需要为用户下发扣费前通知,确保用户的支付意愿。2、下发扣费前通知后,在约定时间内:①若用户拒绝续费,可关闭扣费服务;②若用户接受续费,则无需额外操作;3、目前支持通知后24小时自动扣费、或提前使用独立的通知接口两种模式:三、支付中签约1、支付中签约支持H5支付、NATI..

2021-02-23 17:27:31 1991

原创 微信支付-基础支付学习资料整理

一、开放模式分类(微信支付的账户关系)1、普通模式:最常规的普通模式,适用于有自己开发团队或外包开发商的直连商户收款。不能扩展子商户。 2、服务商模式:第三方服务商申请自己的s服务号,并通过该服务号申请服务商mch_id,来获得微信支付服务商能力 。再通过服务商mch_id为所服务的特约商户申请创建微信支付sub_mch_id,创建好的sub_mch_id默认和服务商的mch_id建立父子授权关系。以此来使用微信支付提供的开放接口。服务商模式下又分普通服务商和银行服务商两大类,...

2021-02-23 17:25:15 701

转载 加解密-手机号码的加解密了解

随着人们对个人信息保护意识的增强,各大互联网公司对用户个人私密信息的保护日益受到重视,需要使用到对手机号码、座机号码、分机号码进行正确性校验以及对电话号码进行加密等的操作。参考文档:1、https://blog.csdn.net/thl331860203/article/details/52316325;2、https://blog.csdn.net/LeegooWang/article/details/78427567?utm_medium=distribute.pc_relevant.non

2021-01-05 15:28:40 1166

转载 Java8-Optional 类

说明: Optional类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。 本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。 Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。场景一:空指针异常 在 Java 8 之前,任何访问对象方法或属性的调...

2020-12-04 23:18:28 171

原创 越权访问解决方案探索(基于Spring与Shiro,多页面前端应用)

越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。越权访问的介绍可以参考如下文章,介绍得比较详细:https://blog.csdn.net/u012068483/article/details/89553797目前的问题分析与解决思路:问题1、水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而

2020-11-11 09:53:25 2140 1

原创 Caused by: java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found

使用Junit进行测试时遇到报错信息如下(一定需要注意看上下文,根据上下文进行问题的处理):2020-11-03 14:08:17,113 ERROR [org.springframework.test.context.TestContextManager] - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@

2020-11-03 15:32:00 2229

原创 JVM调优-问题排查与工具使用案例一(Server服务器)

JVM调优-问题排查与工具使用

2020-11-02 22:59:14 288

原创 JVM调优-调优原则与思路

一、实施过程中的原则 在调优之前,我们需要记住下面的原则: 1、在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合)。 2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题。同时多数的Java应用不需要在服务器上进行GC优化。 3、减少使用全局变量和大对象,同时注意减少创建对象的数量;这也是Spring框架单例模式的一个优点。 4、在实际使用中,分析GC情况优化代码比优化GC参数要多得多,GC优化往往是最后的手段;...

2020-11-01 23:51:00 3678

原创 JVM调优-内存模型与垃圾回收

目录二、JVM介绍三、堆内存(HEAP)四、1.8版本JDK五、引用类型六、垃圾回收算法1、按基本回收策略分2、按分区对待的方式分3、按系统线程分七、分代收集1、Minor GC2、Major GC3、Full GC4、对象存活示意 在提升硬件性能无法等比例地提升程序的性能和并发能力时(即增加硬件对程序的性能没有任何改善作用),这里有Java虚拟机的原因,也有程序本身的原因(此处不考虑选择的框架本身原因)。 参考: ...

2020-10-31 16:29:44 233

原创 通过Arrays.asList将数组转换为list之后,不能将转换后的list添加到其他list的后面,报错java.lang.UnsupportedOperationException

在进行数据处理的是将,将字符串转化为数组,再讲数组通过Arrays工具类转成list,最后拼接list并进行数据去重操作,发现通过Arrays.asList(scopes)之后的list不能进行拼接。报错java.lang.UnsupportedOperationException。通过源码分析发现,asList()方法返回的是Arrays类中定义的私有类,不是java.util包中的类,且java属于强类型检查的语言,所以报错了。修改代码如下:...

2020-10-13 12:53:29 269

原创 centos7离线安装keepalived2.0.20并设置开机自启动

一、安装1、从官网下载源码安装包并手动上传到linux服务器:https://www.keepalived.org/download.html;下载.tar.gz的文件夹,例如:https://www.keepalived.org/software/keepalived-2.0.20.tar.gz2、解压文件:tar -zvxf keepalived-2.0.20.tar.gz3、创建文件夹mkdir /home/keepalived4、安装gcc等编译源码需要的工具及其他工具

2020-09-07 09:42:46 1199

原创 centos7上源码安装nginx-1.17.3.tar

一、安装1、手动建下载好的安装包放到linux服务器上下载地址:http://nginx.org/download/;源码安装选择.tar.gz结尾的安装包,如http://nginx.org/download/nginx-1.9.7.tar.gz2、解压安装包tar -zvxf nginx-1.9.7.tar.gz3、创建安装文件夹mkdir /home/nginx4、安装编译环境yum install -y curl gcc openssl-devel libnl3-de

2020-09-03 13:05:23 1872

转载 Tomcat启动报错:严重: One or more listeners failed to start. Full details will be found in t。。。

此问题产生时无法从Tomcat的logs日志中找到对应详细报错记录,从其他地方找了个打日志的办法,后面根据日志解决了相关的问题。 参考链接:https://www.cnblogs.com/sxdcgaq8080/p/8005886.html...

2020-08-13 09:23:23 1547

转载 Server2008,本地先安装JDK1.7,后安装1.8时报错Error: Registry key ‘Software\JavaSoft\Java Runtime Environment‘

参考链接:https://www.jianshu.com/p/89ec2841fa4f

2020-08-07 12:01:13 243

转载 [Err] 1222 - The used SELECT statements have a different number of columns

参考:https://blog.csdn.net/wu920604/article/details/82691563

2020-08-02 14:31:27 329

转载 JDK版本不兼容导致:java.lang.UnsupportedClassVersionError

java.lang.UnsupportedClassVersionError是因为JDK版本与项目不匹配造成的,如某个JAR包需要JDK1.8版本以上或者Tomcat需要JDK1.6等等。工欲善其事,必先利其器。在项目初期搭建IDE环境则是必须的,但是IDE环境的配置步骤复杂时,基本是记不住的,所以常常会导致耗费时间较长而收效甚微。配置参考:https://blog.csdn.net/Speed_Pig/article/details/90755873...

2020-07-30 11:21:12 310

原创 HTTP、Socket、Web Socket的联系与区别

HTTP、Socket、Web Socket的联系与区别定义WebSocket与Socket的关系HTTP协议与Socket的关系WebSocket与HTTP的关系HTTP建立连接过程WebSocket连接过程定义1、TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层;2、IP协议:P是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。3、TCP协议:传输控制协议(TCP,Transmission Control Protocol)是一种面向

2020-07-29 15:14:06 641

原创 当IE浏览器无法加载客户端本地控件时,调用控件失败

需要在IE浏览器的设置中将对应的站点设置未信任站点即可。具体操作为:Internet选项->安全标签页->受信任的站点选项->点击受信任的站点选项后面的站点按钮->在受信任站点的页面输入网站地址并点击添加按钮。...

2020-07-27 12:53:16 4651

原创 反序列化异常-Exception in thread “main“ java.io.InvalidClassException

反序列化异常-java.io.InvalidClassException当类进行序列化与反序列化时,当父类没有无参构造且父类没有实现序列化接口时,在反序列化时将出现Exception in thread “main” java.io.InvalidClassException异常。解决办法是对父类加上无参构造方法。序列化1、当子类进行序列化而父类没有实现序列化接口时:当父类没有无参构造时,父类中的属性不参与序列化,虽然能序列化成功。但反序列化结果失败,此时序列化怎报错Exception in t

2020-07-20 22:07:51 1368

转载 前端---单页面和多页面应用区分(转载)

针对目前项目框架文件的引入,为了照顾用户体验、开发、维护等选择。连接:https://www.cnblogs.com/dcj2018/p/10754806.html单页面应用(SinglePage Web Application,SPA)只有一张Web页面的应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源 ,公共资源(js、css等)仅需加载一次,常用于PC端官网、购物等网...

2020-01-16 15:27:36 309

转载 node.js(JS虚拟机)安装

参考链接:https://www.jianshu.com/p/03a76b2e7e00

2020-01-15 22:08:05 391

转载 java日期格式大全 format SimpleDateFormat(转)

java日期格式大全 format SimpleDateFormat(转)SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//设置日期格式System.out.println(df.format(new Date()));// new Date()为获取当前系统时间String SendTime=df.for...

2020-01-15 15:04:39 2076

转载 java.util.ConcurrentModificationException 异常问题详解

java.util.ConcurrentModificationException 异常问题详解此问题在于对集合的迭代器不熟悉,问题解放方法参考链接:https://www.cnblogs.com/snowater/p/8024776.html环境:JDK 1.8.0_111在Java开发过程中,使用iterator遍历集合的同时对集合进行修改就会出现java.util.Concurren...

2020-01-03 10:22:12 425

转载 01-BIRT初识

BIRT是一个Eclipse-based开放源代码报表系统,英文全称是Business Intelligence and Reporting Tools,商业智能和报表工具。网上找到介绍很详细的文章。链接:https://blog.csdn.net/birtbird/article/details/8479542...

2019-12-13 23:15:42 99

原创 浏览器同源策略-初步认识

同源策略说明客户端交互安全问题传统表单提交(不设置target),只能提交到当前地址栏的URL,这个过程会伴随着非常明显的交互反馈,比如浏览器会刷新整个页面,如果有任何危险的操作势必会引起用户的警觉。但针对iframe也有安全问题,比如你在登陆银行页面的时候,如果返回的数据在恶意的iframe中被接受,则会造成重要信息的泄露。javascript如果接管了整个后续请求与提交数据的过程,如果被...

2019-12-12 19:43:56 202

转载 Chrome调试

Chrome前端调试工作的效率都是通过及时掌握新的工具和熟练掌握一些常用工具的方式,而Chrome则是前端调试常用的浏览器。需要花时间掌握。

2019-12-12 15:27:44 117

转载 Linux系统安装JDK

环境准备1、CentOS8或其他的Linux系统;2、xshell连接工具或其他;3、linux系统需要安装vim(文本编辑器)和lrzsz(文件上传),可百度;4、linux版本的JDK离线文件(也可在线安装);...

2019-12-07 23:16:31 120

转载 IllegalArgumentException:invalid comparison:java.util.Date and java.lang.String

IllegalArgumentException:invalid comparison:java.util.Date and java.lang.String原因:编写mybatis的XML文件出错,在判断空时,加入了判断空字符串的语句,无法比较 java.util.Date类型与 java.lang.Stringd的""...

2019-12-06 12:30:23 195

原创 package.json基础入门

一、说明1、package.json文件是Node.js生态系统的核心,是了解和使用Node.js,npm甚至现代JavaScript的基本部分。它是应用程序、模块、npm引入包等的清单。2、每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所...

2019-11-21 10:50:18 562

空空如也

空空如也

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

TA关注的人

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