自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq:489366879

程序员

  • 博客(285)
  • 收藏
  • 关注

转载 struts2注解总结 -- @Action 和 @Result

除了使用配置文件配置之外,还能够使用注解来配置以下是一些经常使用的注解介绍:@Action/@Actions:@Action指定一个类为action,相应配置文件里的<action>....</action>标签,当中能够配置例如以下属性results:配置返回的结果集属性,相当于struts2中的<result>列表,能够在{}中配置属性,...

2018-11-04 00:34:29 818

转载 struts2 Convention 插件

首先我们需要使用到的jar包: struts2-convention-plugin-2.1.8.jar struts2-core-2.1.8.jar xwork-core-2.1.6.jar commons-fileupload-1.2.1.jar freemarker2.3.16.jar web.xml的配置 <!-- Struts2过滤器 --> ...

2018-11-04 00:29:12 234

转载 maven profile 动态选择配置文件

一、背景  在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。  maven提供了一种方便的解决这种问题的方案,就是profile功能。二、...

2018-10-31 22:51:52 115

转载 springmvc缓存 和 mybatis缓存

1. 导入相关依赖包:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.7.RELEASE</version>&a

2018-10-29 21:12:40 269

转载 搭建 nginx+tomcat+Java的负载均衡环境

Nginx可以通过以下两种方式来实现与Tomcat的耦合:将静态页面请求交给Nginx,动态请求交给后端Tomcat处理。将所有请求都交给后端的Tomcat服务器处理,同时利用Nginx自身的负载均衡功能进行多台Tomcat服务器的负载均衡。下面通过两个配置实例分别讲述这两种实现一、动态页面和静态页面分离的实例这里假定Tomcat服务器的IP地址为192.168.12.130,...

2018-10-29 20:30:55 119

转载 maven 自动部署到远程 tomcat

使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间。本文章适用于tomcat的7.x ,8.x, 9.x版本。下面是自动部的步骤1,首先,配置tomcat的manager编辑远程tomcat服务器下的conf/tomcat-users.xml,在末尾增加(其实只要拉到文件末尾,去掉注释改一下就可以了)<role ro...

2018-10-28 22:59:45 373

转载 Eclipse中执行maven命令

1、如下图,右击需要执行maven命令的工程,选择"Debug As"或"Run As",再选择"Maven build..."进行如上操作之后,会出现如下图所示的对话框:Name:可以给这个操作命令命名,每执行一个maven命令都会被保存。Goals:输入我们需要执行的maven命令,一次执行多个命令用空格隔开。复选框:下面的复选框可以让我们进行一些选择性的操作,如上图跳...

2018-10-28 22:11:01 175

转载 springMVC 集成 mybatis-paginator 实现分页

1、引入maven依赖<dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> <version>1.2.17</version></d

2018-10-22 23:49:31 369

转载 SpringMVC 几种页面跳转方式

