自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

转载 Winows配置jvm和堆内存使用情况查看

JVM参数配置和内存查看一、参数配置的方式示例tomcat版本为:apache-tomcat-7.0.691.catalina.bat更改%CATALINA_HOME%/bin下的catalina.bat(catalina.sh)文件,在开头加入一行: set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024M -Xmx1024M -Xmn256M -XX:PermSize=256M -XX:MaxPermSize=256M -Xss256K...

2020-05-15 11:13:19 854

转载 如何解决代码中 if…else 过多的问题

转自:www.cnblogs.com/eric-shao/p/10115577.html前言if...else 是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...else。虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性、可维护性造成很大伤害,进而危害到整个软件系统。现在软件开发领域出现了很多新技术、新概念,但 if...else 这种基本的程序形式并没有发生太大变化。使用好 if...else 不仅对于现在,而且对于将来,都是十分有意.

2020-05-15 09:38:35 319

转载 干掉try-catch

转自:https://mp.weixin.qq.com/s/SpWTXu381RbCUc4qSTXLHw软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块优雅...

2020-05-15 09:36:19 337

转载 JAVA 线上故障排查完整套路

转载:https://fredal.xin/java-error-check 转载仅为能快速访问学习,如有侵权,麻烦原作者告知删除,谢谢线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查 CPU 方面的问题.

2020-05-15 09:28:04 476

原创 简述系统如何支撑高并发

高并发系统各不相同。比如每秒百万并发的中间件系统、每日百亿请求的网关系统、瞬时每秒几十万请求的秒杀大促系统。他们在应对高并发的时候,因为系统各自特点的不同,所以应对架构都是不一样的。另外,比如电商平台中的订单系统、商品系统、库存系统,在高并发场景下的架构设计也是不同的,因为背后的业务场景什么的都不一样。最简单的系统架构假设刚刚开始你的系统就部署在一台机器上,背后就连接了一台数据库,...

2020-03-09 16:40:51 234

原创 JWT token流程

业务场景在前后分离场景下,越来越多的项目使用token作为接口的安全机制,APP端或者WEB端(使用VUE、REACTJS等构建)使用token与后端接口交互,以达到安全的目的。本文结合stackover以及本身项目实践,试图总结出一个通用的,可落地的方案。基本思路单个tokentoken(A)过期设置为15分钟 前端发起请求,后端验证token(A)是否过期;如果过期,前端发起刷...

2019-10-18 17:00:36 809

原创 最简单的在windows上搭建redis集群(哨兵模式Redis-Sentinel)

本文主要讲解如何在windows上搭建redis集群(哨兵模式Redis-Sentinel),采用一主(MASTER)二从(SLAVE)三哨兵(SENTINEL)的架构。一、下载安装Redis redis下载地址 https://github.com/MicrosoftArchive/redis/releases 1、...

2019-09-09 17:31:51 4375

原创 nginx负载均衡(权重)

nginx负载均衡的配置。把请求通过nginx的反向代理分发到多台服务器处理,可以减轻单台服务器的处理压力,提高访问速度。1、增加nginx负载均衡代码#服务器分发池列表(注意server只填IP+端口,要写入http里面,名字可以随便取,分发配置对应上即可) upstream myUrl{ server 127.0.0.1:81 weight=1;#服务器1...

2019-09-06 11:40:45 7815

原创 centos启动、关闭tomcat

启动tomcat很简单,在tomcat的bin目录下输入 ./catalina.sh run 这是带控制台输出的运行方式,不带控制台的话可以直接sh startuo.sh,那么问题来了。如果是用ssh终端软件(XShell)连接linux系统的话,在你关闭终端的时候,tomcat也会停止运行,这时候就需要后台运行了,那么你需要使用到 nohup 不挂断地运行命令,进入到bin目...

2019-09-05 16:29:02 2102

原创 centos启动、关闭jar包服务

在linux下启动或关闭jar包服务 启动:进入到jar包对应的文件夹,执行 nohup java -jar xxx.jar & 命令 关闭: 1、先查出对应的PID:执行命令 ps -aux 2、kill命令关闭对应的PID:执行命令 kill 对应的jar包的PID实时查看日志命令: 进入到...

