- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 垃圾回收算法
前言:上一篇文章中我们对于如何判断一个对象是否为垃圾对象向大家介绍了引用计数法和可达性分析法,本节课我们围绕着四种垃圾回收算法为大家继续普及一下垃圾回收的相关基础。一、标记-清除算法算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。主要不足有两个:一个是效率问题,标记和清除两个过程的效率都不高; 一个是空间问题,标记清除之后会产...
2020-04-01 16:38:01
261
转载 JVM系列第三篇:判断一个Java对象是否存活
前言如何判断一个Java对象是否存活对于垃圾回收、防止内存泄漏等十分重要 本文将全面讲解判断Java对象存活的方式,希望你们会喜欢目录1. 判断方式垃圾收集器对 Java堆里的对象 是否进行回收的判断准则:Java对象是存活 or 死亡判断对象为死亡才会进行回收在Java虚拟机中,判断对象是否存活有2种方法: 引用计数法 引用链法(可达性分析...
2020-03-25 18:05:12
347
原创 JVM系列第二篇:对象的创建、对向的结构、对象的访问定位
在上一篇文章中我们对于jvm的内存模型进行了学习和了解,本篇文章中我们对于对象从创建到如何访问定位进行一个梳理:对象的创建:对象的结构:对象的访问定位:...
2020-03-24 11:50:30
290
原创 Kibana的安装和基本使用
安装:1. 下载Kibana https://www.elastic.co/downloads/kibana2. 安装下载的kibana rpm -ivh kibana-6.2.4-x86_64.rpm3. 查找kibana的安装位置 find / -name kibana 4. 编辑kibana配置文件 [root@localhost /]# vim /etc/kib...
2020-03-23 11:48:09
874
原创 JVM系列第一篇:Java内存区域(虚拟机栈、本地方法栈、程序计数器、方法区、堆)
本篇文章是我对JVM进行学习的第一篇文章,主要是对java的内存区域有一个学习和认识,我们先来开一下JVM内存模型的一个概况图解:接下来我们对于运行时数据区的五个内存区域做一个简单的介绍:1.Java虚拟机栈虚拟机栈描述的是Java方法执行的动态内存模型。当我们的栈空间不足时,就会抛出StackOverFlowError栈帧:每一个方法执行都会创建一个栈帧,伴随着方法从创建到...
2020-03-23 11:40:35
344
原创 IK分词器安装和测试以及配置扩展词
写在前面:NOTE: 默认ES中采用标准分词器进行分词,这种方式并不适用于中文网站,因此需要修改ES对中文友好分词,从而达到更加的搜索的效果。1 在线安装IK(选择一种方式)在线安装IK (v5.5.1版本后开始支持在线安装 )1. 在es安装目录中执行如下命令[es@linux elasticsearch-6.2.4]$ ./bin/elasticsearch-plugin i...
2019-09-08 16:03:07
447
原创 ES的安装
0.安装前准备centos7 +java 8 +elastic 6.2.4+1.在官方网站下载ESwget http://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.1.tar.gz2.安装JDK(必须JDK1.8+)#将jdk包上传到linux中 Alt+p#解压jdk包 tar -z...
2019-09-08 15:49:12
388
原创 redis通用缓存
1.导入jar包<!--springData操作redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></depe...
2019-09-08 13:40:26
317
原创 什么是消息中间件以及详解
一、什么是消息中间件关于消息中间件的概念,我查了很多的资料也没有给出一个清晰地概念。那我该怎么理解消息中间件的概念呢?这个问题就好比如我问一个已经单身了20多年的大兄弟什么是爱情一样,直接的概念给了也是模糊的,就比如下面百度百科对于消息中间件的定义:"可与OA、ERP集成的免费消息中间件Active Messenger(简称AM)是一款非常实用的企业即时通讯软件。系统提供免费的消息中间件(以c...
2019-09-06 17:39:06
1404
原创 Clent-Client相互调用(含有负载均衡基于RestTemplate)
写在前面:在上图中我们可以看出:1、一个Eureka Server2、四个Client节点其中包含:(1)一个服务消费者(2)三个服务提供者,三个实例提供的是相同的相互调用:一个Client调用另一个Client,我们称主动调用的一方为消费者,被调用的一方为服务提供者,且服务提供者为集群(如上图所示),消费者在调用的时候就需要借助于Ribbon来完成负载均衡。完成负载均衡我们需...
2019-09-05 20:02:16
784
原创 SpringCloud--Eureka组件介绍以及Server与Client开发
写在前面:Eureka是Netfilx开源的服务发现组件,本身是一个基于rest的服务,它包含client和server两部分。Spirng Cloud将它集成在子项目Spirng Cloud Netfilx中,从而实现服务的注册和发现1、eureka中的server和client的介绍及特点Eureka Server:提供服务发现的能力,各个微服务启动时,会向Eureka Server...
2019-09-05 17:15:41
853
原创 SpringCloud——Eureka的自我保护机制
写在前面:Eureka进入自我保护机制最直观的就是如图所示:界面中出现两行红色字体为什么会有自我保护机制:默认情况下,如果Eureka Server在一定时间内没有接受到服务实例的心跳,Eureka将会注销该实例(默认90秒).但是当网络分区发生故障时,微服务和Eureka Server 无法正常通信.以上行为可能变得特别危险了-因为微服务本身是健康的,此时不能注销该服务实例.Eure...
2019-09-04 13:20:06
220
原创 EasyPoi实现数据库数据导出到Excel中
写在前面:本篇文章详细介绍一下在企业中常常用到的EasyPoi导出操作,也就是将数据库汇总持久化的数据从数据库中导入到Excel表格中,因为,Excel表格对于非开发人员来讲更加的容易接受。任务展示:下面展示的是我数据库中存储的用户信息数据,假设公司非开发人员需要用到这些数据,我们需要将导出到Excel中并交给他们。小细节:图片也要导出到Excel表格中实战开发:1、导入EasyPo...
2019-08-22 11:51:57
1275
1
原创 poi和easyPoi的使用
写在前面:Poi和EasyPoi具有相同的功能,都是Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,本篇文章中主要介绍利用这两种技术对对数据进行导入(将Excel表格中的数据导入到数据库中)和导出(将数据库中的数据导入到Excel表格中)。<--------------------------------- EasyPoi:------...
2019-08-21 14:30:22
5480
2
原创 KindEditor编辑图文文章实战开发
写在前面:在项目开发过程中,我们经常会遇到需要用户输入一些较长的文本,这些文本通常情况下带有相应的格式,就比如加粗、背景颜色、加入的图片等等,因此我们就需要借助于文本编辑器这样的小插件,今天给大家介绍一个文本编辑器————KindEditor。http://kindeditor.net/about.php 附上官网链接什么是KindEditor:KindEditor 是一套开源的在...
2019-08-20 17:54:58
299
原创 Spring Data操作 ES
写在前面:Spring Data 是持久层通用解决方案,支持关系型数据库 Oracle、MySQL、非关系型数据库NoSQL、Map-Reduce 框架、云基础数据服务 、搜索服务。Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Da...
2019-08-11 14:34:57
4356
1
原创 ES高级检索-DSL检索
ES高级检索-DSL检索写在前面:ElasticSearch 简称 ES ,是基于Apache Lucene构建的开源搜索引擎,是当前流行的企业级搜索引擎。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。同时ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简...
2019-08-08 19:17:14
1377
原创 String使用的equals方法和==的区别以及intern()方法的使用(干货)
equals方法和==的区别首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用。这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = “Hello”,它的使用方法如同基本类型int一样,比如int i = 1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,比如String s = new String(“Hello”)。但是它...
2019-08-02 20:03:15
252
原创 @Oder注解的使用位置(类还是方法上)
写在前面:本篇博客主要是通过测试来 解决关于@Order注解的使用位置问题,关于这个问题呢,我查了很多的博客,得到的答案是这样的:可以使用在类和方法上。因为我个人认为是只能用在类上的,因此就做了这个测试。测试背景在springBoot的AOP编程中,自定义切面,为了测试方便,只利用了前置通知的方式。测试思路1.定义一个切面类,在切面类中定义多个前置通知,让他们去切同一个servcie方法...
2019-08-01 21:31:38
1290
原创 springboot中将项目打成jar和war以及部署详细流程
写在前面:在我们的实战开发的最后阶段,我们需要将自己写的项目打包放到服务器上。首先来了解一下打包的两种方式:jar包:直接通过内置tomcat运行,不需要额外安装tomcat。如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置。内置tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。war包:传统的应用交付方式,需要安装tomc...
2019-07-31 19:55:57
1271
原创 SpringBoot源码之自定义启动器
**写在前面:**作为一名开发人员,相比较员spring和springMVC的开发来讲,使用SpringBoot微框架带给我们最大的感受就是 :终于可以不用再写那么多的配置文件了。仔细回想一下,在我们原来的spring+springMVC的开发模式中我们在xml文件中需要配置数据源、构建sqlSessionFactory工厂、创建dao实现类对象等等。到了SpringBoot中我们讲这些配置...
2019-07-30 21:58:36
748
原创 SpringMVC文件上传下载(详解)
一、项目结构展示与注意事项二、文件上传1、上传前端页面搭建2.控制器开发具体细节看代码注释:三、文件下载1、文件下载前端页面构建2.控制器开发四、文件上传下载控制器开发代码如果上述的思路鲁清晰了,读者给大家提供现成的代码,供大家复制交流学习@RequestMapping("file")@Controllerpublic class FileController { ...
2019-07-24 21:54:51
360
原创 Spring Boot 微框架
Spring Boot 微框架1. springboot的引言Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的 初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不 再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应 用开发领域(rapid application development)成...
2019-07-23 22:45:51
145
原创 梳理SSM框架的配置文件
我们在进行SSM(SpringMVC+Spring+MyBaties)框架整合的时候,首相明确一下他们各自的功能:1.SpringMVC:主要负责请求转发和流程控制,也就是我们说的控制层。2.SPringle:核心思想就是IOC,将组件交由工厂进行管理。3.MyBaties:数据持久化的工具。关于框架整合的重点就在于这些配置文件,一个是applicationContext.xml,另外一...
2019-07-16 23:30:02
230
原创 Spring集成MyBaties中sqlSessionFactory的创建
Spring 的核心思想就是IOC(Inversion Of Control),中文意思就是控制反转,将创建对象的任务交由工厂来处理,同时还可以管理类与类之间的关系,从而提出了依赖注入的概念。先来了解对象的分类: 1.简单对象:可以通过new的方式创建的对象,例如UserServiceImle 、User类等 2.复杂对象:不能通过new的方式创建的对象,例如sqlSessionFact...
2019-07-15 13:45:15
2782
原创 Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException
错误信息展示:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcCo...
2019-07-14 17:59:46
5294
原创 IDEA设置背景图片---全网最简单的操作
一、实现背景图片的效果这是笔者自己的IDEA,添加了背景图片的效果,先跟大家展示一下:看着自己的女人敲代码是不是非常舒服呢?下面就给大家介绍一下最为简单的设置步骤。二、具体的步骤对的,就一步即可完成,利用Ctrl+Shift+A出现下面的对话框,并且输入Set Background Image,点击第一个就是了。在这里我们可以设置自己想要的图片和图片的相关设置:点击ok,即可生效。...
2019-07-11 13:49:54
4151
1
原创 最简单的文件上传--FileUtils工具类
(文件上传的方法各有不同,这里挑了一个最为简单实用的分享给大家,后续会更新其他版本的文件上传和下载功能)一、前台页面准备二、后台代码配合public class FileUpload extends ActionSupport {//拿到上传文件的路径 private File file; public File getFile() { return ...
2019-07-11 13:36:24
2110
原创 ajax异步刷新实现登录用户名验证
一、ajax简介1.异步的JavaScript和XML。2.是一种网页局部刷新的技术二、同步与异步三、效果展示1.加载效果:输入框失去焦点,会出现加载效果2.输入的是错误的用户名3.输入的是正确的用户名四、具体的代码实现1.客户端核心代码function checkUserName(){ var name= $("#username").val()...
2019-07-10 13:32:55
814
原创 JavaScript达标点
一.什么是JavaSrcipt ? JavaScript简称为js,是一门独立的编程语言,完成页面动态效果的技术。 以下几点注意: 1、 js是使用在HTML中的技术 2、 javaScript 和 java 没关系 3、 js是一门解释性的编程语言 编译性有 C和 C++ : 不能跨平台,运行效率高 解释性有 js 等等 :解释器解释...
2019-07-09 13:46:18
144
原创 VMware无法打开已存在虚拟机vmx文件和虚拟机似乎正在使用解决办法
复制过来的虚拟机或者是未正常删除或者关闭都有可能出现此类问题,此类问题的关键就出在一个名为以 ".lck"结尾的文件夹。下面是正常的未开启的目录:下面是虚拟机开启的目录:我们会发现多了很多目录,这些目录的作用很重要: 这是由于虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失和性能削减方面的隐患,每次启动虚拟机的时候虚...
2019-07-03 16:06:38
13498
原创 Linux下的MySQL安装、启动、相关指令、远程连接、为root用户分配密码、继承Java、删除
一、安装1 将rpm复制到linux的 /usr/local/mysql_rmp2 进入 /usr/local/mysql_rmp 目录 1) 安装相关依赖 rpm -ivh perl-*.rpm 2) 升级mysql库 rpm -Uvh mysql-libs-5.1.73-7.el6.i686.rpm 3) 安装mysql rpm -ivh mysql-5.1.73-...
2019-07-02 22:29:52
141
原创 ORA-01722: 无效数字 ------- 问题解决思路
今天笔者给大家介绍一下无效数字异常的问题解决思路,这种问题属于java.sql.SQLException的一种,其实这种问题很简单,就是你操作数据库的sql语句中传入的参数类型和数据库中存储的类型在赋值的时候出现不一致。如你将一个String 类型的变量赋值给数据库中一个为number类型的变量,这就会出现无效数字的异常。以下面的异常为例:我们可以清晰的看到出现了ORA-01722: 无效数字...
2019-07-02 15:18:44
96102
1
原创 linux中主机名修改和hosts设置
1.主机名修改vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=baizhi可以看到,我们电脑当前的主机名叫做baizhi,读者可以自行定义其值。注意:部分读者不了解vi操作,发现值并不能修改,下面介绍一下简单的vi操作,就可以修改啦!在输入vi /etc/sysconfig/network之前,我们的系统是在命令窗口,一旦键入vi /e...
2019-06-30 10:49:22
4799
1
原创 linux进行网络防火墙的设置
**linux进行网络防火墙的设置**我们在linux上开启服务时,通常需要关闭防火墙服务,今天就给大家介绍一下防火墙的基本设置操作。题外话:大多数人认为linux上面开启服务就需要关闭防火墙,其实,我们还可以选择在防火墙上添加策略,放开对你的服务所在端口的限制。我们选择关闭防火墙这种方法主要是简单。1.永久性有效(重启之后不会失效)开启:chkconfig iptables on关闭...
2019-06-30 10:15:15
344
原创 linux指令查询ip地址
linux指令查询ip地址在黑窗口输入指令ifconfig:[root@baizhi ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:C2:48:40 inet addr:192.168.94.128 Bcast:192.168.94.255 Mask:255.255.255.0 ...
2019-06-30 09:42:47
2978
原创 linux学习笔记day1
linux学习笔记 ---------day11.linux的目录结构bin(binaries):存放二进制可执行文件boot:存放用于系统引导时使用的文件dev(devices):用于存放设备文件etc(etcetera):存放系统配置文件home:存放用户文件的根目录lib(library):存放跟文件系统中的程序运行所需的共享库以及内核模块mnt(m...
2019-06-28 09:21:40
192
原创 思路超清晰-js实现放大镜功能
js实现放大镜功能 今天写项目,但是发现项目中的图片太小,很多信息我们都看不清楚,但是为了页面布局,我有不能讲图片调的尺寸过于大,因此,就想到了用js实现图片的放大镜来解决我的问题。实现后功能大致是这样:放大镜原理: 做一个隐藏的大图,大图为空且隐藏,当鼠标移入时显示大图主要功能: 鼠标移入,放大镜显示 鼠标移出,放大镜隐藏 鼠标移动,放大镜随之移动,并且当...
2019-06-27 09:08:48
2264
原创 404-找不到文件路径,奇葩问题
404-找不到文件路径,奇葩问题### 问题解决办法:直接在myeclipse上面运行,看地址栏中的文件路径,及你要访问的文件路径
2019-05-12 21:28:29
1268
1
原创 Servlet 之间的跳转+数据传递
Servlet 之间的跳转+数据传递一、问题引出(为什么会有跳转?)作为初学者,我们的servlet中去包含一下四个部分: 1.从客户端接受请求参数 2.调用业务方法 3.相应给用户界面 4.关闭资源从工作任务的角度去分析,我们上面的servlet中实现了两个工作: 1.完成业务 2.响应结果我们基于设计方面的考虑,这样的servlet是存在一下两点缺陷...
2019-05-12 20:54:00
1173
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人