SpringMVC 几种页面跳转方式总结如下:1.不使用ModelAndView1)、通过HttpServletResponse的API直接输出(不需要配置渲染器)@Controllerpublic class RequestController{ @RequestMapping("/resp")    public void test(HttpServletRequest req...

2018-10-22 21:00:10 235

转载 mysql 悲观锁、共享锁、排它锁、行锁

悲观锁与乐观锁相对应的就是悲观锁了。悲观锁就是在操作数据时,认为此操作会出现数据冲突,所以在进行每次操作时都要通过获取锁才能进行对相同数据的操作,这点跟java中的synchronized很相似,所以悲观锁需要耗费较多的时间。另外与乐观锁相对应的,悲观锁是由数据库自己实现了的,要用的时候,我们直接调用数据库的相关语句就可以了。说到这里,由悲观锁涉及到的另外两个锁概念就出来了,它们就是共享锁...

2018-10-22 10:27:16 107

转载 使用 mysql 悲观锁 解决并发问题

悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL InnoDB为例...

2018-10-22 09:57:54 373

转载 SpringMVC上传文件的三种方式

前端:<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/lo

2018-10-21 22:42:53 93

转载 实用的 Mybatis generator 自动生成工具

日常开发或接私活以后,有时候我们需要快速创建项目进行开发,除了需要项目框架模板(如SSM,SSH,Spring boot等框架模板),我们还需要快速的生成一些简易代码.Mybatis generator代码生成器,根据数据表名称生成对应的Model、Mapper、Service、Controller简化开发。版本mybatis gennerator无需配置任何配置文件,只需添加maven依...

2018-10-21 22:10:40 418

转载 Mybatis Generator最完整配置详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-confi...

2018-10-21 16:35:02 91

转载 maven 使用 mybatis-generator

1. 在pom.xml文件中添加mybatis-generator插件在project节点下添加如下代码:<build> <finalName></finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</...

2018-10-21 16:15:26 86

原创 CentOS6 配置iptables

如果没有安装iptables可以直接用yum安装yum install -t iptables检查iptables服务的状态,service iptables status如果出现“iptables: Firewall is not running”,说明没有启动或没有规则启动iptables服务service iptables start第一次配置前消除默认的规则...

2018-09-21 21:37:20 2055

转载 golang - time包

Time时间类型,包含了秒和纳秒以及LocationMonthtype Month int 月份.定义了十二个月的常量Weekdaytype Weekday int 周,定义了一周的七天Durationtype Duration int64 持续时间.定义了以下持续时间类型.多用于时间的加减 需要传入Duration做为参数的时候.可以直接传入time.Second...

2018-09-06 17:35:59 195

转载 golang — 接口

概述如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。Go语言中的接口是一些方法的集合(method set),它指定了对象的行为:如果它(任何数据类型)可以做这些事情,那么它就可以在这里使用。 type Reader interfac...

2018-09-06 17:35:19 161

转载 Golang — Channel&Goroutine

1. 概述“网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。Goroutine和channel是Go在“并发”方面两个核心feature。Channel是goroutine之间进行通信的...

2018-09-06 17:34:42 231

转载 java 并发编程:ReenTrantLock可重入锁(和synchronized的区别)总结

可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。 锁的实现:Synchronized是依赖于JVM实现的,而ReenTrantLock是JDK实现的,有什么区别,说白了就类似于操作系统来控制实现和用...

2018-06-14 14:22:31 153

转载 Java并发编程:阻塞队列

Java并发编程:阻塞队列  在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。  在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedLis...

2018-06-14 11:08:00 108

转载 Java并发编程:Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,就提供了Call...

2018-06-11 17:06:35 90

转载 Java并发编程:Lock

Java并发编程:Lock  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文...

2018-06-11 16:44:12 119

转载 Java并发编程--ReentrantReadWriteLock

概述  ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应用中,大部分情况下对共享数据(如缓存)的访问都是读操作远多于写操作,这时Reentr...

2018-06-08 10:46:05 93

转载 Java 8 Lambda 表达式

摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等。本文系 OneAPM 工程师编译整理。Java 是一流的面向对象语言,除了部分简单数据类型,Java 中的一切都是对象,即使数组也是一种对象,每个类创建的实例也是对象。在 Java 中定义的函数或方法不可能完全独立,也不能将方法作为参数或返回一个方法给实例。从 Swing 开始,我...

2018-06-08 10:05:48 118

转载 Callable,Runnable的区别及用法

编写多线程程序一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是:(1)Callable规定的方法是call(),Runnable规定的方法是run()。其中Runnable可以提交给Thread来包装下,直接启动一个线程来执行,而Callable则一般都是提交给ExecuteService来执行。 (2)Callable的任务执行后可返回...

2018-06-07 10:02:40 1206

转载 Java并发-原子操作类

原子操作类简介当更新一个变量的时候,多出现数据争用的时候可能出现所意想不到的情况。这时的一般策略是使用synchronized解决,因为synchronized能够保证多个线程不会同时更新该变量。然而,从jdk 5之后,提供了粒度更细、量级更轻,并且在多核处理器具有高性能的原子操作类。因为原子操作类把竞争的范围缩小到单个变量上,这可以算是粒度最细的情况了。原子操作类相当于泛化的volatile变量...

2018-06-07 09:35:43 125

转载 Servlet的多线程和线程安全

线程安全首先说明一下对线程安全的讨论,哪种情况我们可以称作线程安全?网上对线程安全有很多描述,我比较喜欢《Java并发编程实战》给出的定义,“当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的”。Servlet的调用过程和生命周期Servlet的生命周期Servlet...

2018-06-06 16:30:40 201

转载 java并发-原子性

原子性就是指该操作是不可再分的。java.util.concurrent.atomic中有一组使用无锁算法实现的原子操作类。AtomicInteger、AtomicBoolean、AtomicLong 外还有AtomicReference 。它们分别封装了对整数、整数数组、长整型、长整型数组和普通对象的多线程安全操作。这些都是居于CAS算法实现的。CAS即:Compare and Swap,是比较...

2018-06-06 15:30:50 133

转载 Java 基本数据类型 及 == 与 equals 方法的区别

       Java数据类型分为基本数据类型与引用数据类型。    1 基本数据类型byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0short:短整型,2个字节(16 bit),取值范围-32768~32717,默认值0int:整型,用于存储整数,在内存中占4个字节,取值范围-2147483648~2147483647,默认值0long:长...

2018-05-30 15:28:26 297

转载 String, StringBuffer 与 StringBuilder 的区别

一  String    1)String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。在早期的JVM实现版本中,被final修饰的方法会被转为内嵌调用以提升执行效率。而从Java SE5/6开始,就渐渐摈弃这种方式了。因此在现在的Java SE版本中,不...

2018-05-29 23:23:59 130

转载 JVM:GC 回收机制

Java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么GC具体通过什么手段来判断一个对象已经”死去”的?1.引用计数算法(已被淘汰的算法)给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。目前主流的java虚拟机都摒弃...

2018-05-29 22:33:52 118

原创 Setting property 'source' to 'org.eclipse.jst.jee.server:web' did not find a matching property原因

默认情况下,server.xml的 Context元素不支持名称为source的属性,就出现该警告双击eclipse下tomcat服务器,在出来的Tomcat server at localhost页面中找到server options选项,选中其中的选项”Publish modual contexts to separat XML files“,ctr+s,启动tomcat.Tomcat 7.0...

2018-05-26 19:02:46 600

转载 Log4j配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderNam...

2018-05-25 23:53:13 86

转载 使用maven创建web项目

  目前做的项目使用的是MAVEN来管理jar包,这也是我第一次接触maven,感觉非常好,再也不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载。非常方便。之前比较忙没时间整理,现在整理一下,记录下来,加深印象。当然我们使用maven也只是最基本的,很多其他功能都没有使用到,本篇仅介绍如何创建一个maven项目,不做其他       下面推...

2018-05-25 23:49:14 88

转载 MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

     这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考。1.JDK的安装       首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。———————————————————————————————————————————————————...

2018-05-25 22:56:14 99

原创 【微信技巧】公众号涨粉更方便!一键关注页面

https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=你的==#wechat_redirect_biz 可以在您的文章链接中 找到

2018-03-14 22:14:28 2189

转载 Centos 6.8 下利用 letsencrypt.sh 脚本为 nginx 配置免费 https 证书

1、下载letsencrypt.shwget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.confwget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.s...

2018-02-16 16:12:18 569

转载 webp 转 jpeg(ImageMagick+libwebp)

yum install ImageMagick或者官网http://www.imagemagick.org/download/ImageMagick.tar.gztar zxvf ImageMagick.tar.gzcd ImageMagick./configure --prefix=/usr/local/ImageMagickmakemake installwebp格式支持yum install...

2018-02-08 10:15:58 1065

转载 查看php-fpm开启的进程数以及每个进程的内存限制

1.通过命令查看服务器上一共开了多少的 php-cgi 进程 ps -fe |grep "php-fpm"|grep "pool"|wc -l2.查看已经有多少个php-cgi进程用来处理tcp请求  netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l3.linux+nginx+php环境中,每个ph

2018-02-04 23:05:31 4577

空空如也

空空如也

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

TA关注的人

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