自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java ArrayList元素删除问题

分析DemoList<String> list = new ArrayList<String>();list.add("a");list.add("b");list.add("b");list.add("c");list.add("d");list.add("e");场景一 for (int i = 0; i < list.size();i++){ if(list.get(i).equals("b")){

2020-05-19 23:25:10 364

原创 ApacheJmeter API接口测试生成HTML报告

1、官网下载Jmeter解压打开bin目录2、双击jemeter或者ApacheJMeter.jar打开工具 添加线程组 新建http请求根据右侧页面设置对应参数调用请求头设置添加显示结果信息点击启动查看结果 (其他查看内容按要求添加)。3、生成HTML测试报告 3.1 以上步骤配置...

2020-04-17 23:56:16 1553

转载 基于redis的分布式锁二种应用场景

“分布式锁”是用来解决分布式应用中“并发冲突”的一种常用手段,实现方式一般有基于zookeeper及基于redis二种。具体到业务场景中,我们要考虑二种情况:一、抢不到锁的请求,允许丢弃(即:忽略)比如:一些不是很重要的场景,比如“监控数据持续上报”,某一篇文章的“已读/未读”标识位更新,对于同一个id,如果并发的请求同时到达,只要有一个请求处理成功,就算成功。用活动图表示如下:...

2020-04-05 13:41:47 519

原创 JAVA大厂面试题部分整理

序列化的底层怎么实现序列化是指将Java对象转换为字节序列的过程,而反序列化是指将字节序列转换为Java对象的过程。其中,字节序列即是二进制数据,可以方便地在网络上传输或存储到本地硬盘中。1、JDK类库中序列化和反序列化API(1)java.io.ObjectOutputStream:表示对象输出流;它的writeObject(Object obj)方法可以对参数指定的obj对象...

2020-04-02 15:45:02 150

转载 Spring MVC 和 Spring 总结

Spring MVC 和 Spring 总结1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。 2). AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记...

2020-04-01 23:51:42 93

转载 平衡查找树之B树

浅谈算法和数据结构: 十 平衡查找树之B树前面讲解了平衡查找树中的2-3树以及其实现红黑树。2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key。维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以...

2020-04-01 16:10:12 173

转载 浅谈算法和数据结构: 四 快速排序

浅谈算法和数据结构: 四 快速排序上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick Sort)。快速排序是20世纪科技领域的十大算法之一,他由C. A. R. Hoare于1960年提出的一种划分交换排序。快速排序也是一种采用分治法解决问题的一个典型应用。在很多编程语言中,对数组,列表进...

2020-04-01 15:54:45 99

转载 浅谈算法和数据结构: 二 基本排序算法

浅谈算法和数据结构: 二 基本排序算法本篇开始学习排序算法。排序与我们日常生活中息息相关,比如,我们要从电话簿中找到某个联系人首先会按照姓氏排序、买火车票会按照出发时间或者时长排序、买东西会按照销量或者好评度排序、查找文件会按照修改时间排序等等。在计算机程序设计中,排序和查找也是最基本的算法,很多其他的算法都是以排序算法为基础,在一般的数据处理或分析中,通常第一步就是进行排序,比如说二分查找,...

2020-04-01 15:44:04 86

转载 浅谈算法和数据结构: 一 栈和队列

浅谈算法和数据结构: 一 栈和队列最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因。另外普林斯顿大学在Coursera上也有这本书同步的公开课,还有另外一门算法分析课,这门课程的作者也是这本书的作者,两门课都挺不错的。计算机程序离不开算...

2020-04-01 15:12:04 130

原创 关系型数据库的范式和约束

数据库设计范式什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。...

2020-03-29 23:40:39 745

原创 JAVA 并发编程浅谈

一、进程与线程进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的 资源。虽然系统是把资源分给进程,但是CPU很特殊,是被分配到线程的,所以线程是CPU分配的基本单位。一个进程中有多个线程,多个线程共享进程的堆和方法区资源,但是每个线程有自己的程序计数器和栈区域。二...

2020-03-29 21:35:46 195

转载 计算机网络编程总结

一、概述计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。二、计算机网络网络...

2020-03-29 16:19:51 340

原创 JAVA内存结构分析总结

JVM概述JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可...

2020-03-29 01:32:54 176

原创 JAVA基础总结之IO流

基本概念JAVA IO即输入和输出系统。换言之。当你读取数据的时候就需要使用输入,当你写数据的时候就需要使用输出。Stream:Java 中将数据的输入输出抽象为流,流是一组有顺序的,单向的,有起点和终点的数据集合,就像水流。按照流中的最小数据单元又分为字节流和字符流。1,字节流:以 8 位(即 1 byte,8 bit)作为一个数据单元,数据流中最小的数据单元是字节。2,字符流:以 1...

2020-03-28 20:10:35 91

转载 Java 8新特性:Optional使用

