<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[timmyroy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/timmyroy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; timmyroy]]></copyright><item><title><![CDATA[Spring MVC+Spring+Mybatis实现支付宝支付功能（图文详解）(转载)]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84923552</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84923552</guid><author>timmyroy</author><pubDate>Mon, 16 Jul 2018 10:50:54 +0800</pubDate><description><![CDATA[
Spring MVC+Spring+Mybatis实现支付宝支付功能（图文详解）
 
前言
本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分，分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」，详细的代码和图文解释，自己实践的时候一定仔细阅读相关文档，话不多说我们开始。
支付宝测试环境代码测试
源代码
https://github.com/OU...]]></description><category></category></item><item><title><![CDATA[SimpleDateFormat线程不安全及解决办法]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84923127</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84923127</guid><author>timmyroy</author><pubDate>Thu, 05 Jul 2018 17:02:41 +0800</pubDate><description><![CDATA[
SimpleDateFormatt线程不安全及解决办法
 
一. 为什么SimpleDateFormat不是线程安全的？
Java源码如下：
 


 

/**



 

* Date formats are not synchronized.



 

* It is recommended to create separate format i...]]></description><category></category></item><item><title><![CDATA[Java多线程]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84922796</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84922796</guid><author>timmyroy</author><pubDate>Thu, 28 Jun 2018 16:25:34 +0800</pubDate><description><![CDATA[
Java多线程
 
一.进程和线程
进程：每个进程都有独立的代码和数据空间（进程上下文），进程间的切换会有较大的开销，一个进程包含1--n个线程。（进程是资源分配的最小单位）
 
线程：同一类线程共享代码和数据空间，每个线程有独立的运行栈和程序计数器(PC)，线程切换开销小。（线程是cpu调度的最小单位）
 
线程和进程一样分为五个阶段：创建、就绪、运行、阻塞、终止。
 
多进...]]></description><category></category></item><item><title><![CDATA[Java多线程分段处理List集合]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84920854</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84920854</guid><author>timmyroy</author><pubDate>Mon, 21 May 2018 10:00:13 +0800</pubDate><description><![CDATA[
Java多线程分段处理List集合
解决方案：1.List集合分段
2.动态创建线程池newFixedThreadPool
3.多线程处理数据
 
代码如下：
 public static void main(String[] args) throws Exception { 
// 开始时间 
long start = System.currentTimeMillis(); ...]]></description><category></category></item><item><title><![CDATA[深入理解Java虚拟机(JVM)]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84920051</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84920051</guid><author>timmyroy</author><pubDate>Fri, 04 May 2018 15:24:41 +0800</pubDate><description><![CDATA[
深入理解Java虚拟机(JVM)
 
1. JVM内存分区以及作用
java虚拟机主要分为以下一个区:
方法区：1. 有时候也成为永久代，在该区内很少发生垃圾回收，但是并不代表不发生GC，在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个运行...]]></description><category></category></item><item><title><![CDATA[Java泛型]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84914689</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84914689</guid><author>timmyroy</author><pubDate>Tue, 09 Jan 2018 16:12:02 +0800</pubDate><description><![CDATA[

Java泛型

1. 概述
泛型，即“参数化类型”。一提到参数，最熟悉的就是定义方法时有形参，然后调用此方法时传递实参。那么参数化类型怎么理解呢？顾名思义，就是将类型由原来的具体的类型参数化，类似于方法中的变量参数，此时类型也定义成参数形式（可以称之为类型形参），然后在使用/调用时传入具体的类型（类型实参）
 
泛型的本质是为了参数化类型（在不创建新的类型的情况下，通过泛型指定的不...]]></description><category></category></item><item><title><![CDATA[Java单例模式]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84914674</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84914674</guid><author>timmyroy</author><pubDate>Tue, 09 Jan 2018 14:43:44 +0800</pubDate><description><![CDATA[
Java单例模式
 
1. 什么是单例？
单例对象的类必须保证只有一个实例存在——这是维基百科上对单例的定义，这也可以作为对意图实现单例模式的代码进行检验的标准。
对单例的实现可以分为两大类——懒汉式和饿汉式，他们的区别在于：懒汉式：指全局的单例实例在第一次被使用时构建。饿汉式：指全局的单例实例在类装载时构建。
从它们的区别也能看出来，日常我们使用的较多的应该是懒汉式的单例，毕竟按需...]]></description><category></category></item><item><title><![CDATA[Java反射]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84914671</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84914671</guid><author>timmyroy</author><pubDate>Tue, 09 Jan 2018 14:31:06 +0800</pubDate><description><![CDATA[

Java反射教程


什么是反射？反射有什么用处？
1. 什么是反射？
“反射（Reflection）能够让运行于JVM中的程序检测和修改运行时的行为。”这个概念常常会和内省（Introspection）混淆，以下是这两个术语在Wikipedia中的解释：

内省用于在运行时检测某个对象的类型和其包含的属性；
反射用于在运行时检测和修改某个对象的结构及其行为。

从它们的定义...]]></description><category></category></item><item><title><![CDATA[Java代理模式]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84914413</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84914413</guid><author>timmyroy</author><pubDate>Wed, 03 Jan 2018 17:23:22 +0800</pubDate><description><![CDATA[
代理模式
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法
举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的...]]></description><category></category></item><item><title><![CDATA[JAVA在一个循环中删除一个列表中的元素]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84914217</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84914217</guid><author>timmyroy</author><pubDate>Thu, 28 Dec 2017 16:27:34 +0800</pubDate><description><![CDATA[
JAVA 在一个循环中删除一个列表中的元素
思考下面这一段在循环中删除多个元素的的代码

ArrayList&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;(Arrays.asList(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;d&quot;));
for(int i=0;i&amp;lt;list.size();i++){
    list.remove(i]]></description><category></category></item><item><title><![CDATA[JAVA读取Properties文件]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84913997</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84913997</guid><author>timmyroy</author><pubDate>Mon, 25 Dec 2017 15:45:17 +0800</pubDate><description><![CDATA[
JAVA读取Properties文件
方式1.通过context:property-placeholder加载配置文件jdbc.properties中的内容



&amp;lt;context:property-placeholder location=&quot;classpath:jdbc.properties&quot; ignore-unresolvable=&quot;true&quot;/&amp;gt;

　　上面的配...]]></description><category></category></item><item><title><![CDATA[BlockQueue生产者消费者例子]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84913996</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84913996</guid><author>timmyroy</author><pubDate>Mon, 25 Dec 2017 15:41:01 +0800</pubDate><description><![CDATA[
BlockingQueue详解
阻塞队列，顾名思义，首先它是一个队列，    常用的队列主要有以下两种：        先进先出（FIFO）：先插入的队列的元素也最先出队列，类似于排队的功能。        从某种程度上来说这种队列也体现了一种公平性。　　 后进先出（LIFO）：后插入队列的元素最先出队列，这种队列优先处理最近发生的事件。阻塞队列的核心就是生产者和消费着        当队列...]]></description><category></category></item><item><title><![CDATA[spring boot html调用js无效400解决办法]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84912821</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84912821</guid><author>timmyroy</author><pubDate>Wed, 29 Nov 2017 18:21:42 +0800</pubDate><description><![CDATA[
html板在templates下面，js文件在static下面，在模板中引用时不需要加static这个路径。
例如:
 
 
src
  └─main
     ├─java
     └─resources
         ├─static
         │  ├─css
         │  ├─img
         │  └─js
         │ ...]]></description><category></category></item><item><title><![CDATA[魔鬼数字]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84912637</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84912637</guid><author>timmyroy</author><pubDate>Mon, 27 Nov 2017 08:56:01 +0800</pubDate><description><![CDATA[
代码中的魔鬼数字
 
魔鬼数字的定义：在代码中没有具体含义的数字、字符串。
 
魔鬼数字主要影响了代码可读性，读者看到的数字无法理解其含义，从而难以理解程序的意图。当程序中出现的魔鬼数字过多时，代码的可维护性将会急剧下降，代码变得难以修改，并容易引入错误。
 
例如:

 
修改后：


 

例如： 
int itemCount=10;              ...]]></description><category></category></item><item><title><![CDATA[Spring @Value简化配置文件的读取]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84911457</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84911457</guid><author>timmyroy</author><pubDate>Wed, 01 Nov 2017 17:20:48 +0800</pubDate><description><![CDATA[
Spring @Value简化配置文件的读取
 
1、在applicationContext.xml文件中配置properties文件
&amp;lt;bean id=&quot;appProperty&quot;
    class=&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot;&amp;gt;
    &amp;lt;prope...]]></description><category></category></item><item><title><![CDATA[Spring自带的定时任务功能，基于注解和xml配置]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84911452</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84911452</guid><author>timmyroy</author><pubDate>Wed, 01 Nov 2017 16:30:04 +0800</pubDate><description><![CDATA[
Spring自带的定时任务功能，基于注解和xml配置
 
1、Spring的配置文件
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;  
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;   
    xmlns:p=&quot;http://www.sp...]]></description><category></category></item><item><title><![CDATA[分布式消息队列]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84911442</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84911442</guid><author>timmyroy</author><pubDate>Wed, 01 Nov 2017 15:29:28 +0800</pubDate><description><![CDATA[
分布式消息队列

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

二、消息队列应用场景
以下介绍消息队列在实际应用中常...]]></description><category></category></item><item><title><![CDATA[Spring事务传播机制&隔离级别]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84909854</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84909854</guid><author>timmyroy</author><pubDate>Sat, 30 Sep 2017 14:51:57 +0800</pubDate><description><![CDATA[
Spring事务传播机制&amp;amp;隔离级别
 
一、Propagation （事务的传播属性）
Propagation ：　　key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。
以下选项可供使用：PROPAGATION_REQUIRED--支持当前事务，如果当前没有事务，就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前...]]></description><category></category></item><item><title><![CDATA[Java高并发下访问]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84909817</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84909817</guid><author>timmyroy</author><pubDate>Fri, 29 Sep 2017 19:25:52 +0800</pubDate><description><![CDATA[
常见的提高高并发下访问的效率的手段
 
首先要了解高并发的的瓶颈在哪里
1.可能是服务器网络带宽不够
2.可能web线程连接数不够
3.可能数据库连接查询上不去。
 
根据不同的情况，解决思路也不同。
1.增加网络带宽，DNS域名解析分发多台服务器。
2.负载均衡，前置代理服务器nginx、apache等等
3.数据库查询优化，读写分离，分表等等
 
 
在高并发下面需...]]></description><category></category></item><item><title><![CDATA[Redis相关热点知识点]]></title><link>https://blog.youkuaiyun.com/timmyroy/article/details/84908370</link><guid>https://blog.youkuaiyun.com/timmyroy/article/details/84908370</guid><author>timmyroy</author><pubDate>Wed, 06 Sep 2017 14:45:51 +0800</pubDate><description><![CDATA[
Redis相关热点知识点
 
 
（1）什么是redis?
 
Redis是一个基于内存的高性能key-value数据库。 
 

（2）Reids的特点
Redis本质上是一个Key-Value类型的内存数据库，很像memcached，整个数据库统统加载在内存当中进行操作，定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作，redis的性能非常出色，每秒...]]></description><category></category></item></channel></rss>