2019-06-24 09:42:13 3240

原创 CentOS7 linux下yum安装redis以及使用

CentOS7 linux下yum安装redis以及使用一、安装redis1、检查是否有redis yum 源 1 yuminstallredis 2、下载fedora的epel仓库 1 yuminstallepel-release 3、安装redis数据库 1 ...

2019-05-07 11:51:27 136

原创 mysql 查看sql是否使用索引

首先说明一下,索引不是越建越多越好,根据项目的实际情况来建索引是最合理的,因为索引占用磁盘空间,并且降低添加、删除和更新行的速度。当然索引也有好处就是查询速度快,它利还是大于弊的所以请慎重使用索引。我们使用explain关键词就可以查看sql语句是否使用索引,也提高我们sql优化explain执行结果关注以下几个字段:table:这一列是查询设计的表。type:很重要的一列,...

2019-04-19 11:17:25 2181

原创 HashMap、HaseTable、HaseSet

HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals...

2019-03-15 18:00:30 541

原创 springmvc特性

Spring MVC特性(优点):1、清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以...

2019-03-14 15:35:43 2569

原创 并发秒杀系统设计

高并发核心技术 - 订单与库存问题:一件商品只有100个库存,现在有1000或者更多的用户来购买,每个用户计划同时购买1个到几个不等商品。如何保证库存在高并发的场景下是安全的。1.不多发2.不少发下单涉及的一些步骤1.下单2.下单同时预占库存3.支付4.支付成功真正减扣库存5.取消订单6.回退预占库存什么时候进行预占库存方案一:加入购物车的时候去预占库存。方案二:下单...

2019-03-13 16:06:57 337

原创 docker简述

docker:docker是应用容器引擎,可以将程序所涉及到的应用和依赖包(比如jdk、tomcat、spring)等打包成镜像,直接运行在对应的系统中好处:1.合作开发的时候,在本机可以跑,别人的电脑跑不起来   这里我们拿java Web应用程序举例,我们一个java Web应用程序涉及很多东西,比如jdk、tomcat、spring等等。当这些其中某一项版本不一致的时候,可能就会导...

2019-03-06 23:07:53 209

原创 java中的栈和堆

栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生命周期都很短。堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆中,堆中存...

2019-03-06 12:19:22 175

原创 java调优工具和方案

一、JConsole是什么 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。二、如何启动JConsole如果是从命令行启动,使 JDK 在 PA...

2019-02-28 16:05:33 305

原创 mybatis和hibernate区别

1. hibernate是全自动,而mybatis是半自动hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。2. hibernate数据库移植性远大于mybatishibernate通过它强大的映射结构和hql语言...

2019-02-28 11:35:07 314

原创 springmvc和struts2比较

1.核 心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受、异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter。2.控制器实例:Spring Mvc会比Struts快一些(理论上)。Spring Mvc...

2019-02-28 11:23:41 185

原创 java23种设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。...

2019-02-28 11:02:48 208

原创 spring4配置文件详解

spring4配置文件详解一、配置数据源基本的加载properties配置文件 <context:property-placeholder location="classpath*:/appConfig.properties" />  1、JNDI方式 <jee:jndi-lookup id="dataSource" jndi-name...

2019-02-21 20:36:20 1274

原创 集群,分布式,微服务概念和区别

概念:集群是个物理形态,分布式是个工作方式。(“分头做事”与“一堆人”的区别 )分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个群集,...

2019-02-19 10:02:59 290

原创 Java高级工程师面试题总结及参考答案