一、简介Optional类是Java8为了解决null值判断问题,借鉴google guava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查),避免null导致的NPE(NullPointerException)。我们来看一段代码:public static String getGender(Student...

2020-03-19 17:04:26 130

原创 Springboot缓存原理以及配置使用

具体原理的理解可搜索或参考:https://www.cnblogs.com/yunche/p/10349214.html配置过程示例新建SpringBoot微服务并整合Mybatis,我的项目中使用整合的事Mybatis通用的Mapper以及自动Mybatis-generate插件。pom.xml导入maven依赖<dependency> <gr...

2020-03-17 21:16:33 253

转载 Java 8新特性:新的时间和日期API

Java 8另一个新增的重要特性就是引入了新的时间和日期API,它们被包含在java.time包中。借助新的时间和日期API可以以更简洁的方法处理时间和日期。在介绍本篇文章内容之前,我们先来讨论Java 8为什么要引入新的日期API,与之前的时间和日期处理方式有什么不同?在Java 8之前,所有关于时间和日期的API都存在各种使用方面的缺陷,主要有:Java的java.util.Date...

2020-03-16 11:45:05 108

原创 使用IDEA自带的Restful Client测试接口

界面请求工具打开IDAE–>Tools–>HTTP Client–>Test RESTful web services弹出工具内容如下,使用方法和POSTman大同小异。此时工具顶部有一句提示,意思是该工具已经过期,转变成在编辑器中使用。编辑器文本请求工具新建后缀名为".http"的文件,不同的请求之间用三个#隔开。点击侧边运行即可发送请求。...

2020-03-07 17:21:29 2608

原创 nginx反向代理访问内网主机服务配置

代理主机为192.168.11.48内网主机为:192.168.11.47访问网页:通过80端口为例 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;...

2020-03-06 16:02:18 992

原创 Linux 不同用户切换不同JDK环境

以非root用户为例,为用户dev搭建JDK环境步骤上传JDK包到用户目录下(/home/dev)。解压:tar -zxvf JDK包名编辑当前用户目录下的~/.bash_profile文件,在最后添加内容:JAVA_HOME=/home/dev/解压出来的包名CLASSPATH=.:$JAVA_HOME/bin/tools.jarPATH=$JAVA_HOME/bin:$PAT...

2020-02-20 00:28:03 597

原创 tomcat 部署Vue项目

第一步将打包好的目录放置tomcat下的webapp目录下dist存放的是我的打包内容其中包含static和index.html第二步将static复制一份到webapp下。最好是复制而不要移动,不复制也可以但是需要手动修改打包项目中的静态文件的引用路径(嫌麻烦的话就算了)。第三步修改tomcat conf目录下的server.xml文件,在host中添加此处path=dist自...

2019-12-12 20:01:24 822

原创 SpringBoot返回的中文显示???的问题

解决方案方法1在请求入口处添加内容@RequestMapping(value = "/test",produces = "application/json;charset=UTF-8")方法2新建一个config类继承WebMvcConfigurationSupport,重写全局的方法。@Configurationpublic class WebAppConfig extends ...

2019-10-11 15:38:06 4497 2

原创 Linux Centos redis 安装配置

–获取安装包wget http://download.redis.io/releases/redis-5.0.2.tar.gz–解压tar -zxvf redis-5.0.2.tar.gz–进入解压后的文件目录cd redis-5.0.2–安装依赖以及编辑测试yum install -y gccmake MALLOC=libcyum install -y tclma...

2019-09-12 22:34:18 43

原创 java项目内存分析jmap命令+MAT工具

一.分析背景在服务器上运行java项目服务时,由于服务所实现的功能导致每个项目在消耗服务器系统内存上有所差异。如果在项目中某个功能模块中作了不良好的操作导致占用的资源未能及时释放就会导致内存泄露,服务无法运行。为了排查这个问题,除了人工检查代码外,还可以通过外部工具锁定问题代码的位置。二.解决问题命令使用命令 jmap ——JDK自带的内存占用检测工具例如以下命令是输出指定java服务占...

2019-09-08 16:09:48 5766 1

原创 IDEA初始化安卓项目报错

报错内容:Unsupported method: AndroidProject.getVariantNames()在stackoverflow找到解决办法,原链接:https://stackoverflow.com/questions/53498161/unsupported-method-androidproject-getvariantnames-in-android-studio-3-4...

2019-06-05 16:42:47 539

原创 Docker 容器启动 停止 移除

启动# -p :配置端口映射,格式是外部访问端口:容器内端口# -d :后台运行 # --name : 给容器取名# 最后有 2 个cname ,前面一个是给容器取的名字,后面一个是使用的镜像的名字 docker run -p 8099:8090 -d --name cname cname停止通过docker ps 查看正在运行的容器,通过docker stop 容器ID...

2019-06-04 15:48:38 5837

原创 windows 10环境下docker的使用(以发布vue项目为例)

1.安装docker for windows此步骤略去2.将打包好的vue项目放在一个目录下在项目同一目录下新建dockerfile文件内容如下,./vue表示当前目录下的vue目录/home/web标识上传至docker镜像后,执行的容器内部的目录。# 设置基础镜像FROM nginx# 定义作者MAINTAINER ccz# 将vue文件中的内容复制到 /home/web ...

2019-06-04 15:36:23 2670

原创 Docker的安装使用和部署SpringBoot项目

Docker的安装本文在Centos7.0上安装Docker CE 即社区免费版。此外Docker EE为收费企业版本,同时docker还支持在windows,mac等多个系统上进行部署。Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提条件目前,CentOS 仅发行版本中的内核支持 Docker。Doc...

2019-05-16 16:08:46 159

原创 MongoDB Centos7.0 安装配置以及简单使用

#设置数据文件的存放目录 dbpath = /usr/local/mongodb-linux-x86_64-4.0.9/data#设置日志文件的存放目录及其日志文件名 logpath = /usr/local/mongodb-linux-x86_64-4.0.9/logs/mongodb.log#设置端口号(默认的端口号是 27017) port = 27017 #设置为以守护进程的方式运行,即在后台运行 fork = true#用户权限验证开启auth=true

2019-05-14 16:44:34 921

原创 chkconfig 设置开机启动应用执行顺序

以mysqld为例cd /etc/init.d/cat mysqld找到 # chkconfig: 2345 64 36其中2345 表示运行级别:运行级别(run level)Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取初始化运行级别文件/etc/inittab文件中initdefault id值(该文件有行“i...

2019-02-27 15:36:53 2638

空空如也

空空如也

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

TA关注的人

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