自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot整合Swagger及Swagger注解属性介绍

1 环境JDK1.8Tomcat 8.0.39Spring 4.3.9.RELEASE已完成项目2 Swagger2的maven依赖在项目根pom.xml中引入jar及其版本号。<!-- 构建Restful API --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2<...

2020-05-15 10:30:44 749

原创 Linux系统进程的运行、调试、关闭、重启脚本的编写

每次运行*.jar项目后运行ps aux |grep java 和 java -jar 不免有些麻烦,写脚本会方便的多,这里记录一下*.jar的运行、调试、关闭、重启脚本的编写运行start.sh#!/bin/sh echo jar starting... nohup java -jar aaa.jar & echo jar start completed!调试debug.sh#!/bin/bashecho stop application...sou...

2020-05-13 17:52:54 307

原创 Centos7-Minimal安装后应该干什么

首先我是只小菜鸟,还不是很熟练,我也是弄了N次之后才开始慢慢总结这么一点经验刚安装完成 ifconfig 和yum命令是不能用的,需要修改配置文件 我是直接将其设置为静态IP 首先点“编辑”-“虚拟机网络编辑器”-“VMnet8”,把下面的东西取消掉,如图 使用命令vi /etc/sysconfig/network-scripts/ifcfg-ens33(这里的ifcfg-en...

2018-11-27 16:42:36 836

原创 CentOS7安装详解

本文基于vmware workstations进行CentOS7安装过程展示,关于vmware workstations安装配置本人这里不再介绍,基本过程相当于windows下安装个软件而已。1、打开vmware workstations,文件-&gt;新建虚拟机,出现如下界面,选择“自定义(高级)”选项,下一步继续:2、此步骤默认,下一步继续:3、在出现下面界面,选中“稍后安...

2018-11-27 15:26:38 128

原创 Java SSM框架相关基础面试题整理

1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:①. IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。②. AOP:面向切面编程2、Spring的事务?编程式事务管理:编程方式管理事...

2018-11-27 13:21:46 180

原创 基于zookeeper和quartz实现分布式定时调度

目的利用zookeeper的特性,来控制quartz实现分布式调度,保证quartz的单点运行,同时解除quartz自身分布式部署对数据库的依赖,保证同一时刻只有一个quartz应用在执行任务。 实现方式利用zk的分布式独占锁,控制quartz应用执行节点,让拿到独占锁的quartz应用执行调度,没有拿到独占锁的quartz处理等待状态。 类图 核心代码 ...

2018-11-19 10:19:07 1085 1

原创 关于Mybaits,我总结了10种通用的写法

用来循环容器的标签forEach,查看例子foreach元素的属性主要有item,index,collection,open,separator,close。 item:集合中元素迭代时的别名, index:集合中元素迭代时的索引 open:常用语where语句中,表示以什么开始,比如以'('开始 separator:表示在每次进行迭代时的分隔符, ...

2018-11-19 10:16:25 150

原创 Nginx使用详解

什么是Nginx?Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为...

2018-11-15 08:58:51 131

原创 Redis+Twemproxy+HAProxy集群

Redis主从模式Redis数据库与传统数据库属于并行关系,也就是说传统的关系型数据库保存的是结构化数据,而Redis保存的是一些所谓的 临时 数据,因为Redis具备一项很强的功能 持久化数据 ,发现Redis好像也可以做一些传统数据库的开发。但是现在Redis除了可以进行数据的存储之外,实际上也可以在一些系统的架构设计之中作为数据的缓冲点: 如果要想实现主从模式的配置,首先一定要准备出三台...

2018-11-08 13:38:02 234

原创 Linux下如何查看哪些进程占用的CPU内存资源最多

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|headlinux下获取占用内存资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head    命令组合解析(针对CPU的,ME...

2018-11-08 13:37:15 131

原创 二叉树实战 22 题

先上二叉树的数据结构:class TreeNode{    int val;    //左孩子    TreeNode left;    //右孩子    TreeNode right;}二叉树的题目普遍可以用递归和迭代的方式来解1. 求二叉树的最大深度int maxDeath(TreeNode node){    if(node==null){       ...

2018-11-05 09:51:37 122

原创 SpringMVC实战中如何权限管理详解

1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。 DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。  所以我们现在web...

2018-11-05 09:49:05 359

原创 HashMap 怎么 hash?又如何 map?

HashMap 是 Java 中 Map 的一个实现类,它是一个双列结构(数据+链表),这样的结构使得它的查询和插入效率都很高。HashMap 允许 null 键和值,它的键唯一,元素的存储无序,并且它是线程不安全的。  由于 HashMap 的这些特性,它在 Java 中被广泛地使用,下面我们就基于 Java 8 分析一下 HashMap 的源码。  双列结构:数组...

2018-11-05 09:34:27 110

原创 短小精悍之 Redis 命令行工具有趣的罕见用法

我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻。本节我们一起来挖掘这些鲜为人知的有趣用法。执行单条命令平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况下我们使用的是它的「交互模式」。还有...

2018-10-31 08:39:01 116

原创 搞定所有的跨域请求问题 : jsonp & CORS

网上各种跨域教程,各种实践,各种问答,除了简单的 jsonp 以外,很多说 CORS 的都是行不通的,老是缺那么一两个关键的配置。本文只想解决问题,所有的代码经过亲自实践。 本文解决跨域中的 get、post、data、cookie 等这些问题。 本文只会说 get 请求和 post 请求,读者请把 post 请求理解成除 get 请求外的所有其他请求方式。 JSONP...

2018-10-29 14:31:18 113

原创 数据库分库分表的应用场景及解决方案

现实业务场景中,为了保障客户体验并满足业务的线性增长。会对数据量巨大,且业务会始终进行的产品进行分表分库策略。但是如何合理的根据业务采取争取的分表分库策略至关重要。下面以具体实例来进行分析。场景一:用户中心数据库切分架构实践|场景介绍    用户中心是一个十分常见的业务系统,涵盖用户登录、注册、信息查询与修改等服务。      用户的核心元数据为:       User(uid,l...

2018-10-25 08:57:23 121

原创 Java ExecutorService四种线程池的例子与说明

1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();那你就out太多了,new Thread的弊端如下...

2018-10-23 13:57:48 89

原创 面试问烂的 Spring AOP 原理、SpringMVC 过程

Spring AOP ,SpringMVC ,这两个应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让印象更加深刻,面试的时候游刃有余。Spring AOP 原理简单说说 AOP 的设计: 每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。 每个 Bean 会有多个“方法拦截器”。注意:拦...

2018-10-23 13:31:29 147

原创 CAS 实现 SSO 单点登录

环境 cas-server-4.1.8,cas-client-3.4.0,Java-8,Maven-3,Tomcat-7.0.72 CAS Server 安装 点此进入 CAS 下载列表,选择下载 cas-4.1.8.zip。 https://github.com/apereo/cas/releases 解压缩 cas-4.1.8.zip 并进入 cas...

2018-10-23 13:23:49 253

原创 JVM 之 ParNew 和 CMS 日志分析

在两年前的文章 JVM 学习——垃圾收集器与内存分配策略中,已经对 GC 算法的原理以及常用的垃圾收集器做了相应的总结。今天这篇文章主要是对生产环境中(Java7)常用的两种垃圾收集器(ParNew:年轻代,CMS:老年代)从日志信息上进行分析,做一下总结,这样当我们在排查相应的问题时,看到 GC 的日志信息,不会再那么陌生,能清楚地知道这些日志是什么意思,GC 线程当前处在哪个阶段,正在做什么事...

2018-10-23 13:19:43 149

原创 Spring 中的线程安全性

Spring与线程安全 Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。 Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如,一个scope为singleton的bean,在第一次被注入时,会创建为一个单...

2018-10-23 13:13:36 118

原创 Java 必须掌握的 12 种 Spring 常用注解

1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250...

2018-10-23 11:39:59 95

原创 MyCat:开源分布式数据库中间件

为什么需要MyCat?虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。2014年MyCat首次在上海的《中华架构师》大会上对外宣讲引发围观,更多的人参与进来,随后越...

2018-10-17 16:03:05 117

原创 分享几个 SpringBoot 实用的小技巧

前言最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。算不上多高大上的东西,但都还挺有用。屏蔽外部依赖第一个是 屏蔽外部依赖,什么意思呢?比如大家日常开发时候有没有这样的烦恼:项目是基于 SpringCloud 或者是 dubbo 这样的分布式服务...

2018-10-17 09:26:42 95

原创 linux 定时休眠

最近公司规定晚上走人后必须关闭电脑,但是像我们这样的人,经常会忘记了关闭电脑,而且关闭电脑之后再恢复工作环境也是件挺麻烦的事情,无奈之下只能折腾一下,让linux定时休眠了。 休眠的类型 目前大概由三种类型的休眠: suspend(suspend to RAM) 指的是除了内存以外的大部分机器部件都进入断电状态。 这种休眠状态恢复速度特别快,但由于内存中的数据并没有...

2018-10-15 11:32:21 1336

原创 linux误删除 dev 下特殊文件怎么办

若不小心误删除了 /dev/null 这样的特殊文件,或者chroot到其他目录需要手工创建 /dev/null 怎么办呢? 我们可以用 mknod 来重新创建 sudo /bin/mknod -m 0666 /dev/null c 1 3 其中 mknod 命令用来创建块或者字符特殊文件,其语法为 mknod [选项]... 名称 类型 [主设备号 从设备号...

2018-10-15 11:29:33 607

原创 史上最全的 MySQL 高性能优化实战总结

一、前言MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL 的优化器能够按照预想的合理方式运行而已。今天给大家体验 MySQL 的优化实战,助你高薪之路顺畅!图 - MySQL查询过...

2018-10-15 11:24:16 167

原创 Linux 中网络相关的那些配置文件

/etc/networks 机器所连接的网络中那些可以访问的网络名和网络地址 /etc/protocols 列举了当前可用的协议名称 /etc/resolv.conf DNS服务器信息 search domainname.comnameserver 192.168.1.2nameserver 8.8.8.8 其中 search d...

2018-10-15 11:12:32 385

原创 ActiveMQ 结合 Spring 收发

ActiveMQ 结合 Spring 收发消息 直接使用 ActiveMQ 的方式需要重复写很多代码,且不利于管理,Spring 提供了一种更加简便的方式————Spring JMS ,通过它可以更加方便地使用 ActiveMQ。 Maven 依赖 结合Spring使用ActiveMQ的依赖如下: &lt;!-- Spring JMS --&gt;&lt;...

2018-10-12 12:37:37 141

原创 Java高级应用:线程池全面解析

 什么是线程池? 很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。 线程池的好处 我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的方式来创建并运行一个线程,线程少的话这不会是问题,而真实环境可能会开启多个...

2018-10-12 10:06:53 88

原创 AJAX跨域访问(get、post请求)

1、JSONP实现跨域get请求(无论请求方式是get,post或者是put等别的请求,最终都会被默认以get请求发送)&lt;script type="text/javascript"&gt; $.ajax({ url:"http://crossdomain.com/services.php", dataType:'jsonp', ...

2018-10-11 18:06:16 8100

原创 获取Tomcat同级目录

//1.项目路径 String projectPath = request.getSession().getServletContext().getRealPath("/"); //2.tomcat同级路径 String tomcatPath = new File(projectPath ).getParentFile().getParentFile().getAb...

2018-10-11 15:37:24 645

原创 在Tomcat下配置静态路径

在tomcat的conf目录下的server.xml文件中的Host标签内添加如下:&lt;!-- 增加的静态资源映射配置 --&gt;&lt;Context path="/download" docBase="D:\Downloads\" reloadable="true" crossContext="true"&gt;&lt;/Context&gt;说明:pat

2018-10-11 14:52:03 180

原创 Nginx 架构初探

一、Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。  核心模块  核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。  标准 HTTP 模块...

2018-10-10 16:02:35 78

原创 Java 并发之 Condition 的实现分析

一、Condition的概念 介绍 回忆 synchronized 关键字,它配合 Object 的 wait()、notify() 系列方法可以实现等待/通知模式。 对于 Lock,通过 Condition 也可以实现等待/通知模式。 Condition 是一个接口。Condition 接口的实现类是 Lock(AQS)中的 ConditionObject...

2018-10-10 14:24:05 163

原创 Spring 面试问题 TOP 50

1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能?  1.2. 什么是 Spring Framework?  Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。 它是轻量级、松散耦合的。 它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。 ...

2018-10-10 09:14:15 85

原创 一次性搞清楚equals和hashCode

前言在程序设计中,有很多的“公约”,遵守约定去实现你的代码,会让你避开很多坑,这些公约是前人总结出来的设计规范。Object类是Java中的万类之祖,其中,equals和hashCode是2个非常重要的方法。这2个方法总是被人放在一起讨论。最近在看集合框架,为了打基础,就决定把一些细枝末节清理掉。一次性搞清楚!下面开始剖析。public boolean equals(Objec...

2018-10-10 08:56:47 85

原创 数据库常见的面试题大全

1、触发器的作用?触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2、什么是存储过程?用什么来调用?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,...

2018-10-09 13:53:30 94

原创 Redis 高可用解决方案总结

本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析。一、常见使用方式Redis 的几种常见使用方式包括: Redis 单副本; Redis 多副本(主从); Redis Sentinel(哨兵); Redis Cluster; Redis 自研。 二、各种使用方式的优缺点  1、Redis 单副本Redis 单副本,...

2018-10-09 13:29:13 91

原创 IDEA+Maven 打jar包

IDEA+Maven 打jar包 (包涵依赖jar)写在前面:​ 这两天一直在整(gu)理(dao)IDEA 用Maven打jar包,网上的教程是各式各样,但是都不能满足我的需求(或者 还没有找个正确的),因此 综合网上的内容 自己整理了一下(以下内容是在mac系统下 win 可能有一些地方不一样)。软件环境:​ IDEA:2017.1.5​ Maven:3.3.9打jar...

2018-09-27 11:16:06 92

空空如也

空空如也

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

TA关注的人

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