Java高级工程师面试题总结及参考答案一、面试题基础总结1、 JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解     ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法  b、可达性分析算法(  这里的可达性,大家可以看基础2 ...

2019-02-18 17:09:25 1571

原创 数据库事务的四大特性以及事务的隔离级别

数据库事务的四大特性以及事务的隔离级别  本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如...

2019-02-15 12:21:34 180

转载 内存溢出和内存泄漏

java内存溢出与内存泄漏内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory! 以发生的...

2019-02-15 08:26:54 183

原创 eclispe创建maven项目

创建项目1.1点击:file-》other…(有maven Project直接选)1.2 next1.3 选择 maven-archetype-webapp,点击next1.4 填写项目名,点击finish(artifact id是项目名,pckage是包名)修改项目属性2.1 项目右键build Pathàconfigure build Path…(改为...

2019-02-14 16:13:28 364 1

原创 linux下yum安装nginx

服务器centos7下安装nginx,不多说,直接上图1、添加nginx源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2、查看nginx源是否安装成功yum search nginx安装成功显示结果:...

2018-12-20 20:10:23 371

原创 svn变更地址

有时由于服务器IP原因,导致SVN原来地址用不了,重新导文件又很麻烦,只能变更svn地址了,以下是教程。1、找到svn的存放文件夹,右键,选择TortoiseSVN-->Relcate..,如图                 2、接下来修改你需要更换的IP地址,然后点击OK                        3、如果需要重新输入账号密码,输入原来的账号密码即...

2018-07-18 10:45:55 759

原创 svn切换账号

svn切换账号前言:怕忘记了,以后又得百度,所以自己记下来。操作步骤如下:1、右键点击svn的文件夹,按照下图进行操作    2、进入settings后,点击saved Data,按下图操作    3、点击clear后显示以下页面,如图    勾选上Realm String栏目对应的地址选项,然后点击确定按钮。4、最后回到svn文件夹,右键,显示如图    然后点击SVN Update5、 最后填...

2018-07-12 14:51:44 1084

原创 eclipse在线安装mybatis generator插件及mybatis逆向工程

今天做项目ssm架构觉得手动去新建实体类、dao层和mapper文件觉得太累,太繁琐了,于是用mybatis的逆向工程做了,一下子搞定,怕以后忘记了,现在赶紧先记下来(我用的是eclipse编译工具)。1、首先,得先看看eclipse有没安装mybatis generator插件,如果有的话,请忽略这一步    eclipse在线安装mybatis generator    1、打开eclipse...

2018-05-11 11:38:28 4665 1

原创 各类API接口

聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。聚合的免费API接口数据:手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11历史上的今天API接口:https://www.juhe.cn/docs/api/id/63股票数据API接口:https://www.juhe.cn/docs...

2018-04-17 22:18:48 4595

原创 简单明了的重写和重载的区别

重写:方法名相同,参数个数,参数名,返回类型统统相同重载:方法名相同,参数个数,参数名不同,返回类型可以相同也可以不同,不以返回类型做为区分

2018-01-15 10:55:05 401

转载 java面试题下

转载:http://blog.csdn.net/qq420100523/article/details/78394930(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相

2018-01-09 09:51:53 526 1

转载 java面试题中

转载:http://blog.csdn.net/qq420100523/article/details/78394930(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其ser

2018-01-09 09:49:06 461

转载 java面试题上

转载:http://blog.csdn.net/qq420100523/article/details/78394782(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节

2018-01-09 09:45:55 2140

原创 简单明了的JAVA生成32位UUID

这里主要是介绍java自带的类import java.util.UUID产生的32位ID,简单明了public static String getUUID() { return UUID.randomUUID().toString().replace("-", ""); }最后返回的是32位ID

2017-10-18 14:29:36 2989

原创 微信公众号授权登录

说明:如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。1、首先,先登录微信公众平台填写授权回调页面域名(可以申请公众平台测试账号进行开发),回调页面域名是你的第三方跳转域名,不需要加http,如截图所示:2、授权流程分为4步:a、引导用户进入授权页面同意授权,获取code b、通过code换

2017-09-25 16:56:56 1218

原创 eclipse下载springboot插件到创建springboot项目

一、eclipse在线下载springboot插件1、help->eclipse marketplace->popular-选择spring tool suite(STS)进行下载2、下载好之后,重启eclipse,测试springboot插件是否已下载好,步骤:File->new->other3、如果有spring这个文件夹,说明springboo

2017-07-04 10:25:12 21843 1

laydate5.0

laydate5.0新版本下载,有需要的可以看看分享一下,很实用

2018-07-02

mybatis逆向工程Demo

mybatis逆向工程Demo和mysql-connector-java jar包,有需要的可以下载参考

2018-05-11

jedis.jar下载

jedis.jar包下载

2017-07-18

空空如也

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

TA关注的人

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