自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解)(转载)

Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解) 前言本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始。支付宝测试环境代码测试源代码https://github.com/OU...

2018-07-16 10:50:54 1041

原创 SimpleDateFormat线程不安全及解决办法

SimpleDateFormatt线程不安全及解决办法 一. 为什么SimpleDateFormat不是线程安全的?Java源码如下:  /** * Date formats are not synchronized. * It is recommended to create separate format i...

2018-07-05 17:02:41 401

原创 Java多线程

Java多线程 一.进程和线程进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位) 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 多进...

2018-06-28 16:25:34 148

原创 Java多线程分段处理List集合

Java多线程分段处理List集合解决方案:1.List集合分段2.动态创建线程池newFixedThreadPool3.多线程处理数据 代码如下: public static void main(String[] args) throws Exception { // 开始时间 long start = System.currentTimeMillis(); ...

2018-05-21 10:00:13 5829 1

原创 深入理解Java虚拟机(JVM)

深入理解Java虚拟机(JVM) 1. JVM内存分区以及作用java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个运行...

2018-05-04 15:24:41 92

原创 Java泛型

Java泛型1. 概述泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参) 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不...

2018-01-09 16:12:02 80

原创 Java单例模式

Java单例模式 1. 什么是单例?单例对象的类必须保证只有一个实例存在——这是维基百科上对单例的定义,这也可以作为对意图实现单例模式的代码进行检验的标准。对单例的实现可以分为两大类——懒汉式和饿汉式,他们的区别在于:懒汉式:指全局的单例实例在第一次被使用时构建。饿汉式:指全局的单例实例在类装载时构建。从它们的区别也能看出来,日常我们使用的较多的应该是懒汉式的单例,毕竟按需...

2018-01-09 14:43:44 63

原创 Java反射

Java反射教程什么是反射?反射有什么用处?1. 什么是反射?“反射(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为。”这个概念常常会和内省(Introspection)混淆,以下是这两个术语在Wikipedia中的解释:内省用于在运行时检测某个对象的类型和其包含的属性;反射用于在运行时检测和修改某个对象的结构及其行为。从它们的定义...

2018-01-09 14:31:06 74

原创 Java代理模式

代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的...

2018-01-03 17:23:22 55

原创 JAVA在一个循环中删除一个列表中的元素

JAVA 在一个循环中删除一个列表中的元素思考下面这一段在循环中删除多个元素的的代码ArrayList<String> list = new ArrayList<String>(Arrays.asList("a","b","c","d"));for(int i=0;i<list.size();i++){ list.remove(i

2017-12-28 16:27:34 126

原创 JAVA读取Properties文件

JAVA读取Properties文件方式1.通过context:property-placeholder加载配置文件jdbc.properties中的内容<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>  上面的配...

2017-12-25 15:45:17 77

原创 BlockQueue生产者消费者例子

BlockingQueue详解阻塞队列,顾名思义,首先它是一个队列,    常用的队列主要有以下两种:        先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。        从某种程度上来说这种队列也体现了一种公平性。   后进先出(LIFO):后插入队列的元素最先出队列,这种队列优先处理最近发生的事件。阻塞队列的核心就是生产者和消费着        当队列...

2017-12-25 15:41:01 418

原创 spring boot html调用js无效400解决办法

html板在templates下面,js文件在static下面,在模板中引用时不需要加static这个路径。例如:  src └─main ├─java └─resources ├─static │ ├─css │ ├─img │ └─js │ ...

2017-11-29 18:21:42 432

原创 魔鬼数字

代码中的魔鬼数字 魔鬼数字的定义:在代码中没有具体含义的数字、字符串。 魔鬼数字主要影响了代码可读性,读者看到的数字无法理解其含义,从而难以理解程序的意图。当程序中出现的魔鬼数字过多时,代码的可维护性将会急剧下降,代码变得难以修改,并容易引入错误。 例如: 修改后: 例如: int itemCount=10;              ...

2017-11-27 08:56:01 6160

原创 Spring @Value简化配置文件的读取

Spring @Value简化配置文件的读取 1、在applicationContext.xml文件中配置properties文件<bean id="appProperty"    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    <prope...

2017-11-01 17:20:48 164

原创 Spring自带的定时任务功能,基于注解和xml配置

Spring自带的定时任务功能,基于注解和xml配置 1、Spring的配置文件<beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:p="http://www.sp...

2017-11-01 16:30:04 160

原创 分布式消息队列

分布式消息队列一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。二、消息队列应用场景以下介绍消息队列在实际应用中常...

2017-11-01 15:29:28 1072

原创 Spring事务传播机制&隔离级别

Spring事务传播机制&隔离级别 一、Propagation (事务的传播属性)Propagation :  key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前...

2017-09-30 14:51:57 264

原创 Java高并发下访问

常见的提高高并发下访问的效率的手段 首先要了解高并发的的瓶颈在哪里1.可能是服务器网络带宽不够2.可能web线程连接数不够3.可能数据库连接查询上不去。 根据不同的情况,解决思路也不同。1.增加网络带宽,DNS域名解析分发多台服务器。2.负载均衡,前置代理服务器nginx、apache等等3.数据库查询优化,读写分离,分表等等  在高并发下面需...

2017-09-29 19:25:52 135

原创 Redis相关热点知识点

Redis相关热点知识点  (1)什么是redis? Redis是一个基于内存的高性能key-value数据库。  (2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,redis的性能非常出色,每秒...

2017-09-06 14:45:51 100

原创 Java线程相关知识点

Java线程相关的热门知识点 1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。 2) 线程和进程有什...

2017-09-06 14:39:56 117

原创 Java中Comparator和Comparable区别

Java中Comparator和Comparable的区别1.ComparableComparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。此接口只有一个方法compare,比较此对象与指定对象的顺序,如果该对象小于、...

2017-06-23 14:48:00 119

原创 Java中Collection与Collections的区别

Java中Collection与Collections的区别 Collection是集合类的一个顶级接口,其直接继承接口有List与Set而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 Collections提供方法 1) 排序(Sort)使用sort方法可以根据元素的自然顺序...

2017-06-23 14:43:34 75

原创 Java 使用 Redis

Java 使用 Redis 安装开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。在你的classpa...

2017-06-23 11:37:20 68

原创 Iterator迭代器的一般用法

Iterator迭代器的一般用法                 迭代器(Iterator)  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。  Java中的Iterator功能比较简单,并且只能单...

2017-06-23 11:31:37 235

原创 Java 获取导入Excel文件数据

Java 获取导入Excel文件数据    需要导入依赖       <dependency>         <groupId>org.apache.poi</groupId>         <artifactId>poi</artifactId>         <version>3.14<...

2017-06-22 19:44:17 529

原创 Ajax 文件上传

使用ajax提交form表单,包括ajax文件上传通过jQuery来使用FormData对象 var formData = new FormData();formData.append("uploadFile", $("#uploadFile")[0].files[0]);$.ajax({    cache : false,    url : "...",   ...

2017-06-22 18:53:34 72

原创 Java排序算法和实现

Java排序算法和实现 分类:排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。  内排序有可以分为以下几类:  (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。  (2)、选择排序:简单选择排序、堆排序。  (3)、交换排序:冒泡排序、快速排序。...

2016-05-11 21:44:47 99

原创 常用方法总结

 //判断字符串是否为空org.springframework.util.StringUtils.hasLength(str) //判断集合框架list等是否为空org.springframework.util.CollectionUtils.isEmpty(collection) //把list转化为逗号隔开的字符串    public static final...

2016-03-30 21:12:59 96

原创 Java 的枚举(Enums) 可以实现接口(Interfaces)

Java 的枚举(Enums) 可以实现接口(Interfaces) Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。枚举类型,看似字符串值,但包含一些附加的信息,包括排序以及附加的方法可以获取枚举值的信息。 下面是一个基本的枚举类型:public enum Suit { CLUBS, DIAMOND...

2016-03-30 20:47:55 2138

原创 JavaWeb集成百度UMEditor简易富文本编辑器

JavaWeb集成百度UMEditor简易富文本编辑器1.下载UMEditor地址:http://ueditor.baidu.com/website/download.html#mini选择Jsp,UTF-8版本 2.解压解压文件,把解压完成 的文件夹改名为 ‘ueditor‘, 3.部署把ueditor文件夹拷贝到WebRoot下,把jsp文件夹下自带的j...

2016-01-19 16:28:36 578

原创 富文本编辑器在Java中使用

富文本编辑器在Java中使用一、ckeditor1)下载ckeditor_3.6.2.zip和ckeditor-java-core-3.5.3.zip两个压缩文件下载地址:http://ckeditor.com2)解压缩文件ckeditor_3.6.2.zip和ckeditor-java-core-3.5.3.zip两个文件,在ckeditor_3.6.2文件中有c...

2015-12-04 21:50:42 5188

原创 调用action常见问题和返回方式总结

调用action常见问题和返回方式总结1.action not found (1)确定Struts2配置文件中是否定义了该action,若存在,则对比一下和页面提交的url的action是否一致,常出现首字母大小写不一致问题(2)页面提交的url中的参数类型,和action中定义的变量类型是否一致,常遇到int和string不一致的问题(3)在JSP中定义basepath,在u...

2015-11-11 22:33:40 684

原创 Java map 用法

Java map 常用方法 Map的一般用法1.声明一个Map :Map map = new HashMap();2 .向map中放值 ,注意: map是key-value的形式存放的,如:map.put("sa","dd");3 .从map中取值 :String str = map.get("sa").toString,结果是: str = "dd'4...

2015-10-26 16:10:26 719

原创 Java file 操作

1.file类File类的对象可以代表一个具体的文件路径,在实际代表时,可以使用绝对路径也可以使用相对路径。 File f1 = new File(“d:\\test\\1.txt”); File f2 = new File(“1.txt”); File f3 = new File(“e:\\abc”);这里的f1和f2对象分别代表一个文件,f1是绝对路径,而f2是相对路径,...

2015-10-26 15:59:12 129

空空如也

空空如也

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

TA关注的人

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